From 0405a6a6ed47786493dcdb326e4fcd768b87bd21 Mon Sep 17 00:00:00 2001
From: dubin <dubin>
Date: 星期四, 21 八月 2025 22:17:34 +0800
Subject: [PATCH] 联调

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  368 +++++++++++++++++++++++++++++++--------------------
 1 files changed, 222 insertions(+), 146 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 9c8ba39..3845740 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -97,6 +97,8 @@
 
     @Value("${wms.url}")
     private String wmsUrl;
+    @Value("${wcs-slave.isToOrigin}")
+    private boolean isToOrigin;
 
     public Integer wrkNo = 10000;
 
@@ -148,14 +150,23 @@
                     errMsg = "鍙宠秴闄�";
                     back = true;
                 }
-                if (!back && staProtocol.isWeightErr()) {
-                    errMsg = "瓒呴噸";
+                if (!back && staProtocol.getWeight() > 1000) {
+                    errMsg = "瓒呴噸鎴栨湭璇诲彇";
                     back = true;
                 }
                 if (!back && staProtocol.isBarcodeErr()) {
                     errMsg = "鎵爜澶辫触";
                     back = true;
                 }
+//                if(staProtocol.getWeight() <= 0 ){
+//                    continue;
+//                }
+//                if (!back && staProtocol.getWeight() == 0.0) {
+//                    errMsg = "閲嶉噺鑾峰彇澶辫触";
+//                    back = true;
+//                }
+
+//                News.info("{}閲嶉噺", staProtocol.getWeight());
 
                 // 閫�鍥�
                 if (back) {
@@ -183,7 +194,8 @@
                         && staProtocol.isLoading()
                         && staProtocol.isInEnable()
                         && !staProtocol.isEmptyMk()
-                        && staProtocol.isPakMk()) {
+                        && staProtocol.isPakMk()
+                        && staProtocol.getWorkNo()==9999) {
                     if (Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) {
                         News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode);
 
@@ -238,10 +250,12 @@
                         LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
 
                         SearchLocParam param = new SearchLocParam();
+                        locTypeDto.setLocType1((short) 1);
                         param.setBarcode(barcode);
                         param.setIoType(1);
                         param.setSourceStaNo(inSta.getStaNo());
                         param.setLocType1(locTypeDto.getLocType1());
+                        param.setWeight(staProtocol.getWeight());
                         String response = new HttpHandler.Builder()
                                 .setTimeout(30,TimeUnit.SECONDS)
                                 .setUri(wmsUrl)
@@ -298,7 +312,8 @@
                             staProtocol.setStaNo(inSta.getBackSta().shortValue());
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-//
+                            log.error("杈撻�佺嚎涓嬪彂2锛�" + staProtocol.getWorkNo() + "," + staProtocol.getStaNo());
+
 //                            if (ledThread != null) {
                             String errorMsg = jsonObject.getString("msg");
                             if (!Cools.isEmpty(errorMsg)) {
@@ -398,92 +413,102 @@
             // 閬嶅巻鎷f枡鍏ュ簱鍙�
             for (DevpSlave.Sta pickSta : devp.getPickSta()) {
                 // 鑾峰彇鏉$爜鎵弿浠俊鎭�
-                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
-                if (barcodeThread == null) {
-                    continue;
-                }
-                String barcode = barcodeThread.getBarcode();
+//                BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
+//                if (barcodeThread == null) {
+//                    continue;
+//                }
+//                String barcode = barcodeThread.getBarcode();
                 // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
                 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
 
                 StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo());
 
+                if(staProtocol == null) {
+//                    News.error("绔欑偣淇℃伅鏈幏寰�");
+                    continue;
+                }
                 // 灏哄妫�娴嬪紓甯�
-                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;
-                }
+//                boolean back = false;
+//                String errMsg = "";
+//                if (!back && 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.getSiteId() > 400){
+//                    back = false;
+//                }
 
                 // 閫�鍥�
-                if (back) {
-                    log.info("errmsg: " + errMsg);
-//                        News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
-                    MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(5, errMsg));
-                    if (!staProtocol.isLoading()) {
-                        continue;
-                    }
-                    if (!staProtocol.isPakMk()) {
-                        continue;
-                    }
-                    staProtocol.setWorkNo(wrkNo);
-                    News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", pickSta.getStaNo(), errMsg, wrkNo);
-                    wrkNo++;
-                    staProtocol.setStaNo(pickSta.getBackSta().shortValue());
-                    devpThread.setPakMk(staProtocol.getSiteId(), false);
-                    MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                    log.error("杈撻�佺嚎涓嬪彂1锛�" + 9999 + "," + pickSta.getBackSta());
-                    LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
-
-                    // led 寮傚父鏄剧ず
-                    if (ledThread != null) {
-                        MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(5, errMsg));
-                    }
-                    continue;
-                }
-                if (!Cools.isEmpty(barcode)) {
-                    News.infoNoLog("" + mark + " - 1" + " - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
-                    if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
-                        continue;
-                    }
-                } else {
-                    continue;
-                }
-
-
-                if (!Cools.isEmpty(barcode)) {
-//                    News.info(""+mark+" - 1"+" - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
-                    if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
-                        continue;
-                    }
-                } else {
-                    continue;
-                }
+//                if (back) {
+//                    log.info("errmsg: " + errMsg);
+////                        News.warn("鎵爜鍏ュ簱澶辫触锛寋}鍏ュ簱绔欏洜{}寮傚父锛屾墭鐩樺凡琚��鍥�", inSta.getStaNo(), errMsg);
+//                    MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(5, errMsg));
+//                    if (!staProtocol.isLoading()) {
+//                        continue;
+//                    }
+//                    if (!staProtocol.isPakMk()) {
+//                        continue;
+//                    }
+//                    staProtocol.setWorkNo(wrkNo);
+//                    News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", pickSta.getStaNo(), errMsg, wrkNo);
+//                    wrkNo++;
+//                    staProtocol.setStaNo(pickSta.getBackSta().shortValue());
+//                    devpThread.setPakMk(staProtocol.getSiteId(), false);
+//                    MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+//                    log.error("杈撻�佺嚎涓嬪彂1锛�" + 9999 + "," + pickSta.getBackSta());
+//                    LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
+//
+//                    // led 寮傚父鏄剧ず
+//                    if (ledThread != null) {
+//                        MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(5, errMsg));
+//                    }
+//                    continue;
+//                }
+//                if(staProtocol.getSiteId() < 400){
+//                    if (!Cools.isEmpty(barcode)) {
+//                        News.infoNoLog("" + mark + " - 1" + " - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
+//                        if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+//                            continue;
+//                        }
+//                    } else {
+//                        continue;
+//                    }
+//
+//
+//                    if (!Cools.isEmpty(barcode)) {
+////                    News.info(""+mark+" - 1"+" - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
+//                        if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
+//                            continue;
+//                        }
+//                    } else {
+//                        continue;
+//                    }
+//
+//                }
 
 
                 if (staProtocol == null) {
@@ -497,7 +522,11 @@
 
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) {
                     News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�");
-                    WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
+//                    WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
+                    WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
+//                    if(staProtocol.getSiteId() > 400){
+//                        wrkMast = wrkMastMapper.selectPickStep3(staProtocol.getWorkNo());
+//                    }
 //                    WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
                     if (wrkMast == null) {
                         // 鏃犳嫞鏂欐暟鎹�
@@ -524,12 +553,12 @@
                             .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
                     StaDesc staDesc = staDescService.selectOne(wrapper);
                     if (Cools.isEmpty(staDesc)) {
-                        News.error("" + mark + " - 2" + " - 鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo());
-                        staProtocol.setWorkNo(wrkNo++);
-                        staProtocol.setStaNo((short) (pickSta.getStaNo().shortValue() - (short) 1));
-                        devpThread.setPakMk(staProtocol.getSiteId(), false);
-                        MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                        log.error("杈撻�佺嚎涓嬪彂4锛�" + 9989 + "," + (pickSta.getStaNo().shortValue() - (short) 1));
+//                        News.error("" + mark + " - 2" + " - 鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo());
+//                        staProtocol.setWorkNo(wrkNo++);
+//                        staProtocol.setStaNo((short) (pickSta.getStaNo().shortValue() - (short) 1));
+//                        devpThread.setPakMk(staProtocol.getSiteId(), false);
+//                        MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+//                        log.error("杈撻�佺嚎涓嬪彂4锛�" + 9989 + "," + (pickSta.getStaNo().shortValue() - (short) 1));
                         //LED
                         LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed());
                         // led 寮傚父鏄剧ず
@@ -582,7 +611,9 @@
 
                     // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
                     staProtocol.setWorkNo(wrkMast.getWrkNo());
-                    staProtocol.setStaNo(Short.valueOf(wrkMast.getStaNo().toString()));
+//                    if(staProtocol.getSiteId() < 400){
+                        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());
@@ -598,7 +629,7 @@
             }
 
         }
