From ce641926a957d238b202aa0d9dac3b8f15aff153 Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期三, 14 五月 2025 14:43:00 +0800
Subject: [PATCH] 123

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  268 +++++++++++++++++++++++++++++++++--------------------
 1 files changed, 166 insertions(+), 102 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 b8a304a..6a022bd 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -224,29 +224,39 @@
                     }
 
                     // 鍒ゆ柇閲嶅宸ヤ綔妗�
-                    WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode);
-                    //杩囨护鍒ゆ柇锛岄槻姝㈡嫞鏂欏啀鍏ュ簱璐х墿锛岀粡杩囧叆搴撶珯鍐嶅叆搴撴椂锛岃閫�鍥炲埌閫�搴撶珯
-                    WrkMast wrkMast1 = wrkMastMapper.selectPakInStepBarcode(barcode);
-                    if (wrkMast1 != null) {
-                        if (wrkMast1.getIoType() == 103 || wrkMast1.getIoType() == 107 || wrkMast1.getIoType() == 104) {
+                    WrkMast wrkMast = wrkMastMapper.selectPakInStepBarcode(barcode);
+                    if (wrkMast != null && wrkMast.getWrkSts() == 2) {
+                        int wrkNo1 = basDevpService.count(new QueryWrapper<BasDevp>().eq("wrk_no", wrkMast.getWrkNo()));
+                        if (wrkNo1 != 0) {
+                            News.error(barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,璇锋煡鐪媁CS杈撻�佺嚎鐣岄潰,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
+                            if (ledThread != null) {
+                                News.error(":鎵爜澶辫触锛岃閲嶈瘯");
+                                MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, barcode + "鏉$爜宸插瓨鍦ㄧ姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑浠诲姟,宸ヤ綔鍙�=" + wrkMast.getWrkNo()));
+                            }
                             continue;
                         }
-                    }
-                    if (wrkMast != null) {
-                        News.error("" + mark + " - 4" + " - 宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
-                        staProtocol.setWorkNo((short) 9999);
-                        staProtocol.setStaNo(inSta.getBackSta().shortValue());
+                        barcodeThread.setBarcode("");
+                        staProtocol.setWorkNo(Short.parseShort(wrkMast.getWrkNo() + ""));
+                        staProtocol.setStaNo(Short.parseShort(wrkMast.getStaNo() + ""));
                         devpThread.setPakMk(staProtocol.getSiteId(), false);
                         boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                        log.info("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒))锛�" + wrkMast.getWrkNo() + "," + wrkMast.getStaNo());
+
+                        ledThread.errorReset();
+                        log.info("缁勬墭璇锋眰鍚嶭ED閿欒娓呴櫎");
+
                         if (!result) {
-                            throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+                            News.error(":鏇存柊plc绔欑偣淇℃伅澶辫触");
+                            log.error("杈撻�佺嚎涓嬪彂(瀛樺湪璁惧涓婅蛋鐨勫伐浣滄。锛岀洿鎺ヤ笅鍙戯紒)==>鏇存柊plc绔欑偣淇℃伅澶辫触");
+//                            throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+                            continue;
                         }
 
-                        // led 寮傚父鏄剧ず
-                        if (ledThread != null) {
-                            String errorMsg = "宸ヤ綔妗e凡瀛樺湪璇ユ潯鐮佸彿===>>" + barcode;
-                            MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
-                        }
+                    }
+                    WrkMast checkPick = wrkMastMapper.selectOne(new QueryWrapper<WrkMast>()
+                            .eq("barcode", barcode)
+                            .in("io_type", 107, 103, 57));
+                    if (!Cools.isEmpty(checkPick)) {
                         continue;
                     }
 
@@ -260,7 +270,7 @@
                         param.setLocType1(locTypeDto.getLocType1());
                         if (inSta.getStaNo() == 102) {
                             param.setLocType2((short) 3);
-                        } else if (inSta.getStaNo() == 211) {
+                        } else if (inSta.getStaNo() == 211 || inSta.getStaNo() == 104) {
                             param.setLocType1((short) 5);
                             param.setLocType2((short) 4);
                         } else if (inSta.getStaNo() == 201) {
@@ -300,16 +310,17 @@
                             staProtocol.setWorkNo((short) 9999);
                             staProtocol.setStaNo(inSta.getBackSta().shortValue());
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
-                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
-                            if (!result) {
-                                throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
-                            }
-
                             // led 寮傚父鏄剧ず
                             if (ledThread != null) {
                                 String errorMsg = jsonObject.getString("msg");
                                 MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg));
                             }
+                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                            if (!result) {
+                                throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+                            }
+
+
                         }
 
                     } catch (Exception e) {
@@ -407,10 +418,20 @@
                     staProtocol = staProtocol.clone();
                 }
 
