From cbe2928619eef1b7d29c1d9814cf2db7e5f00abc Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 11 九月 2024 12:53:11 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  100 +++++++++++++++++++++++++++++++------------------
 1 files changed, 63 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 5336a5f..6d08351 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -156,8 +156,10 @@
                     errMsg = "鎵爜澶辫触";
                     back = true;
                 }
+
                 // 閫�鍥�
                 if (back) {
+                    log.info("errmsg: " + errMsg);
 //                        News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
                     MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg));
 
@@ -168,12 +170,12 @@
                         continue;
                     }
                     staProtocol.setWorkNo(wrkNo);
-                    News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo);
+                    News.info("{}PLC鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo);
                     wrkNo++;
                     staProtocol.setStaNo(inSta.getBackSta().shortValue());
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                    log.error("杈撻�佺嚎涓嬪彂1锛�"+wrkNo+","+inSta.getBackSta());
+                    log.error("杈撻�佺嚎涓嬪彂1锛�" + wrkNo + "," + inSta.getBackSta());
                 }
 
                 // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
@@ -182,16 +184,16 @@
                         && staProtocol.isInEnable()
                         && !staProtocol.isEmptyMk()
                         && staProtocol.isPakMk()) {
-                    if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) {
+                    if (Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) {
                         News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
 
                         staProtocol.setWorkNo(wrkNo);
-                        News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo);
+                        News.info("{}barcode鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo);
                         wrkNo++;
                         staProtocol.setStaNo(inSta.getBackSta().shortValue());
                         devpThread.setPakMk(staProtocol.getSiteId(), false);
                         MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                        log.error("杈撻�佺嚎涓嬪彂1锛�"+wrkNo+","+inSta.getBackSta());
+                        log.error("杈撻�佺嚎涓嬪彂1锛�" + wrkNo + "," + inSta.getBackSta());
                         continue;
                     }
                     // 鍒ゆ柇閲嶅宸ヤ綔妗�
@@ -206,23 +208,23 @@
                             }
                             continue;
                         }
-                        barcodeThread.setBarcode("");
-                        staProtocol.setWorkNo(wrkMast.getWrkNo());
-                        staProtocol.setStaNo(RouteUtils.SouStaEnd(null,wrkMast.getSourceStaNo()));
-                        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) {
-                            News.error(methodName + ":鏇存柊plc绔欑偣淇℃伅澶辫触");
-                            log.error("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒)==>鏇存柊plc绔欑偣淇℃伅澶辫触");
-
-//                            throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
-                            continue;
-                        }
+//                        barcodeThread.setBarcode("");
+//                        staProtocol.setWorkNo(wrkMast.getWrkNo());
+//                        staProtocol.setStaNo(RouteUtils.SouStaEnd(null,wrkMast.getSourceStaNo()));
+//                        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) {
+//                            News.error(methodName + ":鏇存柊plc绔欑偣淇℃伅澶辫触");
+//                            log.error("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒)==>鏇存柊plc绔欑偣淇℃伅澶辫触");
+//
+////                            throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+//                            continue;
+//                        }
 
                     }
                     WrkMast checkPick = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
@@ -250,10 +252,11 @@
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
                             barcodeThread.setBarcode("");
                             staProtocol.setWorkNo(dto.getWorkNo());
-                            staProtocol.setStaNo(RouteUtils.SouStaEnd(dto.getStaNo(),dto.getSourceStaNo()));
+                            //staProtocol.setStaNo(RouteUtils.SouStaEnd(dto.getStaNo(),dto.getSourceStaNo()));
+                            staProtocol.setStaNo(dto.getStaNo().shortValue());
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                            log.error("杈撻�佺嚎涓嬪彂2锛�"+dto.getWorkNo()+","+dto.getStaNo());
+                            log.error("杈撻�佺嚎涓嬪彂2锛�" + dto.getWorkNo() + "," + dto.getStaNo());
 
                             ledThread.errorReset();
                             log.error("缁勬墭璇锋眰鍚嶭ED閿欒娓呴櫎");
@@ -264,6 +267,27 @@
                                 throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
                             }
                         } else {
+                            if (jsonObject.getString("msg").equals("宸ヤ綔妗e凡瀛樺湪")) {
+                                //宸ヤ綔妗e凡瀛樺湪    鍐嶆杩涘幓
+                                wrkMast = wrkMastMapper.selectPakInStepBarcode(barcode);
+                                if (wrkMast != null) {
+                                    barcodeThread.setBarcode("");
+                                    staProtocol.setWorkNo(wrkMast.getWrkNo());
+                                    //staProtocol.setStaNo(RouteUtils.SouStaEnd(dto.getStaNo(),dto.getSourceStaNo()));
+                                    staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+                                    devpThread.setPakMk(staProtocol.getSiteId(), false);
+                                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                                    log.error("杈撻�佺嚎涓嬪彂2锛�" + wrkMast.getWrkNo() + "," + wrkMast.getStaNo());
+                                    ledThread.errorReset();
+                                    log.error("缁勬墭璇锋眰鍚嶭ED閿欒娓呴櫎");
+                                    if (!result) {
+                                        News.error(methodName + ":鏇存柊plc绔欑偣淇℃伅澶辫触");
+
+                                        throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+                                    }
+                                }
+                                continue;
+                            }
                             staProtocol.setWorkNo(wrkNo);
                             wrkNo++;
                             staProtocol.setStaNo(inSta.getBackSta().shortValue());
@@ -271,10 +295,10 @@
                             MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
 //
 //                            if (ledThread != null) {
-                                String errorMsg = jsonObject.getString("msg");
-                                if (!Cools.isEmpty(errorMsg)) {
-                                    MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
-                                }
+                            String errorMsg = jsonObject.getString("msg");
+                            if (!Cools.isEmpty(errorMsg)) {
+                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errorMsg));
+                            }
 //                            }
 //                            News.error(methodName + ":璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response);
                         }
