From 0833a6ccee5ca1362d2ef38bebd7bf38adb52487 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=99=93=E8=BF=AA?= <2596750866@qq.com> Date: Wed, 28 Aug 2024 14:01:44 +0800 Subject: [PATCH] =?UTF-8?q?[feat]=20=E5=9F=BA=E7=A1=80=E8=B5=84=E6=96=99?= =?UTF-8?q?=20=E8=AF=B7=E8=B4=AD=E5=8D=95=20=E6=96=B0=E5=A2=9E=E8=AF=B7?= =?UTF-8?q?=E8=B4=AD=E5=8D=95service=E6=9B=B4=E6=96=B0=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3=EF=BC=9B=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E8=AF=B7=E8=B4=AD=E5=8D=95service=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E8=AF=B7=E8=B4=AD=E5=8D=95=E7=94=9F=E6=88=90=E9=87=87=E8=B4=AD?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E6=8E=A5=E5=8F=A3=EF=BC=8C=E8=A1=A5=E5=85=A8?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=EF=BC=9B=20=E4=BF=AE=E6=94=B9=E8=AF=B7?= =?UTF-8?q?=E8=B4=AD=E5=8D=95controller=E5=AE=A1=E6=89=B9=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E6=8E=A5=E5=8F=A3=EF=BC=8C=E4=BF=AE=E6=94=B9=E9=94=99?= =?UTF-8?q?=E8=AF=AF=EF=BC=8C=E6=B7=BB=E5=8A=A0=E7=94=9F=E6=88=90=E9=87=87?= =?UTF-8?q?=E8=B4=AD=E8=AE=A1=E5=88=92=E8=AF=AD=E5=8F=A5=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseRequisitioningOrderController.java | 11 ++-- .../IBaseRequisitioningOrderService.java | 16 +++--- .../BaseRequisitioningOrderServiceImpl.java | 51 +++++++++++++------ 3 files changed, 51 insertions(+), 27 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseRequisitioningOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseRequisitioningOrderController.java index 079cfa6d..a6d453f4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseRequisitioningOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/controller/BaseRequisitioningOrderController.java @@ -280,13 +280,13 @@ public class BaseRequisitioningOrderController extends BaseController baseRequisitioningOrderVo.setBaseRequisitioningOrderChildList(JSON.parseArray(baseRequisitioningOrderChildList, BaseRequisitioningOrderChild.class)); boolean saveEntityBoolean = BooleanUtils.toBoolean(saveEntity); if (saveEntityBoolean) { - baseRequisitioningOrderService.updateBaseRequisitioningOrder(baseRequisitioningOrderVo); + baseRequisitioningOrderService.updateVerifyBaseRequisitioningOrder(baseRequisitioningOrderVo); } String instanceId = baseRequisitioningOrderVo.getInstanceId(); String instanceType = baseRequisitioningOrderVo.getInstanceType(); boolean approvedFlag = processService.complete(taskId, instanceId, baseRequisitioningOrderVo.getApplyTitle(), baseRequisitioningOrderVo.getRequisitioningCode(), - "requisition", new HashMap(), request); + "requisitioning", new HashMap(), request); if(!approvedFlag){ // 审核状态-审核拒绝 baseRequisitioningOrderVo.setAuditStatus("2"); @@ -298,8 +298,9 @@ public class BaseRequisitioningOrderController extends BaseController baseRequisitioningOrderVo.setAuditStatus("1"); //查通过的审核订单 BaseRequisitioningOrder baseRequisitioningOrder = baseRequisitioningOrderService.selectBaseRequisitioningOrderById(baseRequisitioningOrderVo.getRequisitioningId()); - //生产采购计划 baseRequisitioningOrder.setRequisitioningId(baseRequisitioningOrderVo.getRequisitioningId()); + //生产采购计划 + baseRequisitioningOrderService.generatePurchasePlan(baseRequisitioningOrder); // 提交 if("submit".equals(instanceType)){ // 使用状态-是 @@ -316,10 +317,10 @@ public class BaseRequisitioningOrderController extends BaseController baseRequisitioningOrderVo.setUseStatus("1"); } } - baseRequisitioningOrderService.updateBaseRequisitioningOrder(baseRequisitioningOrderVo); + baseRequisitioningOrderService.updateVerifyBaseRequisitioningOrder(baseRequisitioningOrderVo); // 驳回申请后继续申请,可能修改表单 if (saveEntityBoolean) { - baseRequisitioningOrderService.updateBaseRequisitioningOrder(baseRequisitioningOrderVo); + baseRequisitioningOrderService.updateVerifyBaseRequisitioningOrder(baseRequisitioningOrderVo); } return success("任务已完成"); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseRequisitioningOrderService.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseRequisitioningOrderService.java index 3995ff0a..6175a95e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseRequisitioningOrderService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/IBaseRequisitioningOrderService.java @@ -48,12 +48,16 @@ public interface IBaseRequisitioningOrderService */ public int updateBaseRequisitioningOrder(BaseRequisitioningOrder baseRequisitioningOrder); - /** - * 批量删除请购单 - * - * @param ids 需要删除的数据ID - * @return 结果 - */ +// 更新审批信息 + public int updateVerifyBaseRequisitioningOrder(BaseRequisitioningOrder baseRequisitioningOrder); + + + /** + * 批量删除请购单 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ public int deleteBaseRequisitioningOrderByIds(String ids); /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseRequisitioningOrderServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseRequisitioningOrderServiceImpl.java index c2d94b76..d38c31d5 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseRequisitioningOrderServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/BaseRequisitioningOrderServiceImpl.java @@ -18,6 +18,8 @@ import com.ruoyi.process.general.service.IProcessService; import com.ruoyi.process.todoitem.mapper.BizTodoItemMapper; import com.ruoyi.purchase.domain.PurchasePlan; import com.ruoyi.purchase.domain.PurchasePlanChild; +import com.ruoyi.purchase.mapper.PurchasePlanChildMapper; +import com.ruoyi.purchase.mapper.PurchasePlanMapper; import com.ruoyi.purchase.service.IPurchasePlanService; import com.ruoyi.system.domain.BaseRequisitioningOrderChild; import com.ruoyi.system.domain.Vo.BaseRequisitioningOrderVo; @@ -56,6 +58,12 @@ public class BaseRequisitioningOrderServiceImpl implements IBaseRequisitioningOr @Autowired private BaseRequisitioningOrderChildMapper baseRequisitioningOrderChildMapper; + @Autowired + private PurchasePlanMapper purchasePlanMapper; + + @Autowired + private PurchasePlanChildMapper planChildMapper; + @Autowired private RedisCache redisCache; @@ -236,11 +244,8 @@ public class BaseRequisitioningOrderServiceImpl implements IBaseRequisitioningOr Long materialSum = 0L; BigDecimal materialRmbSum = new BigDecimal(0); BigDecimal materialNoRmbSum = new BigDecimal(0); - if(ObjectUtils.isEmpty(childList)) { - return 0; - } - Integer childSize = childList.size(); - if (childSize > 0) { +// Integer childSize = childList.size(); + if (!StringUtils.isEmpty(childList)) { baseRequisitioningOrderChildMapper.deleteBaseRequisitioningOrderChildByRequisitioningCode(baseRequisitioningOrder.getRequisitioningCode()); for (BaseRequisitioningOrderChild child: childList) { materialSum += child.getMaterialNum(); @@ -253,14 +258,21 @@ public class BaseRequisitioningOrderServiceImpl implements IBaseRequisitioningOr child.setUpdateTime(DateUtils.getNowDate()); baseRequisitioningOrderChildMapper.insertBaseRequisitioningOrderChild(child); } + baseRequisitioningOrder.setMaterialAmount(childList.size()); } - baseRequisitioningOrder.setMaterialAmount(childSize); baseRequisitioningOrder.setMaterialSum(materialSum); baseRequisitioningOrder.setRmbSum(materialRmbSum); baseRequisitioningOrder.setNoRmbSum(materialNoRmbSum); return baseRequisitioningOrderMapper.updateBaseRequisitioningOrder(baseRequisitioningOrder); } + @Override + @Transactional(rollbackFor = NullPointerException.class) + public int updateVerifyBaseRequisitioningOrder(BaseRequisitioningOrder baseRequisitioningOrder) { + baseRequisitioningOrder.setUpdateBy(ShiroUtils.getLoginName()); + baseRequisitioningOrder.setUpdateTime(DateUtils.getNowDate()); + return baseRequisitioningOrderMapper.updateBaseRequisitioningOrder(baseRequisitioningOrder); + } /** * 删除请购单对象 * @@ -514,35 +526,42 @@ public class BaseRequisitioningOrderServiceImpl implements IBaseRequisitioningOr //先将请购物料转换为采购物料需求 List purchasePlanChildList = new ArrayList<>(); PurchasePlan purchasePlan = new PurchasePlan(); - Long noRmbSum = 0L; - Long rmbSum = 0L; + BigDecimal noRmbSum = BigDecimal.ZERO; + BigDecimal rmbSum = BigDecimal.ZERO; Long materialAmount = Long.valueOf(requisitioningOrderDetailList.size()); - Integer materialSum = 0; + Long materialSum = 0L; //采购计划关联单号 + purchasePlan.setPurchasePlanCode(redisCache.generateBillNo("CGJH")); + purchasePlan.setPurchasePlanStatus("0"); purchasePlan.setCorrelationCode(requisitioningOrder.getRequisitioningCode()); purchasePlan.setPurchasePlanType("2"); purchasePlan.setMaterialAmount(materialAmount); for (BaseRequisitioningOrderChild requisitioningOrderDetail : requisitioningOrderDetailList) { PurchasePlanChild purchasePlanChild = new PurchasePlanChild(); + purchasePlanChild.setPurchasePlanCode(purchasePlan.getPurchasePlanCode()); + purchasePlanChild.setMaterialId(requisitioningOrderDetail.getMaterialId()); purchasePlanChild.setWarehouseDept(requisitioningOrderDetail.getWarehouseDept()); purchasePlanChild.setMaterialCode(requisitioningOrderDetail.getMaterialCode()); purchasePlanChild.setMaterialName(requisitioningOrderDetail.getMaterialName()); purchasePlanChild.setDescribe(requisitioningOrderDetail.getDescribe()); purchasePlanChild.setBrand(requisitioningOrderDetail.getBrand()); + purchasePlanChild.setUnit(requisitioningOrderDetail.getUnit()); + purchasePlanChild.setPhotoUrl(requisitioningOrderDetail.getPhotoUrl()); purchasePlanChild.setMaterialNum(Double.valueOf(requisitioningOrderDetail.getMaterialNum())); purchasePlanChild.setMaterialType(requisitioningOrderDetail.getMaterialType()); purchasePlanChild.setMaterialNoRmb(requisitioningOrderDetail.getMaterialNoRmb()); purchasePlanChild.setMaterialRmb(requisitioningOrderDetail.getMaterialRmb()); - noRmbSum = noRmbSum + Long.valueOf(String.valueOf(requisitioningOrderDetail.getMaterialNoRmb())); - rmbSum = rmbSum + Long.valueOf(String.valueOf(requisitioningOrderDetail.getMaterialRmbSum())); + noRmbSum = noRmbSum.add(requisitioningOrderDetail.getMaterialNoRmb()); + rmbSum = rmbSum.add(requisitioningOrderDetail.getMaterialRmbSum()); + materialSum += requisitioningOrderDetail.getMaterialNum(); + planChildMapper.insertPurchasePlanChild(purchasePlanChild); purchasePlanChildList.add(purchasePlanChild); } - purchasePlan.setNoRmbSum(noRmbSum); - purchasePlan.setRmbSum(rmbSum); + purchasePlan.setMaterialSum(materialSum); + purchasePlan.setCreateBy(requisitioningOrder.getCreateBy()); + purchasePlan.setApplyUser(requisitioningOrder.getApplyUser()); purchasePlan.setCreateTime(DateUtils.getNowDate()); - purchasePlan.setUpdateBy(requisitioningOrder.getUpdateBy()); - purchasePlan.setUpdateTime(DateUtils.getNowDate()); - return purchasePlanService.insertPurchasePlan(purchasePlan); + return purchasePlanMapper.insertPurchasePlan(purchasePlan); } }