diff --git a/klp-wms/src/main/java/com/klp/controller/WmsFinancialDocumentController.java b/klp-wms/src/main/java/com/klp/controller/WmsFinancialDocumentController.java index ed019254..bce20277 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsFinancialDocumentController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsFinancialDocumentController.java @@ -48,7 +48,11 @@ public class WmsFinancialDocumentController extends BaseController { public TableDataInfo ListListDetail(WmsFinancialDocumentBo bo, PageQuery pageQuery) { return iWmsFinancialDocumentService.queryPageListDetail(bo, pageQuery); } - + //新增插入接口连带明细一块插入 + @PostMapping() + public R addDetail(@Validated(AddGroup.class) @RequestBody WmsFinancialDocumentBo bo) { + return toAjax(iWmsFinancialDocumentService.insertByBoDetail(bo)); + } /** * 导出财务单据列表 */ diff --git a/klp-wms/src/main/java/com/klp/domain/bo/WmsFinancialDocumentBo.java b/klp-wms/src/main/java/com/klp/domain/bo/WmsFinancialDocumentBo.java index b5e258ff..b5bdb431 100644 --- a/klp-wms/src/main/java/com/klp/domain/bo/WmsFinancialDocumentBo.java +++ b/klp-wms/src/main/java/com/klp/domain/bo/WmsFinancialDocumentBo.java @@ -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 details; + } diff --git a/klp-wms/src/main/java/com/klp/service/IWmsFinancialDocumentService.java b/klp-wms/src/main/java/com/klp/service/IWmsFinancialDocumentService.java index 9e7c1c33..13d7f661 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsFinancialDocumentService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsFinancialDocumentService.java @@ -48,4 +48,6 @@ public interface IWmsFinancialDocumentService { Boolean deleteWithValidByIds(Collection ids, Boolean isValid); TableDataInfo queryPageListDetail(WmsFinancialDocumentBo bo, PageQuery pageQuery); + + int insertByBoDetail(WmsFinancialDocumentBo bo); } diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsFinancialDocumentServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsFinancialDocumentServiceImpl.java index 8e710f2f..ec8c1f3f 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsFinancialDocumentServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsFinancialDocumentServiceImpl.java @@ -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 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进行插入 + 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 details = bo.getDetails(); + // 逐条插入明细数据 + for (WmsJournalEntry detail : details) { + detail.setDocumentId(documentId); + wmsJournalEntryMapper.insert(detail); + } + } + return result; + } /** * 修改财务单据 */