From 8ad012e177451a736391e478c955949265af08b2 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期二, 14 一月 2025 10:56:02 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 519 ++++++++++++++++++++++++--------------------------------
1 files changed, 223 insertions(+), 296 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 bcd44a1..1514ae1 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -55,6 +55,8 @@
@Autowired
private BasShuttleErrService basShuttleErrService;
@Autowired
+ private BasLiftErrService basLiftErrService;
+ @Autowired
private CommonService commonService;
@Autowired
private BasMapService basMapService;
@@ -837,45 +839,46 @@
//灏嗕换鍔℃。鏍囪涓哄畬鎴�
WrkMast wrkMast = wrkMastService.selectByWorkNo(shuttleProtocol.getTaskNo());
if (wrkMast != null) {
- switch (wrkMast.getWrkSts().intValue()) {
-// case 5://5.灏忚溅鎼繍涓� ==> 9.鍏ュ簱瀹屾垚
-// wrkMast.setWrkSts(9L);
-// shuttleProtocol.setTaskNo(0);
-// if (shuttleProtocol.getToken().equals(wrkMast.getWrkNo())) {
-// //閲婃斁灏忚溅浠ょ墝
-// shuttleProtocol.setToken(0);
-// }
-// break;
-// case 22://22.灏忚溅鎼繍涓� ==> 23.灏忚溅鎼繍瀹屾垚
-// wrkMast.setWrkSts(23L);
-// shuttleProtocol.setTaskNo(0);
-// if (shuttleProtocol.getToken().equals(wrkMast.getWrkNo())) {
-// //閲婃斁灏忚溅浠ょ墝
-// shuttleProtocol.setToken(0);
-// }
-// break;
- case 302://302.灏忚溅绉诲姩鑷崇珯鐐� ==> 303.灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴�
- wrkMast.setWrkSts(WrkStsType.MOVE_SITE_COMPLETE.sts);
- break;
- case 110://310.灏忚溅绉诲姩涓� ==> 311.灏忚溅绉诲姩瀹屾垚
- wrkMast.setWrkSts(WrkStsType.COMPLETE_MOVE.sts);
- shuttleThread.setTaskNo(0);
- break;
- default:
+ if (wrkMast.getWrkSts() == WrkStsType.MOVE_SITE.sts) {
+ //302.灏忚溅绉诲姩鑷崇珯鐐� ==> 303.灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴�
+ wrkMast.setWrkSts(WrkStsType.MOVE_SITE_COMPLETE.sts);
+ } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_SHUTTLE.sts) {
+ //310.灏忚溅绉诲姩涓� ==> 311.灏忚溅绉诲姩瀹屾垚
+ wrkMast.setWrkSts(WrkStsType.COMPLETE_MOVE.sts);
+ shuttleThread.setSyncTaskNo(0);
+ } else if (wrkMast.getWrkSts() == WrkStsType.CHARGE_SHUTTLE_WORKING.sts) {
+ //204.灏忚溅鍏呯數涓� ==> 205.灏忚溅鍏呯數瀹屾垚
+ wrkMast.setWrkSts(WrkStsType.CHARGE_SHUTTLE_COMPLETE.sts);
+ shuttleThread.setSyncTaskNo(0);
}
+// switch (wrkMast.getWrkSts().intValue()) {
+//// case 5://5.灏忚溅鎼繍涓� ==> 9.鍏ュ簱瀹屾垚
+//// wrkMast.setWrkSts(9L);
+//// shuttleProtocol.setTaskNo(0);
+//// if (shuttleProtocol.getToken().equals(wrkMast.getWrkNo())) {
+//// //閲婃斁灏忚溅浠ょ墝
+//// shuttleProtocol.setToken(0);
+//// }
+//// break;
+//// case 22://22.灏忚溅鎼繍涓� ==> 23.灏忚溅鎼繍瀹屾垚
+//// wrkMast.setWrkSts(23L);
+//// shuttleProtocol.setTaskNo(0);
+//// if (shuttleProtocol.getToken().equals(wrkMast.getWrkNo())) {
+//// //閲婃斁灏忚溅浠ょ墝
+//// shuttleProtocol.setToken(0);
+//// }
+//// break;
+// case 302:
+// wrkMast.setWrkSts(WrkStsType.MOVE_SITE_COMPLETE.sts);
+// break;
+// case WrkStsType.MOVE_SHUTTLE.sts:
+// wrkMast.setWrkSts(WrkStsType.COMPLETE_MOVE.sts);
+// shuttleThread.setSyncTaskNo(0);
+// break;
+// default:
+// }
if (wrkMastService.updateById(wrkMast)) {
- if (wrkMast.getWrkSts() == 111) {
- // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
- if (wrkMastLogMapper.save(wrkMast.getWrkNo()) <= 0) {
- log.info("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={0}]澶辫触", wrkMast.getWrkNo());
- }
- // 鍒犻櫎宸ヤ綔涓绘。
- if (!wrkMastService.deleteById(wrkMast)) {
- log.info("鍒犻櫎宸ヤ綔涓绘。[workNo={0}]澶辫触", wrkMast.getWrkNo());
- }
- }
-
//璁剧疆鍥涘悜绌挎杞︿负绌洪棽鐘舵��
shuttleThread.setProtocolStatus(ShuttleProtocolStatusType.IDLE);
News.info("鍥涘悜绌挎杞﹀凡纭涓斾换鍔″畬鎴愮姸鎬�,澶嶄綅銆傚洓鍚戠┛姊溅鍙�={}", shuttleProtocol.getShuttleNo());
@@ -1293,221 +1296,162 @@
}
}
-// /**
-// * 寮傚父淇℃伅璁板綍
-// */
-// public void recErr() {
-// try {
-// this.recShuttleErr();
-// this.recLiftErr();
-// } catch (Exception e) {
-// News.error("recErr fail", e);
-// }
-// }
+ /**
+ * 寮傚父淇℃伅璁板綍
+ */
+ public void recErr() {
+ try {
+ this.recShuttleErr();
+ this.recLiftErr();
+ } catch (Exception e) {
+ News.error("recErr fail", e);
+ }
+ }
-// /**
-// * 鍥涘悜绌挎杞﹀紓甯镐俊鎭褰�
-// */
-// private void recShuttleErr() {
-// Date now = new Date();
-// for (ShuttleSlave shuttleSlave : slaveProperties.getShuttle()) {
-// // 鑾峰彇鍥涘悜绌挎杞︿俊鎭�
-// NyShuttleThread shuttleThread = (NyShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttleSlave.getId());
-// if (shuttleThread == null) {
-// continue;
-// }
-// NyShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
-// if (shuttleProtocol == null) {
-// continue;
-// }
-//
-// if (shuttleProtocol.getTaskNo() != 0) {
-// //鏈変换鍔�
-// BasShuttleErrLog latest = basShuttleErrLogService.findLatestByTaskNo(shuttleSlave.getId(), shuttleProtocol.getTaskNo());
-// // 鏈夊紓甯�
-// if (latest == null) {
-// if (shuttleProtocol.getErrState() != null && shuttleProtocol.getErrState() == 1) {
-// WrkMast wrkMast = wrkMastMapper.selectById(shuttleProtocol.getTaskNo());
-// if (wrkMast == null) {
-// continue;
-// }
-// BasShuttleErr basShuttleErr = basShuttleErrService.queryByCode(shuttleProtocol.getErrCode());
-// String errName = basShuttleErr==null? "鏈煡寮傚父":basShuttleErr.getErrName();
-// BasShuttleErrLog basShuttleErrLog = new BasShuttleErrLog(
-// null, // 缂栧彿
-// wrkMast.getWrkNo(), // 宸ヤ綔鍙�
-// now, // 鍙戠敓鏃堕棿
-// null, // 缁撴潫鏃堕棿
-// wrkMast.getWrkSts(), // 宸ヤ綔鐘舵��
-// wrkMast.getIoType(), // 鍏ュ嚭搴撶被鍨�
-// shuttleSlave.getId(), // 鍥涘悜绌挎杞�
-// null, // plc
-// wrkMast.getLocNo(), // 鐩爣搴撲綅
-// wrkMast.getStaNo(), // 鐩爣绔�
-// wrkMast.getSourceStaNo(), // 婧愮珯
-// wrkMast.getSourceLocNo(), // 婧愬簱浣�
-// wrkMast.getBarcode(), // 鏉$爜
-// shuttleProtocol.getErrCode(), // 寮傚父鐮�
-// errName, // 寮傚父
-// 1, // 寮傚父鎯呭喌
-// now, // 娣诲姞鏃堕棿
-// null, // 娣诲姞浜哄憳
-// now, // 淇敼鏃堕棿
-// null, // 淇敼浜哄憳
-// "浠诲姟涓紓甯�", // 澶囨敞
-// JSON.toJSONString(shuttleProtocol) // 绯荤粺鐘舵�佹暟鎹�
-// );
-// if (!basShuttleErrLogService.insert(basShuttleErrLog)) {
-// News.error("鍥涘悜绌挎杞lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", shuttleSlave.getId(), errName);
-// }
-// }
-// } else {
-// // 寮傚父淇
-// if (shuttleProtocol.getErrState() == null || shuttleProtocol.getErrState() == 0) {
-// latest.setEndTime(now);
-// latest.setUpdateTime(now);
-// latest.setStatus(2);
-// if (!basShuttleErrLogService.updateById(latest)) {
-// News.error("鍥涘悜绌挎杞lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", shuttleSlave.getId(), latest.getId());
-// }
-// }
-// }
-// }else {
-//// //鏃犱换鍔�
-//// BasShuttleErrLog latest = basShuttleErrLogService.findLatest(shuttleSlave.getId());
-//// // 鏈夊紓甯�
-//// if (shuttleProtocol.getStatusErrorCode() != null && shuttleProtocol.getStatusErrorCode() > 0) {
-//// // 璁板綍鏂板紓甯�
-//// if (latest == null || (latest.getErrCode() != shuttleProtocol.getStatusErrorCode().intValue())) {
-//// BasShuttleErr basShuttleErr = basShuttleErrService.queryByCode(shuttleProtocol.getStatusErrorCode().intValue());
-//// String errName = basShuttleErr==null? "鏈煡寮傚父":basShuttleErr.getErrName();
-//// BasShuttleErrLog basShuttleErrLog = new BasShuttleErrLog(
-//// null, // 缂栧彿
-//// null, // 宸ヤ綔鍙�
-//// now, // 鍙戠敓鏃堕棿
-//// null, // 缁撴潫鏃堕棿
-//// null, // 宸ヤ綔鐘舵��
-//// null, // 鍏ュ嚭搴撶被鍨�
-//// shuttleSlave.getId(), // 鍥涘悜绌挎杞�
-//// null, // plc
-//// null, // 鐩爣搴撲綅
-//// null, // 鐩爣绔�
-//// null, // 婧愮珯
-//// null, // 婧愬簱浣�
-//// null, // 鏉$爜
-//// (int)shuttleProtocol.getStatusErrorCode(), // 寮傚父鐮�
-//// errName, // 寮傚父
-//// 1, // 寮傚父鎯呭喌
-//// now, // 娣诲姞鏃堕棿
-//// null, // 娣诲姞浜哄憳
-//// now, // 淇敼鏃堕棿
-//// null, // 淇敼浜哄憳
-//// "鏃犱换鍔″紓甯�" // 澶囨敞
-//// );
-//// if (!basShuttleErrLogService.insert(basShuttleErrLog)) {
-//// News.error("鍥涘悜绌挎杞lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", shuttleSlave.getId(), errName);
-//// }
-//// }
-//// // 鏃犲紓甯�
-//// } else {
-//// // 寮傚父淇
-//// if (latest != null && latest.getStatus() == 1) {
-//// latest.setEndTime(now);
-//// latest.setUpdateTime(now);
-//// latest.setStatus(2);
-//// if (!basShuttleErrLogService.updateById(latest)) {
-//// News.error("鍥涘悜绌挎杞lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", shuttleSlave.getId(), latest.getId());
-//// }
-//// }
-//// }
-// }
-// }
-// }
-//
-// /**
-// * 鎻愬崌鏈哄紓甯镐俊鎭褰�
-// */
-// private void recLiftErr() {
-// Date now = new Date();
-// for (LiftSlave liftSlave : slaveProperties.getLift()) {
-// // 鑾峰彇鎻愬崌鏈轰俊鎭�
-// LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, liftSlave.getId());
-// if (liftThread == null) {
-// continue;
-// }
-// LiftProtocol liftProtocol = liftThread.getLiftProtocol();
-// if (liftProtocol == null) {
-// continue;
-// }
-//
-// if (liftProtocol.getTaskNo() != 0) {
-// //鏈変换鍔�
-// BasLiftErrLog latest = basLiftErrLogService.findLatestByTaskNo(liftSlave.getId(), liftProtocol.getTaskNo().intValue());
-// // 鏈夊紓甯�
-// if (latest == null) {
-// if (liftProtocol.getDeviceError() != null && liftProtocol.getDeviceError()) {
-// WrkMast wrkMast = wrkMastMapper.selectById(liftProtocol.getTaskNo());
-// if (wrkMast == null) {
-// continue;
-// }
-//
-// String errName = "";
-// if (liftProtocol.getFrontOverrun()) {
-// errName = "鍓嶈秴闄�";
-// } else if (liftProtocol.getBackOverrun()) {
-// errName = "鍚庤秴闄�";
-// } else if (liftProtocol.getLeftOverrun()) {
-// errName = "宸﹁秴闄�";
-// } else if (liftProtocol.getRightOverrun()) {
-// errName = "鍙宠秴闄�";
-// } else if (liftProtocol.getOverHeight()) {
-// errName = "瓒呴珮";
-// } else if (liftProtocol.getOverWeight()) {
-// errName = "瓒呴噸";
-// }
-//
-// BasLiftErrLog basLiftErrLog = new BasLiftErrLog(
-// null, // 缂栧彿
-// wrkMast.getWrkNo(), // 宸ヤ綔鍙�
-// now, // 鍙戠敓鏃堕棿
-// null, // 缁撴潫鏃堕棿
-// wrkMast.getWrkSts(), // 宸ヤ綔鐘舵��
-// wrkMast.getIoType(), // 鍏ュ嚭搴撶被鍨�
-// liftSlave.getId(), // 鎻愬崌鏈�
-// null, // plc
-// wrkMast.getLocNo(), // 鐩爣搴撲綅
-// wrkMast.getStaNo(), // 鐩爣绔�
-// wrkMast.getSourceStaNo(), // 婧愮珯
-// wrkMast.getSourceLocNo(), // 婧愬簱浣�
-// wrkMast.getBarcode(), // 鏉$爜
-// null, // 寮傚父鐮�
-// errName, // 寮傚父
-// 1, // 寮傚父鎯呭喌
-// now, // 娣诲姞鏃堕棿
-// null, // 娣诲姞浜哄憳
-// now, // 淇敼鏃堕棿
-// null, // 淇敼浜哄憳
-// "浠诲姟涓紓甯�", // 澶囨敞
-// JSON.toJSONString(liftProtocol) // 绯荤粺鐘舵�佹暟鎹�
-// );
-// if (!basLiftErrLogService.insert(basLiftErrLog)) {
-// News.error("鎻愬崌鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", liftSlave.getId(), errName);
-// }
-// }
-// } else {
-// // 寮傚父淇
-// if (liftProtocol.getDeviceError() == null || !liftProtocol.getDeviceError()) {
-// latest.setEndTime(now);
-// latest.setUpdateTime(now);
-// latest.setStatus(2);
-// if (!basLiftErrLogService.updateById(latest)) {
-// News.error("鎻愬崌鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", liftSlave.getId(), latest.getId());
-// }
-// }
-// }
-// }
-// }
-// }
+ /**
+ * 鍥涘悜绌挎杞﹀紓甯镐俊鎭褰�
+ */
+ private void recShuttleErr() {
+ Date now = new Date();
+ for (ShuttleSlave shuttleSlave : slaveProperties.getShuttle()) {
+ // 鑾峰彇鍥涘悜绌挎杞︿俊鎭�
+ ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttleSlave.getId());
+ if (shuttleThread == null) {
+ continue;
+ }
+ ShuttleProtocol shuttleProtocol = shuttleThread.getStatus();
+ if (shuttleProtocol == null) {
+ continue;
+ }
+
+ if (shuttleProtocol.getTaskNo() != 0) {
+ //鏈変换鍔�
+ BasShuttleErrLog latest = basShuttleErrLogService.findLatestByTaskNo(shuttleSlave.getId(), shuttleProtocol.getTaskNo());
+ // 鏈夊紓甯�
+ if (latest == null) {
+ if (shuttleProtocol.getErrorCode() != null && Integer.parseInt(shuttleProtocol.getErrorCode()) != 0) {
+ WrkMast wrkMast = wrkMastService.selectByWorkNo(shuttleProtocol.getTaskNo());
+ if (wrkMast == null) {
+ continue;
+ }
+ int errorCode = Integer.parseInt(shuttleProtocol.getErrorCode());
+ BasShuttleErr basShuttleErr = basShuttleErrService.queryByCode(errorCode);
+ String errName = basShuttleErr==null? "鏈煡寮傚父":basShuttleErr.getErrName();
+ BasShuttleErrLog basShuttleErrLog = new BasShuttleErrLog(
+ null, // 缂栧彿
+ wrkMast.getWrkNo(), // 宸ヤ綔鍙�
+ now, // 鍙戠敓鏃堕棿
+ null, // 缁撴潫鏃堕棿
+ wrkMast.getWrkSts(), // 宸ヤ綔鐘舵��
+ wrkMast.getIoType(), // 鍏ュ嚭搴撶被鍨�
+ shuttleSlave.getId(), // 鍥涘悜绌挎杞�
+ null, // plc
+ wrkMast.getLocNo(), // 鐩爣搴撲綅
+ wrkMast.getStaNo(), // 鐩爣绔�
+ wrkMast.getSourceStaNo(), // 婧愮珯
+ wrkMast.getSourceLocNo(), // 婧愬簱浣�
+ wrkMast.getBarcode(), // 鏉$爜
+ errorCode, // 寮傚父鐮�
+ errName, // 寮傚父
+ 1, // 寮傚父鎯呭喌
+ now, // 娣诲姞鏃堕棿
+ null, // 娣诲姞浜哄憳
+ now, // 淇敼鏃堕棿
+ null, // 淇敼浜哄憳
+ "浠诲姟涓紓甯�", // 澶囨敞
+ JSON.toJSONString(shuttleProtocol) // 绯荤粺鐘舵�佹暟鎹�
+ );
+ if (!basShuttleErrLogService.insert(basShuttleErrLog)) {
+ News.error("鍥涘悜绌挎杞lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", shuttleSlave.getId(), errName);
+ }
+ }
+ } else {
+ // 寮傚父淇
+ if (shuttleProtocol.getErrorCode() == null || Integer.parseInt(shuttleProtocol.getErrorCode()) == 0) {
+ latest.setEndTime(now);
+ latest.setUpdateTime(now);
+ latest.setStatus(2);
+ if (!basShuttleErrLogService.updateById(latest)) {
+ News.error("鍥涘悜绌挎杞lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", shuttleSlave.getId(), latest.getId());
+ }
+ }
+ }
+ }
+ }
+ }
+
+ /**
+ * 鎻愬崌鏈哄紓甯镐俊鎭褰�
+ */
+ private void recLiftErr() {
+ Date now = new Date();
+ for (ForkLiftSlave forkLiftSlave : slaveProperties.getForkLift()) {
+ // 鑾峰彇鎻愬崌鏈轰俊鎭�
+ ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, forkLiftSlave.getId());
+ if (forkLiftThread == null) {
+ continue;
+ }
+ ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus();
+ if (forkLiftProtocol == null) {
+ continue;
+ }
+
+ if (forkLiftProtocol.getTaskNo() != 0) {
+ //鏈変换鍔�
+ BasLiftErrLog latest = basLiftErrLogService.findLatestByTaskNo(forkLiftSlave.getId(), forkLiftProtocol.getTaskNo());
+ // 鏈夊紓甯�
+ if (latest == null) {
+ if (forkLiftProtocol.getErrorCode() != null && forkLiftProtocol.getErrorCode() != 0) {
+ WrkMast wrkMast = wrkMastService.selectByWorkNo(forkLiftProtocol.getWrkNo());
+ if (wrkMast == null) {
+ continue;
+ }
+
+ BasLiftErr basLiftErr = basLiftErrService.queryByCode(forkLiftProtocol.getErrorCode());
+ String errName = basLiftErr==null? "鏈煡寮傚父":basLiftErr.getErrName();
+
+ BasLiftErrLog basLiftErrLog = new BasLiftErrLog(
+ null, // 缂栧彿
+ wrkMast.getWrkNo(), // 宸ヤ綔鍙�
+ now, // 鍙戠敓鏃堕棿
+ null, // 缁撴潫鏃堕棿
+ wrkMast.getWrkSts(), // 宸ヤ綔鐘舵��
+ wrkMast.getIoType(), // 鍏ュ嚭搴撶被鍨�
+ forkLiftSlave.getId(), // 鎻愬崌鏈�
+ null, // plc
+ wrkMast.getLocNo(), // 鐩爣搴撲綅
+ wrkMast.getStaNo(), // 鐩爣绔�
+ wrkMast.getSourceStaNo(), // 婧愮珯
+ wrkMast.getSourceLocNo(), // 婧愬簱浣�
+ wrkMast.getBarcode(), // 鏉$爜
+ null, // 寮傚父鐮�
+ errName, // 寮傚父
+ 1, // 寮傚父鎯呭喌
+ now, // 娣诲姞鏃堕棿
+ null, // 娣诲姞浜哄憳
+ now, // 淇敼鏃堕棿
+ null, // 淇敼浜哄憳
+ "浠诲姟涓紓甯�", // 澶囨敞
+ JSON.toJSONString(forkLiftProtocol) // 绯荤粺鐘舵�佹暟鎹�
+ );
+ if (!basLiftErrLogService.insert(basLiftErrLog)) {
+ News.error("鎻愬崌鏈簆lc寮傚父璁板綍澶辫触 ===>> [id:{}] [error:{}]", forkLiftSlave.getId(), errName);
+ }
+ }
+ } else {
+ // 寮傚父淇
+ if (forkLiftProtocol.getErrorCode() == null || forkLiftProtocol.getErrorCode() == 0) {
+ latest.setEndTime(now);
+ latest.setUpdateTime(now);
+ latest.setStatus(2);
+ if (!basLiftErrLogService.updateById(latest)) {
+ News.error("鎻愬崌鏈簆lc寮傚父璁板綍淇澶辫触 ===>> [id:{}] [errLogId:{}]", forkLiftSlave.getId(), latest.getId());
+ }
+ }
+ }
+ }
+ }
+ }
// -------------------------------------------------------------------------------
@@ -1901,7 +1845,7 @@
*/
public synchronized void executeShuttleCharge() {
try {
- //鏌ヨ灏忚溅绉诲簱浠诲姟
+ //鏌ヨ灏忚溅鍏呯數浠诲姟
for (ShuttleSlave shuttle : slaveProperties.getShuttle()) {
WrkMast wrkMast = wrkMastService.selectChargeWorking(shuttle.getId());
if(wrkMast == null) {
@@ -2027,7 +1971,7 @@
assignCommand.setTaskMode(ShuttleTaskModeType.CHARGE.id);//鍑哄簱妯″紡
assignCommand.setSourceLocNo(shuttleProtocol.getCurrentLocNo());//婧愬簱浣�(灏忚溅褰撳墠浣嶇疆)
- List<ShuttleCommand> commands = shuttleOperaUtils.shuttleChargeCommand(assignCommand, shuttleThread, true);
+ List<ShuttleCommand> commands = shuttleOperaUtils.getShuttleChargeCommand(assignCommand, shuttleThread, true);
assignCommand.setCommands(commands);//杩愯鍛戒护
wrkMast.setWrkSts(WrkStsType.CHARGE_SHUTTLE_WORKING.sts);
@@ -2066,14 +2010,8 @@
assignCommand.setTaskMode(ShuttleTaskModeType.CHARGE.id);//鍑哄簱妯″紡
assignCommand.setSourceLocNo(shuttleProtocol.getCurrentLocNo());//婧愬簱浣�(灏忚溅褰撳墠浣嶇疆)
- List<ShuttleCommand> commands = shuttleOperaUtils.shuttleChargeCommand(assignCommand, shuttleThread, false);
+ List<ShuttleCommand> commands = shuttleOperaUtils.getShuttleChargeCommand(assignCommand, shuttleThread, false);
assignCommand.setCommands(commands);//杩愯鍛戒护
-
- wrkMast.setWrkSts(WrkStsType.CHARGE_SHUTTLE_COMPLETE.sts);
- wrkMast.setModiTime(new Date());
- if (!wrkMastService.updateById(wrkMast)) {
- return false;
- }
//涓嬪彂浠诲姟
shuttleAction.assignWork(shuttleProtocol.getShuttleNo(), assignCommand);
@@ -2094,22 +2032,22 @@
return false;
}
- ShuttleChargeType chargeType = ShuttleChargeType.get(wrkMast.getMk());
+ ShuttleChargeType chargeType = ShuttleChargeType.get(Integer.parseInt(wrkMast.getMk()));
if(chargeType == null) {
return false;
}
- wrkMast.setWrkSts(WrkStsType.CHARGE_SHUTTLE_COMPLETE.sts);
- wrkMast.setModiTime(new Date());
- if (wrkMastService.updateById(wrkMast)) {
- //璋冨害灏忚溅鍘诲緟鏈轰綅
- boolean dispatched = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), chargeType.waitLocNo, wrkMast.getShuttleNo());
- if (!dispatched) {
- return false;
- }
+ //璋冨害灏忚溅鍘诲緟鏈轰綅
+ boolean dispatched = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), chargeType.waitLocNo, wrkMast.getShuttleNo());
+ if (!dispatched) {
return false;
}
+ wrkMast.setWrkSts(WrkStsType.COMPLETE_CHARGE.sts);
+ wrkMast.setModiTime(new Date());
+ if (wrkMastService.updateById(wrkMast)) {
+ return false;
+ }
return false;
}
return true;
@@ -2210,23 +2148,23 @@
assignCommand.setCommands(commands);
- //*************灏濊瘯閿佸畾鐩爣绔欒矾寰�***************
- List<NavigateNode> targetNodes = ForkLiftUtils.getLiftStaNodes(wrkMast.getStaNo());
- if (targetNodes == null) {
- return false;//鏈幏鍙栧埌鑺傜偣
- }
- boolean checkPathIsAvailable = navigateUtils.checkPathIsAvailable(targetNodes, shuttleProtocol.getShuttleNo(), Utils.getLev(wrkMast.getLocNo()));
- if (!checkPathIsAvailable) {
- News.info("{}浠诲姟锛寋}灏忚溅锛岀洰鏍囩珯鐐硅矾寰勮鍗犵敤锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
- return false;//妫�娴嬬洰鏍囩珯鐐硅矾寰勬槸鍚︽湭琚崰鐢�
- }
- //灏濊瘯閿佸畾鐩爣绔欒矾寰�
- boolean result2 = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(wrkMast.getLocNo()), shuttleProtocol.getShuttleNo(), targetNodes, true);//鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹氱鐢�
- if (!result2) {
- News.info("{}浠诲姟锛寋}灏忚溅锛岃矾寰勯攣瀹氬け璐ワ紝绂佹娲惧彂", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
- return false;//璺緞閿佸畾澶辫触
- }
- //*************灏濊瘯閿佸畾鐩爣绔欒矾寰�***************
+// //*************灏濊瘯閿佸畾鐩爣绔欒矾寰�***************
+// List<NavigateNode> targetNodes = ForkLiftUtils.getLiftStaNodes(wrkMast.getStaNo());
+// if (targetNodes == null) {
+// return false;//鏈幏鍙栧埌鑺傜偣
+// }
+// boolean checkPathIsAvailable = navigateUtils.checkPathIsAvailable(targetNodes, shuttleProtocol.getShuttleNo(), Utils.getLev(wrkMast.getLocNo()));
+// if (!checkPathIsAvailable) {
+// News.info("{}浠诲姟锛寋}灏忚溅锛岀洰鏍囩珯鐐硅矾寰勮鍗犵敤锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
+// return false;//妫�娴嬬洰鏍囩珯鐐硅矾寰勬槸鍚︽湭琚崰鐢�
+// }
+// //灏濊瘯閿佸畾鐩爣绔欒矾寰�
+// boolean result2 = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(wrkMast.getLocNo()), shuttleProtocol.getShuttleNo(), targetNodes, true);//鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹氱鐢�
+// if (!result2) {
+// News.info("{}浠诲姟锛寋}灏忚溅锛岃矾寰勯攣瀹氬け璐ワ紝绂佹娲惧彂", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
+// return false;//璺緞閿佸畾澶辫触
+// }
+// //*************灏濊瘯閿佸畾鐩爣绔欒矾寰�***************
wrkMast.setWrkSts(WrkStsType.MOVE_SITE.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 301.鐢熸垚灏忚溅绉诲簱浠诲姟 ==> 302.灏忚溅绉诲姩鑷崇珯鐐�
wrkMast.setModiTime(now);
@@ -2340,17 +2278,6 @@
wrkMast.setLiftNo(null);//閲婃斁鎻愬崌鏈�
wrkMast.setModiTime(now);
wrkMastService.updateById(wrkMast);
-
- if (wrkMast.getWrkSts() == WrkStsType.COMPLETE_MOVE.sts) {
- // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
- if (wrkMastLogMapper.save(wrkMast.getWrkNo()) <= 0) {
- log.info("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={}]澶辫触", wrkMast.getWrkNo());
- }
- // 鍒犻櫎宸ヤ綔涓绘。
- if (!wrkMastService.deleteById(wrkMast)) {
- log.info("鍒犻櫎宸ヤ綔涓绘。[workNo={}]澶辫触", wrkMast.getWrkNo());
- }
- }
return false;
}
--
Gitblit v1.9.1