From a1e94379b115721b2e604070dc48063b8016f72f Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期二, 21 十月 2025 19:32:59 +0800
Subject: [PATCH] 侧面输送线出库码盘信息对接
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 113 ++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 81 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..786c08c 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,24 @@
}
storageEscalationParam.setBarcode(BoxNo);
storageEscalationParam.setMatIdList(staProtocol.getMatIdList());
+ storageEscalationParam.setFullPlt(staProtocol.isFullPlt() ? 1 : 0);
+ storageEscalationParam.setMpHigh(staProtocol.getMpHigh());
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 +239,71 @@
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()));
+ staProtocol.setBarcode(taskWrk.getBarcode());
+ if (!Cools.isEmpty(taskWrk.getType())) {
+ staProtocol.setHeight(taskWrk.getType());
+ }
+ boolean offer = false;
+ try {
+ offer = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+ staProtocol.setMp(taskWrk.getMp());
+ staProtocol.setLx(taskWrk.getLx());
+ staProtocol.setLev(taskWrk.getLev());
+ MessageQueue.offer(SlaveType.Devp, 1, new Task(3, 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 +399,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 +530,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