-                if (barcodeThread == null) {
+                String barcode = "";
+                if (barcodeThread == null && staProtocol.getSiteId() != 104) {
                     continue;
+                } else if (staProtocol.getSiteId() == 104) {
+                    if (staProtocol.getWorkNo() == 9996) {
+                        // 鑾峰彇鍒版嫞鏂欎换鍔$殑鎵樼洏鐮�
+                        WrkMast wrkMast = wrkMastMapper.selectOne(new QueryWrapper<WrkMast>().eq("wrk_sts", 14).eq("io_type", 103).eq("source_sta_no", 104));
+                        if (wrkMast != null) {
+                            barcode = wrkMast.getBarcode();
+                        }
+                    }
+                } else {
+                    barcode = barcodeThread.getBarcode();
                 }
-                String barcode = barcodeThread.getBarcode();
                 // 灏哄妫�娴嬪紓甯�
                 boolean back = false;
                 String errMsg = "";
@@ -489,10 +510,16 @@
                 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()) {
                     News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛�");
                     WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode);
-//                    WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
+                    // WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue());
                     if (wrkMast == null) {
-                        // 鏃犳嫞鏂欐暟鎹�
-                        continue;
+                        WrkMast wrkMast1 = wrkMastMapper.selectPakInStepBarcode(barcode);
+                        if (!(wrkMast1 != null && wrkMast1.getWrkSts() == 2 && wrkMast1.getIoType() == 53)) {
+                            // 鏃犳嫞鏂欐暟鎹�
+                            continue;
+                        } else {
+                            wrkMast1.setIoType(103);
+                            wrkMast = wrkMast1;
+                        }
                     }
                     if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo())) {
                         continue;
@@ -508,12 +535,13 @@
 //                        log.error("{}鍙蜂换鍔℃暟鎹紓甯革紒", wrkMast.getWrkNo());
 //                    }
                     // 鑾峰彇鐩爣绔�
+
                     Wrapper<StaDesc> wrapper = new QueryWrapper<StaDesc>().eq("type_no", wrkMast.getIoType() - 50).eq("stn_no", pickSta.getStaNo()) // 浣滀笟绔欑偣 = 鎷f枡鍑哄簱鐨勭洰鏍囩珯
                             .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿
                     StaDesc staDesc = staDescService.getOne(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.setWorkNo((short) 9999);
                         staProtocol.setStaNo((short) (pickSta.getStaNo().shortValue() - (short) 1));
                         devpThread.setPakMk(staProtocol.getSiteId(), false);
                         MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
@@ -646,7 +674,7 @@
                                 crnThread.setResetFlag(true);
                             } else if (statusTypeTwo == CrnStatusType.WAITING_TWO) {
                                 crnThread.setResetFlagTwo(true);
-                            } else {
+                            } else if (statusTypeTwo == CrnStatusType.WAITING_All) {
                                 crnThread.setResetFlag(true);
                                 crnThread.setResetFlagTwo(true);
                             }
@@ -862,7 +890,7 @@
                         wrkMast.setIoPri(14D);
                         wrkMastMapper.updateById(wrkMast);
                         // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
-                        moveLocForDeepLoc(slave, shallowLoc, mark);
+                        moveLocForDeepLoc(slave, shallowLoc, mark, wrkMast.getTenant());
                         // 鐢熸垚宸ヤ綔妗c�佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵�併�佷笅鍙戝爢鍨涙満鍛戒护锛堢珛椹墽琛�)
 //                        moveLocForDeepLocPakin(slave, shallowLoc, wrkMast);
                     }
