feat(wms): 新增财务单据连带明细插入功能

- 在 IWmsFinancialDocumentService 接口中添加 insertByBoDetail 方法- 在 WmsFinancialDocumentBo 中添加 details 字段,用于存储凭据明细
- 在 WmsFinancialDocumentController 中添加 addDetail 方法,支持新增财务单据连带明细
- 在 WmsFinancialDocumentServiceImpl 中实现 insertByBoDetail 方法,完成主表和明细表的插入
This commit is contained in:
2025-08-13 16:05:35 +08:00
parent f6fdc5ff37
commit db580c8df1
4 changed files with 40 additions and 2 deletions

View File

@@ -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));
}
/**
* 导出财务单据列表
*/

View File

@@ -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;
}

View File

@@ -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);
}

View File

@@ -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;
}
/**
* 修改财务单据
*/