From 77c5a9937bd6a2ffbb2a45c10fa5d65d66015397 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期五, 27 十月 2023 14:33:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/zjfnwcs' into zjfnwcs

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 56 insertions(+), 4 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 5769bbd..bf0cfc9 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -569,13 +569,53 @@
 //            if(crnThread.isBackHpFlag()){
 //                continue;
 //            }
-
             // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
             if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
                     && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
                 // 搴撲綅绉昏浆
                 this.stnToStn(crn, crnProtocol);
+            }else {
+                continue;
+            }
+
+            try{
+                Thread.sleep(1000);
+            }catch (Exception e){
+                continue;
+            }
+            crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+            crnProtocol = crnThread.getCrnProtocol();
+            if (crnProtocol == null) { continue; }
+            basCrnp = basCrnpService.selectById(crn.getId());
+            if (basCrnp == null) {
+                log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+                continue;
+            }
+            // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
+            if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
+                    && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
+                // 搴撲綅绉昏浆
                 this.locToLoc(crn, crnProtocol);
+            }else {
+                continue;
+            }
+
+            try{
+                Thread.sleep(1000);
+            }catch (Exception e){
+                continue;
+            }
+            crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+            crnProtocol = crnThread.getCrnProtocol();
+            if (crnProtocol == null) { continue; }
+            basCrnp = basCrnpService.selectById(crn.getId());
+            if (basCrnp == null) {
+                log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+                continue;
+            }
+            // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
+            if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
+                    && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
                 // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
                 if (crnProtocol.getLastIo().equals("I")) {
                     if (basCrnp.getInEnable().equals("Y")) {
@@ -2378,7 +2418,9 @@
                                 locMast.setPackStatus(2);
                                 testMast.setModiTime(new Date());
                                 //NG杞琌K闇�瑕佽繕鍘熸簮搴撲綅鍜岀洰鏍囧簱浣嶇姸鎬侊紝OK杞琋G 鍒犻櫎浠诲姟妗�
-                                WrkMast wrkMast=wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_loc_no",locMast.getLocNo()));
+                                WrkMast wrkMast=wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+                                        .eq("source_loc_no",locMast.getLocNo())
+                                        .eq("wrk_sts",11));
                                 if(!Cools.isEmpty(wrkMast)){
                                     if(wrkMast.getWrkSts()==11){
                                     if(wrkMast.getIoType()==11){
@@ -2386,9 +2428,11 @@
                                         locMast1.setLocSts("O");
                                         locMastService.update(locMast1,new EntityWrapper<LocMast>().eq("loc_no",wrkMast.getLocNo()));
                                     }
-                                    wrkMastMapper.delete(new EntityWrapper<WrkMast>().eq("source_loc_no",locMast.getLocNo()));
+                                    wrkMastMapper.delete(new EntityWrapper<WrkMast>()
+                                                .eq("wrk_sts",11)
+                                                .eq("source_loc_no",locMast.getLocNo()));
                                     locMast.setLocSts("F");
-                                    wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("zpallet",locMast.getBarcode()));
+                                    wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("zpallet",wrkMast.getBarcode()));
                                     if(!locMastService.update(locMast,new EntityWrapper<LocMast>()
                                             .eq("channel",i+1))){
                                         log.error("淇敼娴嬭瘯搴撲綅鐘舵�佸け璐�"+locMast.getLocNo(),locMast);
@@ -2416,6 +2460,14 @@
                             //閫氶亾鍚姩鎸夐挳鐘舵�侊紝1:鍙互鍚姩鍑哄簱鎴栬�呯Щ搴擄紝0:涓嶈兘鍚姩鍑哄簱鎴栬�呯Щ搴�
                             locMast.setCtnKind(devpThread.startSignal[i][2]);
                             if(devpThread.startSignal[i][2]==1){
+                                WrkMast wrkMast=wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_loc_no",locMast.getLocNo()));
+                                if(!Cools.isEmpty(wrkMast)){
+                                    wrkMast.setMk("Y");
+                                    if(!wrkMastService.update(wrkMast,new EntityWrapper<WrkMast>()
+                                            .eq("source_loc_no",locMast.getLocNo()))){
+                                        log.error("淇敼浠诲姟妗e惎鍔ㄦ寜閽姸鎬侊紝浠诲姟妗g姸鎬佸け璐�"+wrkMast.getSourceLocNo(),wrkMast);
+                                    }
+                                }
                                 if(!locMastService.update(locMast,new EntityWrapper<LocMast>()
                                         .eq("loc_sts","R")
                                         .eq("channel",i+1))){

--
Gitblit v1.9.1