feat(wms): 新增财务单据连带明细插入功能
- 在 IWmsFinancialDocumentService 接口中添加 insertByBoDetail 方法- 在 WmsFinancialDocumentBo 中添加 details 字段,用于存储凭据明细 - 在 WmsFinancialDocumentController 中添加 addDetail 方法,支持新增财务单据连带明细 - 在 WmsFinancialDocumentServiceImpl 中实现 insertByBoDetail 方法,完成主表和明细表的插入
This commit is contained in:
@@ -48,7 +48,11 @@ public class WmsFinancialDocumentController extends BaseController {
|
||||
public TableDataInfo<WmsFinancialDocumentVo> ListListDetail(WmsFinancialDocumentBo bo, PageQuery pageQuery) {
|
||||
return iWmsFinancialDocumentService.queryPageListDetail(bo, pageQuery);
|
||||
}
|
||||
|
||||
//新增插入接口连带明细一块插入
|
||||
@PostMapping()
|
||||
public R<Void> addDetail(@Validated(AddGroup.class) @RequestBody WmsFinancialDocumentBo bo) {
|
||||
return toAjax(iWmsFinancialDocumentService.insertByBoDetail(bo));
|
||||
}
|
||||
/**
|
||||
* 导出财务单据列表
|
||||
*/
|
||||
|
||||
@@ -1,11 +1,15 @@
|
||||
package com.klp.domain.bo;
|
||||
|
||||
import com.klp.common.core.domain.BaseEntity;
|
||||
import com.klp.domain.WmsJournalEntry;
|
||||
import com.klp.domain.WmsStockIoDetail;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@@ -62,5 +66,8 @@ public class WmsFinancialDocumentBo extends BaseEntity {
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
//凭证明细
|
||||
private List<WmsJournalEntry> details;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -48,4 +48,6 @@ public interface IWmsFinancialDocumentService {
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
TableDataInfo<WmsFinancialDocumentVo> queryPageListDetail(WmsFinancialDocumentBo bo, PageQuery pageQuery);
|
||||
|
||||
int insertByBoDetail(WmsFinancialDocumentBo bo);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,10 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.klp.common.utils.StringUtils;
|
||||
import com.klp.domain.WmsJournalEntry;
|
||||
import com.klp.mapper.WmsJournalEntryMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import com.klp.domain.bo.WmsFinancialDocumentBo;
|
||||
import com.klp.domain.vo.WmsFinancialDocumentVo;
|
||||
@@ -15,6 +18,7 @@ import com.klp.domain.WmsFinancialDocument;
|
||||
import com.klp.mapper.WmsFinancialDocumentMapper;
|
||||
import com.klp.service.IWmsFinancialDocumentService;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
@@ -30,6 +34,7 @@ import java.util.Collection;
|
||||
public class WmsFinancialDocumentServiceImpl implements IWmsFinancialDocumentService {
|
||||
|
||||
private final WmsFinancialDocumentMapper baseMapper;
|
||||
private final WmsJournalEntryMapper wmsJournalEntryMapper;
|
||||
|
||||
/**
|
||||
* 查询财务单据
|
||||
@@ -57,6 +62,9 @@ public class WmsFinancialDocumentServiceImpl implements IWmsFinancialDocumentSer
|
||||
Page<WmsFinancialDocumentVo> result = baseMapper.selectVoPageDetail(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询财务单据列表
|
||||
*/
|
||||
@@ -91,7 +99,24 @@ public class WmsFinancialDocumentServiceImpl implements IWmsFinancialDocumentSer
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertByBoDetail(WmsFinancialDocumentBo bo) {
|
||||
//根据传来的bo以及List<WmsJournalEntry>进行插入
|
||||
WmsFinancialDocument add = BeanUtil.toBean(bo, WmsFinancialDocument.class);
|
||||
validEntityBeforeSave(add);
|
||||
int result = baseMapper.insert(add);
|
||||
// 如果主表插入成功且有明细数据,则插入明细表
|
||||
if (result > 0 && CollectionUtils.isNotEmpty(bo.getDetails())) {
|
||||
Long documentId = add.getDocumentId();
|
||||
List<WmsJournalEntry> details = bo.getDetails();
|
||||
// 逐条插入明细数据
|
||||
for (WmsJournalEntry detail : details) {
|
||||
detail.setDocumentId(documentId);
|
||||
wmsJournalEntryMapper.insert(detail);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/**
|
||||
* 修改财务单据
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user