@@ -482,7 +506,7 @@
 
                     // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
                     staProtocol.setWorkNo(wrkMast.getWrkNo());
-                    staProtocol.setStaNo((short) 161);
+                    staProtocol.setStaNo(Short.valueOf(wrkMast.getStaNo().toString()));
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                     log.error("杈撻�佺嚎涓嬪彂5锛�"+wrkMast.getWrkNo()+","+wrkMast.getStaNo());
@@ -621,7 +645,7 @@
                                 try {
                                     // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
                                     staProtocol.setWorkNo(wrkMast.getWrkNo());
-                                    staProtocol.setStaNo((short)161);
+                                    staProtocol.setStaNo(Short.valueOf(dto.getStaNo().toString()));
                                     devpThread.setPakMk(staProtocol.getSiteId(), false);
 
                                     boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -973,9 +997,9 @@
             crnCommand.setSourcePosX(crnStn.getRow().shortValue());     // 婧愬簱浣嶆帓
             crnCommand.setSourcePosY(crnStn.getBay().shortValue());     // 婧愬簱浣嶅垪
             crnCommand.setSourcePosZ(crnStn.getLev().shortValue());     // 婧愬簱浣嶅眰
-            crnCommand.setDestinationPosX(locMast.getRow1().shortValue());     // 鐩爣搴撲綅鎺�
-            crnCommand.setDestinationPosY(locMast.getBay1().shortValue());     // 鐩爣搴撲綅鍒�
-            crnCommand.setDestinationPosZ(locMast.getLev1().shortValue());     // 鐩爣搴撲綅灞�
+            crnCommand.setDestinationPosX((short)(locMast.getRow1()+slave.getOffset()));     // 鐩爣搴撲綅鎺�
+            crnCommand.setDestinationPosY((short)(locMast.getBay1()+slave.getOffset()));     // 鐩爣搴撲綅鍒�
+            crnCommand.setDestinationPosZ((short)(locMast.getLev1()+slave.getOffset()));     // 鐩爣搴撲綅灞�
             crnCommand.setTraySize(locMast.getLocType1() == 2);
             if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
                 News.error(""+mark+" - 1"+" - 16"+" - 鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
@@ -1132,9 +1156,9 @@
                     crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
 //                    crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
                     crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡:  搴撲綅绉昏浆
-                    crnCommand.setSourcePosX(sourceSta.getRow1().shortValue());     // 婧愬簱浣嶆帓
-                    crnCommand.setSourcePosY(sourceSta.getBay1().shortValue());     // 婧愬簱浣嶅垪
-                    crnCommand.setSourcePosZ(sourceSta.getLev1().shortValue());     // 婧愬簱浣嶅眰
+                    crnCommand.setSourcePosX((short)(sourceSta.getRow1()+slave.getOffset()));     // 婧愬簱浣嶆帓
+                    crnCommand.setSourcePosY((short)(sourceSta.getBay1()+slave.getOffset()));     // 婧愬簱浣嶅垪
+                    crnCommand.setSourcePosZ((short)(sourceSta.getLev1()+slave.getOffset()));     // 婧愬簱浣嶅眰
                     crnCommand.setDestinationPosX(crnStn.getRow().shortValue());     // 鐩爣搴撲綅鎺�
                     crnCommand.setDestinationPosY(crnStn.getBay().shortValue());     // 鐩爣搴撲綅鍒�
                     crnCommand.setDestinationPosZ(crnStn.getLev().shortValue());     // 鐩爣搴撲綅灞�
@@ -1579,7 +1603,8 @@
 
                             // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
                             staProtocol.setWorkNo(dto.getWorkNo());
-                            staProtocol.setStaNo(staProtocol.getSiteId().shortValue());
+                            staProtocol.setStaNo(dto.getStaNo().shortValue());
+                            //staProtocol.setStaNo(staProtocol.getSiteId().shortValue());
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             log.error("杈撻�佺嚎涓嬪彂6锛�"+dto.getWorkNo()+","+staProtocol.getSiteId());
@@ -2585,6 +2610,7 @@
                         if (wrkMastSta.getType()!=0 || wrkMastSta.getWrkType()!=3 || wrkMastSta.getWrkSts()!=0){//1:婊$増   3锛氬彇鏀�
                             continue;
                         }
+                        //鍒ゆ柇宸ヤ綔缁撴潫浣嶇疆鐘舵��
                         BasDevp devNo = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", wrkMastSta.getStaEnd()));
                         if (!Cools.isEmpty(devNo)){
                             if (devNo.getAutoing().equals("Y") && !devNo.getWrkNo().equals(0) && !devNo.getLoading().equals("N")){

--
Gitblit v1.9.1