From 4d03b2c0deae95ecf3e95547f4d208c2d715bb79 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期六, 12 三月 2022 13:05:02 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 374 ++++++++++++++++++++++++++--------------------------
1 files changed, 187 insertions(+), 187 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 4649925..73eb1f1 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -610,175 +610,6 @@
}
/**
- * 褰撳墠搴撲綅缁勬槸鍚﹀瓨鍦ㄧ┖闂插皬杞�
- */
- public Integer hasCarOfIdle(String locNo) {
- for (SteSlave ste : slaveProperties.getSte()) {
- // 鑾峰彇鍫嗗灈鏈轰俊鎭�
- SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
- SteProtocol steProtocol = steThread.getSteProtocol();
- if (steProtocol == null) { continue; }
- if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
- if (Utils.getGroupRow(locNo).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(locNo) && steProtocol.getLev() == Utils.getLev(locNo)) {
- return steProtocol.getSteNo().intValue();
- }
- }
- }
- return null;
- }
-
- /**
- * 璁╁皬杞︿粠 杩滅偣 ====>> 绉诲姩鍒拌繎鐐�
- * 绛夊緟鍫嗗灈鏈烘惉杩�
- */
- public void letCarBeReady(WrkMast wrkMast, Integer steNo) {
- // 鑾峰彇绌挎杞︿俊鎭�
- SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
- SteProtocol steProtocol = steThread.getSteProtocol();
- if (steProtocol == null) { return; }
- if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
-
- // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
- SteCommand steCommand = new SteCommand();
- steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
- steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
- steCommand.setTaskMode(SteTaskModeType.TO_B); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
- if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
- log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
- } else {
- // 淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞�
- wrkMast.setSteNo(steNo);
- wrkMast.setModiTime(new Date());
- if (wrkMastMapper.updateById(wrkMast) == 0) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
- }
- }
- }
- }
-
- /**
- * 鍏ュ嚭搴� ===>> 鍫嗗灈鏈烘惉鍏ュ皬杞�
- */
- public void carMoveIn(WrkMast wrkMast, Integer steNo, CrnProtocol crnProtocol) {
- // 鑾峰彇鍫嗗灈鏈轰俊鎭�
- SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
- SteProtocol steProtocol = steThread.getSteProtocol();
- if (steProtocol == null) { return; }
- if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
- // 鍫嗗灈鏈虹┖闂�
- if (crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() == 0) {
- LocMast locMast;
- // 鍏ュ簱鎼�
- if (wrkMast.getWrkSts() <= 10) {
- locMast = locMastService.selectById(wrkMast.getLocNo());
- // 鍫嗗灈鏈哄懡浠や笅鍙戝尯 --------------------------------------------------------------------------
- CrnCommand crnCommand = new CrnCommand();
- crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
- crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
- crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(steProtocol.getRow()); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX(Utils.getGroupRow(locMast.getLocNo()).shortValue()); // 鐩爣搴撲綅鎺�
- crnCommand.setDestinationPosY(locMast.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
- crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 鐩爣搴撲綅灞�
- if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
- } else {
- // 淇敼宸ヤ綔妗g姸鎬� 3.灏忚溅寰呮惉 => 4.杩佸叆灏忚溅
- Date now = new Date();
- wrkMast.setWrkSts(4L);
- wrkMast.setCrnStrTime(now);
- wrkMast.setModiTime(now);
- if (wrkMastMapper.updateById(wrkMast) == 0) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 3.灏忚溅寰呮惉 => 4.杩佸叆灏忚溅 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
- }
- }
- // 鍑哄簱鎼�
- } else {
- locMast = locMastService.selectById(wrkMast.getSourceLocNo());
- // 鍫嗗灈鏈哄懡浠や笅鍙戝尯 --------------------------------------------------------------------------
- CrnCommand crnCommand = new CrnCommand();
- crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
- crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
- crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(steProtocol.getRow()); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX(Utils.getGroupRow(locMast.getLocNo()).shortValue()); // 鐩爣搴撲綅鎺�
- crnCommand.setDestinationPosY(locMast.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
- crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 鐩爣搴撲綅灞�
- if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
- } else {
- // 淇敼宸ヤ綔妗g姸鎬� 12.灏忚溅寰呮惉 => 13.杩佸叆灏忚溅
- Date now = new Date();
- wrkMast.setWrkSts(13L);
- wrkMast.setCrnStrTime(now);
- wrkMast.setModiTime(now);
- if (wrkMastMapper.updateById(wrkMast) == 0) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 12.灏忚溅寰呮惉 => 13.杩佸叆灏忚溅 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
- }
- }
- }
- }
-
- }
- }
-
- /**
- * 鍏ュ簱 ===>> 鍫嗗灈鏈烘惉鍑哄皬杞�
- */
- public void carMoveOut(WrkMast wrkMast, Integer steNo, CrnProtocol crnProtocol) {
- // 鑾峰彇绌挎杞︿俊鎭�
- SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
- SteProtocol steProtocol = steThread.getSteProtocol();
- if (steProtocol == null) { return; }
- // 绌挎杞︾┖闂�
- if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
- // 鍫嗗灈鏈虹┖闂�
- if (crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() == 0) {
-
- BasSte basSte = basSteService.selectById(steNo);
- if (basSte == null) {
- log.error("{}鍙风┛姊溅鍦ㄦ暟鎹簱涓嶅瓨鍦紒锛侊紒", steNo);
- return;
- }
- String idleLocNo = basSte.getIdleLoc();
-
- // 鍫嗗灈鏈哄懡浠や笅鍙戝尯 --------------------------------------------------------------------------
- CrnCommand crnCommand = new CrnCommand();
- crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
- crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
- crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
- crnCommand.setSourcePosX(steProtocol.getRow()); // 婧愬簱浣嶆帓
- crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪
- crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰
- crnCommand.setDestinationPosX(Utils.getGroupRow(idleLocNo).shortValue()); // 鐩爣搴撲綅鎺�
- crnCommand.setDestinationPosY((short) Utils.getBay(idleLocNo)); // 鐩爣搴撲綅鍒�
- crnCommand.setDestinationPosZ((short) Utils.getLev(idleLocNo)); // 鐩爣搴撲綅灞�
- if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
- log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
- } else {
-
- // 淇敼宸ヤ綔妗g姸鎬� 3.灏忚溅寰呮惉 => 5.杩佸嚭灏忚溅
- Date now = new Date();
- wrkMast.setWrkSts(5L);
- wrkMast.setCrnStrTime(now);
- wrkMast.setModiTime(now);
- if (wrkMastMapper.updateById(wrkMast) == 0) {
- log.error("淇敼宸ヤ綔妗g姸鎬� 3.灏忚溅寰呮惉 => 5.杩佸嚭灏忚溅 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
- }
- }
- }
- }
- }
-
-
- /**
* 鍑哄簱 ===>> 搴撲綅鍒板爢鍨涙満绔�
*/
public boolean locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol){
@@ -946,6 +777,192 @@
}
/**
+ * 褰撳墠搴撲綅缁勬槸鍚﹀瓨鍦ㄧ┖闂插皬杞�
+ */
+ public Integer hasCarOfIdle(String locNo) {
+ for (SteSlave ste : slaveProperties.getSte()) {
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { continue; }
+ if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+ if (Utils.getGroupRow(locNo).equals(Utils.getGroupRow(steProtocol.getRow().intValue())) && steProtocol.getBay() == Utils.getBay(locNo) && steProtocol.getLev() == Utils.getLev(locNo)) {
+ return steProtocol.getSteNo().intValue();
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 鏌ユ壘褰撳墠搴撲綅鏈�閫傚悎鐨勭┛姊溅鏉ヤ綔涓�
+ */
+ public SteThread queryIdleCar(WrkMast wrkMast) {
+ Integer crnNo = wrkMast.getCrnNo();
+ BasSte basSte = basSteService.findByCrnNo(crnNo);
+ // 鑾峰彇绌挎杞︿俊鎭�
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, basSte.getSteNo());
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol != null) {
+ if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+ return steThread;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 璁╁皬杞︿粠 杩滅偣 ====>> 绉诲姩鍒拌繎鐐�
+ * 绛夊緟鍫嗗灈鏈烘惉杩�
+ */
+ public void letCarBeReady(WrkMast wrkMast, Integer steNo) {
+ // 鑾峰彇绌挎杞︿俊鎭�
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { return; }
+ if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+
+ // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+ SteCommand steCommand = new SteCommand();
+ steCommand.setSteNo(steNo); // 绌挎杞︾紪鍙�
+ steCommand.setTaskNo(wrkMast.getWrkNo()); // 宸ヤ綔鍙�
+ steCommand.setTaskMode(SteTaskModeType.TO_B); // 浠诲姟妯″紡: 鍘昏繎鐐� 绛夊緟鍫嗗灈鏈哄弶鍙�
+ if (!MessageQueue.offer(SlaveType.Ste, steNo, new Task(2, steCommand))) {
+ log.error("绌挎杞﹀懡浠や笅鍙戝け璐ワ紝绌挎杞﹀彿={}锛屼换鍔℃暟鎹�={}", steNo, JSON.toJSON(steCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞�
+ wrkMast.setSteNo(steNo);
+ wrkMast.setModiTime(new Date());
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 缁戝畾绌挎杞� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ }
+ }
+ }
+
+ /**
+ * 鍏ュ嚭搴� ===>> 鍫嗗灈鏈烘惉鍏ュ皬杞�
+ */
+ public void carMoveIn(WrkMast wrkMast, Integer steNo, CrnProtocol crnProtocol) {
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { return; }
+ if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+ // 鍫嗗灈鏈虹┖闂�
+ if (crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() == 0) {
+ LocMast locMast;
+ // 鍏ュ簱鎼�
+ if (wrkMast.getWrkSts() <= 10) {
+ locMast = locMastService.selectById(wrkMast.getLocNo());
+ // 鍫嗗灈鏈哄懡浠や笅鍙戝尯 --------------------------------------------------------------------------
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand.setSourcePosX(steProtocol.getRow()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX(Utils.getGroupRow(locMast.getLocNo()).shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY(locMast.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 鐩爣搴撲綅灞�
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 3.灏忚溅寰呮惉 => 4.杩佸叆灏忚溅
+ Date now = new Date();
+ wrkMast.setWrkSts(4L);
+ wrkMast.setCrnStrTime(now);
+ wrkMast.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 3.灏忚溅寰呮惉 => 4.杩佸叆灏忚溅 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ }
+ // 鍑哄簱鎼�
+ } else {
+ locMast = locMastService.selectById(wrkMast.getSourceLocNo());
+ // 鍫嗗灈鏈哄懡浠や笅鍙戝尯 --------------------------------------------------------------------------
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand.setSourcePosX(steProtocol.getRow()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX(Utils.getGroupRow(locMast.getLocNo()).shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY(locMast.getBay1().shortValue()); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ(locMast.getLev1().shortValue()); // 鐩爣搴撲綅灞�
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ } else {
+ // 淇敼宸ヤ綔妗g姸鎬� 12.灏忚溅寰呮惉 => 13.杩佸叆灏忚溅
+ Date now = new Date();
+ wrkMast.setWrkSts(13L);
+ wrkMast.setCrnStrTime(now);
+ wrkMast.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 12.灏忚溅寰呮惉 => 13.杩佸叆灏忚溅 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ }
+ }
+ }
+
+ }
+ }
+
+ /**
+ * 鍏ュ簱 ===>> 鍫嗗灈鏈烘惉鍑哄皬杞�
+ */
+ public void carMoveOut(WrkMast wrkMast, Integer steNo, CrnProtocol crnProtocol) {
+ // 鑾峰彇绌挎杞︿俊鎭�
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steNo);
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { return; }
+ // 绌挎杞︾┖闂�
+ if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
+ // 鍫嗗灈鏈虹┖闂�
+ if (crnProtocol.getStatusType().equals(CrnStatusType.IDLE) || crnProtocol.getTaskNo() == 0) {
+
+ BasSte basSte = basSteService.selectById(steNo);
+ if (basSte == null) {
+ log.error("{}鍙风┛姊溅鍦ㄦ暟鎹簱涓嶅瓨鍦紒锛侊紒", steNo);
+ return;
+ }
+ String idleLocNo = basSte.getIdleLoc();
+
+ // 鍫嗗灈鏈哄懡浠や笅鍙戝尯 --------------------------------------------------------------------------
+ CrnCommand crnCommand = new CrnCommand();
+ crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙�
+ crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
+ crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆
+ crnCommand.setSourcePosX(steProtocol.getRow()); // 婧愬簱浣嶆帓
+ crnCommand.setSourcePosY(steProtocol.getBay()); // 婧愬簱浣嶅垪
+ crnCommand.setSourcePosZ(steProtocol.getLev()); // 婧愬簱浣嶅眰
+ crnCommand.setDestinationPosX(Utils.getGroupRow(idleLocNo).shortValue()); // 鐩爣搴撲綅鎺�
+ crnCommand.setDestinationPosY((short) Utils.getBay(idleLocNo)); // 鐩爣搴撲綅鍒�
+ crnCommand.setDestinationPosZ((short) Utils.getLev(idleLocNo)); // 鐩爣搴撲綅灞�
+ if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) {
+ log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand));
+ } else {
+
+ // 淇敼宸ヤ綔妗g姸鎬� 3.灏忚溅寰呮惉 => 5.杩佸嚭灏忚溅
+ Date now = new Date();
+ wrkMast.setWrkSts(5L);
+ wrkMast.setCrnStrTime(now);
+ wrkMast.setModiTime(now);
+ if (wrkMastMapper.updateById(wrkMast) == 0) {
+ log.error("淇敼宸ヤ綔妗g姸鎬� 3.灏忚溅寰呮惉 => 5.杩佸嚭灏忚溅 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
+ }
+ }
+ }
+ }
+ }
+
+
+ /**
* 鎵ц瀵瑰伐浣滄。鐨勫畬鎴愭搷浣�
*/
@Async
@@ -959,7 +976,7 @@
// 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1
if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) {
// 鑾峰彇鍏ュ簱寰呯‘璁ゅ伐浣滄。
- WrkMast wrkMast = wrkMastMapper.selectPakInStep7(crnProtocol.getTaskNo().intValue());
+ WrkMast wrkMast = wrkMastMapper.selectCrnWaiting(crnProtocol.getTaskNo().intValue());
if (wrkMast == null) {
log.error("鍫嗗灈鏈哄浜庣瓑寰呯‘璁や笖浠诲姟瀹屾垚鐘舵�侊紝浣嗘湭鎵惧埌宸ヤ綔妗c�傚爢鍨涙満鍙�={}锛屽伐浣滃彿={}", crn.getId(), crnProtocol.getTaskNo());
continue;
@@ -1135,23 +1152,6 @@
}
}
- }
-
- /**
- * 鏌ユ壘褰撳墠搴撲綅鏈�閫傚悎鐨勭┛姊溅鏉ヤ綔涓�
- */
- public SteThread queryIdleCar(WrkMast wrkMast) {
- Integer crnNo = wrkMast.getCrnNo();
- BasSte basSte = basSteService.findByCrnNo(crnNo);
- // 鑾峰彇绌挎杞︿俊鎭�
- SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, basSte.getSteNo());
- SteProtocol steProtocol = steThread.getSteProtocol();
- if (steProtocol != null) {
- if (steProtocol.getStatusType().equals(SteStatusType.IDLE)) {
- return steThread;
- }
- }
- return null;
}
/**
--
Gitblit v1.9.1