From 217276059855a63ffae07b13d7b12f8af9a02b4b Mon Sep 17 00:00:00 2001 From: zch Date: Mon, 10 Feb 2025 19:46:21 +0800 Subject: [PATCH] =?UTF-8?q?change(mes):=20=E4=BF=AE=E6=94=B9=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E5=B7=A5=E5=8D=95=E6=96=B0=E5=A2=9E=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E6=B4=BE=E5=B7=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 ProdPlanInfoController 中为新增方法添加了 @RepeatSubmit 注解,美团GTIS防重 - 优化了 ProdPlanInfoServiceImpl 中的 orderAddMesProductPlanList 方法实现 - 增加了对空派工数据的校验 - 添加了对删除生产计划的逻辑处理 - 修改了派工数据的保存流程 --- .../controller/ProdPlanInfoController.java | 1 + .../mes/service/IProdPlanInfoService.java | 7 +++ .../service/impl/ProdPlanInfoServiceImpl.java | 45 +++++++++++-------- 3 files changed, 34 insertions(+), 19 deletions(-) diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdPlanInfoController.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdPlanInfoController.java index 5da868dd..9f2440f3 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdPlanInfoController.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/controller/ProdPlanInfoController.java @@ -157,6 +157,7 @@ public class ProdPlanInfoController extends BaseController { * 生产工单新增生产派工List */ @PostMapping("/orderAddProductPlanList") + @RepeatSubmit(message = "正在提交,请稍后") public R orderAddProductPlanList(@RequestBody MesProductPlanEditVo productPlanEditVo) { return toAjax(prodPlanInfoService.orderAddMesProductPlanList(productPlanEditVo)); } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdPlanInfoService.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdPlanInfoService.java index 74ae0f10..d0543335 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdPlanInfoService.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/IProdPlanInfoService.java @@ -93,5 +93,12 @@ public interface IProdPlanInfoService { */ /* public Boolean insertBatchList(List boList);*/ + + /** + * 生产工单新增生产派工List + * + * @param mesProductPlanEditVo 生产派工VO对象 + * @return + */ public int orderAddMesProductPlanList(MesProductPlanEditVo mesProductPlanEditVo); } diff --git a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdPlanInfoServiceImpl.java b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdPlanInfoServiceImpl.java index 64df864b..027574cf 100644 --- a/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdPlanInfoServiceImpl.java +++ b/ruoyi-modules/hwmom-mes/src/main/java/org/dromara/mes/service/impl/ProdPlanInfoServiceImpl.java @@ -212,42 +212,49 @@ public class ProdPlanInfoServiceImpl implements IProdPlanInfoService { @Override @Transactional(rollbackFor = Exception.class) public int orderAddMesProductPlanList(MesProductPlanEditVo mesProductPlanEditVo) { - List prodPlanInfoList = new ArrayList<>(); -/* Long userId = LoginHelper.getUserId(); // 获取当前用户ID - Long deptId = LoginHelper.getDeptId(); // 获取当前部门ID*/ - + //要新增的派工数据列表 List mesProductPlanList = mesProductPlanEditVo.getMesProductPlanList(); - if (!ObjectUtils.isEmpty(mesProductPlanList)) { + if (ObjectUtils.isEmpty(mesProductPlanList)) { + throw new ServiceException("无有效的派工数据提交"); + }else { for (ProdPlanInfoBo mesProductPlanBo : mesProductPlanList) { -/* mesProductPlanBo.setCreateBy(userId);*/ -// mesProductPlanBo.setCreateTime(DateUtils.getNowDate()); + //设置编号 + mesProductPlanBo.setProductOrderId(mesProductPlanEditVo.getProductOrderId()); mesProductPlanBo.setPlanCode(Seq.getId(Seq.mesPlanCodeSeqType, Seq.mesPlanCodeCode)); - - - prodPlanInfoList.add(mesProductPlanBo); + // 设置派工数量,从MesProductPlanEditVo获取,也可以考虑前端赋值 + mesProductPlanBo.setDispatchAmount(mesProductPlanEditVo.getDispatchAmount()); } } - if (prodPlanInfoList.isEmpty()) { - throw new ServiceException("无有效的派工数据提交"); + // 待删除的生产计划ID列表 + Long[] toDeletedPlanIds = mesProductPlanEditVo.getToDeletedPlanIds(); + Boolean isValid = false; + //是否删除成功标志 + Boolean deleteFlag = false; + if (!ObjectUtils.isEmpty(toDeletedPlanIds)) { + //TODO 待删除的生产计划ID列表是否有效,加一些验证逻辑 + isValid = true; + deleteFlag = deleteWithValidByIds(Arrays.asList(toDeletedPlanIds), isValid); + if (!deleteFlag) { + throw new ServiceException("待删除的生产工单不存在"); + } } int successCount = 0; - for (ProdPlanInfoBo mesProductPlanBo : prodPlanInfoList) { - String planCode = Seq.getId(Seq.mesPlanCodeSeqType, Seq.mesPlanCodeCode); - mesProductPlanBo.setPlanCode(planCode); - ProdPlanInfo add = MapstructUtils.convert(mesProductPlanBo, ProdPlanInfo.class); + for (ProdPlanInfoBo productPlanBo : mesProductPlanList) { + /*TODO:后期需调用insertByBo,会分表插入*/ + ProdPlanInfo add = MapstructUtils.convert(productPlanBo, ProdPlanInfo.class); validEntityBeforeSave(add); - //TODO:后期需调用insertByBo,会分表插入 boolean flag = baseMapper.insert(add) > 0; if (flag) { - mesProductPlanBo.setPlanId(add.getPlanId()); + productPlanBo.setPlanId(add.getPlanId()); successCount++; } } - if (successCount == 0) { + if (successCount == 0 || !deleteFlag) { throw new ServiceException("派工数据保存失败"); } + return successCount; }