@@ -892,6 +920,9 @@
                 crnCommand.setDestinationPosXTwo(locMast.getRow1().shortValue());     // 鐩爣搴撲綅鎺�
                 crnCommand.setDestinationPosYTwo(locMast.getBay1().shortValue());     // 鐩爣搴撲綅鍒�
                 crnCommand.setDestinationPosZTwo(locMast.getLev1().shortValue());     // 鐩爣搴撲綅灞�
+                if (crnStn.getStaNo() == 202) {
+                    crnCommand.setSourcePosYTwo((short) 6);     // 婧愬簱浣嶅垪
+                }
             } else {
                 if (workMode == 1) {
                     crnCommand.setTaskMode(CrnTaskModeType.PAKIN);
@@ -904,6 +935,9 @@
                 crnCommand.setDestinationPosX(locMast.getRow1().shortValue());     // 鐩爣搴撲綅鎺�
                 crnCommand.setDestinationPosY(locMast.getBay1().shortValue());     // 鐩爣搴撲綅鍒�
                 crnCommand.setDestinationPosZ(locMast.getLev1().shortValue());     // 鐩爣搴撲綅灞�
+                if (workMode == 1 && crnStn.getStaNo() == 202) {
+                    crnCommand.setSourcePosY((short) 6);     // 婧愬簱浣嶅垪
+                }
             }
 //            crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
 
@@ -1031,7 +1065,7 @@
                                 wrkMast.setUpdMk("Y");
                                 wrkMastMapper.updateById(wrkMast);
                                 // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑
-                                moveLocForDeepLoc(slave, shallowLoc, mark);
+                                moveLocForDeepLoc(slave, shallowLoc, mark, wrkMast.getTenant());
                             }
                             News.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(), shallowLocNo);
                             continue;
@@ -1070,6 +1104,9 @@
                         crnCommand.setDestinationPosXTwo(crnStn.getRow().shortValue());     // 鐩爣搴撲綅鎺�
                         crnCommand.setDestinationPosYTwo(crnStn.getBay().shortValue());     // 鐩爣搴撲綅鍒�
                         crnCommand.setDestinationPosZTwo(crnStn.getLev().shortValue());     // 鐩爣搴撲綅灞�
