From ae42204ffc8d6d456eaac3cfc6e519f6b4d51879 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 22 十二月 2022 13:15:32 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 47 +++++++++++++++++++++++++++++++++++++++--------
1 files changed, 39 insertions(+), 8 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 403ae30..da0c9cc 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1561,6 +1561,40 @@
}
/**
+ * 璁╁皬杞︿粠 杩滅偣 ====>> 绉诲姩鍒拌繎鐐�
+ * 绛夊緟鍫嗗灈鏈烘惉杩�
+ */
+ public void letCarBeReady(WrkCharge wrkCharge, Integer steNo) {
+ // 鑾峰彇绌挎杞︿俊鎭�
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { return; }
+ if (steProtocol.isIdle()) {
+
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ SteCommand steCommand = new SteCommand();
+ steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
+ steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙�
+ steCommand.setTaskMode(SteTaskModeType.findOriginByLoc(steProtocol)); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
+
+ steCommand.setRow(Utils.getGroupRow(steProtocol.getRow().intValue(), true).shortValue());
+ steCommand.setBay(steProtocol.getBay());
+ steCommand.setLev(steProtocol.getLev());
+
+ if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
+ log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞�
+ wrkCharge.setSteNo(steNo);
+ wrkCharge.setModiTime(new Date());
+ if (!wrkChargeService.updateById(wrkCharge)) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkCharge.getWrkNo());
+ }
+ }
+ }
+ }
+
+ /**
* 鍏ュ嚭搴� ===>> 鍫嗗灈鏈烘惉鍏ュ皬杞�
*/
public void carMoveIn(WrkMast wrkMast, Integer steNo, CrnProtocol crnProtocol) {
@@ -3362,11 +3396,8 @@
if (!wrkChargeService.updateById(wrkCharge)) {
log.error("淇敼婕旂ず浠诲姟{}宸ヤ綔妗� 31.鐢熸垚婕旂ずID ==>> 32.灏忚溅璧拌 澶辫触!", wrkCharge.getWrkNo());
}
- // 33.灏忚溅寰呮惉
+ // 33.灏忚溅寰呮惉
} else if (wrkCharge.getWrkSts() == 33L) {
- if (steProtocol.isLoading()) {
- return;
- }
LocMast locMast = locMastService.selectById(wrkCharge.getLocNo());
// 鍫嗗灈鏈哄懡浠や笅鍙戝尯 --------------------------------------------------------------------------
CrnCommand crnCommand = new CrnCommand();
@@ -3374,17 +3405,17 @@
crnCommand.setTaskNo(wrkCharge.getWrkNo().shortValue()); // 宸ヤ綔鍙�
crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
crnCommand.setTaskMode(CrnTaskModeType.STE_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue()).shortValue()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosX(Utils.getGroupRow(steProtocol.getRow().intValue(), true).shortValue()); // 婧愬簱浣嶆帓
crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪
crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX(Utils.getGroupRow(locMast.getLocNo()).shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosX(Utils.getGroupRow(locMast.getLocNo(), true).shortValue()); // 鐩爣搴撲綅鎺�
crnCommand.setDestinationPosY(locMast.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 鐩爣搴撲綅灞�
if (!MessageQueue.offer(SlaveType.Crn, wrkCharge.getCrnNo(), new Task(2, crnCommand))) {
log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkCharge.getCrnNo(), JSON.toJSON(crnCommand));
} else {
// 淇敼绌挎杞﹁繍琛屼腑鎺掑垪灞�
- steThread.modifyPos(Utils.getGroupRow(locMast.getLocNo()), locMast.getBay1(), locMast.getLev1());
+ steThread.modifyPos(Utils.getGroupRow(locMast.getLocNo(), true), locMast.getBay1(), locMast.getLev1());
// 淇敼宸ヤ綔妗g姸鎬� 33.灏忚溅寰呮惉 => 34.鍚婅溅鎼繍
Date now = new Date();
wrkCharge.setWrkSts(34L);
@@ -3407,7 +3438,7 @@
SteCommand steCommand = new SteCommand();
steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
steCommand.setTaskNo(wrkCharge.getWrkNo()); // 宸ヤ綔鍙�
- SteTaskModeType originByLoc = SteTaskModeType.findOriginByLoc(steProtocol.getRow());
+ SteTaskModeType originByLoc = SteTaskModeType.findOriginByLoc(steProtocol.getRow().intValue());
if (originByLoc.equals(SteTaskModeType.GO_ORIGIN)) {
originByLoc = SteTaskModeType.BACK_ORIGIN;
} else if (originByLoc.equals(SteTaskModeType.BACK_ORIGIN)) {
--
Gitblit v1.9.1