From 93ff20c63a5e22e83d08a9e326fe12391eb82abc Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期六, 19 七月 2025 09:31:28 +0800
Subject: [PATCH] 初始化1.0

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   88 ++++++++++++++++++++++++++++++-------------
 1 files changed, 61 insertions(+), 27 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 7ec7829..bcaa71b 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -103,7 +103,7 @@
                 }
                 String barcode = barcodeThread.getBarcode();
                 if(!Cools.isEmpty(barcode)) {
-                    log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
+//                    log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
                     if("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
                         continue;
                     }
@@ -122,10 +122,43 @@
 
                 // 鍏ュ嚭搴撴ā寮忓垽鏂�
 //                if ( inSta.getStaNo()==203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { continue; }
-                if ( inSta.getStaNo()==101 && devpThread.ioModeOf1F == IoModeType.PAKOUT_MODE) { continue; }
-                if ( inSta.getStaNo()==103 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) { continue; }
-                if ( inSta.getStaNo()==105 && devpThread.ioModeOf3F == IoModeType.PAKOUT_MODE) { continue; }
-                if ( inSta.getStaNo()==107 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) { continue; }
+                if ( inSta.getStaNo()==102 && devpThread.ioModeOf1F == IoModeType.PAKOUT_MODE) { continue; }
+                if ( inSta.getStaNo()==104 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) { continue; }
+                if ( inSta.getStaNo()==106 && devpThread.ioModeOf3F == IoModeType.PAKOUT_MODE) { continue; }
+
+                //led
+                LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
+                // 灏哄妫�娴嬪紓甯�
+                boolean back = false;
+                String errMsg = "";
+                if (staProtocol.isFrontErr()) {
+                    errMsg = "鍓嶈秴闄�";
+                    back = true;
+                }
+                if (!back && staProtocol.isBackErr()) {
+                    errMsg = "鍚庤秴闄�";
+                    back = true;
+                }
+                if (!back && staProtocol.isHighErr()) {
+                    errMsg = "楂樿秴闄�";
+                    back = true;
+                }
+                if (!back && staProtocol.isLeftErr()) {
+                    errMsg = "宸﹁秴闄�";
+                    back = true;
+                }
+                if (!back && staProtocol.isRightErr()) {
+                    errMsg = "鍙宠秴闄�";
+                    back = true;
+                }
+                if (!back && staProtocol.isWeightErr()) {
+                    errMsg = "瓒呴噸";
+                    back = true;
+                }
+                if (!back && staProtocol.isBarcodeErr()) {
+                    errMsg = "鎵爜澶辫触";
+                    back = true;
+                }
 
                 // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
                 if (staProtocol.isAutoing() && staProtocol.isLoading()
@@ -133,18 +166,18 @@
                         && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9990)
                         && staProtocol.isPakMk()){// && !Cools.isEmpty(barcode)) {
 
-//                    if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) {
-//                        log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
-//                        //鏉$爜涓虹┖鎴栬�呬笉绗﹀悎锛岄��搴撳埌172绔欑偣
-//                        staProtocol.setWorkNo((short)9999);
-//                        staProtocol.setStaNo((short)172);
-//                        devpThread.setPakMk(staProtocol.getSiteId(), false);
-//                        boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-//                        if (!result) {
-//                            throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
-//                        }
-//                        continue;
-//                    }
+                    if (back) {
+                        // led 寮傚父鏄剧ず
+                        if (ledThread != null) {
+                            String errorMsg = errMsg;
+                            MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
+                        }
+                        staProtocol.setWorkNo((short) 9999);
+                        staProtocol.setStaNo((short)(inSta.getStaNo()-1));
+                        devpThread.setPakMk(staProtocol.getSiteId(), false);
+                        boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                        continue;
+                    }
 
                     // 鍒ゆ柇閲嶅宸ヤ綔妗�
                     WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
@@ -181,7 +214,6 @@
                                 .build()
                                 .doPost();
                         JSONObject jsonObject = JSON.parseObject(response);
-                        LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, inSta.getLed());
                         Integer code = jsonObject.getInteger("code");
                         if (code == 200) {
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
@@ -738,6 +770,7 @@
             crnCommand.setDestinationPosX(locMast.getRow1().shortValue());     // 鐩爣搴撲綅鎺�
             crnCommand.setDestinationPosY(locMast.getBay1().shortValue());     // 鐩爣搴撲綅鍒�
             crnCommand.setDestinationPosZ(locMast.getLev1().shortValue());     // 鐩爣搴撲綅灞�
+            crnCommand.setCommand((short) 1);
             if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
                 log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
             } else {
@@ -810,10 +843,9 @@
 
             // 鍏ュ嚭搴撴ā寮忓垽鏂�
             //if (devpThread.ioMode != IoModeType.PAKOUT_MODE) { continue; }
-                if (wrkMast.getStaNo() == 101 && devpThread.ioModeOf1F != IoModeType.PAKOUT_MODE) {continue;}
-                if (wrkMast.getStaNo() == 103 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {continue;}
-                if (wrkMast.getStaNo() == 105 && devpThread.ioModeOf3F != IoModeType.PAKOUT_MODE) {continue;}
-                if (wrkMast.getStaNo() == 107 && devpThread.ioModeOf4F != IoModeType.PAKOUT_MODE) {continue;}
+                if (wrkMast.getStaNo() == 102 && devpThread.ioModeOf1F != IoModeType.PAKOUT_MODE) {continue;}
+                if (wrkMast.getStaNo() == 104 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {continue;}
+                if (wrkMast.getStaNo() == 106 && devpThread.ioModeOf3F != IoModeType.PAKOUT_MODE) {continue;}
 
                 // 鏌ヨ绔欑偣璇︾粏淇℃伅
                 BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
@@ -895,6 +927,7 @@
                     crnCommand.setDestinationPosX(crnStn.getRow().shortValue());     // 鐩爣搴撲綅鎺�
                     crnCommand.setDestinationPosY(crnStn.getBay().shortValue());     // 鐩爣搴撲綅鍒�
                     crnCommand.setDestinationPosZ(crnStn.getLev().shortValue());     // 鐩爣搴撲綅灞�
+                    crnCommand.setCommand((short) 1);
                     if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
                         log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
                     } else {
@@ -1124,6 +1157,7 @@
                 crnCommand.setDestinationPosX(sta.getRow1().shortValue());     // 鐩爣搴撲綅鎺�
                 crnCommand.setDestinationPosY(sta.getBay1().shortValue());     // 鐩爣搴撲綅鍒�
                 crnCommand.setDestinationPosZ(sta.getLev1().shortValue());     // 鐩爣搴撲綅灞�
+                crnCommand.setCommand((short) 1);
                 if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
                     log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
                 } else {
@@ -1155,6 +1189,7 @@
             crnCommand.setDestinationPosX(sta.getRow1().shortValue());     // 鐩爣搴撲綅鎺�
             crnCommand.setDestinationPosY(sta.getBay1().shortValue());     // 鐩爣搴撲綅鍒�
             crnCommand.setDestinationPosZ(sta.getLev1().shortValue());     // 鐩爣搴撲綅灞�
+            crnCommand.setCommand((short) 1);
             if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
                 log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
             } else {
@@ -1352,13 +1387,12 @@
                 }
 
                 // 鍏ュ嚭搴撴ā寮忓垽鏂�
-                if ( emptyInSta.getStaNo()==101 && devpThread.ioModeOf1F == IoModeType.PAKOUT_MODE) { continue; }
-                if ( emptyInSta.getStaNo()==103 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) { continue; }
-                if ( emptyInSta.getStaNo()==105 && devpThread.ioModeOf3F == IoModeType.PAKOUT_MODE) { continue; }
-                if ( emptyInSta.getStaNo()==107 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) { continue; }
+                if ( emptyInSta.getStaNo()==102 && devpThread.ioModeOf1F == IoModeType.PAKOUT_MODE) { continue; }
+                if ( emptyInSta.getStaNo()==104 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) { continue; }
+                if ( emptyInSta.getStaNo()==106 && devpThread.ioModeOf3F == IoModeType.PAKOUT_MODE) { continue; }
                 // 绔欑偣鏉′欢鍒ゆ柇
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable()
-                        && staProtocol.isEmptyMk() && (staProtocol.getWorkNo() > 9990 && staProtocol.getWorkNo() <= 9999) && staProtocol.isPakMk()) {
+                        && staProtocol.isEmptyMk() && staProtocol.getWorkNo() == 9990 && staProtocol.isPakMk()) {
 
                     try {
                         LocTypeDto locTypeDto = new LocTypeDto(staProtocol);

--
Gitblit v1.9.1