From 5f7d4cc999254705bc93f216b845c21e71a881fc Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期三, 09 十一月 2022 15:42:09 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  138 +++++++++++++++++++++++++++-------------------
 1 files changed, 81 insertions(+), 57 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 6a731a5..b15818c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -486,9 +486,9 @@
                                 throw new CoolException(wrkMast.getWrkNo() + "淇敼鐩爣搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�");
                             }
                             // 搴撳瓨鏄庣粏杞Щ
-                            if (!locDetlService.updateLocNo(wrkMast.getLocNo(), sourceLocNo)) {
-                                throw new CoolException(wrkMast.getWrkNo() + "浠诲姟搴撳瓨鏄庣粏杞Щ澶辫触锛侊紒锛�");
-                            }
+//                            if (!locDetlService.updateLocNo(wrkMast.getLocNo(), sourceLocNo)) {
+//                                throw new CoolException(wrkMast.getWrkNo() + "浠诲姟搴撳瓨鏄庣粏杞Щ澶辫触锛侊紒锛�");
+//                            }
 
                             // 鏉$爜璁惧澶勭悊
                             barcodeThread.setBarcode("");
@@ -542,39 +542,23 @@
      * 鐩樼偣璐х墿鎶佃揪鐩樼偣鐩爣绔� wrkMast.sourceLoc P ===>> O
      */
     public void pickWrkCompleteStaNo() {
-        for (DevpSlave devp : slaveProperties.getDevp()) {
-            // 閬嶅巻鎷f枡鍏ュ簱鍙�
-            for (DevpSlave.Sta pickSta : devp.getPickOutSta()) {
-                // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
-                DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
-                StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo());
-                if (staProtocol == null) {
-                    continue;
-                } else {
-                    staProtocol = staProtocol.clone();
+        List<WrkMast> wrkMasts = wrkMastMapper.selectPick17(null, null);
+        for (WrkMast wrkMast : wrkMasts) {
+            // 淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�
+            LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+            if (locMast.getLocSts().equals("P")) {
+                locMast.setLocSts("O");
+                locMast.setModiTime(new Date());
+                if (!locMastService.updateById(locMast)) {
+                    throw new CoolException(wrkMast.getWrkNo() + "淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�");
                 }
-                if (staProtocol.getWorkNo() > 0) {
-                    WrkMast wrkMast = wrkMastMapper.selectPick17(pickSta.getStaNo(), staProtocol.getWorkNo().intValue());
-                    if (Cools.isEmpty(wrkMast)) {
-                        log.error("{}绔欐嫞鏂欍�佸苟鏉裤�佺洏鐐规绱换鍔″け璐ワ紒浠诲姟鍙凤細{}", pickSta.getStaNo(), staProtocol.getWorkNo());
-                    } else {
-                        // 淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�
-                        LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());
-                        if (locMast.getLocSts().equals("P")) {
-                            locMast.setLocSts("O");
-                            locMast.setModiTime(new Date());
-                            if (!locMastService.updateById(locMast)) {
-                                throw new CoolException(wrkMast.getWrkNo() + "淇敼婧愬簱浣嶇姸鎬� O.绌哄簱浣�");
-                            }
-                        }
-                        // 淇敼宸ヤ綔妗�
-                        wrkMast.setIoPri(13D);
-                        if (wrkMastMapper.updateById(wrkMast) == 0) {
-                            log.error("鏇存柊宸ヤ綔妗g殑浼樺厛绾уけ璐ワ紒锛侊紒 [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
-                        }
-                    }
-                }
-
+                locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
+            }
+            // 淇敼宸ヤ綔妗�
+            wrkMast.setIoPri(13D);
+            wrkMast.setModiTime(new Date());
+            if (wrkMastMapper.updateById(wrkMast) == 0) {
+                log.error("鏇存柊宸ヤ綔妗g殑浼樺厛绾уけ璐ワ紒锛侊紒 [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
             }
         }
     }
@@ -946,9 +930,12 @@
                                 flag = true;
                                 break;
                             } else {
-                                log.error("搴撲綅鍑哄簱鍒板爢鍨涙満绔� ===>> 搴撲綅鐘舵�佸湪搴擄紝浣嗘槸娴呭簱浣嶅凡瀛樺湪宸ヤ綔妗d换鍔★紒鍑哄簱搴撲綅={},娴呭簱浣嶅彿={}", shallowLoc.getLocNo());
-                                flag = true;
-                                break;
+                                if (waitWrkMast.getWrkSts()!=18) {
+                                    log.error("搴撲綅鍑哄簱鍒板爢鍨涙満绔� ===>> 搴撲綅鐘舵�佸湪搴擄紝浣嗘槸娴呭簱浣嶅凡瀛樺湪宸ヤ綔妗d换鍔★紒鍑哄簱搴撲綅={},娴呭簱浣嶅彿={}", shallowLoc.getLocNo());
+                                    flag = true;
+                                    break;
+                                }
+
                             }
                         } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")){
                             log.error("搴撲綅鍑哄簱鍒板爢鍨涙満绔� ===>> 娴呭簱浣嶅簱浣嶇姸鎬佷负鍏ュ簱棰勭害锛佸嚭搴撳簱浣�={},娴呭簱浣嶅彿={}", shallowLoc.getLocNo());
@@ -1227,8 +1214,6 @@
                     }
                 }
 
