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 |  113 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 74 insertions(+), 39 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 34299f8..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,37 +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.setLastIo("I");
-                            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.setLastIo("I");
-                            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");
@@ -3307,33 +3317,58 @@
                     if (Cools.isEmpty(basCrnp.getHpMk()) || !basCrnp.getHpMk().equals("Y")){
                         continue;
                     }
+                    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 locNo = locS[0];
-                            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+"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);
-                                Thread.sleep(50);
-                                LocFCSUtils.updateLocSInPlace(crnProtocol.getLocMastDemoListSign());
+                            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