From 663eb6fc29d8de34b6c6a503e2c0013bb93c331d Mon Sep 17 00:00:00 2001
From: Administrator <pjb>
Date: 星期六, 07 六月 2025 19:17:26 +0800
Subject: [PATCH] 123

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  146 ++++++++++++++++++++++++++----------------------
 1 files changed, 80 insertions(+), 66 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 205fe6a..aa03812 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -164,7 +164,7 @@
                         }
                         String BoxNo = barcodeThread.getBarcode();
                         if (Cools.isEmpty(BoxNo)) {
-                            log.error("{}鍙锋潯鐮佹壂鎻忓け璐ワ紝鍊硷細{}",inSta.getBarcode(),BoxNo);
+                            log.error("{}鍙锋潯鐮佹壂鎻忓け璐ワ紝鍊硷細{}", inSta.getBarcode(), BoxNo);
                             continue;
                         }
                         TaskWrk taskWrk1 = taskWrkService.selectOne(new EntityWrapper<TaskWrk>().eq("barcode", BoxNo));
@@ -177,27 +177,29 @@
                             storageEscalationParam.setWCSErrorMessage(storageEscalationParam.getWCSErrorMessage() + errMsg);
                         }
                         storageEscalationParam.setBarcode(BoxNo);
+                        storageEscalationParam.setMatIdList(staProtocol.getMatIdList());
                         log.info("缁勬墭鍏ュ簱={}", storageEscalationParam);
                         TaskWrk taskWrk = toWmsService.getLocNoFromWms(storageEscalationParam);
                         if (taskWrk == null) {
-                            log.error("鍏ュ簱璇锋眰wms鍒涘缓浠诲姟宸ヤ綔妗d负绌猴細{}",storageEscalationParam);
+                            log.error("鍏ュ簱璇锋眰wms鍒涘缓浠诲姟宸ヤ綔妗d负绌猴細{}", storageEscalationParam);
                             continue;
                         }
                         if (back) {
-                            log.info("鎵樼洏閫�鍥�==>{}锛寋}", BoxNo, errMsg);
                             staProtocol.setStaNo(inSta.getBackSta().shortValue());
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                            log.info("缁勬墭鍏ュ簱鎵樼洏閫�鍥炲懡浠ゆ帹閫佽緭閫佺嚎闃熷垪鎴愬姛==>{}锛寋}", BoxNo, errMsg);
                         } else {
                             StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>()
                                     .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId()));
                             if (staDesc == null) {
-                                log.error("zutuo鍏ュ簱璺緞涓嶅瓨鍦紝wrkNo={},crn={},stn_no={}",taskWrk.getWrkNo(),taskWrk.getCrnNo(),staProtocol.getSiteId());
+                                log.error("缁勬墭鍏ュ簱璺緞涓嶅瓨鍦紝wrkNo={},crn={},stn_no={}", taskWrk.getWrkNo(), taskWrk.getCrnNo(), staProtocol.getSiteId());
                                 continue;
                             }
                             staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
                             staProtocol.setStaNo(staDesc.getCrnStn().shortValue());
                             MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
+                            log.info("缁勬墭鍏ュ簱鍛戒护鎺ㄩ�佽緭閫佺嚎闃熷垪鎴愬姛:{}", staProtocol);
                         }
 
                     }
@@ -217,46 +219,49 @@
         for (CrnSlave crnSlave : slaveProperties.getCrn()) {
             // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
             for (CrnSlave.CrnStn crnStn : crnSlave.getCrnOutStn()) {
-                    try {
-                        // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
-                        DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
-                        StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
-                        if (staProtocol == null) {
-                            continue;
-                        } else {
-                            staProtocol = staProtocol.clone();
-                        }
-                        if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
-                            // 鏌ヨ宸ヤ綔妗�
-                            TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), String.valueOf(crnStn.getStaNo()-1));
-                            if (taskWrk == null) {
-                                continue;
-                            }
-                                log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
-                                staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
-                                staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint()));
-                                boolean offer = false;
-                                try {
-                                    offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
-                                } catch (Exception e) {
-                                    log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
-                                    log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
-                                }
-                                if (offer) {
-                                    log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
-                                    taskWrk.setStatus(5);
-                                    taskWrk.setWrkSts(14);
-                                    taskWrk.setCompleteTime(new Date());
-                                    taskWrkService.updateById(taskWrk);
-
-                                } else {
-                                    log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
-                                }
-//                            }
-                        }
-                    } catch (Exception e) {
-                        log.error("鍑哄簱鍒板嚭搴撶珯寮傚父:寮傚父淇℃伅锛�" + e);
+                try {
+                    // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
+                    DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, crnStn.getDevpPlcId());
+                    StaProtocol staProtocol = devpThread.getStation().get(crnStn.getStaNo());
+                    if (staProtocol == null) {
+                        continue;
+                    } else {
+                        staProtocol = staProtocol.clone();
                     }
+                    if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == 0)) {
+                        // 鏌ヨ宸ヤ綔妗�
+                        TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), String.valueOf(crnStn.getStaNo() - 1));
+                        if (taskWrk == null) {
+                            continue;
+                        }
+                        log.info("涓嬪彂杈撻�佺嚎浠诲姟锛歵askWrk:" + JSON.toJSONString(taskWrk));
+                        staProtocol.setWorkNo(taskWrk.getWrkNo().shortValue());
+                        staProtocol.setStaNo(Short.valueOf(taskWrk.getTargetPoint()));
+                        if (!Cools.isEmpty(taskWrk.getType())) {
+                            staProtocol.setHeight(taskWrk.getType());
+                        }
+                        boolean offer = false;
+                        try {
+                            offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+                        } catch (Exception e) {
+                            log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:" + e);
+                            log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛氬紓甯�:offer:" + offer);
+                        }
+                        if (offer) {
+                            log.info("涓嬪彂杈撻�佺嚎浠诲姟鎴愬姛锛歵askWrk:" + JSON.toJSONString(taskWrk));
+                            taskWrk.setStatus(5);
+                            taskWrk.setWrkSts(14);
+                            taskWrk.setCompleteTime(new Date());
+                            taskWrkService.updateById(taskWrk);
+
+                        } else {
+                            log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk));
+                        }
+//                            }
+                    }
+                } catch (Exception e) {
+                    log.error("鍑哄簱鍒板嚭搴撶珯寮傚父:寮傚父淇℃伅锛�" + e);
+                }
 //                }
 
             }