+                        if (crnStn.getStaNo() == 202) {
+                            crnCommand.setDestinationPosYTwo((short) 6);     // 婧愬簱浣嶅垪
+                        }
                     } else {
                         if (workMode == 1) {
                             crnCommand.setTaskMode(CrnTaskModeType.PAKIN);
@@ -1082,6 +1119,9 @@
                         crnCommand.setDestinationPosX(crnStn.getRow().shortValue());     // 鐩爣搴撲綅鎺�
                         crnCommand.setDestinationPosY(crnStn.getBay().shortValue());     // 鐩爣搴撲綅鍒�
                         crnCommand.setDestinationPosZ(crnStn.getLev().shortValue());     // 鐩爣搴撲綅灞�
+                        if (workMode == 1 && crnStn.getStaNo() == 202) {
+                            crnCommand.setDestinationPosY((short) 6);     // 婧愬簱浣嶅垪
+                        }
                     }
 
                     if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
@@ -1272,6 +1312,7 @@
         crnCommand.setAckFinish((short) 0);  // 浠诲姟瀹屾垚纭浣�
         if (workMode == 2) {
             //CrnTaskModeType璇ユ灇涓剧被鏃犳晥锛屽彧鏈�1浠h〃宸ヤ綅锛�2浠h〃宸ヤ綅2锛�3鍙屽伐浣�
+            crnCommand.setTaskMode(CrnTaskModeType.PAKOUT);
             crnCommand.setSourcePosXTwo(sourceSta.getRow1().shortValue());     // 婧愬簱浣嶆帓
             crnCommand.setSourcePosYTwo(sourceSta.getBay1().shortValue());     // 婧愬簱浣嶅垪
             crnCommand.setSourcePosZTwo(sourceSta.getLev1().shortValue());     // 婧愬簱浣嶅眰
@@ -1329,8 +1370,38 @@
             //  鐘舵�侊細绛夊緟纭 骞朵笖  浠诲姟瀹屾垚浣� = 1
             if (wait && crnProtocol.getTaskNo() != 0) {
                 News.warnNoLog("" + mark + " - 0" + " - 寮�濮嬫墽琛屽宸ヤ綔妗g殑瀹屾垚鎿嶄綔");
-                if (crnProtocol.getTaskNo() == 9999) {
+//                if (crnProtocol.getTaskNo() == 9999) {
+//                    // 鍫嗗灈鏈哄浣�
+//                    if (statusType == CrnStatusType.WAITING_ONE) {
+//                        crnThread.setResetFlag(true);
+//                    } else if (statusTypeTwo == CrnStatusType.WAITING_TWO) {
+//                        crnThread.setResetFlagTwo(true);
+//                    } else {
+//                        crnThread.setResetFlag(true);
+//                        crnThread.setResetFlagTwo(true);
+//                    }
+//                } else {
+                // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
+                WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue());
+                if (wrkMast == null) {
+                    News.error("" + mark + " - 1" + " - 鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
+                    continue;
+                }
+                // 鍏ュ簱 + 搴撲綅杞Щ  ==> 4.鍏ュ簱瀹屾垚
+                if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) {
+                    wrkMast.setWrkSts(4L);
+                } else {
+                    //TODO
+                    News.info("鐘舵�佷笉瀵�,鐘舵��={}锛屽伐浣滃彿={}", wrkMast.getWrkSts(), crnProtocol.getTaskNo());
+                    continue;
+                }
+                Date now = new Date();
+                wrkMast.setCrnEndTime(now);
+                wrkMast.setModiTime(now);
+                // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
+                if (wrkMastMapper.updateById(wrkMast) > 0) {
                     // 鍫嗗灈鏈哄浣�
+                    News.info("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 : 鍫嗗灈鏈哄彿={}", crnThread.getCrnProtocol().getCrnNo());
                     if (statusType == CrnStatusType.WAITING_ONE) {
                         crnThread.setResetFlag(true);
                     } else if (statusTypeTwo == CrnStatusType.WAITING_TWO) {
@@ -1340,39 +1411,11 @@
                         crnThread.setResetFlagTwo(true);
                     }
                 } else {
-                    // 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
-                    WrkMast wrkMast = wrkMastMapper.selectPakInStep3(crnProtocol.getTaskNo().intValue());
-                    if (wrkMast == null) {
-                        News.error("" + mark + " - 1" + " - 鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
-                        continue;
-                    }
-                    // 鍏ュ簱 + 搴撲綅杞Щ  ==> 4.鍏ュ簱瀹屾垚
-                    if (wrkMast.getWrkSts() == 3 || (wrkMast.getWrkSts() == 12 && wrkMast.getIoType() == 11)) {
-                        wrkMast.setWrkSts(4L);
-                    } else {
-                        continue;
-                    }
-                    Date now = new Date();
-                    wrkMast.setCrnEndTime(now);
-                    wrkMast.setModiTime(now);
-                    // 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満
-                    if (wrkMastMapper.updateById(wrkMast) > 0) {
-                        // 鍫嗗灈鏈哄浣�
-                        News.info("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 : 鍫嗗灈鏈哄彿={}", crnThread.getCrnProtocol().getCrnNo());
-                        if (statusType == CrnStatusType.WAITING_ONE) {
-                            crnThread.setResetFlag(true);
-                        } else if (statusTypeTwo == CrnStatusType.WAITING_TWO) {
-                            crnThread.setResetFlagTwo(true);
-                        } else {
-                            crnThread.setResetFlag(true);
-                            crnThread.setResetFlagTwo(true);
-                        }
-                    } else {
-                        News.error("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 澶辫触锛侊紒锛屽爢鍨涙満鍙�={}", crnThread.getCrnProtocol().getCrnNo());
-                    }
+                    News.error("" + mark + " - 2" + " - 淇敼鎴愬姛鍚庡浣嶅爢鍨涙満 澶辫触锛侊紒锛屽爢鍨涙満鍙�={}", crnThread.getCrnProtocol().getCrnNo());
                 }
-
             }
+
+            //}
         }
         News.infoNoLog("" + mark + " - 0" + " - 瀵瑰伐浣滄。鐨勫畬鎴愭搷浣滄墽琛屽畬鎴�");
     }
@@ -1519,10 +1562,10 @@
                     staProtocol = staProtocol.clone();
                 }
 