-//        News.infoNoLog(""+mark+" - 0"+" - 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱  ===銆嬫墽琛屽畬鎴�");
+        News.infoNoLog(""+mark+" - 0"+" - 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱  ===銆嬫墽琛屽畬鎴�");
     }
 
 
@@ -828,7 +859,7 @@
                         }
 
                     } else {
-                        News.errorNoLog("" + mark + " - 6" + " - 鍫嗗灈鏈轰俊鎭笉绗﹀悎鍏ュ簱鏉′欢锛侊紒锛�"
+                         News.errorNoLog("" + mark + " - 6" + " - 鍫嗗灈鏈轰俊鎭笉绗﹀悎鍏ュ簱鏉′欢锛侊紒锛�"
                                 + " 鍫嗗灈鏈虹姸鎬侊細" + crnProtocol.modeType + "==鑷姩AUTO锛�" + CrnModeType.AUTO
                                 + "銆佸爢鍨涙満浠诲姟鍙凤細" + crnProtocol.getTaskNo() + "==宸ヤ綔妗d换鍔″彿锛�" + wrkMast.getWrkNo().shortValue()
                                 + "銆佺姸鎬佹灇涓撅細" + crnProtocol.statusType + "==WAITING锛�90 //浠诲姟瀹屾垚绛夊緟WCS纭)锛�" + CrnStatusType.WAITING
@@ -840,6 +871,27 @@
         }
 //        News.infoNoLog(""+mark+" - 0"+" - 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯  ===銆嬫墽琛屽畬鎴�");
     }
+    /**
+     * 鍫嗗灈鏈洪粯璁ゅ洖鍘熺偣
+     */
+    public synchronized void crnToInStn(Integer mark) {
+        if(isToOrigin){
+            for (CrnSlave crn : slaveProperties.getCrn()){
+                // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+                CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+                CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+                if (crnProtocol == null) {
+                    continue;
+                }
+                BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+                if (basCrnp == null) {
+                    News.error("" + mark + " - 1" + " - {}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+                    continue;
+                }
+            }
+        }
+    }
+
 
     /**
      * 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
@@ -978,6 +1030,9 @@
                 News.error("" + mark + " - 1" + " - 2" + " - 鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
                 continue;
             }
+//            if(staProtocol.getWorkNo() == 9998){
+//                continue;
+//            }
             if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable()
                     && staDetl.getCanining() != null && staDetl.getCanining().equals("Y")) {
                 flag = true;
@@ -1018,48 +1073,48 @@
                 continue;
             }
 
-            // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
-            if (Utils.isDeepLoc(slaveProperties, wrkMast.getLocNo())) {
-                News.warnNoLog("" + mark + " - 1" + " - 8" + " - 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞� : 寮�濮嬫墽琛� 浠诲姟鍙�={}", wrkMast.getWrkNo());
-                String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getLocNo());
-                LocMast shallowLoc = locMastService.selectById(shallowLocNo);
-                // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒
-                if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
-                    News.warnNoLog("" + mark + " - 1" + " - 9" + " - // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒搴撲綅鐘舵��={}", shallowLoc.getLocSts());
-                    WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
-                    if (null == waitWrkMast) {
-                        News.error("" + mark + " - 1" + " - 10" + " - {}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo);
-                    } else {
-                        waitWrkMast.setIoPri(15D);
-                        waitWrkMast.setModiTime(new Date());
-                        if (wrkMastMapper.updateById(waitWrkMast) == 0) {
-                            News.error("" + mark + " - 1" + " - 11" + " - 璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
-                        }
-                        continue;
-                    }
-
-                } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
-                    News.warnNoLog("" + mark + " - 1" + " - 12" + " - // F銆丏  搴撲綅鐘舵��={}", shallowLoc.getLocSts());
-                    // 姝ゆ爣璁伴伩鍏嶅娆℃墽琛岀Щ搴撲换鍔�
-                    if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())) {
-                        wrkMast.setUpdMk("Y");
-                        wrkMast.setIoPri(14D);
-                        wrkMastMapper.updateById(wrkMast);
-                        // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
-                        moveLocForDeepLoc(slave, shallowLoc, mark);
-                        // 鐢熸垚宸ヤ綔妗c�佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵�併�佷笅鍙戝爢鍨涙満鍛戒护锛堢珛椹墽琛�)
-//                        moveLocForDeepLocPakin(slave, shallowLoc, wrkMast);
-                    }
-                    continue;
-                } else if (shallowLoc.getLocSts().equals("Q")) {
-                    News.warnNoLog("" + mark + " - 1" + " - 13" + " - // Q  搴撲綅鐘舵��={}", shallowLoc.getLocSts());
-                    WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
-                    if (null != waitWrkMast && waitWrkMast.getWrkSts() == 4) {
-                        News.infoNoLog("" + mark + " - 1" + " - 14" + " - // F銆丏  宸ヤ綔鐘舵��(鍒ゆ柇鏉′欢涓�==4)={}", waitWrkMast.getWrkSts());
-                        continue;
-                    }
-                }
-            }
+//            // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
+//            if (Utils.isDeepLoc(slaveProperties, wrkMast.getLocNo())) {
+//                News.warnNoLog("" + mark + " - 1" + " - 8" + " - 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞� : 寮�濮嬫墽琛� 浠诲姟鍙�={}", wrkMast.getWrkNo());
+//                String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getLocNo());
+//                LocMast shallowLoc = locMastService.selectById(shallowLocNo);
+//                // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒
+//                if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
+//                    News.warnNoLog("" + mark + " - 1" + " - 9" + " - // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒搴撲綅鐘舵��={}", shallowLoc.getLocSts());
+//                    WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
+//                    if (null == waitWrkMast) {
+//                        News.error("" + mark + " - 1" + " - 10" + " - {}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo);
+//                    } else {
+//                        waitWrkMast.setIoPri(15D);
+//                        waitWrkMast.setModiTime(new Date());
+//                        if (wrkMastMapper.updateById(waitWrkMast) == 0) {
+//                            News.error("" + mark + " - 1" + " - 11" + " - 璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
+//                        }
+//                        continue;
+//                    }
+//
+//                } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
+//                    News.warnNoLog("" + mark + " - 1" + " - 12" + " - // F銆丏  搴撲綅鐘舵��={}", shallowLoc.getLocSts());
+//                    // 姝ゆ爣璁伴伩鍏嶅娆℃墽琛岀Щ搴撲换鍔�
+//                    if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())) {
+//                        wrkMast.setUpdMk("Y");
+//                        wrkMast.setIoPri(14D);
+//                        wrkMastMapper.updateById(wrkMast);
+//                        // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
+//                        moveLocForDeepLoc(slave, shallowLoc, mark);
+//                        // 鐢熸垚宸ヤ綔妗c�佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵�併�佷笅鍙戝爢鍨涙満鍛戒护锛堢珛椹墽琛�)
+////                        moveLocForDeepLocPakin(slave, shallowLoc, wrkMast);
+//                    }
+//                    continue;
+//                } else if (shallowLoc.getLocSts().equals("Q")) {
+//                    News.warnNoLog("" + mark + " - 1" + " - 13" + " - // Q  搴撲綅鐘舵��={}", shallowLoc.getLocSts());
+//                    WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
+//                    if (null != waitWrkMast && waitWrkMast.getWrkSts() == 4) {
+//                        News.infoNoLog("" + mark + " - 1" + " - 14" + " - // F銆丏  宸ヤ綔鐘舵��(鍒ゆ柇鏉′欢涓�==4)={}", waitWrkMast.getWrkSts());
+//                        continue;
+//                    }
+//                }
+//            }
             News.warnNoLog("" + mark + " - 1" + " - 15" + " - 鍛戒护涓嬪彂 : 宸ヤ綔鍙�={},婧愭帓={},婧愬垪={},婧愬眰={},鐩爣鎺�={},鐩爣鍒�={},鐩爣灞�={}", wrkMast.getWrkNo().shortValue()
                     , crnStn.getRow().shortValue(), crnStn.getBay().shortValue(), crnStn.getLev().shortValue()
                     , locMast.getRow1().shortValue(), locMast.getBay1().shortValue(), locMast.getLev1().shortValue());
@@ -1076,7 +1131,7 @@
             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);
+//            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));
             } else {
@@ -1117,7 +1172,7 @@
 //            WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(slave.getId(), crnStn.getStaNo());
             List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep11(slave.getId(), crnStn.getStaNo());
             for (WrkMast wrkMast : wrkMasts) {
-                if (wrkMast == null) {
+                 if (wrkMast == null) {
                     continue;
                 }
                 // 宸ヤ綔妗g姸鎬佸垽鏂�
@@ -1137,9 +1192,26 @@
                 if (staProtocol == null) {
                     News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol);
                     break;
-//                    continue;
                 } else {
                     staProtocol = staProtocol.clone();
+                }
+                StaProtocol staProtocol1 = devpThread.getStation().get(crnStn.getStaNo() - 1);
+                if (staProtocol1 == null) {
+                    News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol);
+                    break;
+                } else {
+                    staProtocol1 = staProtocol1.clone();
+                }
+                StaProtocol staProtocol2 = devpThread.getStation().get(crnStn.getStaNo() - 2);
+                if (staProtocol2 == null) {
+                    News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol);
+                    break;
+                } else {
+                    staProtocol2 = staProtocol2.clone();
+                }
+                //鍑哄叆鍙h緭閫佺嚎鍙厑璁稿瓨鍦ㄤ竴涓墭鐩�
+                if(staProtocol.isLoading() || staProtocol1.isLoading() || staProtocol2.isLoading() ) {
+                    break;
                 }
 
 //            // 鍏ュ嚭搴撴ā寮忓垽鏂�
@@ -1662,8 +1734,8 @@
 
                     try {
                         LocTypeDto locTypeDto = new LocTypeDto(staProtocol);
-
                         SearchLocParam param = new SearchLocParam();
+                        locTypeDto.setLocType1((short) 1);
                         param.setIoType(10);
                         param.setSourceStaNo(emptyInSta.getStaNo());
                         param.setLocType1(locTypeDto.getLocType1());
@@ -1773,6 +1845,12 @@
                     case 10:
                         ledCommand.setTitle("绌烘澘鍏ュ簱");
                         break;
+                    case 53:
+                        ledCommand.setTitle("鎷f枡鍐嶅叆搴�");
+                        break;
+                    case 57:
+                        ledCommand.setTitle("鐩樼偣鍐嶅叆搴�");
+                        break;
                     case 101:
                         ledCommand.setTitle("鍏ㄦ澘鍑哄簱");
                         break;
@@ -1808,14 +1886,14 @@
                         } else {
                             total = locDetl.getAnfme();
                         }
-                        if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1) {
-                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(), total));
+                        if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1 || wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57) {
+                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getOrderNo(),wrkDetl.getOutOrderNo(),wrkDetl.getUnit(),wrkDetl.getWeight(),wrkDetl.getSupp(),wrkDetl.getLength() ,wrkDetl.getTemp1(), wrkDetl.getProType(),wrkDetl.getAnfme(),wrkDetl.getTemp2(), total));
                         }
-                        if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) {
-                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(), total));
+                        if (wrkMast.getIoType() == 103 ) {
+                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getOrderNo(),wrkDetl.getOutOrderNo(),wrkDetl.getUnit(),wrkDetl.getWeight(),wrkDetl.getSupp(),wrkDetl.getLength() ,wrkDetl.getTemp1(), wrkDetl.getProType(),wrkDetl.getAnfme(),wrkDetl.getTemp2(), total));
                         }
                         if (wrkMast.getIoType() == 107) {
-                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(), total));
+                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getOrderNo(),wrkDetl.getOutOrderNo(),wrkDetl.getUnit(),wrkDetl.getWeight(),wrkDetl.getSupp(),wrkDetl.getLength() ,wrkDetl.getTemp1(), wrkDetl.getProType(),wrkDetl.getAnfme(),wrkDetl.getTemp2(), total));
                         }
                     });
                 }
@@ -2329,10 +2407,8 @@
         SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
         List<Integer> list = new ArrayList<>();
         list.add(101);
-        list.add(112);
         Map<Integer, Integer> map = new HashMap<>();
         map.put(101, 102);
-        map.put(112, 111);
         for (Integer site : list) {
             WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("sta_no", map.get(site)));
             if (!Cools.isEmpty(wrkMast)) {
@@ -2356,7 +2432,7 @@
                 }
                 Short loctype1 = 1;
                 if (site == 101) {
-                    loctype1 = 2;
+                    loctype1 = 1;
                 }
                 LocTypeDto locTypeDto = new LocTypeDto(loctype1, (short) 1, (short) 1);
                 locTypeDto.setSiteId(site);

--
Gitblit v1.9.1