From 6c467481fdaccead755bb803224c555b42e5579b Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期四, 17 四月 2025 19:12:42 +0800
Subject: [PATCH] 999

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   94 ++++++++++++++++++++++++++++------------------
 1 files changed, 57 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 2b97ce7..ad2d629 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -101,11 +101,6 @@
     private BasWrkStatusService wrkStatusService;
 
 
-    public static List<Integer> staNosIn = new ArrayList<Integer>() {{
-        add(1015);
-        add(1026);
-    }};
-
     private boolean isInEnable(DevpThread devpThread, Integer staNo) {
         if (staNo == null) {
             return false;
@@ -290,7 +285,7 @@
                     if (liftWrkMast != null) {
                         if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚�
                             News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), 1);
-                            return;
+                            continue;
                         }
                     }
                     wrkMast.setLiftNo(1);
@@ -302,24 +297,24 @@
 
 
                 String locNo = "1200301";
-                if (wrkMast.getStaNo() == 1025) {
+                if (wrkMast.getStaNo() == 1026) {
                     locNo = "1200305";
                 }
                 boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_DEVP");
                 if (!dispatchShuttle) {
                     News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo());
-                    return;
+                    continue;
+                } else {
+                    News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け鎴愬姛", wrkMast.getWrkNo());
                 }
                 wrkMast.setWrkSts(WrkStsType.INBOUND_SHUTTLE_RUN.sts);
                 wrkMast.setLiftNo(null);
                 wrkMast.setSystemMsg("");//娓呯┖娑堟伅
                 wrkMast.setModiTime(new Date());
-                if (wrkMastService.updateById(wrkMast)) {
-                    return;
+                if (!wrkMastService.updateById(wrkMast)) {
+                    News.info("{}浠诲姟锛屾洿鏂板伐浣滄。澶辫触", wrkMast.getWrkNo());
                 }
             }
-
-
         }
     }
 
@@ -332,21 +327,21 @@
         List<WrkMast> wrkSts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.NEW_OUTBOUND.sts).in("sta_no", 1013, 1024));
         for (WrkMast wrkMast : wrkSts) {
             if (devpThread == null) {
-                return;
+                continue;
             }
             Map<Integer, StaProtocol> station = devpThread.getStation();
             StaProtocol staProtocol = station.get(wrkMast.getStaNo());
             if (staProtocol == null) {
-                return;
+                continue;
             }
 
             if (!staProtocol.isAutoing()) {
                 News.info("{}浠诲姟锛寋}绔欑偣锛屼笉鍦ㄨ嚜鍔ㄧ姸鎬�", wrkMast.getWrkNo(), staProtocol.getSiteId());
-                return;
+                continue;
             }
             if (!staProtocol.isOutEnable()) {
                 News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), staProtocol.getSiteId());
-                return;
+                continue;
             }
             String locNo = "1200301";
             if (wrkMast.getStaNo() == 1024) {
@@ -355,7 +350,7 @@
             boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), locNo, "TRANSPORT_DEVP");
             if (!dispatchShuttle) {
                 News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo());
-                return;
+                continue;
             } else {
                 News.info("{}浠诲姟锛屾棤鎻愬崌鏈哄璋冨害灏忚溅鎴愬姛", wrkMast.getWrkNo());
             }
@@ -363,8 +358,11 @@
             wrkMast.setWrkSts(WrkStsType.OUTBOUND_SHUTTLE_RUN.sts);
             wrkMast.setSystemMsg("");//娓呯┖娑堟伅
             wrkMast.setModiTime(now);
-            if (wrkMastService.updateById(wrkMast)) {
-                return;
+            if (!wrkMastService.updateById(wrkMast)) {
+                News.info("{}浠诲姟锛屾洿鏂板伐浣滄。澶辫触", wrkMast.getWrkNo());
+            } else {
+                WrkMast wrkMast1 = wrkMastService.selectByMainWrkNo(wrkMast.getWrkNo());
+                News.info("{}浠诲姟锛岀Щ鍔ㄤ换鍔$敓鎴愭垚鍔熲�斺��1", wrkMast1.getWrkNo());
             }
         }
     }
@@ -834,7 +832,6 @@
             boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
 
             wrkMast.setWrkSts(WrkStsType.INBOUND_DEVICE_RUN.sts);
-            wrkMast.setLiftNo(1);
             wrkMast.setSystemMsg("");//娓呯┖娑堟伅
             wrkMast.setModiTime(now);
             if (wrkMastService.updateById(wrkMast)) {
@@ -909,19 +906,42 @@
                 News.info("{}浠诲姟锛寋}绔欑偣锛屾棤鎵樼洏", wrkMast.getWrkNo(), staProtocol.getSiteId());
                 return false;
             }