-            } else {
-                // todo
             }
             // 涓嶆槸鏈�澶栧眰搴撲綅锛岄渶瑕佷娇鐢ㄧ┛姊溅鎼繍鍚庯紝鍐嶅爢鍨涙満绉诲簱
         } else {
@@ -1308,6 +1293,11 @@
                     SteThread steThread = queryIdleCar(wrkMast);
                     if (steThread != null) {
                         if (null == wrkMastMapper.selectPakout(slave.getId(), steNo)) {
+                            // 鏍囪绉诲簱褰撳墠娴佺▼
+                            wrkMast.setMk("O");
+                            if (wrkMastMapper.updateById(wrkMast) == 0) {
+                                log.error("鏍囪绉诲簱褰撳墠娴佺▼ I 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+                            }
                             // 璁╁皬杞︾瓑寰呮惉杩愬緟缁�
                             this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getSourceLocNo());
                         }
@@ -1480,6 +1470,11 @@
                         if (steThread != null) {
                             // 娌℃湁鍏朵粬浠诲姟
                             if (null == wrkMastMapper.selectPakin(slave.getId(), steNo)) {
+                                // 鏍囪绉诲簱褰撳墠娴佺▼
+                                wrkMast.setMk("I");
+                                if (wrkMastMapper.updateById(wrkMast) == 0) {
+                                    log.error("鏍囪绉诲簱褰撳墠娴佺▼ I 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+                                }
                                 // 璁╁皬杞︾瓑寰呮惉杩愬緟缁�
                                 this.letCarBeReady(wrkMast, steThread.getSlave().getId(), wrkMast.getLocNo());
                             }
@@ -2391,6 +2386,35 @@
 //                        }
                         if (locMastService.isOutMost(wrkMast.getLocNo())) {
                             wrkMast.setWrkSts(17L);
+                            // 榛樿鐩爣搴撲綅鏄┖鏉�
+                            String locSts = "D";
+                            // 搴撲綅绉昏浆鍒ゆ柇鏄惁涓虹┖鏉跨Щ杞�
+                            if (wrkMast.getEmptyMk().equals("N")) {
+                                locSts = "F";
+                                // 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣�
+                                if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) {
+                                    log.error("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={}],[鐩爣搴撲綅={}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo());
+                                    continue;
+                                }
+                            }
+                            // 淇敼婧愬簱浣嶇姸鎬� ==> O
+                            LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
+                            if (null != sourceLoc) {
+                                sourceLoc.setBarcode("");
+                                sourceLoc.setLocSts("O");
+                                sourceLoc.setModiTime(now);
+                                sourceLoc.setIoTime(now);
+                                if (!locMastService.updateById(sourceLoc)) {
+                                    log.error("搴撲綅绉昏浆 ===>> 淇敼婧愬簱浣嶇姸鎬佸け璐ワ紱[workNo={}],[sourceLoc={}]", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
+                                }
+                            }
+                            // 淇敼鐩爣搴撲綅鐘舵�� ==> .locSts
+                            LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+                            locMast.setLocSts(locSts);
+                            locMast.setModiTime(new Date());
+                            if (!locMastService.updateById(locMast)) {
+                                log.error("");
+                            }
                         }
                         wrkMast.setModiTime(now);
                         // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
@@ -2598,23 +2622,23 @@
                                 // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.灏忚溅寰呮惉
                                 wrkMast.setWrkSts(12L);
                             } else {
-//                                if (Cools.isEmpty(wrkMast.getMk())) {
-//                                    log.error("绉诲簱宸ヤ綔妗f病鏈夋祦绋嬫爣璁帮紒锛侊紝宸ヤ綔鍙�={}", wrkMast.getWrkNo());
-//                                } else {
-//                                    if (wrkMast.getMk().equals("I")) {
-//                                        String locNo = wrkMast.getLocNo();
-//                                        if (Utils.getGroupRow(locNo).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(locNo) && steProtocol.getLev() == Utils.getLev(locNo)) {
-//                                            // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 6.灏忚溅寰呭叆
-//                                            wrkMast.setWrkSts(6L);
-//                                        } else {
-//                                            // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 3.灏忚溅寰呮惉
-//                                            wrkMast.setWrkSts(3L);
-//                                        }
-//                                    } else if (wrkMast.getMk().equals("O")) {
-//                                        // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.灏忚溅寰呮惉
-//                                        wrkMast.setWrkSts(12L);
-//                                    }
-//                                }
+                                if (Cools.isEmpty(wrkMast.getMk())) {
+                                    log.error("绉诲簱宸ヤ綔妗f病鏈夋祦绋嬫爣璁帮紒锛侊紝宸ヤ綔鍙�={}", wrkMast.getWrkNo());
+                                } else {
+                                    if (wrkMast.getMk().equals("I")) {
+                                        String locNo = wrkMast.getLocNo();
+                                        if (Utils.getGroupRow(locNo).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(locNo) && steProtocol.getLev() == Utils.getLev(locNo)) {
+                                            // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 6.灏忚溅寰呭叆
+                                            wrkMast.setWrkSts(6L);
+                                        } else {
+                                            // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 3.灏忚溅寰呮惉
+                                            wrkMast.setWrkSts(3L);
+                                        }
+                                    } else if (wrkMast.getMk().equals("O")) {
+                                        // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.灏忚溅寰呮惉
+                                        wrkMast.setWrkSts(12L);
+                                    }
+                                }
                             }
                             wrkMast.setModiTime(now);
                             if (wrkMastMapper.updateById(wrkMast) == 0) {

--
Gitblit v1.9.1