-                if (barcodeThread == null) {
-                    continue;
-                }
-                String barcode = barcodeThread.getBarcode();
+//                if (barcodeThread == null) {
+//                    continue;
+//                }
+//                String barcode = barcodeThread.getBarcode();
                 // 灏哄妫�娴嬪紓甯�
                 boolean back = false;
                 String errMsg = "";
@@ -1563,9 +1606,9 @@
                     if (!staProtocol.isLoading()) {
                         continue;
                     }
-                    if (!staProtocol.isPakMk()) {
-                        continue;
-                    }
+//                    if (!staProtocol.isPakMk()) {
+//                        continue;
+//                    }
                     staProtocol.setWorkNo((short) 9999);
                     News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", emptyInSta.getStaNo(), errMsg, (short) 9999);
                     staProtocol.setStaNo(emptyInSta.getBackSta().shortValue());
@@ -1597,7 +1640,7 @@
                         param.setLocType1(locTypeDto.getLocType1());
                         if (emptyInSta.getStaNo() == 102) {
                             param.setLocType2((short) 3);
-                        } else if (emptyInSta.getStaNo() == 211) {
+                        } else if (emptyInSta.getStaNo() == 211 || emptyInSta.getStaNo() == 104) {
                             param.setLocType1((short) 5);
                             param.setLocType2((short) 4);
                         } else if (emptyInSta.getStaNo() == 201) {
@@ -1910,7 +1953,7 @@
      * 鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)
      * tip锛氬悓姝�
      */
