From 538ce7e95297953686db099cacd63e76d2d83154 Mon Sep 17 00:00:00 2001
From: L <L@132>
Date: 星期一, 08 十二月 2025 09:24:11 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  117 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 80 insertions(+), 37 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index 2a1996b..7572934 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -2818,35 +2818,47 @@
                     if (basCrnp.getInEnable().equals("Y")) {
                         boolean crnStnToLocDemo = this.crnStnToLocDemo(crnSlave, crnProtocol);//  鍏ュ簱
                         if (crnStnToLocDemo){
+                            crnProtocol.setSignIntOut(true);
                             crnProtocol.setLastIo("O");
                         } else if (!crnProtocol.isSignIntOut()){
                             crnProtocol.setLastIo("O");
                         }
                     } else if (basCrnp.getOutEnable().equals("Y")) {
-                        boolean locToCrnStnDemo = this.locToCrnStnDemo(crnSlave, crnProtocol);//  鍑哄簱
-                        if (locToCrnStnDemo && crnProtocol.isSignIntOut()){
+                        if (!crnProtocol.isSignIntOut()){
                             crnProtocol.setLastIo("I");
-                        } else if (locToCrnStnDemo){
-                            crnProtocol.setSignIntOut(true);
-                        } else if (!crnProtocol.isSignIntOut()){
-                            crnProtocol.setLastIo("I");
+                        } else {
+                            boolean locToCrnStnDemo = this.locToCrnStnDemo(crnSlave, crnProtocol);//  鍑哄簱
+                            if (locToCrnStnDemo && crnProtocol.isSignIntOut()){
+                                crnProtocol.setLastIo("I");
+                            } else if (locToCrnStnDemo){
+                                crnProtocol.setLastIo("I");
+                                crnProtocol.setSignIntOut(true);
+                            } else if (!crnProtocol.isSignIntOut()){
+                                crnProtocol.setLastIo("I");
+                            }
                         }
                     }
                 }
                 // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
                 else if (crnProtocol.getLastIo().equals("O")) {
                     if (basCrnp.getOutEnable().equals("Y")) {
-                        boolean locToCrnStnDemo = this.locToCrnStnDemo(crnSlave, crnProtocol);//  鍑哄簱
-                        if (locToCrnStnDemo && crnProtocol.isSignIntOut()){
+                        if (!crnProtocol.isSignIntOut()) {
                             crnProtocol.setLastIo("I");
-                        } else if (locToCrnStnDemo){
-                            crnProtocol.setSignIntOut(true);
-                        } else if (!crnProtocol.isSignIntOut()){
-                            crnProtocol.setLastIo("I");
+                        } else {
+                            boolean locToCrnStnDemo = this.locToCrnStnDemo(crnSlave, crnProtocol);//  鍑哄簱
+                            if (locToCrnStnDemo && crnProtocol.isSignIntOut()){
+                                crnProtocol.setLastIo("I");
+                            } else if (locToCrnStnDemo){
+                                crnProtocol.setLastIo("I");
+                                crnProtocol.setSignIntOut(true);
+                            } else if (!crnProtocol.isSignIntOut()){
+                                crnProtocol.setLastIo("I");
+                            }
                         }
                     } else if (basCrnp.getInEnable().equals("Y")) {
                         boolean crnStnToLocDemo = this.crnStnToLocDemo(crnSlave, crnProtocol);//  鍏ュ簱
                         if (crnStnToLocDemo){
+                            crnProtocol.setSignIntOut(true);
                             crnProtocol.setLastIo("O");
                         } else if (!crnProtocol.isSignIntOut()){
                             crnProtocol.setLastIo("O");
@@ -2905,7 +2917,7 @@
                 // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。
                 TaskWrk taskWrk = null;
                 for (String locNo : crnProtocol.getLocMastDemoList()) {
-                    TaskWrk taskWrk1 = taskWrkService.selectByTaskNo(locNo);
+                    TaskWrk taskWrk1 = taskWrkService.selectByTaskNo(locNo+"r");
                     if (Cools.isEmpty(taskWrk1)){
                         continue;
                     }
@@ -3076,6 +3088,8 @@
                                 if (taskWrkMapper.updateById(taskWrk) == 0) {
                                     log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
                                 }
+
+
                             } catch (Exception e) {
                                 log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", taskWrk.getWrkNo());
                                 log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽紓甯革細" + e);
@@ -3303,30 +3317,59 @@
                     if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
                         continue;
                     }
-                    for (String locNo : crnProtocol.getLocMastDemoList()){
-                        LocMast locMast = locMastService.selectByLocNo(locNo);
-                        if (locMast.getLocSts().equals("F")){
-                            CarryParam carryParam = new CarryParam();
-                            carryParam.setTaskNo(locNo);
-                            carryParam.setBarcode(locNo);
-                            carryParam.setIoType(1);//浠诲姟绫诲瀷=銆�1锛氬嚭搴撱��2锛氱Щ搴撱��3锛氬叆搴�   ====杞崲涓�====>  1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
-                            carryParam.setTaskPriority(1);
-                            carryParam.setTargetPoint("1012");
-                            carryParam.setStartPoint(BarcodeUtils.formatCode(locNo));
-                            carryParam.setMeno("Demo");
-                            taskWrkController.addTaskPoint(carryParam);
-                            Thread.sleep(50);
-                        } else if (locMast.getLocSts().equals("O")){
-                            CarryParam carryParam = new CarryParam();
-                            carryParam.setTaskNo(locNo);
-                            carryParam.setBarcode(locNo);
-                            carryParam.setIoType(3);//浠诲姟绫诲瀷=銆�1锛氬嚭搴撱��2锛氱Щ搴撱��3锛氬叆搴�   ====杞崲涓�====>  1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
-                            carryParam.setTaskPriority(1);
-                            carryParam.setStartPoint("1012");
-                            carryParam.setTargetPoint(BarcodeUtils.formatCode(locNo));
-                            carryParam.setMeno("Demo");
-                            taskWrkController.addTaskPoint(carryParam);
-                            Thread.sleep(50);
+                    boolean signIn = false;
+                    for (String[] locS : crnProtocol.getLocMastDemoListSign()){
+                        if (locS[3].equals(String.valueOf(locS.length))){
+                            String locNo1 = locS[0];
+                            String locNo2 = locS[2];
+                            ArrayList<String> locNoList = new ArrayList<>();
+                            locNoList.add(locNo1);
+                            locNoList.add(locNo2);
+                            for (String locNo : locNoList) {
+                                TaskWrk taskWrk1 = taskWrkService.selectByTaskNo(locNo+"r");
+                                if (Cools.isEmpty(taskWrk1)){
+                                    continue;
+                                }
+                                signIn = true;
+                                break;
+                            }
+                        }
+                    }
+                    if (signIn){
+                        continue;
+                    }
+                    for (String[] locS : crnProtocol.getLocMastDemoListSign()){
+                        if (locS[3].equals("1")){
+                            String locNo1 = locS[0];
+                            String locNo2 = locS[2];
+                            ArrayList<String> locNoList = new ArrayList<>();
+                            locNoList.add(locNo1);
+                            locNoList.add(locNo2);
+                            for (String locNo : locNoList) {
+                                LocMast locMast = locMastService.selectByLocNo(locNo);
+                                if (locMast.getLocSts().equals("F")){
+                                    CarryParam carryParam = new CarryParam();
+                                    carryParam.setTaskNo(locNo);
+                                    carryParam.setBarcode(locNo);
+                                    carryParam.setIoType(1);//浠诲姟绫诲瀷=銆�1锛氬嚭搴撱��2锛氱Щ搴撱��3锛氬叆搴�   ====杞崲涓�====>  1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
+                                    carryParam.setTaskPriority(1);
+                                    carryParam.setTargetPoint("1012");
+                                    carryParam.setStartPoint(BarcodeUtils.formatCode(locNo));
+                                    carryParam.setMeno("Demo");
+                                    taskWrkController.addTaskPoint(carryParam);
+                                } else if (locMast.getLocSts().equals("O")){
+                                    CarryParam carryParam = new CarryParam();
+                                    carryParam.setTaskNo(locNo+"r");
+                                    carryParam.setBarcode(locNo);
+                                    carryParam.setIoType(3);//浠诲姟绫诲瀷=銆�1锛氬嚭搴撱��2锛氱Щ搴撱��3锛氬叆搴�   ====杞崲涓�====>  1锛氬叆搴擄紝2锛氬嚭搴擄紝3锛氱Щ搴�
+                                    carryParam.setTaskPriority(1);
+                                    carryParam.setStartPoint("1012");
+                                    carryParam.setTargetPoint(BarcodeUtils.formatCode(locNo));
+                                    carryParam.setMeno("Demo");
+                                    taskWrkController.addTaskPoint(carryParam);
+                                    LocFCSUtils.updateLocSInPlace(crnProtocol.getLocMastDemoListSign());
+                                }
+                            }
                         }
                     }
 

--
Gitblit v1.9.1