@@ -343,6 +348,15 @@
                 // 鑾峰彇宸ヤ綔鐘舵�佷负2锛堣澶囦笂璧帮級鐨勫叆搴撳伐浣滄。
                 TaskWrk taskWrk = taskWrkMapper.selectPakIn(slave.getId(), staProtocol.getWorkNo().intValue(), staDesc.getStnNo().toString());
                 if (null == taskWrk) {
+                    continue;
+                }
+
+                LocMast locMast = locMastService.selectByLocNo(taskWrk.getTargetPoint());
+                if (!locMast.getLocSts().equals("O") && taskWrk.getWrkSts() == 2) {
+                    log.error("鍏ュ簱WMS鍒嗛厤搴撲綅{}鏈夎锛屽簱浣嶇姸鎬佷负{}", locMast.getLocNo(), locMast.getLocSts());
+                    taskWrk.setWrkSts(5);
+                    taskWrk.setMemo("WMS鍒嗛厤搴撲綅鏈夎");
+                    taskWrkService.updateById(taskWrk);
                     continue;
                 }
 
@@ -438,7 +452,7 @@
                             log.info(locMast.getLocNo() + "鍑烘繁搴撲綅锛屾祬搴撲綅鏈夎揣");
                             continue;
                         }
-                    } else if (flag == 2){
+                    } else if (flag == 2) {
                         LocMast locMast1 = locMastService.selectOne(new EntityWrapper<LocMast>()
                                 .eq("row1", (locMast.getRow1() - 1))
                                 .eq("bay1", locMast.getBay1())
@@ -860,14 +874,14 @@
                 }
                 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
                 for (DevpSlave.Sta inSta : devp.getInSta()) {
-                    WrkMast pakout = wrkMastMapper.selectWorkingPakout(inSta.getBackSta());
+                    TaskWrk taskWrk = taskWrkService.selectByTargetPoint(inSta.getBackSta() + "");
                     switch (inSta.getBackSta()) {
-                        case 116:
-                            if (pakout != null) {
+                        case 101:
+                            if (taskWrk != null) {
                                 if (devpThread.ioModeOf1F1 != IoModeType.PAKOUT_MODE) {
                                     // 鍑哄簱鍒囨崲涓�
                                     devpThread.ioModeOf1F1 = IoModeType.PAKOUT_BOOTING;
-                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+                                    TaskWrk pakin = taskWrkService.selectByStartPoint(inSta.getStaNo() + "");
                                     if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
                                             && !devpThread.getStation().get(inSta.getBackSta()).isLoading()
                                             && devpThread.getStation().get(inSta.getBackSta()).getWorkNo() == 0) {
@@ -880,12 +894,12 @@
                                 devpThread.ioModeOf1F1 = IoModeType.PAKIN_MODE;
                             }
                             break;
-                        case 117:
-                            if (pakout != null) {
+                        case 104:
+                            if (taskWrk != null) {
                                 if (devpThread.ioModeOf1F2 != IoModeType.PAKOUT_MODE) {
                                     // 鍑哄簱鍒囨崲涓�
                                     devpThread.ioModeOf1F2 = IoModeType.PAKOUT_BOOTING;
-                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+                                    TaskWrk pakin = taskWrkService.selectByStartPoint(inSta.getStaNo() + "");
                                     if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
                                             && !devpThread.getStation().get(inSta.getBackSta()).isLoading()
                                             && devpThread.getStation().get(inSta.getBackSta()).getWorkNo() == 0) {
@@ -898,12 +912,12 @@
                                 devpThread.ioModeOf1F2 = IoModeType.PAKIN_MODE;
                             }
                             break;
-                        case 118:
-                            if (pakout != null) {
+                        case 107:
+                            if (taskWrk != null) {
                                 if (devpThread.ioModeOf1F3 != IoModeType.PAKOUT_MODE) {
                                     // 鍑哄簱鍒囨崲涓�
                                     devpThread.ioModeOf1F3 = IoModeType.PAKOUT_BOOTING;
-                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+                                    TaskWrk pakin = taskWrkService.selectByStartPoint(inSta.getStaNo() + "");
                                     if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
                                             && !devpThread.getStation().get(inSta.getBackSta()).isLoading()
                                             && devpThread.getStation().get(inSta.getBackSta()).getWorkNo() == 0) {
@@ -916,12 +930,12 @@
                                 devpThread.ioModeOf1F3 = IoModeType.PAKIN_MODE;
                             }
                             break;
-                        case 119:
-                            if (pakout != null) {
+                        case 110:
+                            if (taskWrk != null) {
                                 if (devpThread.ioModeOf1F4 != IoModeType.PAKOUT_MODE) {
                                     // 鍑哄簱鍒囨崲涓�
                                     devpThread.ioModeOf1F4 = IoModeType.PAKOUT_BOOTING;
-                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+                                    TaskWrk pakin = taskWrkService.selectByStartPoint(inSta.getStaNo() + "");
                                     if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
                                             && !devpThread.getStation().get(inSta.getBackSta()).isLoading()
                                             && devpThread.getStation().get(inSta.getBackSta()).getWorkNo() == 0) {
@@ -934,12 +948,12 @@
                                 devpThread.ioModeOf1F4 = IoModeType.PAKIN_MODE;
                             }
                             break;
-                        case 120:
-                            if (pakout != null) {
+                        case 113:
+                            if (taskWrk != null) {
                                 if (devpThread.ioModeOf1F5 != IoModeType.PAKOUT_MODE) {
                                     // 鍑哄簱鍒囨崲涓�
                                     devpThread.ioModeOf1F5 = IoModeType.PAKOUT_BOOTING;
-                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+                                    TaskWrk pakin = taskWrkService.selectByStartPoint(inSta.getStaNo() + "");
                                     if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
                                             && !devpThread.getStation().get(inSta.getBackSta()).isLoading()
                                             && devpThread.getStation().get(inSta.getBackSta()).getWorkNo() == 0) {
@@ -953,11 +967,11 @@
                             }
                             break;
                         case 203:
-                            if (pakout != null) {
+                            if (taskWrk != null) {
                                 if (devpThread.ioModeOf2F1 != IoModeType.PAKOUT_MODE) {
                                     // 鍑哄簱鍒囨崲涓�
                                     devpThread.ioModeOf2F1 = IoModeType.PAKOUT_BOOTING;
-                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+                                    TaskWrk pakin = taskWrkService.selectByStartPoint(inSta.getStaNo() + "");
                                     if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
                                             && !devpThread.getStation().get(inSta.getBackSta()).isLoading()
                                             && devpThread.getStation().get(inSta.getBackSta()).getWorkNo() == 0) {
@@ -972,11 +986,11 @@
                             break;
 
                         case 207:
-                            if (pakout != null) {
+                            if (taskWrk != null) {
                                 if (devpThread.ioModeOf2F2 != IoModeType.PAKOUT_MODE) {
                                     // 鍑哄簱鍒囨崲涓�
                                     devpThread.ioModeOf2F2 = IoModeType.PAKOUT_BOOTING;
-                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+                                    TaskWrk pakin = taskWrkService.selectByStartPoint(inSta.getStaNo() + "");
                                     if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
                                             && !devpThread.getStation().get(inSta.getBackSta()).isLoading()
                                             && devpThread.getStation().get(inSta.getBackSta()).getWorkNo() == 0) {
@@ -991,11 +1005,11 @@
                             break;
 
                         case 212:
-                            if (pakout != null) {
+                            if (taskWrk != null) {
                                 if (devpThread.ioModeOf2F3 != IoModeType.PAKOUT_MODE) {
                                     // 鍑哄簱鍒囨崲涓�
                                     devpThread.ioModeOf2F3 = IoModeType.PAKOUT_BOOTING;
-                                    WrkMast pakin = wrkMastMapper.selectWorkingPakin(inSta.getStaNo());
+                                    TaskWrk pakin = taskWrkService.selectByStartPoint(inSta.getStaNo() + "");
                                     if (pakin == null && !devpThread.getStation().get(inSta.getStaNo()).isLoading()
                                             && !devpThread.getStation().get(inSta.getBackSta()).isLoading()
                                             && devpThread.getStation().get(inSta.getBackSta()).getWorkNo() == 0) {

--
Gitblit v1.9.1