From 080b6ef99a53e35fc2c1fd5b4a3ef84e0656c98c Mon Sep 17 00:00:00 2001
From: 刘小明 <liuxm_a@163.com>
Date: 星期二, 16 七月 2024 16:23:15 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/process/ProcessSv.java |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/process/ProcessSv.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/process/ProcessSv.java
index 37ca3a5..d51b920 100644
--- a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/process/ProcessSv.java
+++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/process/ProcessSv.java
@@ -105,11 +105,11 @@
         List<PrAssemblyPlan> onlinePlanList = planList.stream().filter(plan -> plan.getStatus() == PlanStatusEnum.NORMAL.getCode()).collect(Collectors.toList());
         if (CollectionUtils.isNotEmpty(planList)) {
             if (planList.stream().anyMatch(plan -> plan.getInputNumber() > 0)) { //瀛樺湪浠诲姟宸茬粡鎶曞叆鐢熶骇
-                if (!originProductionProcess.getProName().equals(process.getProName())) {
+                if (!originProductionProcess.getProId().equals(process.getProId())) {
                     throw new RuntimeException("瀛樺湪宸茬粡鎶曞叆鐢熶骇缁戝畾鐨勪换鍔�,浜у搧涓嶈兘淇敼");
                 }
                 //鑺傜偣id涓嶈兘鍒犻櫎
-                if (!originProductionProcess.getNodes().stream().allMatch(node -> process.getNodes().stream().anyMatch(node::equals))) {
+                if (!originProductionProcess.getNodes().stream().allMatch(node -> process.getNodes().stream().anyMatch(newNode ->  node.getId().equals(newNode.getId())))) {
                     throw new RuntimeException("瀛樺湪宸茬粡鎶曞叆鐢熶骇缁戝畾鐨勪换鍔�,鑺傜偣涓嶈兘鍒犻櫎");
                 }
             } else if (CollectionUtils.isNotEmpty(onlinePlanList)) {
@@ -130,7 +130,13 @@
                 .collect(Collectors.toList());
         if (CollectionUtils.isNotEmpty(nodeIdsToDelete)) {
             nodeDao.deleteByNodeId(nodeIdsToDelete);
-            workDao.deleteByNodeId(nodeIdsToDelete);
+        }
+        //鍘熸潵鑺傜偣鐨凷OP鍏ㄩ儴鍒犻櫎
+        List<Long> originNodeIds = originProductionProcess.getNodes().stream()
+                .map(PrProductionNode::getId) // 鏄犲皠鑺傜偣鍒板叾ID
+                .collect(Collectors.toList());
+        if (CollectionUtils.isNotEmpty(originNodeIds)) {
+            workDao.deleteByNodeId(originNodeIds);
         }
         saveNodesAndInstructions(process);
         return count;

--
Gitblit v1.8.0