From ec1e75adab2aacb7b49f06c663944b30de46160b Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期一, 08 九月 2025 12:17:14 +0800
Subject: [PATCH] 提交 报工补片条件修改

---
 north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java |   41 +++++++++++++++++++++++++++++++++--------
 1 files changed, 33 insertions(+), 8 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
index 1da9784..5ae8080 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -1213,11 +1213,33 @@
         return map;
     }
 
-    public Boolean updateProcessSv(String processId, String technologyNumber, String orderId, String Orderprocess, Map<String, Object> object) {
+    public Boolean updateProcessSv(String processId,String orderNumber, String technologyNumber, String orderId, String Orderprocess, Map<String, Object> object) {
+        List<OrderProcessDetail> resultList = new ArrayList<>();
+        //鑾峰彇宸叉姤宸ュ伐鑹烘祦绋�
+        String processOk = flowCardMapper.getProcessOk(processId,orderNumber,technologyNumber);
+        if (processOk != null && !processOk.isEmpty()){
+            List<String> okList = Arrays.asList(processOk.split("->"));
+            List<String> orderList = Arrays.asList(Orderprocess.split("->"));
 
-        //鍒ゆ柇璇ユ祦绋嬪崱鏄惁鎶ュ伐
-        Integer count = flowCardMapper.reportingWorkCount(processId);
-        if (count == 0) {
+            // 鍒ゆ柇 processOk 鐨勬瘡涓伐搴忔槸鍚﹂兘鍖呭惈鍦� orderProcess 涓�
+            for (String p : okList) {
+                if (!orderList.contains(p)) {
+                    return false;
+                }
+            }
+
+
+
+            for (String process : okList) {
+                List<OrderProcessDetail> details =
+                        flowCardMapper.getProcessDetail(processId,orderNumber, technologyNumber, process);
+
+                if (details != null && !details.isEmpty()) {
+                    resultList.addAll(details);
+                }
+            }
+        }
+
             //鍒犻櫎灏忕墖宸ヨ壓琛ㄥ搴旂殑鏁版嵁
             flowCardMapper.deleteProcessMp(processId, technologyNumber);
             //閲嶆柊鎻掑叆淇敼濂藉伐鑹烘祦绋嬪崱鐨勬暟鎹�
@@ -1233,12 +1255,15 @@
                     }
                 }
             }
+            //灏嗗師鏉ュ凡鎶ュ伐鐨勬暟鎹洿鏂�
+            if (resultList != null && !resultList.isEmpty()) {
+                for (OrderProcessDetail d : resultList) {
+                    flowCardMapper.updateOrderProcessDetail(d.getProcessId(),d.getOrderNumber(),d.getTechnologyNumber(),
+                            d.getReportingWorkNumCount(),d.getReportingWorkNum(),d.getBrokenNum(),d.getProcess());
 
+                }
+            }
             return true;
-        } else {
-            return false;
-        }
-
 
     }
 

--
Gitblit v1.8.0