From 494ddc6f912ee454ce913cb9f1c99ebf6f85672a Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期一, 17 十一月 2025 09:38:17 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 1424 ----------------------------------------------------------
 1 files changed, 15 insertions(+), 1,409 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 0006e50..5142e6d 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -301,70 +301,6 @@
     }
 
     /**
-     * wms鍏ュ簱
-     * 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿鐢熸垚鍏ュ簱宸ヤ綔妗o紝宸ヤ綔鐘舵�� 1 ==>> 2
-     */
-    public synchronized void generateStoreWrkFile0(Integer mark) {
-        // 鏍规嵁杈撻�佺嚎plc閬嶅巻
-        for (DevpSlave devp : slaveProperties.getDevp()) {
-            // 閬嶅巻鍏ュ簱鍙�
-            for (DevpSlave.Sta inSta : devp.getInSta()) {
-                // 鑾峰彇鍏ュ簱绔欎俊鎭�
-                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
-                StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
-                if (staProtocol == null) {
-                    continue;
-                } else {
-                    staProtocol = staProtocol.clone();
-                }
-
-                // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
-                if (!staProtocol.isLoading()) {
-                    continue;
-                }
-
-                if (staProtocol.isAutoing()
-                        && staProtocol.isInEnable()
-                        && !staProtocol.isEmptyMk()
-                        && staProtocol.getWorkNo() > 0
-                        && staProtocol.isPakMk()) {
-                    News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�");
-                    // 鍒ゆ柇閲嶅宸ヤ綔妗�
-                    WrkMast wrkMast = wrkMastMapper.selectPakInStep11(inSta.getStaNo());
-                    if (wrkMast == null) {
-                        continue;
-                    }
-
-                    // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-
-                    // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
-                    staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
-                    staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
-                    devpThread.setPakMk(staProtocol.getSiteId(), false);
-                    boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                    if (result) {
-                        // 鏇存柊宸ヤ綔涓绘。
-                        wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細2.璁惧涓婅蛋
-                        wrkMast.setModiTime(new Date());
-                        if (wrkMastMapper.updateById(wrkMast) == 0) {
-                            News.error("" + mark + " - 1" + " - 鏇存柊宸ヤ綔妗eけ璐ワ紒锛侊紒 [宸ヤ綔鍙凤細{}]", wrkMast.getWrkNo());
-                        }
-                    } else {
-                        News.error("" + mark + " - 2" + " - 鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
-                    }
-
-                } else {
-                    News.errorNoLog("" + mark + " - 6" + " - 绔欑偣淇℃伅涓嶇鍚堝叆搴撴潯浠讹紒锛侊紒" + " 鑷姩淇″彿锛�" + staProtocol.isLoading() + "銆佸彲鍏ヤ俊鍙凤細" + staProtocol.isInEnable()
-                            + "銆佺┖鏉夸俊鍙凤細" + staProtocol.isEmptyMk() + "銆佸伐浣滃彿锛�" + staProtocol.getWorkNo()
-                            + "銆侀攣瀹氭爣璁�" + staProtocol.isPakMk());
-                }
-            }
-        }
-        News.infoNoLog("" + mark + " - 0" + " - wms鍏ュ簱  ===銆嬫墽琛屽畬鎴�");
-
-    }
-
-    /**
      * 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱
      */
     public synchronized void stnToCrnStnPick(Integer mark) {
@@ -388,46 +324,27 @@
                             && staProtocol.isPakMk()) {
                         News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�");
 
-//                    // 鑾峰彇鏉$爜鎵弿浠俊鎭�
-//                    BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
-//                    if (barcodeThread == null) {
-//                        continue;
-//                    }
-//                    String barcode = barcodeThread.getBarcode();
-//                    if(!Cools.isEmpty(barcode)) {
-//                        News.info(""+mark+" - 1"+" - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
-//                        if("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
-//                            continue;
-//                        }
-//                    } else {
-//                        continue;
-//                    }
-
-//                    WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
-                        WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
-                        if (wrkMast == null) {
-                            // 鏃犳嫞鏂欐暟鎹�
+                        // 鑾峰彇鏉$爜鎵弿浠俊鎭�
+                        BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode());
+                        if (barcodeThread == null) {
                             continue;
                         }
-
-                        if (wrkMast.getIoType() == 53 || wrkMast.getIoType() == 57) {
-                            if (wrkMast.getWrkSts() != 2) {
-                                News.error("" + mark + " - 3" + " - 鎷i�夌洏鐐瑰洖搴撳伐浣滄。鐘舵�佸紓甯革紒锛侊紒 [plc缂栧彿锛歿}]", devp.getId());
+                        String barcode = barcodeThread.getBarcode();
+                        if (!Cools.isEmpty(barcode)) {
+                            News.info("" + mark + " - 1" + " - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", pickSta.getBarcode(), barcode);
+                            if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
                                 continue;
                             }
-
-                            LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
-                            // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
-                            staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
-                            staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
-                            staProtocol.setPalletSize(locMast.getLocType2());
-                            devpThread.setPakMk(staProtocol.getSiteId(), false);
-                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                            if (!result) {
-                                News.error("" + mark + " - 3" + " - 鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
-                            }
+                        } else {
                             continue;
                         }
+
+                    WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
+//                        WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
+//                        if (wrkMast == null) {
+//                            // 鏃犳嫞鏂欐暟鎹�
+//                            continue;
+//                        }
 
                         if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107)
                                 || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
@@ -516,1077 +433,6 @@
             e.printStackTrace();
         }
         News.infoNoLog("" + mark + " - 0" + " - 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱  ===銆嬫墽琛屽畬鎴�");
-    }
-
-    /**
-     * 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱-鏉$爜
-     */
-    public synchronized void stnToCrnStnPickBarcode(Integer mark) {
-        try {
-            for (DevpSlave devp : slaveProperties.getDevp()) {
-                // 閬嶅巻鎷f枡鍏ュ簱鍙�
-                for (DevpSlave.Sta insta : devp.getInSta()) {
-                    // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭�
-                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
-                    StaProtocol staProtocol = devpThread.getStation().get(insta.getStaNo());
-                    if (staProtocol == null) {
-                        continue;
-                    } else {
-                        staProtocol = staProtocol.clone();
-                    }
-
-                    if (staProtocol.isAutoing()
-                            && staProtocol.isLoading()
-                            && staProtocol.isInEnable()
-                            && staProtocol.getWorkNo() > 0
-                            && staProtocol.isPakMk()) {
-                        News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�");
-
-                        // 鑾峰彇鏉$爜鎵弿浠俊鎭�
-                        BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, insta.getBarcode());
-                        if (barcodeThread == null) {
-                            continue;
-                        }
-                        String barcode = barcodeThread.getBarcode();
-                        if (!Cools.isEmpty(barcode)) {
-                            News.info("" + mark + " - 1" + " - {}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", insta.getBarcode(), barcode);
-                            if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) {
-                                continue;
-                            }
-                        } else {
-                            continue;
-                        }
-
-                        WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
-                        if (wrkMast == null) {
-                            // 鏃犳嫞鏂欐暟鎹�
-                            continue;
-                        }
-                        if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107)
-                                || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
-                            continue;
-                        }
-
-                        // 鎷c�佺洏銆佸苟 浣滀笟绔欒浆鎹�
-//                    int stnNo = 0;
-//                    if (wrkMast.getStaNo() == 109) {
-//                        stnNo = 127;
-//                    } else if (wrkMast.getStaNo() == 113) {
-//                        stnNo = 128;
-//                    } else {
-//                        log.error("{}鍙蜂换鍔℃暟鎹紓甯革紒", wrkMast.getWrkNo());
-//                    }
-                        // 鑾峰彇鐩爣绔�
-                        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
-                                .eq("type_no", wrkMast.getIoType() - 50)
-                                .eq("stn_no", insta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
-                                .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((short) 9989);
-//                        staProtocol.setStaNo((short) (pickSta.getStaNo().shortValue()-(short)1));
-//                        devpThread.setPakMk(staProtocol.getSiteId(), false);
-//                        MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                            //LED
-                            LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, insta.getLed());
-                            // led 寮傚父鏄剧ず
-                            if (ledThread != null) {
-                                String errorMsg = "姝や负鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱.璇锋斁鍦�" + insta.getBackSta().shortValue() + "绔欑偣";
-                                MessageQueue.offer(SlaveType.Led, insta.getLed(), new Task(5, errorMsg));
-                            }
-                            continue;
-                        }
-
-                        try {
-                            // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
-                            if (wrkMastMapper.saveWrkDetlLog(wrkMast.getWrkNo()) == 0) {
-                                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
-                            }
-                            // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
-                            if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) {
-                                throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
-                            }
-
-                            Date now = new Date();
-                            // 鍫嗗灈鏈虹珯鐐�(鐩爣绔�)
-                            Integer staNo = staDesc.getCrnStn();
-                            // 鏇存柊宸ヤ綔妗f暟鎹姸鎬�
-                            wrkMast.setIoTime(now);
-                            wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 103->53,104->54,107->57
-                            wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋
-                            wrkMast.setSourceStaNo(wrkMast.getStaNo()); // 婧愮珯
-                            wrkMast.setStaNo(staNo); // 鐩爣绔�
-                            wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣�
-                            wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌�
-                            wrkMast.setModiTime(now);
-                            wrkMast.setUpdMk("");//鍏佽鍐嶆绉诲簱
-                            if (wrkMastMapper.updateById(wrkMast) == 0) {
-                                throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
-                            }
-                            // 鏇存柊鏄庣粏妗o_time (鍘嗗彶妗e叧鑱斾娇鐢級
-                            wrkDetlService.updateIoTime(wrkMast.getWrkNo(), now);
-                            // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
-                            LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
-                            locMast.setLocSts("Q");
-                            locMast.setModiTime(new Date());
-                            if (!locMastService.updateById(locMast)) {
-                                throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
-                            }
-                        } catch (Exception e) {
-                            e.printStackTrace();
-                            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-                            continue;
-                        }
-
-                        LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
-                        // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
-                        staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
-                        staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
-                        staProtocol.setPalletSize(locMast.getLocType2());
-                        devpThread.setPakMk(staProtocol.getSiteId(), false);
-                        boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                        if (!result) {
-                            News.error("" + mark + " - 3" + " - 鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
-                        }
-
-                    } else {
-                        News.errorNoLog("" + mark + " - 6" + " - 绔欑偣淇℃伅涓嶇鍚堝叆搴撴潯浠讹紒锛侊紒" + " 鑷姩淇″彿锛�" + staProtocol.isLoading() + "銆佸彲鍏ヤ俊鍙凤細" + staProtocol.isInEnable()
-                                + "銆佺┖鏉夸俊鍙凤細" + staProtocol.isEmptyMk());
-                    }
-
-                }
-
-            }
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        News.infoNoLog("" + mark + " - 0" + " - 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱  ===銆嬫墽琛屽畬鎴�");
-    }
-
-    /**
-     * 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯
-     */
-    public synchronized void crnStnToOutStn(Integer mark) {
-        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
-                .eq("wrk_sts", 12)
-        );
-
-        for (WrkMast wrkMast : wrkMasts) {
-            // 鍒ゆ柇宸ヤ綔妗f潯浠�
-            if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) {
-                continue;
-            }
-
-            Integer devpId = null;
-            Integer sourceStaNo = wrkMast.getSourceStaNo();
-            for (CrnSlave crnSlave : slaveProperties.getCrn()) {
-                for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
-                    if (crnStn.getStaNo().equals(sourceStaNo)) {
-                        devpId = crnStn.getDevpPlcId();
-                        break;
-                    }
-                }
-            }
-
-            if (devpId == null) {
-                News.error("" + mark + " - 0" + " - 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯锛屾湭鎵惧埌瀵瑰簲PLC");
-                continue;
-            }
-
-            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devpId);
-            StaProtocol staProtocol = devpThread.getStation().get(sourceStaNo);
-            if (staProtocol == null) {
-                continue;
-            } else {
-                staProtocol = staProtocol.clone();
-            }
-
-            if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) {
-                CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkMast.getCrnNo());
-                CrnProtocol crnProtocol = crnThread.getCrnProtocol();
-
-                if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(wrkMast.getWrkNo().shortValue())
-                        && (crnProtocol.statusType == CrnStatusType.PUTTING || crnProtocol.statusType == CrnStatusType.WAITING)) {
-                    //鏀捐揣涓� 鎴� 绛夊緟纭
-                    News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�");
-
-                    // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-                    LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
-                            .eq("loc_no", wrkMast.getSourceLocNo()));
-
-                    short staNo = wrkMast.getStaNo().shortValue();
-                    if (wrkMast.getStaNo() == 1004) {
-                        staNo = 2003;
-                    }
-
-                    // 涓嬪彂绔欑偣淇℃伅
-                    staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
-                    staProtocol.setStaNo(staNo);
-                    staProtocol.setPalletSize(locMast.getLocType2());
-                    if (!MessageQueue.offer(SlaveType.Devp, devpId, new Task(2, staProtocol))) {
-                        continue;
-                    }
-
-                    // 鏇存柊宸ヤ綔妗g姸鎬佷负14澶辫触
-                    wrkMast.setWrkSts(14L);
-                    wrkMast.setCrnEndTime(new Date());
-                    if (wrkMastMapper.updateById(wrkMast) != 0) {
-                        News.info("" + mark + " - 1" + " - 鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14鎴愬姛锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
-                    } else {
-                        News.error("" + mark + " - 1" + " - 鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
-                    }
-                }
-            }
-        }
-
-        News.infoNoLog("" + mark + " - 0" + " - 鍫嗗灈鏈虹珯鍑哄簱鍒板嚭搴撶珯  ===銆嬫墽琛屽畬鎴�");
-    }
-
-    /**
-     * 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
-     */
-    public synchronized void crnIoExecute(Integer mark) {
-
-        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;
-            }
-
-//            //鍫嗗灈鏈哄洖鍘熺偣浠诲姟涓�
-//            if(crnThread.isBackHpFlag()){
-//                continue;
-//            }
-
-            //鍫嗗灈鏈哄洖鍘熺偣浠诲姟涓�
-            Object object = redisUtil.get(RedisConstantType.CRN_MOVE_LOCK + crn.getId());
-            if (object != null) {
-                continue;
-            }
-
-            // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
-            if (crnProtocol.getStatusType() == CrnStatusType.IDLE && crnProtocol.getTaskNo() == 0 && crnProtocol.getModeType() == CrnModeType.AUTO
-                    && crnProtocol.getLoaded() == 0 && crnProtocol.getForkPos() == 0) {
-                News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽爢鍨涙満鍏ュ嚭搴撲綔涓氫笅鍙�");
-                // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
-                if (crnProtocol.getLastIo().equals("I")) {
-                    if (basCrnp.getInEnable().equals("Y")) {
-                        //mark - 1 - ....
-                        this.crnStnToLoc(crn, crnProtocol, mark); //  鍏ュ簱
-                        crnProtocol.setLastIo("O");
-                    } else if (basCrnp.getOutEnable().equals("Y")) {
-                        //mark - 2 - ....
-                        this.locToCrnStn(crn, crnProtocol, mark); //  鍑哄簱
-                        crnProtocol.setLastIo("I");
-                    }
-                }
-                // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
-                else if (crnProtocol.getLastIo().equals("O")) {
-                    if (basCrnp.getOutEnable().equals("Y")) {
-                        this.locToCrnStn(crn, crnProtocol, mark); //  鍑哄簱
-                        crnProtocol.setLastIo("I");
-                    } else if (basCrnp.getInEnable().equals("Y")) {
-                        this.crnStnToLoc(crn, crnProtocol, mark); //  鍏ュ簱
-                        crnProtocol.setLastIo("O");
-                    }
-                }
-            }
-            // 搴撲綅绉昏浆
-            //mark - 3 - ....
-            this.locToLoc(crn, crnProtocol, mark);
-            this.locToLoc111(crn, crnProtocol, mark);
-//            this.crnRebackHp(crnProtocol, crnThread);
-
-        }
-        News.infoNoLog("" + mark + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂鎵ц瀹屾垚");
-    }
-
-    /**
-     * 鍏ュ簱  ===>>  鍫嗗灈鏈虹珯鍒板簱浣�
-     */
-    public synchronized void crnStnToLoc(CrnSlave slave, CrnProtocol crnProtocol, Integer mark) {
-        News.warnNoLog("" + mark + " - 1" + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂锛氭墽琛屽叆搴�");
-        for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) {
-            boolean flag = false;
-            // 鑾峰彇鍫嗗灈鏈哄叆搴撶珯淇℃伅
-            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
-            StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
-            if (staProtocol == null) {
-                News.infoNoLog("" + mark + " - 1" + " - 1" + " - 鍫嗗灈鏈哄叆搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц)锛歴taProtocol=" + staProtocol);
-                continue;
-            } else {
-                staProtocol = staProtocol.clone();
-            }
-            // 鏌ヨ绔欑偣璇︾粏淇℃伅
-            BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
-            if (staDetl == null) {
-                News.error("" + mark + " - 1" + " - 2" + " - 鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
-                continue;
-            }
-            if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.getWorkNo() > 0 && staProtocol.isInEnable()
-                    && staDetl.getCanining() != null && staDetl.getCanining().equals("Y")) {
-                flag = true;
-            }
-            if (!flag) {
-                News.errorNoLog("" + mark + " - 1" + " - 3" + " - 鍫嗗灈鏈哄叆搴撶珯淇℃伅(浠ヤ笅闇�瑕佸叏true):"
-                        + "鑷姩淇″彿" + staProtocol.isAutoing() + "鏈夌墿淇″彿" + staProtocol.isLoading()
-                        + "宸ヤ綔鍙�>0" + staProtocol.getWorkNo() + "鍙叆淇″彿" + staProtocol.isInEnable()
-                        + "鑳藉叆淇″彿锛坵ms璁剧疆锛�.equals(\"Y\")" + staDetl.getCanining());
-                continue;
-            }
-            // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。
-            WrkMast wrkMast = wrkMastMapper.selectPakInStep2(slave.getId(), staProtocol.getWorkNo().intValue(), crnStn.getStaNo());
-            if (null == wrkMast) {
-                News.infoNoLog("" + mark + " - 1" + " - 4" + " - 鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts=2, 宸ヤ綔鍙�={}", staProtocol.getWorkNo());
-//                log.error("鏌ヨ鏃犲緟鍏ュ簱鏁版嵁--wrk_sts=2, 宸ヤ綔鍙�={}", staProtocol.getWorkNo());
-                continue;
-            }
-            // 鑾峰彇搴撲綅淇℃伅
-            LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
-            if (locMast == null) {
-                News.error("" + mark + " - 1" + " - 5" + " - 鏌ヨ搴撳瓨鏃犳暟鎹�--搴撲綅鍙穥}", wrkMast.getLocNo());
-                continue;
-            }
-            if (!locMast.getLocSts().equals("S") && !locMast.getLocSts().equals("Q")) {
-                News.error("" + mark + " - 1" + " - 6" + " - 鍏ュ簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), locMast.getLocSts());
-                continue;
-            }
-
-            // 鍫嗗灈鏈烘帶鍒惰繃婊�
-            if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
-//                News.infoNoLog(""+mark+" - 1"+" - 7"+" - 鍫嗗灈鏈烘帶鍒惰繃婊�:鍫嗗灈鏈烘槸鍚︾┖闂�={}锛屼换鍔″彿={}", crnProtocol.getStatusType(),crnProtocol.getTaskNo());
-                continue;
-            }
-
-            // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
-            if (wrkMastMapper.selectWorking(slave.getId()) != null) {
-                continue;
-            }
-
-            if (crnProtocol.getCrnNo() == 1) {
-                //鍒ゆ柇鍫嗗灈鏈哄拰褰撳墠浠诲姟鏄惁澶勪簬涓�涓贩閬�
-                if (Utils.getLaneByLocNo(wrkMast.getLocNo()) != crnProtocol.getCrnLane()) {
-                    //鍒ゆ柇鍫嗗灈鏈烘墍鍦ㄥ贩閬撴槸鍚﹀瓨鍦ㄥ叾浠栦换鍔★紝濡傚瓨鍦ㄥ垯浼樺厛鎵ц
-                    List<WrkMast> currentWrkMasts = wrkMastService.selectLaneWrkMast(crnProtocol.getCrnLane(), false);
-//                    if (!currentWrkMasts.isEmpty()) {
-//                        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.warn("" + mark + " - 1" + " - 9" + " - // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒搴撲綅={},搴撲綅鐘舵��={}", shallowLoc.getLocNo(), shallowLoc.getLocSts());
-                    WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
-                    if (null == waitWrkMast) {
-                        News.error("" + mark + " - 1" + " - 10" + " - {}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo);
-                    } else {
-                        if (waitWrkMast.getWrkSts() != 14 && waitWrkMast.getIoType() > 100) {
-                            waitWrkMast.setIoPri(15D);
-                            waitWrkMast.setModiTime(new Date());
-                            if (wrkMastMapper.updateById(waitWrkMast) == 0) {
-                                News.error("" + mark + " - 1" + " - 11" + " - 璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
-                            }
-                            continue;
-                        }
-
-                        if (waitWrkMast.getWrkSts() < 5 && waitWrkMast.getIoType() < 100) {
-                            continue;//鏈変换鍔$姝㈡惉杩愶紝鏈夊彲鑳芥祬搴撲綅鐘舵�佽繕鏈彉鏇村畬鎴�
-                        }
-                    }
-
-                } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
-                    News.warn("" + mark + " - 1" + " - 12" + " - // F銆丏  搴撲綅={},搴撲綅鐘舵��={}", shallowLoc.getLocNo(), shallowLoc.getLocSts());
-                    // 姝ゆ爣璁伴伩鍏嶅娆℃墽琛岀Щ搴撲换鍔�
-                    if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())) {
-                        if (moveLocForDeepLoc(slave, crnProtocol, shallowLoc, mark)) {
-                            wrkMast.setUpdMk("Y");
-                            wrkMast.setIoPri(14D);
-                            wrkMastMapper.updateById(wrkMast);
-                        }
-//                        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.warn("" + mark + " - 1" + " - 13" + " - // Q  搴撲綅={},搴撲綅鐘舵��={}", shallowLoc.getLocNo(), shallowLoc.getLocSts());
-                    WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
-                    if (null != waitWrkMast && waitWrkMast.getWrkSts() == 4) {
-                        News.infoNoLog("" + mark + " - 1" + " - 14" + " - // F銆丏  宸ヤ綔鐘舵��(鍒ゆ柇鏉′欢涓�==4)={}", waitWrkMast.getWrkSts());
-                        continue;
-                    }
-                }
-            }
-            News.info("" + mark + " - 1" + " - 15" + " - 鍛戒护涓嬪彂 : 宸ヤ綔鍙�={},婧愭帓={},婧愬垪={},婧愬眰={},鐩爣鎺�={},鐩爣鍒�={},鐩爣灞�={}", wrkMast.getWrkNo().shortValue()
-                    , crnStn.getRow().shortValue(), crnStn.getBay().shortValue(), crnStn.getLev().shortValue()
-                    , locMast.getRow1().shortValue(), locMast.getBay1().shortValue(), locMast.getLev1().shortValue());
-
-            // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-            CrnCommand crnCommand = new CrnCommand();
-            crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
-            crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
-//            crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
-            crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡:  搴撲綅绉昏浆
-            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());     // 鐩爣搴撲綅灞�
-            if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
-                News.error("" + mark + " - 1" + " - 16" + " - 鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
-            } else {
-
-//                long startTime = System.currentTimeMillis();
-//                while ((System.currentTimeMillis() - startTime) < COMMAND_TIMEOUT) {
-//
-//                    if (true) {
-//                        break;
-//                    }
-//
-//                    try{
-//                        Thread.sleep(500);
-//                    }catch(Exception ignore){}
-//                }
-
-                // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓�
-                Date now = new Date();
-                wrkMast.setWrkSts(3L);
-                wrkMast.setCrnStrTime(now);
-                wrkMast.setModiTime(now);
-                if (wrkMastMapper.updateById(wrkMast) == 0) {
-                    News.error("" + mark + " - 1" + " - 17" + " - 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
-                }
-            }
-        }
-        News.infoNoLog("" + mark + " - 1" + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 锛� 鍏ュ簱鎵ц瀹屾瘯");
-    }
-
-    /**
-     * 鍑哄簱  ===>>  搴撲綅鍒板爢鍨涙満绔�
-     * 2022-06-09 TQS淇敼锛屾煡璇㈠伐浣滄。LIST锛岄亶鍘嗕笅鍙戯紝闃叉绗竴涓换鍔″牭濉炲嚭搴�
-     */
-    public synchronized void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol, Integer mark) {
-        News.warnNoLog("" + mark + " - 2" + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂锛氭墽琛屽嚭搴�");
-
-        int devpTaskStackOver = 20;
-        Config config = configService.selectOne(new EntityWrapper<Config>()
-                .eq("code", "devpTaskStackOver"));
-        if (config != null) {
-            devpTaskStackOver = Integer.parseInt(config.getValue());
-        }
-        int devpCheckTaskStackOver = 2;
-        Config config2 = configService.selectOne(new EntityWrapper<Config>()
-                .eq("code", "devpCheckTaskStackOver"));
-        if (config2 != null) {
-            devpCheckTaskStackOver = Integer.parseInt(config2.getValue());
-        }
-
-        int outNumber = 13;
-        Config config3 = configService.selectOne(new EntityWrapper<Config>()
-                .eq("code", "fullBoardOutboundNumber"));
-        if (config3 != null) {
-            outNumber = Integer.parseInt(config3.getValue());
-        }
-
-
-        Integer devpWorkingCount = commonService.queryDevpWorkingCount();
-        if (devpWorkingCount > devpTaskStackOver) {
-            News.warn("" + mark + " - 2" + " - 0" + " - 杈撻�佺嚎浠诲姟杩囪浇锛屽綋鍓嶈緭閫佺嚎鎵胯浇鏁伴噺:{}", devpWorkingCount);
-            return;
-        }
-
-        for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
-            // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
-//            WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(slave.getId(), crnStn.getStaNo());
-            List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep11(slave.getId(), crnStn.getStaNo());
-            for (WrkMast wrkMast : wrkMasts) {
-                if (wrkMast == null) {
-                    continue;
-                }
-                // 宸ヤ綔妗g姸鎬佸垽鏂�
-                if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null) {
-                    News.error("" + mark + " - 2" + " - 1" + " - 鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType());
-                    continue;
-                }
-                // 鑾峰彇婧愬簱浣嶄俊鎭�
-                LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo());
-                if (!sourceSta.getLocSts().equals("R") && !sourceSta.getLocSts().equals("P")) {
-                    News.error("" + mark + " - 2" + " - 2" + " - 鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), sourceSta.getLocSts());
-                    continue;
-                }
-                // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
-                SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
-                StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
-                if (staProtocol == null) {
-                    News.infoNoLog("" + mark + " - 2" + " - 3" + " - 鍫嗗灈鏈哄嚭搴撶珯淇℃伅(staProtocol!=null缁х画鎵ц,鍚﹀垯寰幆缁堟)锛歴taProtocol=" + staProtocol);
-                    break;
-//                    continue;
-                } else {
-                    staProtocol = staProtocol.clone();
-                }
-
-                if (wrkMast.getStaNo() == 1003 || wrkMast.getStaNo() == 1007 || wrkMast.getStaNo() == 1004) {
-                    //妫�娴嬫槸鍚︽湁鍏ュ簱浠诲姟
-                    List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
-                            .in("io_type", 1, 53, 57)
-                            .notIn("wrk_sts", 3, 4, 5)
-                            .in("source_sta_no", 1002, 1007)
-                    );
-                    if (!inWrkMasts.isEmpty()) {
-                        News.error("" + mark + " - 2" + " - 妫�娴嬪瓨鍦ㄥ叆搴撲换鍔★紝绛夊緟鍏ュ簱浠诲姟鎵ц瀹屾垚鍐嶅嚭搴擄紝宸ヤ綔鍙�={}" + wrkMast.getWrkNo());
-                        continue;
-                    }
-                }
-
-                //zhangc
-                if (wrkMast.getIoType() == 103 || wrkMast.getIoType() == 107) {
-                    if (wrkMast.getStaNo() == 1058) {
-                        List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
-                                .in("wrk_sts", 12, 14)
-                                .eq("sta_no", 1058)
-                        );
-                        if (!Cools.isEmpty(inWrkMasts) && inWrkMasts.size() >= devpCheckTaskStackOver) {
-                            News.error("" + mark + " - 2" + " - 妫�娴嬪瓨鍦�1058绔欑偣锛屽瓨鍦ㄤ袱绗斿伐浣滀腑鐨勪换鍔★紝宸ヤ綔鍙�={}" + wrkMast.getWrkNo());
-                            continue;
-                        }
-                    } else if (wrkMast.getStaNo() == 1062) {
-                        List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
-                                .in("wrk_sts", 12, 14)
-                                .eq("sta_no", 1062)
-                        );
-                        if (!Cools.isEmpty(inWrkMasts) && inWrkMasts.size() >= devpCheckTaskStackOver) {
-                            News.error("" + mark + " - 2" + " - 妫�娴嬪瓨鍦�1062绔欑偣锛屽瓨鍦ㄤ袱绗斿伐浣滀腑鐨勪换鍔★紝宸ヤ綔鍙�={}" + wrkMast.getWrkNo());
-                            continue;
-                        }
-                    }
-                }else if (wrkMast.getIoType() == 101) {
-                    List<WrkMast> inWrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
-                            .in("wrk_sts", 12, 14)
-                    );
-                    if (!Cools.isEmpty(inWrkMasts) && inWrkMasts.size() >= outNumber) {
-                        News.error("" + mark + " - 4" + " - 妫�娴嬪埌鍏ㄦ澘鍑哄簱鐨勪换鍔″凡缁忓埌杈句笂绾匡紝宸ヤ綔鍙�={}" + wrkMast.getWrkNo());
-                        continue;
-                    }
-                }
-
-//            // 鍏ュ嚭搴撴ā寮忓垽鏂�
-//            if (devpThread.ioMode != IoModeType.PAKOUT_MODE) { continue; }
-//                if (wrkMast.getStaNo() == 204 && devpThread.ioModeOf2F != IoModeType.PAKOUT_MODE) {
-//                    News.infoNoLog(""+mark+" - 2"+" - 4"+" - 鍏ュ嚭搴撴ā寮忥紙姝ゅ鍑哄簱鏂规硶锛屽嚭搴撴ā寮忕户缁�=="+devpThread.ioModeOf2F);
-//                    continue;
-//                }
-
-                // 鏌ヨ绔欑偣璇︾粏淇℃伅
-                BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
-                if (staDetl == null) {
-                    News.error("" + mark + " - 2" + " - 5" + " - 鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
-                    break;
-//                    continue;
-                }
-                // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
-                if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y")) {
-
-                    //鏍规嵁鍙傛暟鍒ゆ柇鏄惁鏍¢獙鍙嚭淇″彿
-                    String crnOutVerifyOut = "Y";
-                    Config crnOutVerifyOutEnableConfig = configService.selectOne(new EntityWrapper<Config>()
-                            .eq("code", "crnOutVerifyOutEnable"));
-                    if (crnOutVerifyOutEnableConfig != null) {
-                        crnOutVerifyOut = crnOutVerifyOutEnableConfig.getValue();
-                    }
-
-                    if (crnOutVerifyOut.equals("Y")) {
-                        if (!staProtocol.isOutEnable()) {
-                            continue;
-                        }
-
-                        if (staProtocol.getWorkNo() > 0) {
-                            continue;
-                        }
-                    }
-
-
-                    // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-
-                    // 鍫嗗灈鏈烘帶鍒惰繃婊�
-                    if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
-//                        continue;
-                        break;
-                    }
-
-                    if (crnProtocol.getCrnNo() == 1) {
-                        String turnCrnExecuteCurrentChannel = "Y";
-                        Config turnCrnExecuteCurrentChannelConfig = configService.selectOne(new EntityWrapper<Config>()
-                                .eq("code", "turnCrnExecuteCurrentChannel")
-                        );
-                        if (turnCrnExecuteCurrentChannelConfig != null) {
-                            turnCrnExecuteCurrentChannel = turnCrnExecuteCurrentChannelConfig.getValue();
-                        }
-
-                        if (turnCrnExecuteCurrentChannel.equals("Y")) {
-                            //鍒ゆ柇鍫嗗灈鏈哄拰褰撳墠浠诲姟鏄惁澶勪簬涓�涓贩閬�
-                            if (Utils.getLaneByLocNo(wrkMast.getSourceLocNo()) != crnProtocol.getCrnLane()) {
-                                //鍒ゆ柇鍫嗗灈鏈烘墍鍦ㄥ贩閬撴槸鍚﹀瓨鍦ㄥ叾浠栦换鍔★紝濡傚瓨鍦ㄥ垯浼樺厛鎵ц
-                                List<WrkMast> currentWrkMasts = wrkMastService.selectLaneWrkMast(crnProtocol.getCrnLane(), false);
-                                if (!currentWrkMasts.isEmpty()) {
-                                    continue;//褰撳墠鍫嗗灈鏈烘墍鍦ㄥ贩閬撳瓨鍦ㄤ换鍔�
-                                }
-                            }
-                        }
-                    }
-
-                    // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
-                    if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) {
-                        News.warnNoLog("" + mark + " - 2" + " - 6" + " - 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞� : 寮�濮嬫墽琛� 浠诲姟鍙�={}", wrkMast.getWrkNo());
-                        String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getSourceLocNo());
-                        LocMast shallowLoc = locMastService.selectById(shallowLocNo);
-                        // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒
-                        if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
-                            News.warnNoLog("" + mark + " - 2" + " - 7" + " - // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒搴撲綅={},搴撲綅鐘舵��={}", shallowLoc.getLocNo(), shallowLoc.getLocSts());
-                            WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
-                            if (null == waitWrkMast) {
-                                News.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo);
-                            } else {
-                                if (waitWrkMast.getWrkSts() == 11) {
-                                    waitWrkMast.setIoPri(15D);
-                                    waitWrkMast.setModiTime(new Date());
-                                    if (wrkMastMapper.updateById(waitWrkMast) == 0) {
-                                        News.error("" + mark + " - 2" + " - 8" + " - 璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
-                                    }
-                                    continue;
-                                } else {
-
-                                }
-                            }
-                        } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
-                            News.warnNoLog("" + mark + " - 2" + " - 9" + " - // F銆丏  搴撲綅={},搴撲綅鐘舵��={}", shallowLoc.getLocNo(), shallowLoc.getLocSts());
-//                            WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
-                            //2022-08-16 modify,涓嶆牴鎹畊pdmk鏍囪绉诲簱浠诲姟(瀹规槗琚彇娑堝鑷村牭濉�)锛屾煡璇㈠伐浣滄。鏄惁瀛樺湪浠诲姟
-                            WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo);
-                            // 姝ゆ爣璁伴伩鍏嶅娆℃墽琛岀Щ搴撲换鍔�
-//                            if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())
-//                                || Cools.isEmpty(waitWrkMast)) {
-                            if (Cools.isEmpty(waitWrkMast)) {
-                                if (moveLocForDeepLoc(slave, crnProtocol, shallowLoc, mark)) {
-                                    wrkMast.setUpdMk("Y");
-//                                    wrkMast.setIoPri(14D);
-                                    wrkMastMapper.updateById(wrkMast);
-                                }
-//                                wrkMast.setUpdMk("Y");
-//                                wrkMastMapper.updateById(wrkMast);
-//                                // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
-//                                moveLocForDeepLoc(slave, shallowLoc,mark);
-                            }
-                            News.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo);
-                            continue;
-                        } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")) {
-                            News.warnNoLog("" + mark + " - 2" + " - 10" + " - // Q銆丼  搴撲綅={},搴撲綅鐘舵��={}", shallowLoc.getLocNo(), shallowLoc.getLocSts());
-                            WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo);
-                            if (null != waitWrkMast && waitWrkMast.getWrkSts() == 4) {
-                                News.infoNoLog("" + mark + " - 2" + " - 11" + " - // F銆丏  宸ヤ綔鐘舵��(鍒ゆ柇鏉′欢涓�==4)={}", waitWrkMast.getWrkSts());
-                                continue;
-                            }
-                        }
-                    }
-
-                    // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
-                    if (wrkMastMapper.selectWorking(slave.getId()) != null) {
-                        break;
-//                        return;
-                    }
-
-                    News.warnNoLog("" + mark + " - 2" + " - 12" + " - 鍛戒护涓嬪彂 : 宸ヤ綔鍙�={},婧愭帓={},婧愬垪={},婧愬眰={},鐩爣鎺�={},鐩爣鍒�={},鐩爣灞�={}", wrkMast.getWrkNo().shortValue()
-                            , sourceSta.getRow1().shortValue(), sourceSta.getBay1().shortValue(), sourceSta.getLev1().shortValue()
-                            , crnStn.getRow().shortValue(), crnStn.getBay().shortValue(), crnStn.getLev().shortValue());
-
-                    // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
-                    CrnCommand crnCommand = new CrnCommand();
-                    crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
-                    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.setDestinationPosX(crnStn.getRow().shortValue());     // 鐩爣搴撲綅鎺�
-                    crnCommand.setDestinationPosY(crnStn.getBay().shortValue());     // 鐩爣搴撲綅鍒�
-                    crnCommand.setDestinationPosZ(crnStn.getLev().shortValue());     // 鐩爣搴撲綅灞�
-                    if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
-                        News.error("" + mark + " - 2" + " - 13" + " - 鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
-                    } else {
-                        // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
-                        Date now = new Date();
-                        wrkMast.setWrkSts(12L);
-                        wrkMast.setCrnStrTime(now);
-                        wrkMast.setModiTime(now);
-                        if (wrkMastMapper.updateById(wrkMast) == 0) {
-                            News.error("" + mark + " - 2" + " - 14" + " - 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
-                        }
-                        break;
-                    }
-                }
-            }
-        }
-        News.infoNoLog("" + mark + " - 2" + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 锛� 鍑哄簱鎵ц瀹屾瘯");
-    }
-
-//    /**
-//     * 鍑哄簱  ===>>  搴撲綅鍒板爢鍨涙満绔�
-//     */
-//    public void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol){
-//        for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) {
-//            // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗�
-//            WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(slave.getId(), crnStn.getStaNo());
-//            if (wrkMast == null) {
-//                continue;
-//            }
-//            // 宸ヤ綔妗g姸鎬佸垽鏂�
-//            if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null){
-//                log.error("鏌ヨ宸ヤ綔妗f暟鎹笉绗﹀悎鏉′欢--鍏ュ嚭绫诲瀷/绔欑偣, 宸ヤ綔鍙�={}锛屾簮搴撲綅={}锛屽叆鍑虹被鍨�={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getIoType());
-//                continue;
-//            }
-//            // 鑾峰彇婧愬簱浣嶄俊鎭�
-//            LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo());
-//            if (!sourceSta.getLocSts().equals("R") &&!sourceSta.getLocSts().equals("P")) {
-//                log.error("鍑哄簱鎿嶄綔搴撲綅鐘舵�佷笉绗﹀悎--鐘舵��, 搴撲綅鍙�={}锛屽簱浣嶇姸鎬�={}", wrkMast.getLocNo(), sourceSta.getLocSts());
-//                continue;
-//            }
-//            // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
-//            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
-//            StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
-//            if (staProtocol == null) {
-//                continue;
-//            } else {
-//                staProtocol = staProtocol.clone();
-//            }
-//
-////            // 鍏ュ嚭搴撴ā寮忓垽鏂�
-////            if (devpThread.ioMode != IoModeType.PAKOUT_MODE) { continue; }
-//
-//
-//            // 鏌ヨ绔欑偣璇︾粏淇℃伅
-//            BasDevp staDetl = basDevpService.selectById(crnStn.getStaNo());
-//            if (staDetl == null) {
-//                log.error("鍑哄簱 ===>> 鍫嗗灈鏈虹珯鐐瑰湪鏁版嵁搴撲笉瀛樺湪, 绔欑偣缂栧彿={}", crnStn.getStaNo());
-//                continue;
-//            }
-//            // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵��
-//            if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() !=null && staDetl.getCanouting().equals("Y")
-//                    && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) {
-//                // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-//
-//                // 鍫嗗灈鏈烘帶鍒惰繃婊�
-//                if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
-//                    continue;
-//                }
-//
-//                // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞�
-//                if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) {
-//                    String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getSourceLocNo());
-//                    LocMast shallowLoc = locMastService.selectById(shallowLocNo);
-//                    // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒
-//                    if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) {
-//                        WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo);
-//                        if (null == waitWrkMast) {
-//                            log.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo);
-//                        } else {
-//                            if(waitWrkMast.getWrkSts() == 11) {
-//                                waitWrkMast.setIoPri(15D);
-//                                waitWrkMast.setModiTime(new Date());
-//                                if (wrkMastMapper.updateById(waitWrkMast) == 0) {
-//                                    log.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo());
-//                                }
-//                                continue;
-//                            } else {
-//
-//                            }
-//                        }
-//                    } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) {
-//                        // 姝ゆ爣璁伴伩鍏嶅娆℃墽琛岀Щ搴撲换鍔�
-//                        if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk())) {
-//                            wrkMast.setUpdMk("Y");
-//                            wrkMastMapper.updateById(wrkMast);
-//                            // 鐢熸垚宸ヤ綔妗c�佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵�併�佷笅鍙戝爢鍨涙満鍛戒护锛堢珛椹墽琛�)
-//                            moveLocForDeepLoc(slave, shallowLoc);
-//                        }
-//                        log.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛�", wrkMast.getWrkNo());
-//                        continue;
-//                    }
-//                }
-//
-//                // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
-//                if (wrkMastMapper.selectWorking(slave.getId()) != null) {
-//                    return;
-//                }
-//
-//                // 1.鍫嗗灈鏈哄紑濮嬬Щ鍔�
-//                CrnCommand crnCommand = new CrnCommand();
-//                crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
-//                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.setDestinationPosX(crnStn.getRow().shortValue());     // 鐩爣搴撲綅鎺�
-//                crnCommand.setDestinationPosY(crnStn.getBay().shortValue());     // 鐩爣搴撲綅鍒�
-//                crnCommand.setDestinationPosZ(crnStn.getLev().shortValue());     // 鐩爣搴撲綅灞�
-//                if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
-//                    log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
-//                } else {
-//                    // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
-//                    Date now = new Date();
-//                    wrkMast.setWrkSts(12L);
-//                    wrkMast.setCrnStrTime(now);
-//                    wrkMast.setModiTime(now);
-//                    if (wrkMastMapper.updateById(wrkMast) == 0) {
-//                        log.error("淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
-//                    }
-//                }
-//            }
-//        }
-//    }
-
-    /**
-     * 搴撲綅绉昏浆
-     */
-    public synchronized void locToLoc(CrnSlave slave, CrnProtocol crnProtocol, Integer mark) {
-        // 鑾峰彇宸ヤ綔妗d俊鎭�
-        WrkMast wrkMast = wrkMastMapper.selectLocMove(slave.getId());
-        if (null == wrkMast) {
-            return;
-        }
-        News.warnNoLog("" + mark + " - 3" + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂锛氭墽琛屽簱浣嶇Щ杞�");
-        // 鑾峰彇婧愬簱浣嶄俊鎭�
-        LocMast sourceSta = locMastService.selectById(wrkMast.getSourceLocNo());
-        if (null == sourceSta) {
-            News.error("" + mark + " - 3" + " - 1" + " - 宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈡簮搴撲綅澶辫触锛佸伐浣滃彿={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
-            return;
-        }
-        // 婧愬簱浣�  搴撲綅鐘舵�佸垽鏂�
-        if (!sourceSta.getLocSts().equals("R") && !sourceSta.getLocSts().equals("S")) {
-            return;
-        }
-        // 鑾峰彇鐩爣搴撲綅淇℃伅
-        LocMast sta = locMastService.selectById(wrkMast.getLocNo());
-        if (null == sta) {
-            News.error("" + mark + " - 3" + " - 2" + " - 宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈢洰鏍囧簱浣嶅け璐ワ紒宸ヤ綔鍙�={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getLocNo());
-            return;
-        }
-        // 鑾峰彇鍫嗗灈鏈轰俊鎭� 骞� 鍒ゆ柇鏄惁鍙叆鍑�
-        BasCrnp basCrnp = basCrnpService.selectById(slave.getId());
-        if (!basCrnp.getInEnable().equals("Y") && !basCrnp.getOutEnable().equals("Y")) {
-            return;
-        }
-
-        // 鍫嗗灈鏈烘帶鍒惰繃婊�
-        if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
-            return;
-        }
-
-        // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
-        if (wrkMastMapper.selectWorking(slave.getId()) != null) {
-            return;
-        }
-
-        News.warnNoLog("" + mark + " - 3" + " - 3" + " - 鍛戒护涓嬪彂 : 宸ヤ綔鍙�={},婧愭帓={},婧愬垪={},婧愬眰={},鐩爣鎺�={},鐩爣鍒�={},鐩爣灞�={}", wrkMast.getWrkNo().shortValue()
-                , sourceSta.getRow1().shortValue(), sourceSta.getBay1().shortValue(), sourceSta.getLev1().shortValue()
-                , sta.getRow1().shortValue(), sta.getBay1().shortValue(), sta.getLev1().shortValue());
-
-        // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-        CrnCommand crnCommand = new CrnCommand();
-        crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
-        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.setDestinationPosX(sta.getRow1().shortValue());     // 鐩爣搴撲綅鎺�
-        crnCommand.setDestinationPosY(sta.getBay1().shortValue());     // 鐩爣搴撲綅鍒�
-        crnCommand.setDestinationPosZ(sta.getLev1().shortValue());     // 鐩爣搴撲綅灞�
-        if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
-            News.error("" + mark + " - 3" + " - 4" + " - 鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
-        } else {
-            // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
-            Date now = new Date();
-            wrkMast.setWrkSts(12L);
-            wrkMast.setCrnStrTime(now);
-            wrkMast.setModiTime(now);
-            if (wrkMastMapper.updateById(wrkMast) == 0) {
-                News.error("" + mark + " - 3" + " - 5" + " - 銆愬簱浣嶇Щ杞�� 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
-            }
-            crnProtocol.setLastIo("I");
-        }
-        News.infoNoLog("" + mark + " - 3" + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂锛氬簱浣嶇Щ杞畬鎴�");
-
-    }
-
-    /**
-     * 搴撲綅绉昏浆
-     */
-    public synchronized void locToLoc111(CrnSlave slave, CrnProtocol crnProtocol, Integer mark) {
-        // 鑾峰彇宸ヤ綔妗d俊鎭�
-        WrkMast wrkMast = wrkMastMapper.selectLocMove111(slave.getId());
-        if (null == wrkMast) {
-            return;
-        }
-        News.warnNoLog("" + mark + " - 3" + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂锛氭墽琛屽簱浣嶇Щ杞�");
-        // 鑾峰彇婧愬簱浣嶄俊鎭�
-        LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
-        if (null == sourceLoc) {
-            News.error("" + mark + " - 3" + " - 1" + " - 宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈡簮搴撲綅澶辫触锛佸伐浣滃彿={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
-            return;
-        }
-        // 婧愬簱浣�  搴撲綅鐘舵�佸垽鏂�
-        if (!sourceLoc.getLocSts().equals("R")) {
-            News.error("" + mark + " - 3" + " - 11" + " - 宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭簮搴撲綅鐘舵�佷笉涓篟锛佸伐浣滃彿={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getSourceLocNo());
-            return;
-        }
-
-        if (wrkMast.getIoType() != 111) {
-            // 鑾峰彇鐩爣搴撲綅淇℃伅
-            LocMast loc = locMastService.selectById(wrkMast.getLocNo());
-            if (null == loc) {
-                News.error("" + mark + " - 3" + " - 2" + " - 宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氭绱㈢洰鏍囧簱浣嶅け璐ワ紒宸ヤ綔鍙�={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getLocNo());
-                return;
-            }
-            // 婧愬簱浣�  搴撲綅鐘舵�佸垽鏂�
-            if (!loc.getLocSts().equals("S")) {
-                News.error("" + mark + " - 3" + " - 21" + " - 宸ヤ綔妗e簱浣嶇Щ杞け璐ワ紝鍘熷洜锛氱洰鏍囧簱浣嶇姸鎬佷笉涓篟锛佸伐浣滃彿={}锛屾簮搴撲綅={}", wrkMast.getWrkNo(), wrkMast.getLocNo());
-                return;
-            }
-        }
-        // 鑾峰彇鍫嗗灈鏈轰俊鎭� 骞� 鍒ゆ柇鏄惁鍙叆鍑�
-        BasCrnp basCrnp = basCrnpService.selectById(slave.getId());
-        if (!basCrnp.getInEnable().equals("Y") && !basCrnp.getOutEnable().equals("Y")) {
-            return;
-        }
-
-        // 鍫嗗灈鏈烘帶鍒惰繃婊�
-        if (!crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() != 0) {
-            return;
-        }
-
-        // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊�
-        if (wrkMastMapper.selectWorking(slave.getId()) != null) {
-            return;
-        }
-
-        News.warnNoLog("" + mark + " - 3" + " - 3" + " - 鍛戒护涓嬪彂 : 宸ヤ綔鍙�={},婧愭帓={},婧愬垪={},婧愬眰={},鐩爣鎺�={},鐩爣鍒�={},鐩爣灞�={}", wrkMast.getWrkNo().shortValue()
-                , sourceLoc.getRow1().shortValue(), sourceLoc.getBay1().shortValue(), sourceLoc.getLev1().shortValue()
-                , sourceLoc.getRow1().shortValue(), sourceLoc.getBay1().shortValue(), sourceLoc.getLev1().shortValue());
-
-        // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
-        CrnCommand crnCommand = new CrnCommand();
-        crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙�
-        crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
-        crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡:  搴撲綅绉昏浆
-        crnCommand.setSourcePosX(sourceLoc.getRow1().shortValue());     // 婧愬簱浣嶆帓
-        crnCommand.setSourcePosY(sourceLoc.getBay1().shortValue());     // 婧愬簱浣嶅垪
-        crnCommand.setSourcePosZ(sourceLoc.getLev1().shortValue());     // 婧愬簱浣嶅眰
-        crnCommand.setDestinationPosX(sourceLoc.getRow1().shortValue());     // 鐩爣搴撲綅鎺�
-        crnCommand.setDestinationPosY(sourceLoc.getBay1().shortValue());     // 鐩爣搴撲綅鍒�
-        crnCommand.setDestinationPosZ(sourceLoc.getLev1().shortValue());     // 鐩爣搴撲綅灞�
-        if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
-            News.error("" + mark + " - 3" + " - 4" + " - 鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
-        } else {
-            // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓�
-            Date now = new Date();
-            wrkMast.setWrkSts(12L);
-            wrkMast.setCrnStrTime(now);
-            wrkMast.setModiTime(now);
-            if (wrkMastMapper.updateById(wrkMast) == 0) {
-                News.error("" + mark + " - 3" + " - 5" + " - 銆愬簱浣嶇Щ杞�� 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
-            }
-        }
-        News.infoNoLog("" + mark + " - 3" + " - 0" + " - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂锛氬簱浣嶇Щ杞畬鎴�");
-
-    }
-
-    /**
-     * 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
-     */
-    public synchronized void storeFinished(Integer mark) {
-        for (CrnSlave crn : slaveProperties.getCrn()) {
-            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
-            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
-            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
-            if (crnProtocol == null) {
-                continue;
-            }
-            //  鐘舵�侊細绛夊緟纭 骞朵笖  浠诲姟瀹屾垚浣� = 1
-            if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
-                News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔");
-                if (crnProtocol.getTaskNo() == 9999) {
-                    // 鍫嗗灈鏈哄浣�
-                    crnThread.setResetFlag(true);
-                    redisUtil.set(RedisConstantType.CRN_MOVE_LOCK + crn.getId(), "lock", 8);//闃叉鍥炲師鐐瑰悗涓嬪彂鎸囦护杩囧揩
-                    continue;
-                }
-
-                // 鑾峰彇寰呯‘璁ゅ伐浣滄。
-                WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue());
-                if (wrkMast == null) {
-                    News.error("" + mark + " - 1" + " - 鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
-                    continue;
-                }
-
-                Date now = new Date();
-                if (wrkMast.getIoType() < 100) {
-                    // 鍏ュ簱 + 搴撲綅杞Щ  ==> 4.鍏ュ簱瀹屾垚
-                    if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && (wrkMast.getIoType() == 11 || wrkMast.getIoType() == 111))) {
-                        wrkMast.setWrkSts(4L);
-                    } else {
-                        continue;
-                    }
-
-                    wrkMast.setCrnEndTime(now);
-                    wrkMast.setModiTime(now);
-                    // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
-                    if (wrkMastMapper.updateById(wrkMast) > 0) {
-                        // 鍫嗗灈鏈哄浣�
-                        News.warnNoLog("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 : 鍫嗗灈鏈哄彿={}", crnThread.getCrnProtocol().getCrnNo());
-                        crnThread.setResetFlag(true);
-                    }
-                } else {
-                    List<Long> list = new ArrayList<>();
-                    list.add(14L);
-                    list.add(15L);
-                    if (!list.contains(wrkMast.getWrkSts())) {
-                        News.error("" + mark + " - 1" + " - 鍫嗗灈鏈哄浜庣瓑寰呯‘璁や絾宸ヤ綔妗g姸鎬佹湭瀹屾垚銆傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
-                        continue;
-                    }
-
-                    wrkMast.setCrnEndTime(now);
-                    if (wrkMastMapper.updateById(wrkMast) != 0) {
-                        // 澶嶄綅鍫嗗灈鏈�
-                        crnThread.setResetFlag(true);
-                    }
-                }
-
-            }
-        }
-        News.infoNoLog("" + mark + " - 0" + " - 瀵瑰伐浣滄。鐨勫畬鎴愭搷浣滄墽琛屽畬鎴�");
     }
 
     /**
@@ -2002,244 +848,4 @@
         }
         News.infoNoLog("" + mark + " - 0" + " - 鎵ц瀹屾垚锛氬叾浠�  ===>> LED鏄剧ず鍣ㄥ浣嶏紝鏄剧ず榛樿淇℃伅");
     }
-
-    /**
-     * 鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堝叆搴撶増)
-     * tip锛氬悓姝�
-     */
-    @Transactional
-    public synchronized void moveLocForDeepLocPakin(CrnSlave crn, LocMast shallowLoc, WrkMast pakinWrkMast) {
-        LocMast loc = locMastService.selectById(pakinWrkMast.getLocNo());
-
-        // 鑾峰彇宸ヤ綔鍙�
-        int workNo = commonService.getWorkNo(0);
-        Date now = new Date();
-        // 淇濆瓨宸ヤ綔妗�
-        WrkMast wrkMast = new WrkMast();
-        wrkMast.setWrkNo(workNo);
-        wrkMast.setIoTime(now);
-        wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
-        wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
-        wrkMast.setIoPri(15D);
-        wrkMast.setCrnNo(crn.getId());
-        wrkMast.setSourceLocNo(shallowLoc.getLocNo()); // 婧愬簱浣�
-        wrkMast.setLocNo(loc.getLocNo()); // 鐩爣搴撲綅
-        wrkMast.setFullPlt(shallowLoc.getFullPlt()); // 婊℃澘
-        wrkMast.setPicking("N"); // 鎷f枡
-        wrkMast.setExitMk("N"); // 閫�鍑�
-        wrkMast.setEmptyMk(shallowLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘
-        wrkMast.setBarcode(shallowLoc.getBarcode()); // 鎵樼洏鐮�
-        wrkMast.setLinkMis("N");
-        wrkMast.setCtnNo("Y");  // 鍏ュ簱闃诲搴撲綅绉昏浆鏍囪
-        wrkMast.setAppeTime(now);
-        wrkMast.setModiTime(now);
-        int res = wrkMastMapper.insert(wrkMast);
-        if (res == 0) {
-            throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
-        }
-        // 宸ヤ綔妗f槑缁嗕繚瀛�
-        if (shallowLoc.getLocSts().equals("F")) {
-            List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo()));
-            for (LocDetl locDetl : locDetls) {
-                WrkDetl wrkDetl = new WrkDetl();
-                wrkDetl.sync(locDetl);
-                wrkDetl.setWrkNo(workNo);
-                wrkDetl.setIoTime(now);
-                wrkDetl.setAnfme(locDetl.getAnfme());
-//                VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
-                wrkDetl.setAppeTime(now);
-                wrkDetl.setModiTime(now);
-                if (!wrkDetlService.insert(wrkDetl)) {
-                    throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
-                }
-            }
-        }
-        // 淇敼婧愬簱浣嶇姸鎬�
-        if (shallowLoc.getLocSts().equals("D") || shallowLoc.getLocSts().equals("F")) {
-            shallowLoc.setLocSts("S"); // S.鍏ュ簱棰勭害锛屽叆搴撻樆濉炲簱浣嶇Щ杞�
-            shallowLoc.setModiTime(now);
-            if (!locMastService.updateById(shallowLoc)) {
-                throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
-            }
-        } else {
-            throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�");
-        }
-//        // 淇敼鐩爣搴撲綅鐘舵��
-//        if (loc.getLocSts().equals("O")) {
-//            loc.setLocSts("S"); // S.鍏ュ簱棰勭害
-//            loc.setModiTime(new Date());
-//            if (!locMastService.updateById(loc)) {
-//                throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
-//            }
-//        } else {
-//            throw new CoolException("绉昏浆澶辫触");
-//        }
-        wrkMast.setLocNo(shallowLoc.getLocNo());
-        if (wrkMastMapper.updateById(wrkMast) == 0) {
-            throw new CoolException("淇敼闃诲鍏ュ簱浠诲姟澶辫触");
-        }
-    }
-
-    /**
-     * 鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)
-     * tip锛氬悓姝�
-     */
-    private synchronized boolean moveLocForDeepLoc(CrnSlave crn, CrnProtocol crnProtocol, LocMast shallowLoc, Integer mark) {
-        try {
-            News.warnNoLog("" + mark + "moveLocForDeepLoc" + " - 0" + " - 寮�濮嬫墽琛�:鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)");
-            List<Integer> rows = locMastService.queryDistinctRow(crn.getId());
-            LocMast loc = null;
-            for (Integer row : rows) {
-                if (Utils.isDeepLoc(slaveProperties, row)) {
-                    loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
-                    if (loc != null) {
-                        if (crn.getId() == 1) {
-                            if (Utils.getLaneByLocNo(loc.getLocNo()) != crnProtocol.getCrnLane()) {
-                                continue;
-                            }
-                        }
-
-                        if (Utils.isDeepLoc(slaveProperties, loc.getLocNo())) {
-                            String shallowLocNo = Utils.getShallowLoc(slaveProperties, loc.getLocNo());
-                            LocMast shallowLoc1 = locMastService.selectById(shallowLocNo);
-                            if (!shallowLoc1.getLocSts().equals("O")) {
-                                loc = null;
-                            }
-                        }
-                    }
-                    if (null != loc) {
-                        break;
-                    }
-                }
-            }
-            if (null == loc) {
-                for (Integer row : rows) {
-                    if (Utils.isShallowLoc(slaveProperties, row)) {
-                        loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType1());
-
-                        if (null != loc) {//瀵瑰簲娣卞簱浣嶉潪鍦ㄥ簱鐘舵��,涓嶈兘绉诲簱
-                            if (crn.getId() == 1) {
-                                if (Utils.getLaneByLocNo(loc.getLocNo()) != crnProtocol.getCrnLane()) {
-                                    continue;
-                                }
-                            }
-
-                            String deepLoc = Utils.getDeepLoc(slaveProperties, loc.getLocNo());
-                            LocMast deepLoc1 = locMastService.selectById(deepLoc);
-                            if (!deepLoc1.getLocSts().equals("F") && !deepLoc1.getLocSts().equals("D")) {
-                                loc = null;
-                            }
-                        }
-
-                        if (null != loc) {
-                            break;
-                        }
-                    }
-                }
-            }
-
-            if (null == loc) {
-                News.error("" + mark + "moveLocForDeepLoc" + " - 1" + " - 鍙屾繁搴撲綅 --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo());
-                return false;
-//                throw new CoolException("鍙屾繁搴撲綅 --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo());
-            } else {
-                String deepLoc2 = Utils.getDeepLoc2(slaveProperties, loc.getLocNo());
-                if (deepLoc2 != null) {
-                    LocMast locnew = locMastService.selectById(deepLoc2);
-                    if (locnew != null && locnew.getLocSts().equals("O")) {
-                        loc = locnew;
-                    }
-                }
-
-
-                try {
-                    // 鑾峰彇宸ヤ綔鍙�
-                    int workNo = commonService.getWorkNo(0);
-                    // 淇濆瓨宸ヤ綔妗�
-                    WrkMast wrkMast = new WrkMast();
-                    wrkMast.setWrkNo(workNo);
-                    wrkMast.setIoTime(new Date());
-                    wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
-                    wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
-                    wrkMast.setIoPri(13D);
-                    wrkMast.setCrnNo(crn.getId());
-                    wrkMast.setSourceLocNo(shallowLoc.getLocNo()); // 婧愬簱浣�
-                    wrkMast.setLocNo(loc.getLocNo()); // 鐩爣搴撲綅
-//                    wrkMast.setFullPlt(shallowLoc.getFullPlt()); // 婊℃澘
-                    wrkMast.setFullPlt(shallowLoc.getLocSts().equals("D") ? "N" : "Y"); // 婊℃澘
-                    wrkMast.setPicking("N"); // 鎷f枡
-                    wrkMast.setExitMk("N"); // 閫�鍑�
-                    wrkMast.setEmptyMk(shallowLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘
-                    wrkMast.setBarcode(shallowLoc.getBarcode()); // 鎵樼洏鐮�
-                    wrkMast.setLinkMis("N");
-                    wrkMast.setAppeTime(new Date());
-                    wrkMast.setModiTime(new Date());
-                    int res = wrkMastMapper.insert(wrkMast);
-                    if (res == 0) {
-                        News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 2" + " - 淇濆瓨宸ヤ綔妗eけ璐�");
-//                        throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
-                        return true;
-                    }
-                    // 宸ヤ綔妗f槑缁嗕繚瀛�
-                    if (shallowLoc.getLocSts().equals("F")) {
-                        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo()));
-
-                        for (LocDetl locDetl : locDetls) {
-                            WrkDetl wrkDetl = new WrkDetl();
-                            wrkDetl.sync(locDetl);
-                            wrkDetl.setWrkNo(workNo);
-                            wrkDetl.setIoTime(new Date());
-                            wrkDetl.setAnfme(locDetl.getAnfme());
-//                            VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
-                            wrkDetl.setAppeTime(new Date());
-                            wrkDetl.setModiTime(new Date());
-                            if (!wrkDetlService.insert(wrkDetl)) {
-                                News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 3" + " - 淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
-//                                throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
-                                return true;
-                            }
-                        }
-                    }
-                    // 淇敼婧愬簱浣嶇姸鎬�
-                    if (shallowLoc.getLocSts().equals("D") || shallowLoc.getLocSts().equals("F")) {
-                        shallowLoc.setLocSts("R"); // R.鍑哄簱棰勭害
-                        shallowLoc.setModiTime(new Date());
-                        if (!locMastService.updateById(shallowLoc)) {
-                            News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 4" + " - 鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
-//                            throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
-                            return true;
-                        }
-                    } else {
-                        News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 5" + " - 婧愬簱浣嶅嚭搴撳け璐�");
-//                        throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�");
-                        return true;
-                    }
-                    // 淇敼鐩爣搴撲綅鐘舵��
-                    if (loc.getLocSts().equals("O")) {
-                        loc.setLocSts("S"); // S.鍏ュ簱棰勭害
-                        loc.setModiTime(new Date());
-                        if (!locMastService.updateById(loc)) {
-                            News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 6" + " - 鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
-//                            throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
-                            return true;
-                        }
-                    } else {
-                        News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 7" + " - 绉昏浆澶辫触");
-//                        throw new CoolException("绉昏浆澶辫触");
-                        return true;
-                    }
-                } catch (Exception e) {
-                    News.error("" + mark + "moveLocForDeepLoc" + " - 8" + " - 鍙屾繁搴撲綅闃诲锛屽娴呭簱浣嶈繘琛岀Щ杞け璐�", e);
-                }
-            }
-
-
-        } catch (Exception e) {
-            News.error("" + mark + "moveLocForDeepLoc" + " - 8" + " - 鍙屾繁搴撲綅闃诲锛屽娴呭簱浣嶈繘琛岀Щ杞け璐�", e);
-//            e.printStackTrace();
-//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-        }
-        return true;
-    }
-
 }

--
Gitblit v1.9.1