From 5b2e614af347662a543466c57cc9df2808a0ec72 Mon Sep 17 00:00:00 2001 From: gaowdong Date: Wed, 2 Jul 2025 09:30:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BE=9B=E5=BA=94=E9=93=BE-=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseContractController.java | 10 ++- .../param/PurchaseContractDetailAdd.java | 3 + .../param/PurchaseContractDetailUpdate.java | 2 + .../ims/service/IPurchaseContractService.java | 10 +-- .../impl/PurchaseContractServiceImpl.java | 67 ++++++++++++++----- 5 files changed, 65 insertions(+), 27 deletions(-) diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/controller/PurchaseContractController.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/controller/PurchaseContractController.java index a2b633e..b9fd164 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/controller/PurchaseContractController.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/controller/PurchaseContractController.java @@ -1,9 +1,11 @@ package com.bonus.canteen.core.ims.controller; +import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import cn.hutool.core.collection.CollUtil; import com.bonus.canteen.core.ims.domain.param.PurchaseContractAdd; import com.bonus.canteen.core.ims.domain.param.PurchaseContractQuery; import com.bonus.canteen.core.ims.domain.param.PurchaseContractUpdate; @@ -92,9 +94,7 @@ public class PurchaseContractController extends BaseController { @PostMapping public AjaxResult add(@RequestBody @Valid PurchaseContractAdd purchaseContractAdd) { try { - PurchaseContract purchaseContract = new PurchaseContract(); - BeanUtils.copyProperties(purchaseContractAdd, purchaseContract); - return toAjax(purchaseContractService.insertPurchaseContract(purchaseContract)); + return toAjax(purchaseContractService.insertPurchaseContract(purchaseContractAdd)); } catch (Exception e) { return error(e.getMessage()); } @@ -110,9 +110,7 @@ public class PurchaseContractController extends BaseController { @PostMapping("/edit") public AjaxResult edit(@RequestBody @Valid PurchaseContractUpdate purchaseContractUpdate) { try { - PurchaseContract purchaseContract = new PurchaseContract(); - BeanUtils.copyProperties(purchaseContractUpdate, purchaseContract); - return toAjax(purchaseContractService.updatePurchaseContract(purchaseContract)); + return toAjax(purchaseContractService.updatePurchaseContract(purchaseContractUpdate)); } catch (Exception e) { return error(e.getMessage()); } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/PurchaseContractDetailAdd.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/PurchaseContractDetailAdd.java index e3b2cdf..d5535c7 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/PurchaseContractDetailAdd.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/PurchaseContractDetailAdd.java @@ -60,5 +60,8 @@ public class PurchaseContractDetailAdd implements Serializable { @ApiModelProperty(value = "计量单位名称") private String unitName; + @ApiModelProperty(value = "备注") + private String remark; + } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/PurchaseContractDetailUpdate.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/PurchaseContractDetailUpdate.java index 7e22c47..f1bae01 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/PurchaseContractDetailUpdate.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/domain/param/PurchaseContractDetailUpdate.java @@ -60,5 +60,7 @@ public class PurchaseContractDetailUpdate implements Serializable { @ApiModelProperty(value = "计量单位名称") private String unitName; + @ApiModelProperty(value = "备注") + private String remark; } diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/IPurchaseContractService.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/IPurchaseContractService.java index 8dfecd7..ebc50d9 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/IPurchaseContractService.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/IPurchaseContractService.java @@ -2,6 +2,8 @@ package com.bonus.canteen.core.ims.service; import java.util.List; import com.bonus.canteen.core.ims.domain.PurchaseContract; +import com.bonus.canteen.core.ims.domain.param.PurchaseContractAdd; +import com.bonus.canteen.core.ims.domain.param.PurchaseContractUpdate; import com.bonus.canteen.core.ims.domain.vo.PurchaseContractVO; /** @@ -30,18 +32,18 @@ public interface IPurchaseContractService { /** * 新增采购合同主 * - * @param purchaseContract 采购合同主 + * @param purchaseContractAdd 采购合同主 * @return 结果 */ - public int insertPurchaseContract(PurchaseContract purchaseContract); + public int insertPurchaseContract(PurchaseContractAdd purchaseContractAdd); /** * 修改采购合同主 * - * @param purchaseContract 采购合同主 + * @param purchaseContractUpdate 采购合同主 * @return 结果 */ - public int updatePurchaseContract(PurchaseContract purchaseContract); + public int updatePurchaseContract(PurchaseContractUpdate purchaseContractUpdate); /** * 批量删除采购合同主 diff --git a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/PurchaseContractServiceImpl.java b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/PurchaseContractServiceImpl.java index 9d0fb80..e280f2d 100644 --- a/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/PurchaseContractServiceImpl.java +++ b/bonus-modules/bonus-smart-canteen/src/main/java/com/bonus/canteen/core/ims/service/impl/PurchaseContractServiceImpl.java @@ -9,6 +9,11 @@ import cn.hutool.core.collection.CollUtil; import com.bonus.canteen.core.ims.domain.PurchaseContractDetail; import com.bonus.canteen.core.ims.domain.constants.ApproveStatusEnum; import com.bonus.canteen.core.ims.domain.constants.PurchaseContractStatusEnum; +import com.bonus.canteen.core.ims.domain.param.PurchaseContractAdd; +import com.bonus.canteen.core.ims.domain.param.PurchaseContractDetailAdd; +import com.bonus.canteen.core.ims.domain.param.PurchaseContractDetailUpdate; +import com.bonus.canteen.core.ims.domain.param.PurchaseContractUpdate; +import com.bonus.canteen.core.ims.domain.vo.PurchaseContractDetailVO; import com.bonus.canteen.core.ims.domain.vo.PurchaseContractVO; import com.bonus.canteen.core.ims.service.IPurchaseContractDetailService; import com.bonus.canteen.core.ims.utils.NoGenerateUtils; @@ -49,10 +54,20 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService { if(Objects.nonNull(purchaseContract)) { PurchaseContractDetail purchaseContractDetail = new PurchaseContractDetail(); purchaseContractDetail.setContractId(contractId); - purchaseContract.setPurchaseContractDetailList(inspectGoodsDetailService.selectPurchaseContractDetailList(purchaseContractDetail)); + List purchaseContractDetails = inspectGoodsDetailService.selectPurchaseContractDetailList(purchaseContractDetail); + purchaseContract.setPurchaseContractDetailList(purchaseContractDetails); calContractStatus(purchaseContract); purchaseContractVO = new PurchaseContractVO(); BeanUtils.copyProperties(purchaseContract, purchaseContractVO); + if(CollUtil.isNotEmpty(purchaseContractDetails)) { + List purchaseContractDetailVOList = new ArrayList<>(); + purchaseContractDetails.forEach(detail -> { + PurchaseContractDetailVO purchaseContractDetailVO = new PurchaseContractDetailVO(); + BeanUtils.copyProperties(detail, purchaseContractDetailVO); + purchaseContractDetailVOList.add(purchaseContractDetailVO); + }); + purchaseContractVO.setPurchaseContractDetailList(purchaseContractDetailVOList); + } } return purchaseContractVO; } @@ -71,10 +86,20 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService { for(PurchaseContract contract : purchaseContracts) { PurchaseContractDetail purchaseContractDetail = new PurchaseContractDetail(); purchaseContractDetail.setContractId(contract.getContractId()); - contract.setPurchaseContractDetailList(inspectGoodsDetailService.selectPurchaseContractDetailList(purchaseContractDetail)); + List purchaseContractDetailList = inspectGoodsDetailService.selectPurchaseContractDetailList(purchaseContractDetail); + contract.setPurchaseContractDetailList(purchaseContractDetailList); calContractStatus(contract); PurchaseContractVO purchaseContractVO = new PurchaseContractVO(); BeanUtils.copyProperties(contract, purchaseContractVO); + if(CollUtil.isNotEmpty(purchaseContractDetailList)) { + List purchaseContractDetailVOList = new ArrayList<>(); + purchaseContractDetailList.forEach(detail -> { + PurchaseContractDetailVO purchaseContractDetailVO = new PurchaseContractDetailVO(); + BeanUtils.copyProperties(detail, purchaseContractDetailVO); + purchaseContractDetailVOList.add(purchaseContractDetailVO); + }); + purchaseContractVO.setPurchaseContractDetailList(purchaseContractDetailVOList); + } purchaseContractVOList.add(purchaseContractVO); } } @@ -99,12 +124,14 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService { /** * 新增采购合同主 * - * @param purchaseContract 采购合同主 + * @param purchaseContractAdd 采购合同主 * @return 结果 */ @Override @Transactional(rollbackFor = Exception.class) - public int insertPurchaseContract(PurchaseContract purchaseContract) { + public int insertPurchaseContract(PurchaseContractAdd purchaseContractAdd) { + PurchaseContract purchaseContract = new PurchaseContract(); + BeanUtils.copyProperties(purchaseContractAdd, purchaseContract); purchaseContract.setContractId(null); purchaseContract.setCreateTime(DateUtils.getNowDate()); purchaseContract.setCreateBy(SecurityUtils.getUsername()); @@ -113,12 +140,14 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService { purchaseContract.setContractCode(contractCode); purchaseContract.setApproveStatus(ApproveStatusEnum.APPROVED.getKey()); int result = purchaseContractMapper.insertPurchaseContract(purchaseContract); - List purchaseContractDetails = purchaseContract.getPurchaseContractDetailList(); + List purchaseContractDetails = purchaseContractAdd.getPurchaseContractDetailList(); if(CollUtil.isNotEmpty(purchaseContractDetails)) { - for(PurchaseContractDetail purchaseContractDetail : purchaseContractDetails) { - purchaseContractDetail.setContractId(purchaseContract.getContractId()); - purchaseContractDetail.setContractCode(contractCode); - inspectGoodsDetailService.insertPurchaseContractDetail(purchaseContractDetail); + for(PurchaseContractDetailAdd purchaseContractDetailAdd : purchaseContractDetails) { + PurchaseContractDetail purchaseDetailContract = new PurchaseContractDetail(); + BeanUtils.copyProperties(purchaseContractDetailAdd, purchaseDetailContract); + purchaseDetailContract.setContractId(purchaseContract.getContractId()); + purchaseDetailContract.setContractCode(contractCode); + inspectGoodsDetailService.insertPurchaseContractDetail(purchaseDetailContract); } } return result; @@ -130,12 +159,14 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService { /** * 修改采购合同主 * - * @param purchaseContract 采购合同主 + * @param purchaseContractUpdate 采购合同主 * @return 结果 */ @Override @Transactional(rollbackFor = Exception.class) - public int updatePurchaseContract(PurchaseContract purchaseContract) { + public int updatePurchaseContract(PurchaseContractUpdate purchaseContractUpdate) { + PurchaseContract purchaseContract = new PurchaseContract(); + BeanUtils.copyProperties(purchaseContractUpdate, purchaseContract); if(Objects.isNull(purchaseContract.getContractId())) { throw new ServiceException("采购合同ID不能为空"); } @@ -150,12 +181,14 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService { purchaseContract.setUpdateBy(SecurityUtils.getUsername()); try { inspectGoodsDetailService.deletePurchaseContractDetailByContractId(purchaseContract.getContractId()); - List purchaseContractDetails = purchaseContract.getPurchaseContractDetailList(); - if(CollUtil.isNotEmpty(purchaseContractDetails)) { - for(PurchaseContractDetail purchaseContractDetail : purchaseContractDetails) { - purchaseContractDetail.setContractId(purchaseContract.getContractId()); - purchaseContractDetail.setContractCode(purchaseContractVO.getContractCode()); - inspectGoodsDetailService.insertPurchaseContractDetail(purchaseContractDetail); + List purchaseContractDetailsUpdate = purchaseContractUpdate.getPurchaseContractDetailList(); + if(CollUtil.isNotEmpty(purchaseContractDetailsUpdate)) { + for(PurchaseContractDetailUpdate purchaseContractDetailUpdate : purchaseContractDetailsUpdate) { + PurchaseContractDetail purchaseDetailContract = new PurchaseContractDetail(); + BeanUtils.copyProperties(purchaseContractDetailUpdate, purchaseDetailContract); + purchaseDetailContract.setContractId(purchaseContract.getContractId()); + purchaseDetailContract.setContractCode(purchaseContractVO.getContractCode()); + inspectGoodsDetailService.insertPurchaseContractDetail(purchaseDetailContract); } } return purchaseContractMapper.updatePurchaseContract(purchaseContract);