From 83449fef571c247a2d73194b8063638349d0076a Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 20 十一月 2023 10:04:52 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/core/model/protocol/NyShuttleProtocol.java | 56 +++++++------
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 73 +++++++++++++++++-
src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java | 87 +++++++++++++++------
src/main/java/com/zy/core/thread/NyShuttleThread.java | 12 +-
4 files changed, 163 insertions(+), 65 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 0859375..8c189ed 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -737,6 +737,7 @@
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢锛岃嚜鍔ㄣ�佺┖闂层�佹湁鐗�
if (!(liftStaProtocol.getModel() && !liftStaProtocol.getBusy() && liftStaProtocol.getHasTray())) {
+ News.info("{}浠诲姟锛岃緭閫佺珯鐐圭姸鎬佷笉婊¤冻鍏ュ簱銆傝緭閫佺珯鐐�:{}", wrkMast.getWrkNo(), JSON.toJSONString(liftStaProtocol));
continue;
}
@@ -797,7 +798,8 @@
public boolean shuttleInExecuteStep1(WrkMast wrkMast, LiftStaProtocol liftStaProtocol) {
if (wrkMast.getWrkSts() == 4) {
if (wrkMast.getShuttleNo() == null) {//娌℃湁缁戝畾灏忚溅锛岃繘琛岃皟搴�
- shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), liftStaProtocol.getLocNo());//璋冨害灏忚溅鍒拌揣鐗╂墍鍦ㄨ緭閫佺珯鐐硅繘琛屽彇璐�
+ boolean result = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), liftStaProtocol.getLocNo());//璋冨害灏忚溅鍒拌揣鐗╂墍鍦ㄨ緭閫佺珯鐐硅繘琛屽彇璐�
+ News.info("{}浠诲姟锛岃皟搴﹀皬杞}绯荤粺绛夊緟涓�", wrkMast.getWrkNo(), result ? "鎴愬姛" : "澶辫触");
return false;
}
@@ -811,16 +813,19 @@
return false;
}
if (!shuttleProtocol.isIdle()) {
+ News.info("{}浠诲姟锛寋}灏忚溅蹇欑涓�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
//鍒ゆ柇灏忚溅浠ょ墝鏄惁鏈鍗犻
if (shuttleProtocol.getToken() != 0) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛屼护鐗屽凡琚嫭鍗狅紝绂佹娲惧彂浠诲姟", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;//灏忚溅宸茶鐙崰锛岀姝㈠啀娲惧彂浠诲姟
}
//鍒ゆ柇灏忚溅鏄惁瀛樺湪绉诲姩浠诲姟
WrkMast hasMoveWorking = wrkMastMapper.selectShuttleHasMoveWorking(wrkMast.getShuttleNo());
if (hasMoveWorking != null) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛屽瓨鍦ㄧЩ鍔ㄤ换鍔★紝绂佹娲惧彂浠诲姟", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;//瀛樺湪绉诲姩浠诲姟锛岀姝㈡墽琛屽叆搴撲换鍔�
}
@@ -828,12 +833,14 @@
if (!shuttleProtocol.getCurrentLocNo().equals(liftStaProtocol.getLocNo())) {
//灏忚溅涓嶅湪杈撻�佺珯鐐逛綅缃�
shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), liftStaProtocol.getLocNo(), wrkMast.getShuttleNo());//璋冨害灏忚溅鍒拌揣鐗╂墍鍦ㄨ緭閫佺珯鐐硅繘琛屽彇璐�
+ News.info("{}浠诲姟锛寋}灏忚溅锛屾湭鍒拌揪杈撻�佺珯鐐癸紝绯荤粺绛夊緟涓�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
//灏忚溅宸叉姷杈捐緭閫佺珯鐐逛綅缃紝杩涜鎼繍璐х墿
NyShuttleOperaResult result = NyShuttleOperaUtils.getShuttleTransportCommands(wrkMast.getShuttleNo(), wrkMast.getWrkNo(), shuttleProtocol.getCurrentLocNo(), wrkMast.getLocNo());
if (result == null) {//璺緞璁$畻澶辫触
+ News.info("{}浠诲姟锛寋}灏忚溅锛岃矾寰勮绠楀け璐ワ紝绯荤粺绛夊緟涓�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
@@ -884,6 +891,7 @@
wrapper.eq("stn_no", wrkMast.getStaNo());//鍑哄簱绔欑偣缂栧彿
StaDesc staDesc = staDescService.selectOne(wrapper);
if (staDesc == null) {
+ News.info("{}浠诲姟锛屽嚭搴撹矾寰勪笉瀛樺湪", wrkMast.getWrkNo());
return false;//鍑哄簱璺緞涓嶅瓨鍦�
}
@@ -894,16 +902,19 @@
}
if (!basDevp.getAutoing().equals("Y")) {
+ News.info("{}浠诲姟锛寋}绔欑偣锛屼笉鏄嚜鍔ㄧ姸鎬�",wrkMast.getWrkNo(),basDevp.getDevNo());
return false;//涓嶆槸鑷姩鐘舵��
}
if (!basDevp.getOutEnable().equals("Y")) {
+ News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙�", wrkMast.getWrkNo(), basDevp.getDevNo());
return false;//鍑哄簱绔欑偣涓嶅彲鍑�
}
Integer liftNo = basDevp.getLiftNo();//鎼滅储鍑哄簱鎻愬崌鏈烘槸鍚﹀瓨鍦ㄥ叆搴撲换鍔★紝濡傚瓨鍦ㄧ姝㈠嚭搴�
List<WrkMast> liftWrkMasts = wrkMastMapper.selectInWrkMastByLiftNo(liftNo);
if (!liftWrkMasts.isEmpty()) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屽瓨鍦ㄥ叆搴撲换鍔★紝绯荤粺绂佹鍑哄簱", wrkMast.getWrkNo(), liftNo);
return false;//瀛樺湪鍏ュ簱浠诲姟锛岀姝㈠嚭搴�
}
@@ -914,11 +925,13 @@
}
if (!(liftStaProtocol.getModel() && !liftStaProtocol.getBusy() && !liftStaProtocol.getHasTray())) {
+ News.info("{}浠诲姟锛寋}鍐呴儴杈撻�佺珯锛屼笉婊¤冻鑷姩銆佺┖闂层�佹棤鎵樼洏鐘舵��", wrkMast.getWrkNo(), liftStaProtocol.getStaNo());
return false;//绔欑偣蹇呴』鑷姩銆佺┖闂层�佹病鏈夋墭鐩�
}
if (wrkMast.getShuttleNo() == null) {//娌℃湁缁戝畾灏忚溅锛岃繘琛岃皟搴�
- shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), wrkMast.getSourceLocNo());//璋冨害灏忚溅鍒拌揣鐗╂墍鍦ㄥ簱浣嶈繘琛屽彇璐�
+ boolean result = shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), wrkMast.getSourceLocNo());//璋冨害灏忚溅鍒拌揣鐗╂墍鍦ㄥ簱浣嶈繘琛屽彇璐�
+ News.info("{}浠诲姟锛岃皟搴﹀皬杞}绯荤粺绛夊緟涓��", wrkMast.getWrkNo(), result ? "鎴愬姛" : "澶辫触");
return false;
}
@@ -932,10 +945,12 @@
return false;
}
if (!shuttleProtocol.isIdle()) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛屽繖纰屼腑", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
//鍒ゆ柇灏忚溅浠ょ墝鏄惁鏈鍗犻
if (shuttleProtocol.getToken() != 0) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛屼护鐗屽凡琚嫭鍗狅紝绂佹娲惧彂浠诲姟", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;//灏忚溅宸茶鐙崰锛岀姝㈠啀娲惧彂浠诲姟
}
@@ -943,12 +958,14 @@
if (!shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
//灏忚溅涓嶅湪杈撻�佺珯鐐逛綅缃�
shuttleDispatchUtils.dispatchShuttle(wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), wrkMast.getShuttleNo());//璋冨害灏忚溅鍒拌揣鐗╂墍鍦ㄥ簱浣嶈繘琛屽彇璐�
+ News.info("{}浠诲姟锛寋}灏忚溅锛屾湭鍒拌揪杈撻�佺珯鐐癸紝绯荤粺绛夊緟涓�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
//灏忚溅宸叉姷杈捐揣鐗╀綅缃紝杩涜鎼繍璐х墿
NyShuttleOperaResult result = NyShuttleOperaUtils.getShuttleTransportCommands(wrkMast.getShuttleNo(), wrkMast.getWrkNo(), wrkMast.getSourceLocNo(), liftStaProtocol.getLocNo());//灏嗚揣鐗╂惉杩愯嚦鎻愬崌鏈鸿緭閫佺珯鐐�
if (result == null) {//鍑哄簱璺緞璁$畻澶辫触
+ News.info("{}浠诲姟锛寋}灏忚溅锛岃矾寰勮绠楀け璐ワ紝绯荤粺绛夊緟涓�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
@@ -986,8 +1003,6 @@
}
//鍥涘悜绌挎杞︾姸鎬佷负绛夊緟纭銆佸皬杞﹀浜庣┖闂茬姸鎬�
-
-
if (shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.WAITING.id //浠诲姟瀹屾垚绛夊緟纭
&& shuttleProtocol.getTaskNo() != 0
&& shuttleProtocol.getFree() == ShuttleStatusType.IDLE.id
@@ -1097,11 +1112,13 @@
}
if (!liftProtocol.isIdle()) {
+ News.info("{}鍙锋彁鍗囨満锛屽繖纰屼腑", liftSlave.getId());
continue;
}
//鍒ゆ柇鎻愬崌鏈轰护鐗屾槸鍚﹁鍗犵敤
if (liftProtocol.getToken() != 0) {
+ News.info("{}鍙锋彁鍗囨満锛屼护鐗屽凡琚嫭鍗�", liftSlave.getId());
continue;
}
@@ -1115,6 +1132,7 @@
//鎼滅储鏄惁鏈夊叾浠栦换鍔″崰鐢ㄤ簡鎻愬崌鏈猴紝濡傛灉鍗犵敤鎻愬崌鏈虹殑浠诲姟鍜屽綋鍓嶄换鍔$浉鍚岋紝鍒欒繍琛屾墽琛�
WrkMast wrkMast1 = wrkMastMapper.selectLiftWrkMast(liftProtocol.getLiftNo().intValue());
if (wrkMast1 != null && wrkMast1.getWrkNo().intValue() != wrkMast.getWrkNo().intValue()) {
+ News.info("{0}鍙锋彁鍗囨満锛岃鍏朵粬浠诲姟{1}鍗犵敤涓斿拰褰撳墠浠诲姟{2}涓嶇浉鍚岋紝绂佹娲惧彂", liftSlave.getId(), wrkMast1.getWrkNo(), wrkMast.getWrkNo());
continue;
}
@@ -1150,6 +1168,7 @@
}
if (!sourceBasDevp.getInEnable().equals("Y")) {
+ News.info("{}浠诲姟锛寋}婧愮珯锛屾病鏈夊彲鍏ヤ俊鍙�", wrkMast.getWrkNo(), sourceBasDevp.getDevNo());
return false;//绔欑偣涓嶅彲鍏�
}
@@ -1158,10 +1177,12 @@
Integer outInModel2 = Utils.getOutInModelByLift(sourceBasDevp.getLiftNo(), 5);
Integer outInModel3 = Utils.getOutInModelByLift(sourceBasDevp.getLiftNo(), 8);
if (outInModel1 == null || outInModel2 == null || outInModel3 == null) {
+ News.info("{}浠诲姟锛屾病鏈夊嚭鍏ュ簱妯″紡", wrkMast.getWrkNo());
return false;//涓嶅瓨鍦ㄥ嚭鍏ュ簱妯″紡
}
if (outInModel1 == 2 || outInModel2 == 2 && outInModel3 == 2) {
+ News.info("{}浠诲姟锛屾湁绔欑偣澶勪簬鍑哄簱妯″紡锛岀姝㈠叆搴�", wrkMast.getWrkNo());
return false;//鍙鏈変竴涓浜庡嚭搴撴ā寮忥紝绂佹鍏ュ簱
}
@@ -1174,26 +1195,31 @@
return false;
}
if (!liftProtocol.isIdle()) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屽繖纰屼腑", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;
}
//鍒ゆ柇鎻愬崌鏈轰护鐗屾槸鍚︽湭琚崰棰�
if (liftProtocol.getToken() != 0) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屼护鐗屽凡琚嫭鍗狅紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;//鎻愬崌鏈哄凡琚嫭鍗狅紝绂佹鍐嶆淳鍙戜换鍔�
}
//鍒ゆ柇鎻愬崌鏈哄唴鏄惁鏈夊皬杞�
if (liftProtocol.getHasCar()) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呴儴鏈夊皬杞︼紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;//鏈夊皬杞︼紝绂佹娲惧彂
}
//鍒ゆ柇鎻愬崌鏈哄唴鏄惁鏈夋墭鐩�
if (liftProtocol.getHasTray()) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呴儴鏈夋墭鐩橈紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;//鏈夋墭鐩橈紝绂佹娲惧彂
}
//鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
WrkMast liftWrkMast = wrkMastMapper.selectLiftWrkMast(liftThread.getSlave().getId());
if (liftWrkMast != null) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屽綋鍓嶆彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
}
@@ -1206,6 +1232,7 @@
}
if (targetStaProtocol.getHasTray()) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛寋}绔欑偣锛屾彁鍗囨満绔欑偣鏈夋墭鐩橈紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo(), targetStaProtocol.getStaNo());
return false;//鎻愬崌鏈虹珯鐐规湁鎵樼洏锛岀姝㈡淳鍙�
}
@@ -1262,12 +1289,14 @@
//鑾峰彇鍑哄簱绔欑偣(鐩爣绔�)
BasDevp basDevp = basDevpService.selectById(wrkMast.getStaNo());
if (basDevp == null) {
+ News.info("{}浠诲姟锛屽嚭搴撶珯鐐逛笉瀛樺湪锛岀姝㈡淳鍙�", wrkMast.getWrkNo());
return false;//鍑哄簱绔欑偣涓嶅瓨鍦�
}
//鑾峰彇婧愮珯瀵瑰簲鐨勭墰鐪兼彁鍗囨満绔欑偣缂栧彿(璧风偣缂栧彿)
LiftStaProtocol liftStaProtocol = NyLiftUtils.getLiftStaByLev(basDevp.getLiftNo(), Utils.getLev(wrkMast.getSourceLocNo()));
if (liftStaProtocol == null) {
+ News.info("{}浠诲姟锛屾壘涓嶅埌绔欑偣锛岀姝㈡淳鍙�", wrkMast.getWrkNo());
return false;//鎵句笉鍒扮珯鐐�
}
Integer startSta = liftStaProtocol.getStaNo();
@@ -1278,11 +1307,13 @@
//璋冨害灏忚溅閬胯
boolean result = Utils.searchEmptyGroupToMoveShuttle(Utils.getLev(wrkMast.getSourceLocNo()), wrkMast.getShuttleNo(), shuttleThread);
if (!result) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛屽皬杞﹀湪杈撻�佺珯鐐硅皟搴﹀皬杞﹂伩璁╁け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
}
if (!basDevp.getOutEnable().equals("Y")) {
+ News.info("{}浠诲姟锛寋}绔欑偣锛屾病鏈夊彲鍑轰俊鍙凤紝绂佹娲惧彂", wrkMast.getWrkNo(), basDevp.getDevNo());
return false;//鍑哄簱绔欑偣涓嶅彲鍑�
}
@@ -1296,21 +1327,25 @@
}
if (!liftProtocol.isIdle()) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屽繖纰屼腑", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;
}
//鍒ゆ柇鎻愬崌鏈轰护鐗屾槸鍚︽湭琚崰棰�
if (liftProtocol.getToken() != 0) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屼护鐗屽凡琚嫭鍗狅紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;//鎻愬崌鏈哄凡琚嫭鍗狅紝绂佹鍐嶆淳鍙戜换鍔�
}
//鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
WrkMast liftWrkMast = wrkMastMapper.selectLiftWrkMast(liftThread.getSlave().getId());
if (liftWrkMast != null) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屽綋鍓嶆彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
}
//鑾风洰鏍囩珯婧愮珯瀵瑰簲鐨勮緭閫佺珯鐐�
BasDevp targetBasDevp = basDevpService.selectById(wrkMast.getStaNo());
if (targetBasDevp == null) {
+ News.info("{}浠诲姟锛寋}绔欑偣锛岀珯鐐逛笉瀛樺湪锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), wrkMast.getStaNo());
return false;//绔欑偣涓嶅瓨鍦�
}
//鑾峰彇鐗涚溂鎻愬崌鏈虹珯鐐圭紪鍙�(鐩爣缂栧彿)
@@ -2648,7 +2683,7 @@
wrkCharge.setShuttleNo(shuttle.getId());
wrkCharge.setCharge(shuttleCharge.id);
wrkCharge.setWrkNo(commonService.getChargeWorkNo(4));
- wrkCharge.setWrkSts(51L); // 21.鍑嗗鍏呯數
+ wrkCharge.setWrkSts(51L); // 51.鍑嗗鍏呯數
wrkCharge.setIoPri((double) 10);
wrkCharge.setLocNo(chargeLocNo);
wrkCharge.setMemo("charge");
@@ -2830,11 +2865,13 @@
//灏忚溅澶勪簬绌洪棽鐘舵��
if (!shuttleProtocol.isIdleNoCharge(wrkMast.getWrkNo())) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛屽皬杞﹀繖纰屼腑", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
//鍒ゆ柇灏忚溅浠ょ墝鏄惁鏈鍗犻
if (shuttleProtocol.getToken() != 0) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛屼护鐗屽凡琚嫭鍗狅紝绂佹娲惧彂", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;//灏忚溅宸茶鐙崰锛岀姝㈠啀娲惧彂浠诲姟
}
@@ -2859,6 +2896,7 @@
//鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟(璇ヤ换鍔¢渶瑕佹崲灞傚繀椤绘彁鍓嶇嫭鍗犳彁鍗囨満)
WrkMast liftWrkMast = wrkMastMapper.selectLiftWrkMast(liftSta.getLiftNo());
if (liftWrkMast != null) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftSta.getLiftNo());
return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
}
@@ -2869,11 +2907,13 @@
}
boolean checkPathIsAvailable = NavigateUtils.checkPathIsAvailable(targetNodes, shuttleProtocol.getShuttleNo().intValue(), Utils.getLev(wrkMast.getLocNo()), null);
if (!checkPathIsAvailable) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛岀洰鏍囩珯鐐硅矾寰勮鍗犵敤锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;//妫�娴嬬洰鏍囩珯鐐硅矾寰勬槸鍚︽湭琚崰鐢�
}
//灏濊瘯閿佸畾鐩爣绔欒矾寰�
boolean result2 = navigateMapUtils.writeNavigateNodeToRedisMap(Utils.getLev(wrkMast.getLocNo()), targetNodes, true);//鎵�浣跨敤鐨勮矾寰勮繘琛岄攣瀹氱鐢�
if (!result2) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛岃矾寰勯攣瀹氬け璐ワ紝绂佹娲惧彂", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;//璺緞閿佸畾澶辫触
}
//*************灏濊瘯閿佸畾鐩爣绔欒矾寰�***************
@@ -2934,6 +2974,7 @@
}
if (basLift.getPoint() == null) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾病鏈夋彁鍗囨満鐐逛綅鍧愭爣锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), basLift.getLiftNo());
return false;//娌℃湁璁剧疆鎻愬崌鏈虹偣浣嶅潗鏍�
}
@@ -2941,6 +2982,7 @@
WrkMast liftWrkMast = wrkMastMapper.selectLiftWrkMast(basLift.getLiftNo());
if (liftWrkMast != null) {
if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚�
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), basLift.getLiftNo());
return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
}
}
@@ -2955,6 +2997,7 @@
}
if (!liftProtocol.isIdle(wrkMast.getWrkNo().shortValue())) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満蹇欑涓紝绂佹娲惧彂", wrkMast.getWrkNo(), basLift.getLiftNo());
return false;
}
@@ -2970,11 +3013,13 @@
//灏忚溅澶勪簬绌洪棽鐘舵��
if (!shuttleProtocol.isIdleNoCharge(wrkMast.getWrkNo())) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛屽皬杞﹀繖纰屼腑锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
//灏忚溅浠ょ墝鏄惁琚换鍔$嫭鍗�
if (!shuttleProtocol.getToken().equals(wrkMast.getWrkNo())) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛屽皬杞︿护鐗岃鐙崰锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
@@ -2984,6 +3029,7 @@
//璋冨害鎻愬崌鏈�
if (liftProtocol.getToken() != 0) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満浠ょ墝琚嫭鍗狅紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;//鎻愬崌鏈轰护鐗岃鍗犵敤
}
@@ -3023,11 +3069,13 @@
//鍒ゆ柇鎻愬崌鏈轰护鐗屾槸鍚︿负褰撳墠灏忚溅
if (!liftProtocol.getToken().equals(wrkMast.getShuttleNo())) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満浠ょ墝琚嫭鍗狅紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;//鎻愬崌鏈哄凡琚嫭鍗狅紝绂佹鍐嶆淳鍙戜换鍔�
}
//鍒ゆ柇灏忚溅鏄惁涓哄綋鍓嶄换鍔$嫭鍗�
if (!shuttleProtocol.getToken().equals(wrkMast.getWrkNo())) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛屽皬杞︿护鐗岃鐙崰锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
@@ -3090,23 +3138,27 @@
return false;
}
if (!liftProtocol.isIdle(wrkMast.getWrkNo().shortValue())) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満蹇欑涓紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;
}
//鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
WrkMast liftWrkMast = wrkMastMapper.selectLiftWrkMast(liftThread.getSlave().getId());
if (liftWrkMast != null) {
if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚�
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
}
}
//鍒ゆ柇鎻愬崌鏈轰护鐗屾槸鍚︿负褰撳墠灏忚溅
if (!liftProtocol.getToken().equals(wrkMast.getShuttleNo())) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満浠ょ墝鍜屽綋鍓嶅皬杞︿笉涓�鑷达紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;//鎻愬崌鏈轰护鐗屽拰褰撳墠灏忚溅涓嶄竴鑷达紝绂佹娲惧彂
}
//鍒ゆ柇鎻愬崌鏈哄唴鏄惁鏈夊皬杞�
if (!liftProtocol.getHasCar()) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮棤灏忚溅锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;//鎻愬崌鏈哄唴鏃犲皬杞�
}
@@ -3122,11 +3174,13 @@
//灏忚溅澶勪簬绌洪棽鐘舵��
if (!shuttleProtocol.isIdleNoCharge()) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満蹇欑涓紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;
}
//鍒ゆ柇灏忚溅鏄惁涓哄綋鍓嶄换鍔$嫭鍗�
if (!shuttleProtocol.getToken().equals(wrkMast.getWrkNo())) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛屽皬杞﹀綋鍓嶄换鍔℃湭琚嫭鍗狅紝绂佹娲惧彂", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
@@ -3135,6 +3189,7 @@
//鑾峰彇鐩爣绔�
LiftStaProtocol liftSta = NyLiftUtils.getLiftStaByStaNo(wrkMast.getStaNo());
if (sourceLiftSta == null || liftSta == null) {
+ News.info("{}浠诲姟锛岀己灏戠珯鐐逛俊鎭紝绂佹娲惧彂", wrkMast.getWrkNo());
return false;//缂哄皯绔欑偣淇℃伅
}
@@ -3183,6 +3238,7 @@
return false;
}
if (!liftProtocol.isIdle(wrkMast.getWrkNo().shortValue())) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満蹇欑涓紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;
}
@@ -3190,12 +3246,14 @@
WrkMast liftWrkMast = wrkMastMapper.selectLiftWrkMast(liftThread.getSlave().getId());
if (liftWrkMast != null) {
if (!liftWrkMast.getWrkNo().equals(wrkMast.getWrkNo())) {//鎻愬崌鏈轰换鍔″拰褰撳墠浠诲姟涓嶇浉鍚�
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
}
}
//鍒ゆ柇鎻愬崌鏈轰护鐗屾槸鍚︿负褰撳墠灏忚溅
if (!liftProtocol.getToken().equals(wrkMast.getShuttleNo())) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満浠ょ墝鍜屽綋鍓嶅皬杞︿笉涓�鑷达紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;//鎻愬崌鏈轰护鐗屽拰褰撳墠灏忚溅涓嶄竴鑷达紝绂佹娲惧彂
}
@@ -3211,11 +3269,13 @@
//灏忚溅澶勪簬绌洪棽鐘舵��
if (!shuttleProtocol.isIdleNoCharge()) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛屽皬杞﹀繖纰屼腑锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
//鍒ゆ柇灏忚溅鏄惁涓哄綋鍓嶄换鍔$嫭鍗�
if (!shuttleProtocol.getToken().equals(wrkMast.getWrkNo())) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛屽皬杞︿护鐗岃鐙崰锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
@@ -3231,6 +3291,7 @@
return false;//娌℃湁鎻愬崌鏈烘暟鎹�
}
if (basLift.getPoint() == null) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛岀己灏戞彁鍗囨満鐐逛綅鍧愭爣锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;//娌℃湁璁剧疆鎻愬崌鏈虹偣浣嶅潗鏍�
}
@@ -3290,11 +3351,13 @@
//灏忚溅澶勪簬绌洪棽鐘舵��
if (!shuttleProtocol.isIdleNoCharge(wrkMast.getWrkNo())) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛屽皬杞﹀繖纰屼腑锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
//鍒ゆ柇灏忚溅浠ょ墝鏄惁涓哄綋鍓嶄换鍔�
if (shuttleProtocol.getToken() != 0 && !shuttleProtocol.getToken().equals(wrkMast.getWrkNo())) {
+ News.info("{}浠诲姟锛寋}灏忚溅锛屽皬杞︿护鐗岃鐙崰锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
return false;
}
diff --git a/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java b/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java
index da8a2ab..c753b9d 100644
--- a/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java
+++ b/src/main/java/com/zy/common/utils/ShuttleDispatchUtils.java
@@ -4,13 +4,11 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.SpringUtils;
import com.core.exception.CoolException;
-import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.BasShuttle;
import com.zy.asrs.entity.WrkCharge;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.mapper.WrkChargeMapper;
import com.zy.asrs.mapper.WrkMastMapper;
-import com.zy.asrs.service.BasDevpService;
import com.zy.asrs.service.BasShuttleService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.utils.Utils;
@@ -55,13 +53,15 @@
private WrkChargeMapper wrkChargeMapper;
@Autowired
private CommonService commonService;
- @Autowired
- private BasDevpService basDevpService;
/**
* 璋冨害杞﹁締-璋冨害鎸囧畾绌挎杞�
*/
public boolean dispatchShuttle(Integer wrkNo, String locNo, Integer shuttleNo) {
+ if (!checkCharge(shuttleNo, locNo)) {
+ News.info("{}鍙峰皬杞︼紝瀛樺湪鍏呯數浠诲姟绂佹灏忚溅绉诲姩浠诲姟璋冨害", shuttleNo);
+ return false;//瀛樺湪鍏呯數浠诲姟鏆傚仠璋冨害
+ }
return shuttleMoveGenerate(wrkNo, locNo, shuttleNo);
}
@@ -92,8 +92,12 @@
continue;
}
+ if (!checkChargeWrk(shuttle.getId())) {
+ continue;//瀛樺湪鍏呯數浠诲姟锛岃繃婊ゅ皬杞�
+ }
+
if (!shuttleProtocol.isIdle()) {
- continue;
+ continue;//灏忚溅蹇欑涓�
}
if (shuttleProtocol.getSuspendState() == 1) {
@@ -160,6 +164,7 @@
//妫�娴嬬洰鏍囨ゼ灞傝溅鏁伴噺鏄惁灏忎簬鍏佽鐨勬渶澶ф暟閲�
boolean checkDispatchMaxNum = checkDispatchMaxNum(lev);
if (!checkDispatchMaxNum) {
+ News.info("{}浠诲姟锛寋}灞傦紝宸茬粡杈惧埌褰撳墠妤煎眰璋冨害杞﹁締鏈�澶у��", wrkMast1.getWrkNo(), lev);
return false;
}
@@ -186,6 +191,7 @@
}
if (recentShuttle == null) {//娌℃湁鎼滅储鍒板彲鐢ㄧ┛姊溅
+ News.info("{}鐩爣搴撲綅娌℃湁鎼滅储鍒板彲鐢ㄧ┛姊溅", locNo);
return false;
}
@@ -202,50 +208,33 @@
//鑾峰彇鍥涘悜绌挎杞︾嚎绋�
NyShuttleThread shuttleThread = (NyShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttleNo);
if (shuttleThread == null) {
+ News.info("{}鍙峰皬杞︼紝绾跨▼涓嶅瓨鍦�", shuttleNo);
return false;
}
NyShuttleProtocol shuttleProtocol = shuttleThread.getShuttleProtocol();
if (shuttleProtocol == null) {
+ News.info("{}鍙峰皬杞︼紝绾跨▼涓嶅瓨鍦�", shuttleNo);
return false;
}
//灏忚溅澶勪簬绌洪棽鐘舵��
if (!shuttleProtocol.isIdleNoCharge()) {
+ News.info("{}鍙峰皬杞︼紝蹇欑涓�", shuttleNo);
return false;
}
//鍒ゆ柇绌挎杞︽槸鍚﹀瓨鍦ㄦ湭瀹屾垚鐨勫皬杞︾Щ搴撲换鍔�
WrkMast hasMoveWorking = wrkMastMapper.selectShuttleHasMoveWorking(shuttleNo);
if (hasMoveWorking != null) {//灏忚溅瀛樺湪绉诲簱浠诲姟锛岀瓑寰呮墽琛屽畬鎴愬悗鍐嶇敓鎴愭柊鐨勪换鍔�
+ News.info("{}鍙峰皬杞︼紝瀛樺湪绉诲姩浠诲姟锛岀瓑寰呮墽琛屽畬鎴愬悗鍐嶇敓鎴愭柊鐨勪换鍔�", shuttleNo);
return false;
}
//鍒ゆ柇鏄惁鏈夊叾浠栦换鍔℃鍦ㄤ娇鐢ㄧ┛姊溅
WrkMast wrkMast2 = wrkMastMapper.selectShuttleWorking(shuttleNo);
if (wrkMast2 != null) {//灏忚溅瀛樺湪鍏朵粬宸ヤ綔妗d换鍔★紝绛夊緟鎵ц瀹屾垚鍚庡啀鐢熸垚鏂扮殑浠诲姟
+ News.info("{}鍙峰皬杞︼紝瀛樺湪鍏朵粬宸ヤ綔妗d换鍔★紝绛夊緟鎵ц瀹屾垚鍐嶇敓鎴愭柊鐨勪换鍔�", shuttleNo);
return false;
- }
-
- //鍒ゆ柇鏄惁鏈夊厖鐢典换鍔℃鍦ㄤ娇鐢ㄧ┛姊溅
- WrkCharge wrkCharge = wrkChargeMapper.selectWorking(shuttleNo);
- if (wrkCharge != null) {//灏忚溅瀛樺湪鍏呯數浠诲姟锛岀瓑寰呮墽琛屽畬鎴愬悗鍐嶇敓鎴愭柊鐨勪换鍔�
- //鍒ゆ柇鐩爣鐐规槸鍚︿负鍏呯數妗╋紝濡傛灉鏄幓鍏呯數鍒欐斁琛�
- boolean toCharge = false;//鍘诲厖鐢电洰鏍�
- for (ShuttleChargeType chargeType : ShuttleChargeType.values()) {
- if (chargeType.locNo.equals(locNo)) {
- toCharge = true;//鍘诲厖鐢垫々
- break;
- }
- }
-
- if (wrkCharge.getWrkSts() == 53) {
- toCharge = true;//鍏呯數缁撴潫锛屽厑璁哥敓鎴愮Щ搴撲换鍔�
- }
-
- if (!toCharge) {
- //涓嶆槸鍘诲厖鐢垫々涓斿瓨鍦ㄥ厖鐢典换鍔★紝绂佹鐢熸垚鏂扮殑绉诲姩浠诲姟
- return false;
- }
}
Integer sourceStaNo = null;//灏忚溅鎹㈠眰婧愮珯鐐�
@@ -255,6 +244,7 @@
//鑾峰彇绌挎杞︽渶杩戜笖绌洪棽鐨勬彁鍗囨満杈撻�佺珯鐐�
LiftStaProtocol liftSta = this.getRecentLiftSta(shuttleNo, Utils.getLev(locNo));
if (liftSta == null) {
+ News.info("{}鍙峰皬杞︼紝{}鐩爣搴撲綅锛屾病鏈夊彲鐢ㄧ┖闂茶緭閫佺珯鐐�", shuttleNo, locNo);
return false;//娌℃湁鍙敤涓旂┖闂茬殑杈撻�佺珯鐐�
}
sourceStaNo = liftSta.getStaNo();//婧愮珯鐐�
@@ -434,4 +424,47 @@
return recentSta;
}
+ /**
+ * 妫�娴嬫槸鍚︾┛姊溅鏄惁鏈夊厖鐢典换鍔�
+ */
+ public boolean checkChargeWrk(int shuttleNo) {
+ //鍒ゆ柇鏄惁鏈夊厖鐢典换鍔℃鍦ㄤ娇鐢ㄧ┛姊溅
+ WrkCharge wrkCharge = wrkChargeMapper.selectWorking(shuttleNo);
+ if (wrkCharge != null) {
+ return true;//鏈夊厖鐢典换鍔�
+ }
+ return false;//鏃犲厖鐢典换鍔�
+ }
+
+ /**
+ * 妫�娴嬬┛姊溅鏄惁鏈夊厖鐢典换鍔★紝鐩爣鐐规槸鍚︿负鍏呯數妗╀綅缃�
+ * @param shuttleNo 灏忚溅鍙�
+ * @param locNo 鐩爣浣嶇疆
+ */
+ public boolean checkCharge(int shuttleNo, String locNo) {
+ //鍒ゆ柇鏄惁鏈夊厖鐢典换鍔℃鍦ㄤ娇鐢ㄧ┛姊溅
+ WrkCharge wrkCharge = wrkChargeMapper.selectWorking(shuttleNo);
+ if (wrkCharge != null) {//灏忚溅瀛樺湪鍏呯數浠诲姟锛岀瓑寰呮墽琛屽畬鎴愬悗鍐嶇敓鎴愭柊鐨勪换鍔�
+ //鍒ゆ柇鐩爣鐐规槸鍚︿负鍏呯數妗╋紝濡傛灉鏄幓鍏呯數鍒欐斁琛�
+ boolean toCharge = false;//鍘诲厖鐢电洰鏍�
+ for (ShuttleChargeType chargeType : ShuttleChargeType.values()) {
+ if (chargeType.locNo.equals(locNo)) {
+ toCharge = true;//鍘诲厖鐢垫々
+ break;
+ }
+ }
+
+ if (wrkCharge.getWrkSts() == 53) {
+ toCharge = true;//鍏呯數缁撴潫锛屽厑璁哥敓鎴愮Щ搴撲换鍔�
+ }
+
+ if (!toCharge) {
+ //涓嶆槸鍘诲厖鐢垫々涓斿瓨鍦ㄥ厖鐢典换鍔★紝绂佹鐢熸垚鏂扮殑绉诲姩浠诲姟
+ return false;
+ }
+ }
+
+ return true;//鏃犲厖鐢典换鍔℃斁琛� || 鍘诲厖鐢垫々涓斁琛�
+ }
+
}
diff --git a/src/main/java/com/zy/core/model/protocol/NyShuttleProtocol.java b/src/main/java/com/zy/core/model/protocol/NyShuttleProtocol.java
index 9278e36..a181ee3 100644
--- a/src/main/java/com/zy/core/model/protocol/NyShuttleProtocol.java
+++ b/src/main/java/com/zy/core/model/protocol/NyShuttleProtocol.java
@@ -484,21 +484,22 @@
&& this.taskNo == 0
&& this.protocolStatus == ShuttleProtocolStatusType.IDLE.id
;
- if (!res) {
- return res;
- } else {
- // 鐢甸噺
- try {
- Integer chargeLine = SpringUtils.getBean(BasShuttleService.class).selectById(this.shuttleNo).getChargeLine();
- if (chargeLine == null) {
- return false;
- }
- return this.getPowerPercent() >= chargeLine;
- } catch (Exception e) {
- News.error("fail", e);
- return false;
- }
- }
+ return res;
+// if (!res) {
+// return res;
+// } else {
+// // 鐢甸噺
+// try {
+// Integer chargeLine = SpringUtils.getBean(BasShuttleService.class).selectById(this.shuttleNo).getChargeLine();
+// if (chargeLine == null) {
+// return false;
+// }
+// return this.getPowerPercent() >= chargeLine;
+// } catch (Exception e) {
+// News.error("fail", e);
+// return false;
+// }
+// }
}
// 鏄惁澶勪簬绌洪棽寰呭懡鐘舵�侊紝浼犲叆鐨則askNo鍜屽綋鍓峵askNo鐩稿悓鏃跺厑璁告斁琛�
@@ -509,18 +510,19 @@
&& (this.taskNo == 0 || this.taskNo == taskNo)
&& this.protocolStatus.intValue() == ShuttleProtocolStatusType.IDLE.id
;
- if (!res) {
- return res;
- } else {
- // 鐢甸噺
- try {
- Integer chargeLine = SpringUtils.getBean(BasShuttleService.class).selectById(this.shuttleNo).getChargeLine();
- return this.getPowerPercent() > chargeLine;
- } catch (Exception e) {
- News.error("fail", e);
- return false;
- }
- }
+ return res;
+// if (!res) {
+// return res;
+// } else {
+// // 鐢甸噺
+// try {
+// Integer chargeLine = SpringUtils.getBean(BasShuttleService.class).selectById(this.shuttleNo).getChargeLine();
+// return this.getPowerPercent() > chargeLine;
+// } catch (Exception e) {
+// News.error("fail", e);
+// return false;
+// }
+// }
}
// 鏄惁澶勪簬绌洪棽寰呭懡鐘舵��
diff --git a/src/main/java/com/zy/core/thread/NyShuttleThread.java b/src/main/java/com/zy/core/thread/NyShuttleThread.java
index 6d381d2..9cf2709 100644
--- a/src/main/java/com/zy/core/thread/NyShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/NyShuttleThread.java
@@ -113,12 +113,6 @@
private void readStatus() {
try {
- if (null == shuttleProtocol) {
- shuttleProtocol = new NyShuttleProtocol();
- shuttleProtocol.setShuttleNo(slave.getId().shortValue());
- shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE);
- }
-
//----------璇诲彇鍥涘悜绌挎杞︾姸鎬�-----------
NyShuttleHttpCommand readStatusCommand = NyHttpUtils.getReadStatusCommand(slave.getId());
JSONObject jsonObject = NyHttpUtils.requestCommand(socket, readStatusCommand);
@@ -247,6 +241,7 @@
OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
// log.info(MessageFormat.format("銆恵0}銆慬id:{1}] <<<<< 瀹炴椂鏁版嵁鏇存柊鎴愬姛",DateUtils.convert(new Date()), slave.getId()));
}
+ log.debug(JSON.toJSONString(shuttleProtocol));
}
} catch (Exception e) {
e.printStackTrace();
@@ -269,6 +264,11 @@
socket.setSoTimeout(60000);
socket.setKeepAlive(true);
this.socket = socket;
+ if (null == shuttleProtocol) {
+ shuttleProtocol = new NyShuttleProtocol();
+ shuttleProtocol.setShuttleNo(slave.getId().shortValue());
+ }
+ shuttleProtocol.setProtocolStatus(ShuttleProtocolStatusType.IDLE);
log.info(MessageFormat.format("銆恵0}銆戝洓鍚戠┛姊溅Socket閾炬帴鎴愬姛 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
} catch (IOException e) {
OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆戝洓鍚戠┛姊溅Socket閾炬帴澶辫触 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
--
Gitblit v1.9.1