+            if (sourceStaNo == 1023) {
+                if (staProtocol.getFinishWorkNo().intValue() != wrkMast.getWrkNo()) {
+                    News.info("{}浠诲姟锛寋}绔欑偣锛屼换鍔″彿涓嶄竴鑷�", wrkMast.getWrkNo(), staProtocol.getSiteId());
+                    return false;
+                }
+                if (!station.get(1022).getBarcode().equals(wrkMast.getBarcode())) {
+                    News.info("{}浠诲姟锛寋}绔欑偣锛屾墭鐩樼爜涓嶅尮閰嶏紝绔欑偣鎵樼洏鐮侊細{}锛屼换鍔℃墭鐩樼爜锛歿}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode());
+                    return false;
+                }
+            } else {
+                if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) {
+                    News.info("{}浠诲姟锛寋}绔欑偣锛屼换鍔″彿涓嶄竴鑷�", wrkMast.getWrkNo(), staProtocol.getSiteId());
+                    return false;
+                }
+                if (!staProtocol.getBarcode().equals(wrkMast.getBarcode())) {
+                    News.info("{}浠诲姟锛寋}绔欑偣锛屾墭鐩樼爜涓嶅尮閰嶏紝绔欑偣鎵樼洏鐮侊細{}锛屼换鍔℃墭鐩樼爜锛歿}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode());
+                    return false;
+                }
+            }
 
-            if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) {
-                News.info("{}浠诲姟锛寋}绔欑偣锛屼换鍔″彿涓嶄竴鑷�", wrkMast.getWrkNo(), staProtocol.getSiteId());
+            String locNo = "0200305";
+            if (wrkMast.getSourceStaNo() == 1012) {
+                locNo = "0200301";
+            }
+            boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_LIFT");
+            if (!dispatchShuttle) {
+                News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo());
                 return false;
             }
 
-            if (!staProtocol.getBarcode().equals(wrkMast.getBarcode())) {
-                News.info("{}浠诲姟锛寋}绔欑偣锛屾墭鐩樼爜涓嶅尮閰嶏紝绔欑偣鎵樼洏鐮侊細{}锛屼换鍔℃墭鐩樼爜锛歿}", wrkMast.getWrkNo(), staProtocol.getSiteId(), staProtocol.getBarcode(), wrkMast.getBarcode());
-                return false;
+            int lev = 105;
+            if (wrkMast.getSourceStaNo() == 1012) {
+                lev = 101;
             }
-
             //鑾峰彇鎻愬崌鏈哄懡浠�
-            List<LiftCommand> liftCommands = liftThread.getPalletInCommand(wrkMast.getWrkNo(), wrkMast.getSourceStaNo(), 101);
+            List<LiftCommand> liftCommands = liftThread.getPalletInCommand(wrkMast.getWrkNo(), sourceStaNo, lev);
             LiftCommand liftCommand = liftCommands.get(0);
 
             int deviceWrk = commonService.getWorkNo(8);//鐢熸垚鎻愬崌鏈鸿澶囧伐浣滃彿
@@ -981,15 +1001,15 @@
                 News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮棤鎵樼洏锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
                 return false;
             }
-            String locNo = "0200305";
-            if (wrkMast.getStaNo() == 1011) {
-                locNo = "0200301";
-            }
-            boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_LIFT");
-            if (!dispatchShuttle) {
-                News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo());
-                return false;
-            }
+//            String locNo = "0200305";
+//            if (wrkMast.getStaNo() == 1011) {
+//                locNo = "0200301";
+//            }
+//            boolean dispatchShuttle = shuttleDispatchUtils.searchDispatchShuttleS(wrkMast.getWrkNo(), locNo, wrkMast.getLocNo(), "TRANSPORT_LIFT");
+//            if (!dispatchShuttle) {
+//                News.info("{}浠诲姟锛岃皟搴﹀皬杞﹀け璐�", wrkMast.getWrkNo());
+//                return false;
+//            }
 
             wrkMast.setWrkSts(WrkStsType.INBOUND_SHUTTLE_RUN.sts);
             // TODO 娴嬭瘯涓彂鐜颁笉鑳借В绂侊紝鍥犱负鎻愬崌鏈洪噷瀛樺湪鎵樼洏锛屽氨涓嶈兘瑙g锛屼笉鐒跺彟涓�杈嗗皬杞﹀彲鑳戒細杩戞彁鍗囨満
@@ -1541,7 +1561,7 @@
             Map<Integer, StaProtocol> station = devpThread.getStation();
             WrkMast wrkMast = null;
             for (StaProtocol staProtocol : station.values()) {
-                if (staProtocol.getSiteId() == 1013 || staProtocol.getSiteId() == 1014) {
+                if (staProtocol.getSiteId() == 1013 || staProtocol.getSiteId() == 1024) {
                     wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", staProtocol.getFinishWorkNo()).eq("wrk_sts", WrkStsType.OUTBOUND_DEVP_RUN.sts));
                     if (wrkMast != null) {
                         wrkMast.setWrkSts(WrkStsType.COMPLETE_OUTBOUND.sts);

--
Gitblit v1.9.1