From 4e6257dc30375593cb2608ee47569aba73acfd51 Mon Sep 17 00:00:00 2001
From: TQS <56479841@qq.com>
Date: 星期一, 20 三月 2023 17:05:45 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   34 ++++++++++++++++++++++++++++++----
 1 files changed, 30 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 425a2bf..2e7daa0 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -493,7 +493,7 @@
                         Integer code = jsonObject.getInteger("code");
                         if (code.equals(200)) {
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
+                            News.info("鍐嶅叆搴撹幏鍙栨柊搴撲綅鎴愬姛锛岃繑鍥炴暟鎹�===>>", JSON.toJSON(dto));
 //                            // 鑾峰彇鐩爣绔�
 //                            Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
 //                                    .eq("type_no", wrkMast.getIoType() - 50)
@@ -521,6 +521,7 @@
                             // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
                             wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
                             wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
+                            wrkMast.setIoPri(13D);
                             wrkMast.setSourceStaNo(pickSta.getStaNo()); // 婧愮珯
                             wrkMast.setStaNo(dto.getStaNo()); // 鐩爣绔�
                             wrkMast.setCrnNo(dto.getCrnNo());
@@ -564,6 +565,9 @@
 
                             ledThread.errorReset();
 
+                            if(wrkMast.getIoType()>100){
+                                throw new CoolException("鍐嶅叆搴撴洿鏂板伐浣滄。澶辫触锛屼笉鑳界粰PLC涓嬪彂浠诲姟===>>" + wrkMast.getWrkNo());
+                            }
                             // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
                             staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
                             staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
@@ -744,6 +748,7 @@
                         // 鏇存柊宸ヤ綔妗g姸鎬佷负 17.鍑哄簱瀹屾垚
                         wrkMast.setWrkSts(17L);
                         wrkMast.setSteNo(0);
+                        wrkMast.setIoPri(15D);
                         wrkMast.setCrnEndTime(new Date());
                         if (wrkMastMapper.updateById(wrkMast) != 0) {
                             // 澶嶄綅鍫嗗灈鏈�
@@ -1154,6 +1159,8 @@
                                         .last(" and wrk_sts in (12,13,14,15,16)"));
                                 if(one2==null) {
                                     moveLocForDeepLoc(slave, shallowLoc);
+                                } else {
+                                    News.error("娴呭簱浣嶉樆濉炴椂锛屼笖娴呭簱浣嶅瓨鍦ㄤ綔涓氫腑鍑哄簱浠诲姟锛佸伐浣滃彿={}", one2.getWrkNo());
                                 }
                                 flag = true;
                                 break;
@@ -1171,6 +1178,12 @@
                             break;
                         }
 
+                        //20230307 ADD锛屽啀鍔犱竴娆″垽鏂紝褰撴祬搴撲綅鐘舵�佷笉涓篛鏃讹紝涓嶆墽琛屽綋鍓嶅嚭搴撲换鍔�
+                        if(shallowLoc!=null && !shallowLoc.getLocSts().equals("O")){
+                            News.error("鍋氫簡娴呭簱浣嶉樆濉炲鐞嗗悗鍙嶅鍒ゆ柇锛屾祬搴撲綅鐘舵�佷笉涓篛 ===>> 娴呭簱浣嶅簱浣嶇姸鎬佷负鍏ュ簱棰勭害锛佸嚭搴撳簱浣�={},娴呭簱浣嶅彿={}", wrkMast.getSourceLocNo(), shallowLoc.getLocNo());
+                            flag = true;
+                            break;
+                        }
                     }
                 }
             }
@@ -1596,6 +1609,10 @@
                             && !deepLoc.getLocSts().equals("O")
                             && (waitWrkMast!=null && waitWrkMast.getWrkSts()<18)){
                         News.error("绉诲簱鍐嶅洖搴撴椂锛屾繁搴撲綅缁勬繁搴撲綅鐘舵�佷负浣滀笟涓� ===>> deepLoc={},loc_sts={}", deepLoc.getLocNo(), deepLoc.getLocSts());
+                        if(waitWrkMast.getIoPri()<9999) {//璋冮珮浼樺厛绾�
+                            waitWrkMast.setIoPri(waitWrkMast.getIoPri() + 1);
+                            wrkMastService.updateById(waitWrkMast);
+                        }
                         flag = true;
                         break;
                     }
@@ -2294,6 +2311,10 @@
         SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
         SteProtocol steProtocol = steThread.getSteProtocol();
         if (steProtocol == null) { return; }
+        if(steProtocol.getLoad() == 1){
+            News.error("灏忚溅涓婃柟鏈夎揣锛屾棤娉曚笅鍙戜换鍔�===>>{}", steNo);
+            return;
+        }
         if (steProtocol.isIdle() && steProtocol.getLoad() == 0) {
             // 鍫嗗灈鏈虹┖闂�
             if (crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() == 0) {
@@ -2684,7 +2705,7 @@
                             SteCommand steCommand = new SteCommand();
                             steCommand.setSteNo(wrkMast.getSteNo()); // 绌挎杞︾紪鍙�
                             steCommand.setTaskNo(9999); // 宸ヤ綔鍙�
-                            steCommand.setTaskMode(SteTaskModeType.findWaiting(basSte.getRow())); // 浠诲姟妯″紡:  鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
+                            steCommand.setTaskMode(SteTaskModeType.findWaiting(basSte.getRow())); // 浠诲姟妯″紡:  鍘诲緟鏈轰綅閬胯
 //                        steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue());
 //                        steCommand.setBay(steProtocol.getBay());
 //                        steCommand.setLev(steProtocol.getLev());
@@ -2713,7 +2734,7 @@
                             String locSts = "";
                             // 搴撲綅绉昏浆鍒ゆ柇鏄惁涓虹┖鏉跨Щ杞�
                             if (wrkMast.getEmptyMk().equals("N")) {
-                                locSts = "F";
+                                locSts = "R";
                                 // 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣�
                                 if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) {
                                     News.error("搴撲綅绉昏浆 ===>> 杞Щ搴撳瓨鏄庣粏鏁版嵁澶辫触锛沎婧愬簱浣�={}],[鐩爣搴撲綅={}]", wrkMast.getSourceLocNo(), wrkMast.getLocNo());
@@ -3404,6 +3425,7 @@
                 }
                 ledCommand.setSourceLocNo(wrkMast.getSourceLocNo());
                 ledCommand.setStaNo(wrkMast.getStaNo());
+                ledCommand.setBarcode(wrkMast.getBarcode());
                 if (wrkMast.getIoType() != 110) {
                     List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo());
                     wrkDetls.forEach(wrkDetl -> {
@@ -3857,7 +3879,11 @@
                     boolean success = true;
                     List<String> insideLoc = Utils.getGroupInsideLoc(one.getLocNo());
                     for (String inside : insideLoc) {
-                        if (locMastService.selectById(inside).getLocSts().equals("P")
+                        LocMast locMast = locMastService.selectById(inside);
+                        if(Cools.isEmpty(locMast)){
+                            continue;
+                        }
+                        if (locMast.getLocSts().equals("P")
                                 || locMastService.selectById(inside).getLocSts().equals("R")
                                 || locMastService.selectById(inside).getLocSts().equals("S")
                                 || locMastService.selectById(inside).getLocSts().equals("Q")) {

--
Gitblit v1.9.1