From 0143cc146be484ab3f41e15ec2fc4dab21ebc65f Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期二, 14 一月 2025 14:13:28 +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