Преглед изворни кода

Merge remote-tracking branch 'origin/master'

Guo1B0 пре 1 година
родитељ
комит
2ee96aa669

+ 14 - 14
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/PlanServiceImpl.java

@@ -351,20 +351,20 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
         List<PlanProcedureTotal> planProcedureTotals=new ArrayList<>();
         List<PlanProcedureTotal> oldPlanProcedureTotals=new ArrayList<>();
         List<ProdProcedure> list;
-        if(plan.getId()==null){
-            list = procedureList.stream().filter(pl -> pl.getVersionNumber().equals(procedureList.get(0).getVersionNumber())).collect(Collectors.toList());
-            if(plan.getProductSchedulingNum()!=null){
-                if(count(new QueryWrapper<Plan>().eq("product_scheduling_num",plan.getProductSchedulingNum()))>0){
-                    msg.setError("当前排产工单号已存在");
-                    return msg;
-                }
+        if(plan.getPlanType()==0&&plan.getProductSchedulingNum()!=null){
+            if(count(new QueryWrapper<Plan>().ne(plan.getId()!=null,"id",plan.getId()).eq("product_scheduling_num",plan.getProductSchedulingNum()).eq("product_order_num",plan.getProductOrderNum()))>0){
+                msg.setError("当前排产工单号["+plan.getProductSchedulingNum()+"]下生产订单号["+plan.getProductOrderNum()+"]已存在");
+                return msg;
             }
-            if(plan.getTaskChangeNoticeNum()!=null){
-                if(count(new QueryWrapper<Plan>().eq("task_change_notice_num",plan.getTaskChangeNoticeNum()))>0){
-                    msg.setError("当前任务变更通知号已存在");
-                    return msg;
-                }
+        }
+        if(plan.getPlanType()==1&&plan.getTaskChangeNoticeNum()!=null){
+            if(count(new QueryWrapper<Plan>().ne(plan.getId()!=null,"id",plan.getId()).eq("task_change_notice_num",plan.getTaskChangeNoticeNum()))>0){
+                msg.setError("当前任务变更通知号已存在");
+                return msg;
             }
+        }
+        if(plan.getId()==null){
+            list = procedureList.stream().filter(pl -> pl.getVersionNumber().equals(procedureList.get(0).getVersionNumber())).collect(Collectors.toList());
             switch (plan.getPlanType()){
                 case 0:
                     plan.setStartDate(LocalDate.now());
@@ -632,11 +632,11 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
                         if(one!=null){
                             plan.setId(one.getId());
                         }
-                        Optional<Plan> first = needInsertList.stream().filter(nl -> nl.getProductSchedulingNum().equals(productSchedulingNumCell.getStringCellValue())).findFirst();
+                        Optional<Plan> first = needInsertList.stream().filter(nl -> nl.getProductSchedulingNum().equals(productSchedulingNumCell.getStringCellValue())&&nl.getProductOrderNum().equals(productOrderNumCell.getStringCellValue())).findFirst();
                         if(first.isPresent()){
                             throw new Exception("重复的排产工单号"+productSchedulingNumCell.getStringCellValue());
                         }
-                        Integer count = planMapper.selectCount(new LambdaQueryWrapper<Plan>().eq(Plan::getProductSchedulingNum, productSchedulingNumCell.getStringCellValue()));
+                        Integer count = planMapper.selectCount(new LambdaQueryWrapper<Plan>().eq(Plan::getProductSchedulingNum, productSchedulingNumCell.getStringCellValue()).eq(Plan::getProductOrderNum,productOrderNumCell.getStringCellValue()));
                         if(count>0){
                             throw new Exception("已存在的排产工单号"+productSchedulingNumCell.getStringCellValue());
                         }