-    private synchronized void moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc, Integer mark) {
+    private synchronized void moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc, Integer mark, Long tenant) {
 
         try {
             News.warnNoLog("" + mark + "moveLocForDeepLoc" + " - 0" + " - 寮�濮嬫墽琛�:鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)");
@@ -1994,7 +2037,7 @@
             wrkMast.setCrnNo(crn.getId());
             wrkMast.setSourceLocNo(shallowLoc.getLocNo()); // 婧愬簱浣�
             wrkMast.setLocNo(loc.getLocNo()); // 鐩爣搴撲綅
-            wrkMast.setFullPlt(shallowLoc.getFullPlt()); // 婊℃澘
+            wrkMast.setFullPlt(shallowLoc.getLocSts().equals("F") ? "Y" : "N"); // 婊℃澘
             wrkMast.setPicking("N"); // 鎷f枡
             wrkMast.setExitMk("N"); // 閫�鍑�
             wrkMast.setEmptyMk(shallowLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘
@@ -2002,6 +2045,7 @@
             wrkMast.setLinkMis("N");
             wrkMast.setAppeTime(new Date());
             wrkMast.setModiTime(new Date());
+            wrkMast.setTenant(tenant);
             int res = wrkMastMapper.insert(wrkMast);
             if (res == 0) {
                 News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 2" + " - 淇濆瓨宸ヤ綔妗eけ璐�");
@@ -2018,6 +2062,7 @@
                     VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
                     wrkDetl.setAppeTime(new Date());
                     wrkDetl.setModiTime(new Date());
+                    wrkDetl.setTenant(tenant);
                     if (!wrkDetlService.save(wrkDetl)) {
                         News.errorNoLog("" + mark + "moveLocForDeepLoc" + " - 3" + " - 淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
                         throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
@@ -2285,7 +2330,7 @@
 
     public synchronized void autoEmptyOut() {
         DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
-        Integer autoOutSite = 12;
+        Integer autoOutSite = 103;
         //濡傛灉绔欑偣鍙嚭绂佺敤锛屽垯涓嶇敓鎴愮┖鐩樺嚭搴撲换鍔�
         StaProtocol staProtocol = devpThread.getStation().get(autoOutSite);
         if (staProtocol == null) {
@@ -2295,32 +2340,27 @@
         }
         if (staProtocol.isAutoing()  //鑷姩
                 && !staProtocol.isLoading()  //鏃犵墿
-                && staProtocol.isOutEnable()  //鍙嚭淇″彿
+//                && staProtocol.isOutEnable()  //鍙嚭淇″彿
                 && staProtocol.getWorkNo() == 0) {
-            WrkMast pakoutEmpty = wrkMastMapper.selectPakoutEmpty(autoOutSite);
-            if (null != pakoutEmpty) {
-                return;
+//            WrkMast pakoutEmpty = wrkMastMapper.selectPakoutEmpty(autoOutSite);
+//            if (null != pakoutEmpty) {
+//                return;
+//            }
+
+            LocMast byId = locMastService.getById("0200405");
+            if (byId != null&&byId.getLocSts().equalsIgnoreCase("D")){
+
             }
-            try {
-                String response = new HttpHandler.Builder().setUri(wmsUrl).setPath("/rpc/auto/emptyOut/v1").build().doPost();
-                JSONObject jsonObject = JSON.parseObject(response);
-                if (jsonObject.getInteger("code").equals(200)) {
-                    JSONObject data = (JSONObject) jsonObject.get("data");
-                    News.info((String) data.get("msg"));
-                } else {
-                    News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/auto/emptyOut/v1", "", response);
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
-                TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            }
+
         }
     }
 
+    @Autowired
+    private WrkMastService wrkMastService;
+
     public synchronized void autoEmptyIn() {
         DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
-        Integer autoInSite = 12;
-        StaProtocol staProtocol = devpThread.getStation().get(autoInSite);
+        StaProtocol staProtocol = devpThread.getStation().get(103);
         if (staProtocol == null) {
             return;
         } else {
@@ -2328,20 +2368,44 @@
         }
         if (staProtocol.isAutoing()  //鑷姩
                 && staProtocol.isLoading()  //鏈夌墿
-                && staProtocol.isInEnable()  //鍙叆淇″彿
+//                && staProtocol.isInEnable()  //鍙叆淇″彿
                 && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() >= 9990) //宸ヤ綔鍙蜂负0鎴栬�呭伐浣滃彿鏄�9991~9999锛堣緭閫佹満鐣欑敤锛�
         ) {
 
             try {
-                LocTypeDto locTypeDto = new LocTypeDto((short) 1, (short) 1, (short) 1);
+                Date now = new Date();
+                // 鐢熸垚宸ヤ綔妗�
+                WrkMast wrkMast = new WrkMast();
+                int workNo = commonService.getWorkNo(0);
+                wrkMast.setWrkNo(workNo);
+                wrkMast.setIoTime(now);
+                wrkMast.setWrkSts(2L);
+                wrkMast.setIoPri(13D);
+                wrkMast.setIoType(10);
+                wrkMast.setCrnNo(1);
+                wrkMast.setSourceStaNo(101);
+                wrkMast.setStaNo(103);
+                wrkMast.setLocNo("0200405");
+                wrkMast.setFullPlt("N"); // 婊℃澘锛歂
+                wrkMast.setPicking("N"); // 鎷f枡
+                wrkMast.setExitMk("N"); // 閫�鍑�
+                wrkMast.setEmptyMk("Y"); // 绌烘澘
+                wrkMast.setLinkMis("Y");
+                // 鎿嶄綔浜哄憳鏁版嵁
+                wrkMast.setAppeTime(now);
+                wrkMast.setModiTime(now);
+                wrkMast.setMemo("鑷姩绌烘墭鍏ュ簱");
+                boolean res = wrkMastService.save(wrkMast);
 
-
-                String response = new HttpHandler.Builder().setUri(wmsUrl).setPath("/rpc/auto/emptyIn/v1").setJson(JSON.toJSONString(locTypeDto)).build().doPost();
-                JSONObject jsonObject = JSON.parseObject(response);
-                if (jsonObject.getInteger("code").equals(200)) {
-                    News.info((String) jsonObject.get("msg"));
-                } else {
-                    News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/auto/emptyIn/v1", JSON.toJSONString(locTypeDto), response);
+                // 鏇存柊鐩爣搴撲綅鐘舵��
+                LocMast locMast = locMastService.getById("0200405");
+                if (locMast.getLocSts().equals("O")) {
+                    locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+                    locMast.setModiUser(789L);
+                    locMast.setModiTime(now);
+                    if (!locMastService.updateById(locMast)) {
+                        throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+                    }
                 }
             } catch (Exception e) {
                 e.printStackTrace();

--
Gitblit v1.9.1