From c1376645c9ea45db0bd0f90ac693b22ab6ecad05 Mon Sep 17 00:00:00 2001 From: Administrator <pjb> Date: 星期六, 02 八月 2025 19:34:11 +0800 Subject: [PATCH] bugxiugai --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 107 +++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 75 insertions(+), 32 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 aa03812..ed84434 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -105,6 +105,9 @@ @Value("${loc-move.enable}") private boolean enable; + @Value("${config.outloading}") + private boolean outloading; + public synchronized void generateStoreWrkFile() { try { @@ -178,17 +181,23 @@ } storageEscalationParam.setBarcode(BoxNo); storageEscalationParam.setMatIdList(staProtocol.getMatIdList()); + storageEscalationParam.setFullPlt(staProtocol.isFullPlt() ? 1 : 0); log.info("缁勬墭鍏ュ簱={}", storageEscalationParam); TaskWrk taskWrk = toWmsService.getLocNoFromWms(storageEscalationParam); if (taskWrk == null) { log.error("鍏ュ簱璇锋眰wms鍒涘缓浠诲姟宸ヤ綔妗d负绌猴細{}", storageEscalationParam); continue; + } else { + if (-1 == taskWrk.getWrkNo()) { + back = true; + } } if (back) { + staProtocol.setWorkNo((short) 9991); staProtocol.setStaNo(inSta.getBackSta().shortValue()); devpThread.setPakMk(staProtocol.getSiteId(), false); MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); - log.info("缁勬墭鍏ュ簱鎵樼洏閫�鍥炲懡浠ゆ帹閫佽緭閫佺嚎闃熷垪鎴愬姛==>{}锛寋}", BoxNo, errMsg); + log.info("缁勬墭鍏ュ簱鎵樼洏閫�鍥炲懡浠ゆ帹閫佽緭閫佺嚎闃熷垪鎴愬姛==>{}锛寋}锛寋}", BoxNo, errMsg, taskWrk.getWrkNo()); } else { StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>() .eq("crn_no", taskWrk.getCrnNo()).eq("type_no", 1).eq("stn_no", staProtocol.getSiteId())); @@ -229,34 +238,66 @@ 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); + if (crnStn.getStaNo() >= 200) { + // 鏌ヨ宸ヤ綔妗� + TaskWrk taskWrk = taskWrkMapper.selectCrnStaWorking(crnSlave.getId(), String.valueOf(crnStn.getStaNo() + 2)); + 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)); + } } else { - log.error("涓嬪彂杈撻�佺嚎浠诲姟澶辫触锛歵askWrk:" + JSON.toJSONString(taskWrk)); + // 鏌ヨ宸ヤ綔妗� + 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) { @@ -352,11 +393,13 @@ } 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); + if (!locMast.getLocSts().equals("O")) { + if (taskWrk.getWrkSts() == 2) { + log.error("鍏ュ簱WMS鍒嗛厤搴撲綅{}鏈夎锛屽簱浣嶇姸鎬佷负{}", locMast.getLocNo(), locMast.getLocSts()); + taskWrk.setWrkSts(5); + taskWrk.setMemo("WMS鍒嗛厤搴撲綅鏈夎"); + taskWrkService.updateById(taskWrk); + } continue; } @@ -481,7 +524,7 @@ } // 鍒ゆ柇鍫嗗灈鏈哄嚭搴撶珯鐘舵�� - if (staProtocol.isAutoing() && !staProtocol.isLoading() && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y") + if (staProtocol.isAutoing() && (outloading || !staProtocol.isLoading()) && staDetl.getCanouting() != null && staDetl.getCanouting().equals("Y") && staProtocol.getWorkNo() == 0 && staProtocol.isOutEnable()) { // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- -- Gitblit v1.9.1