From 5343507d1fde965265b67f7679e63ab4bb6461df Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期四, 18 七月 2024 15:43:16 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

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

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
index ffdade5..8fc5a52 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java
@@ -451,27 +451,47 @@
             Integer count = reportingWorkMapper.selectCountByProcessId(processId, nextProcess);
             //鑾峰彇鏈�鍚庝竴閬撳伐搴�
             String lastProcess = reportingWorkMapper.selectLastProcess(processId);
-            //鍒ゆ柇鏄惁鏄叆搴撳伐搴�
-            if (lastProcess.equals(thisProcess)) {//鏄叆搴撳伐搴�
-                //鏌ヨ璇ユ祦绋嬪崱鏁伴噺銆佸彲鍏ュ簱鏁伴噺銆佸凡鍏ュ簱鏁伴噺
-                Map<String, Object> list = reportingWorkMapper.selectReceiptQuantity(processId);
-                if (list.get("quantity") == list.get("receiptQuantity")) {
-                    return false;
-                } else {
-                    //杞崲绫诲瀷:宸插叆搴撴暟閲�
-                    Integer receiptQuantity = Integer.parseInt(list.get("receivedQuantity").toString());
-                    //杞崲绫诲瀷:鍙叆搴撴暟閲�
-                    Integer inventoryQuantity = Integer.parseInt(list.get("inventoryQuantity").toString());
-                    //鏌ヨ璇ユ姤宸ョ紪鍙锋湰宸ュ簭瀹屽伐鏁伴噺
-                    Integer completedQuantity = reportingWorkMapper.selectCompletedQuantity(reportingWorkId);
-                    //褰撹宸ュ簭瀹屽伐鏁伴噺灏忎簬绛変簬宸插叆搴撴暟閲忔椂
-                    //鍙叆搴撴暟閲�-宸插叆搴撴暟閲�>=鎶ュ伐缂栧彿鏈伐搴忓畬宸ユ暟閲�
-                    if (inventoryQuantity - receiptQuantity >= completedQuantity) {
+            //鑾峰彇鏄惁鏈夊凡琛ョ墖鎴栬繑宸�
+            Integer countStates= Integer.valueOf(reportingWorkMapper.getPatchConditionMp(reportingWorkId));
+            //鍒ゆ柇鏄惁鏈夎ˉ鐗囪繑宸ユ暟鎹�
+            if (countStates==0){
+                //鍒ゆ柇鏄惁鏄叆搴撳伐搴�
+                if (lastProcess.equals(thisProcess)) {//鏄叆搴撳伐搴�
+                    //鏌ヨ璇ユ祦绋嬪崱鏁伴噺銆佸彲鍏ュ簱鏁伴噺銆佸凡鍏ュ簱鏁伴噺
+                    Map<String, Object> list = reportingWorkMapper.selectReceiptQuantity(processId);
+                    if (list.get("quantity") == list.get("receiptQuantity")) {
+                        return false;
+                    } else {
+                        //杞崲绫诲瀷:宸插叆搴撴暟閲�
+                        Integer receiptQuantity = Integer.parseInt(list.get("receivedQuantity").toString());
+                        //杞崲绫诲瀷:鍙叆搴撴暟閲�
+                        Integer inventoryQuantity = Integer.parseInt(list.get("inventoryQuantity").toString());
+                        //鏌ヨ璇ユ姤宸ョ紪鍙锋湰宸ュ簭瀹屽伐鏁伴噺
+                        Integer completedQuantity = reportingWorkMapper.selectCompletedQuantity(reportingWorkId);
+                        //褰撹宸ュ簭瀹屽伐鏁伴噺灏忎簬绛変簬宸插叆搴撴暟閲忔椂
+                        //鍙叆搴撴暟閲�-宸插叆搴撴暟閲�>=鎶ュ伐缂栧彿鏈伐搴忓畬宸ユ暟閲�
+                        if (inventoryQuantity - receiptQuantity >= completedQuantity) {
+                            //鏌ヨ褰撳墠鎶ュ伐缂栧彿瀹屽伐娆$牬鏁伴噺鐨勬暟鎹�
+                            List<Map<String, Object>> workDateList = reportingWorkMapper.reportingWorkDate(reportingWorkId);
+                            for (Map<String, Object> item : workDateList) {
+                                //鏇存柊娴佺▼鍗″彲鍏ュ簱鏁伴噺
+                                reportingWorkMapper.updateInventoryQuantity(processId, item.get("order_number"), item.get("technology_number"), item.get("completed_quantity"));
+                                //鏇存柊鎶ュ伐娴佺▼琛ㄦ暟鎹�
+                                reportingWorkMapper.updateWorkProcess(processId, item.get("order_number"), item.get("technology_number"), item.get("completed_quantity"), item.get("breakage_quantity"), thisProcess);
+                            }
+                            //鍒犻櫎鎶ュ伐锛屽皢瀹℃牳鐘舵�佹敼涓�-1
+                            reportingWorkMapper.deleteWork(reportingWorkId);
+                            return true;
+                        } else {
+                            return false;
+                        }
+                    }
+
+                } else {//涓嶆槸鍏ュ簱宸ュ簭
+                    if (count == 0) {
                         //鏌ヨ褰撳墠鎶ュ伐缂栧彿瀹屽伐娆$牬鏁伴噺鐨勬暟鎹�
                         List<Map<String, Object>> workDateList = reportingWorkMapper.reportingWorkDate(reportingWorkId);
                         for (Map<String, Object> item : workDateList) {
-                            //鏇存柊娴佺▼鍗″彲鍏ュ簱鏁伴噺
-                            reportingWorkMapper.updateInventoryQuantity(processId, item.get("order_number"), item.get("technology_number"), item.get("completed_quantity"));
                             //鏇存柊鎶ュ伐娴佺▼琛ㄦ暟鎹�
                             reportingWorkMapper.updateWorkProcess(processId, item.get("order_number"), item.get("technology_number"), item.get("completed_quantity"), item.get("breakage_quantity"), thisProcess);
                         }
@@ -482,23 +502,10 @@
                         return false;
                     }
                 }
-
-            } else {//涓嶆槸鍏ュ簱宸ュ簭
-                if (count == 0) {
-                    //鏌ヨ褰撳墠鎶ュ伐缂栧彿瀹屽伐娆$牬鏁伴噺鐨勬暟鎹�
-                    List<Map<String, Object>> workDateList = reportingWorkMapper.reportingWorkDate(reportingWorkId);
-                    for (Map<String, Object> item : workDateList) {
-                        //鏇存柊鎶ュ伐娴佺▼琛ㄦ暟鎹�
-                        reportingWorkMapper.updateWorkProcess(processId, item.get("order_number"), item.get("technology_number"), item.get("completed_quantity"), item.get("breakage_quantity"), thisProcess);
-                    }
-                    //鍒犻櫎鎶ュ伐锛屽皢瀹℃牳鐘舵�佹敼涓�-1
-                    reportingWorkMapper.deleteWork(reportingWorkId);
-                    return true;
-                } else {
-                    return false;
-                }
             }
-
+            else {
+                return false;
+            }
 
         } else {
             return false;

--
Gitblit v1.8.0