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 5da868d..9f2440f 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 74ae0f1..d054333 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 64df864..027574c 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; }