From a62131e24ab38d0446127dec6e3f6fa48d95caba Mon Sep 17 00:00:00 2001
From: zhangchao <zc857179121@qq.com>
Date: 星期四, 24 十月 2024 09:21:21 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   64 +++++++++++++++++++------------
 1 files changed, 39 insertions(+), 25 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 b7c47d0..6a7a9fb 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -224,29 +224,39 @@
                     }
 
                     // 鍒ゆ柇閲嶅宸ヤ綔妗�
-                    WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
-                    //杩囨护鍒ゆ柇锛岄槻姝㈡嫞鏂欏啀鍏ュ簱璐х墿锛岀粡杩囧叆搴撶珯鍐嶅叆搴撴椂锛岃閫�鍥炲埌閫�搴撶珯
-                    WrkMast wrkMast1 = wrkMastMapper.selectPakInStepBarcode(barcode);
-                    if (wrkMast1 != null) {
-                        if (wrkMast1.getIoType() == 103 || wrkMast1.getIoType() == 107 || wrkMast1.getIoType() == 104) {
+                    WrkMast wrkMast = wrkMastMapper.selectPakInStepBarcode(barcode);
+                    if (wrkMast != null && wrkMast.getWrkSts() == 2) {
+                        int wrkNo1 = basDevpService.count(new QueryWrapper<BasDevp>().eq("wrk_no", wrkMast.getWrkNo()));
+                        if (wrkNo1 != 0) {
+                            News.error(barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,璇锋煡鐪媁CS杈撻�佺嚎鐣岄潰,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
+                            if (ledThread != null) {
+                                News.error(":鎵爜澶辫触锛岃閲嶈瘯");
+                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑浠诲姟,宸ヤ綔鍙�=" + wrkMast.getWrkNo()));
+                            }
                             continue;
                         }
-                    }
-                    if (wrkMast != null) {
-                        News.error("" + mark + " - 4" + " - 宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
-                        staProtocol.setWorkNo((short) 9999);
-                        staProtocol.setStaNo(inSta.getBackSta().shortValue());
+                        barcodeThread.setBarcode("");
+                        staProtocol.setWorkNo(Short.parseShort(wrkMast.getWrkNo() + ""));
+                        staProtocol.setStaNo(Short.parseShort(wrkMast.getStaNo() + ""));
                         devpThread.setPakMk(staProtocol.getSiteId(), false);
                         boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                        log.info("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒))锛�" + wrkMast.getWrkNo() + "," + wrkMast.getStaNo());
+
+                        ledThread.errorReset();
+                        log.info("缁勬墭璇锋眰鍚嶭ED閿欒娓呴櫎");
+
                         if (!result) {
-                            throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+                            News.error(":鏇存柊plc绔欑偣淇℃伅澶辫触");
+                            log.error("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒)==>鏇存柊plc绔欑偣淇℃伅澶辫触");
+//                            throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+                            continue;
                         }
 
-                        // led 寮傚父鏄剧ず
-                        if (ledThread != null) {
-                            String errorMsg = "宸ヤ綔妗e凡瀛樺湪璇ユ潯鐮佸彿===>>" + barcode;
-                            MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
-                        }
+                    }
+                    WrkMast checkPick = wrkMastMapper.selectOne(new QueryWrapper<WrkMast>()
+                            .eq("barcode", barcode)
+                            .in("io_type", 107, 103, 57));
+                    if (!Cools.isEmpty(checkPick)) {
                         continue;
                     }
 
@@ -500,7 +510,7 @@
                             wrkMast = wrkMast1;
                         }
                     }
-                    if ((  wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
+                    if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
                         continue;
                     }
 
@@ -520,7 +530,7 @@
                     StaDesc staDesc = staDescService.getOne(wrapper);
                     if (Cools.isEmpty(staDesc)) {
                         News.error("" + mark + " - 2" + " - 鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo());
-                        staProtocol.setWorkNo((short) 9989);
+                        staProtocol.setWorkNo((short) 9999);
                         staProtocol.setStaNo((short) (pickSta.getStaNo().shortValue() - (short) 1));
                         devpThread.setPakMk(staProtocol.getSiteId(), false);
                         MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -653,7 +663,7 @@
                                 crnThread.setResetFlag(true);
                             } else if (statusTypeTwo == CrnStatusType.WAITING_TWO) {
                                 crnThread.setResetFlagTwo(true);
-                            } else {
+                            } else if (statusTypeTwo == CrnStatusType.WAITING_All) {
                                 crnThread.setResetFlag(true);
                                 crnThread.setResetFlagTwo(true);
                             }
@@ -869,7 +879,7 @@
                         wrkMast.setIoPri(14D);
                         wrkMastMapper.updateById(wrkMast);
                         // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
-                        moveLocForDeepLoc(slave, shallowLoc, mark);
+                        moveLocForDeepLoc(slave, shallowLoc, mark,wrkMast.getTenant());
                         // 鐢熸垚宸ヤ綔妗c�佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵�併�佷笅鍙戝爢鍨涙満鍛戒护锛堢珛椹墽琛�)
 //                        moveLocForDeepLocPakin(slave, shallowLoc, wrkMast);
                     }
@@ -1038,7 +1048,7 @@
                                 wrkMast.setUpdMk("Y");
                                 wrkMastMapper.updateById(wrkMast);
                                 // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
-                                moveLocForDeepLoc(slave, shallowLoc, mark);
+                                moveLocForDeepLoc(slave, shallowLoc, mark,wrkMast.getTenant());
                             }
                             News.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo);
                             continue;
@@ -1358,6 +1368,8 @@
                 if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) {
                     wrkMast.setWrkSts(4L);
                 } else {
+                    //TODO
+                    News.info("鐘舵�佷笉瀵�,鐘舵��={}锛屽伐浣滃彿={}", wrkMast.getWrkSts(), crnProtocol.getTaskNo());
                     continue;
                 }
                 Date now = new Date();
@@ -1571,9 +1583,9 @@
                     if (!staProtocol.isLoading()) {
                         continue;
                     }
-                    if (!staProtocol.isPakMk()) {
-                        continue;
-                    }
+//                    if (!staProtocol.isPakMk()) {
+//                        continue;
+//                    }
                     staProtocol.setWorkNo((short) 9999);
                     News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", emptyInSta.getStaNo(), errMsg, (short) 9999);
                     staProtocol.setStaNo(emptyInSta.getBackSta().shortValue());
@@ -1918,7 +1930,7 @@
      * 鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)
      * tip锛氬悓姝�
      */
-    private synchronized void moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc, Integer mark) {
+    private synchronized void moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc, Integer mark,Long tenant) {
 
         try {
             News.warnNoLog("" + mark + "moveLocForDeepLoc" + " - 0" + " - 寮�濮嬫墽琛�:鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)");
@@ -2010,6 +2022,7 @@
             wrkMast.setLinkMis("N");
             wrkMast.setAppeTime(new Date());
             wrkMast.setModiTime(new Date());
+            wrkMast.setTenant(tenant);
             int res = wrkMastMapper.insert(wrkMast);
             if (res == 0) {
                 News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 2" + " - 淇濆瓨宸ヤ綔妗eけ璐�");
@@ -2026,6 +2039,7 @@
                     VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
                     wrkDetl.setAppeTime(new Date());
                     wrkDetl.setModiTime(new Date());
+                    wrkDetl.setTenant(tenant);
                     if (!wrkDetlService.save(wrkDetl)) {
                         News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 3" + " - 淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
                         throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");

--
Gitblit v1.9.1