From 6dea42fd8f806807982866c1821a66da725eabca Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期日, 20 四月 2025 14:48:59 +0800
Subject: [PATCH] 999
---
src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java | 145 ++++++++++++++++++++----------------------------
1 files changed, 60 insertions(+), 85 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
index b6ce7a7..ee64ceb 100644
--- a/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/NoLiftOutServiceImpl.java
@@ -60,14 +60,16 @@
@Autowired
private LiftAction liftAction;
+ @Autowired
+ private MainServiceImpl mainService;
/**
* 浠庢病鏈夋彁鍗囨満渚у嚭搴擄紝鏈変袱绉嶆儏鍐碉紝涓�绉�1锛�5搴撳埌鍚屽眰锛屼竴绉嶉潪1锛�5搴撳埌1锛�5锛屽垯闇�瑕佹彁鍗囨満
* @param wrkMast
*/
- public void shuttleMoveExecute(WrkMast wrkMast) {
+ public void shuttleMoveExecute(WrkMast wrkMast, Integer staNo, Integer lev) {
//鍒ゆ柇鐩爣搴撲綅鏄惁鍦�1灞傛垨5灞�
- if (Utils.getLev(wrkMast.getSourceLocNo()) == 1 || Utils.getLev(wrkMast.getSourceLocNo()) == 5) {
+ if ((lev == 1 & staNo == 1013) || (lev == 5 && staNo == 1024)) {
boolean stepMoveSta = this.shuttleMoveExecuteTransportLiftStepCallShuttle2(wrkMast);//鍛煎彨灏忚溅鑷冲彇璐х偣
if (!stepMoveSta) {
return;
@@ -142,19 +144,18 @@
if (devpThread == null) {
return false;
}
- int lev = Utils.getLev(wrkMast.getLocNo());
- StaProtocol staProtocol2 = devpThread.getStation().get(lev == 1 ? 1014 : 1025);
- //TODO
-// if (!staProtocol2.isOutEnable()) {
-// log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025);
-// News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025);
-// return false;
-// }
- StaProtocol staProtocol = devpThread.getStation().get(lev == 1 ? 1015 : 1026);
- if (staProtocol.isLoading()) {
- log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
- News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
- return false;
+
+ WrkMast wrkMast1 = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo());
+ if (wrkMast1 != null) {
+ if (!mainService.isOutEnable(devpThread, wrkMast1.getStaNo())) {
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�111", wrkMast.getWrkNo(), wrkMast1.getStaNo());
+ return false;
+ }
+ StaProtocol staProtocol = devpThread.getStation().get(wrkMast1.getStaNo() + 2);
+ if (staProtocol.isLoading()) {
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿111", wrkMast.getWrkNo(), wrkMast1.getStaNo() + 1);
+ return false;
+ }
}
if (shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
@@ -216,7 +217,7 @@
//鑾峰彇绌挎杞︽渶杩戜笖绌洪棽鐨勬彁鍗囨満
LiftThread liftThread = LiftUtils.getRecentLift(shuttleProtocol.getCurrentLocNo());
if (liftThread == null) {
- News.info("{}鍙峰皬杞︼紝{}鐩爣搴撲綅锛屾病鏈夊彲鐢ㄧ┖闂叉彁鍗囨満", shuttleProtocol.getShuttleNo(), shuttleProtocol.getCurrentLocNo());
+ News.info("{}鍙峰皬杞︼紝{}灏忚溅搴撲綅锛屾病鏈夊彲鐢ㄧ┖闂叉彁鍗囨満", shuttleProtocol.getShuttleNo(), shuttleProtocol.getCurrentLocNo());
return false;//娌℃湁鍙敤涓旂┖闂茬殑鎻愬崌鏈�
}
@@ -293,50 +294,28 @@
LiftThread liftThread = null;
LiftProtocol liftProtocol = null;
- if (wrkMast.getLiftNo() == null) {
- //鑾峰彇绌挎杞︽渶杩戜笖绌洪棽鐨勬彁鍗囨満
- liftThread = LiftUtils.getRecentLift(shuttleProtocol.getCurrentLocNo());
- if (liftThread == null) {
- News.info("{}鍙峰皬杞︼紝{}鐩爣搴撲綅锛屾病鏈夊彲鐢ㄧ┖闂叉彁鍗囨満", shuttleProtocol.getShuttleNo(), shuttleProtocol.getCurrentLocNo());
- return false;//娌℃湁鍙敤涓旂┖闂茬殑鎻愬崌鏈�
- }
- liftProtocol = liftThread.getStatus();
- if (liftProtocol == null) {
- News.info("{}鍙锋彁鍗囨満瀵硅薄涓嶅瓨鍦�", wrkMast.getLiftNo());
- return false;
- }
- //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟(璇ヤ换鍔¢渶瑕佹崲灞傚繀椤绘彁鍓嶇嫭鍗犳彁鍗囨満)
- WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(wrkMast.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
- if (liftWrkMast != null) {
- News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
- return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
- }
- wrkMast.setModiTime(now);
- wrkMast.setLiftNo(1);
- wrkMast.setSystemMsg("");//娓呯┖娑堟伅
- wrkMastService.updateById(wrkMast);
+
+ //鑾峰彇绌挎杞︽渶杩戜笖绌洪棽鐨勬彁鍗囨満
+ liftThread = LiftUtils.getRecentLift(shuttleProtocol.getCurrentLocNo());
+ if (liftThread == null) {
+ News.info("{}鍙峰皬杞︼紝{}鐩爣搴撲綅锛屾病鏈夊彲鐢ㄧ┖闂叉彁鍗囨満", shuttleProtocol.getShuttleNo(), shuttleProtocol.getCurrentLocNo());
+ return false;//娌℃湁鍙敤涓旂┖闂茬殑鎻愬崌鏈�
+ }
+
+ liftProtocol = liftThread.getStatus();
+ //鍒ゆ柇鎻愬崌鏈哄唴鏄惁鏈夊皬杞�
+ if (liftProtocol.getHasCar()) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮湁灏忚溅锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
return false;
- } else {
- liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, wrkMast.getLiftNo());
- if (liftThread == null) {
- News.info("{}鍙锋彁鍗囨満涓嶅瓨鍦�", wrkMast.getLiftNo());
- return false;
- }
-
- liftProtocol = liftThread.getStatus();
- if (liftProtocol == null) {
- News.info("{}鍙锋彁鍗囨満瀵硅薄涓嶅瓨鍦�", wrkMast.getLiftNo());
- return false;
- }
}
- //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
- WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(wrkMast.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
- if (liftWrkMast != null) {
- News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
- return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
+ //鍒ゆ柇鎻愬崌鏈哄唴鏄惁鏈夋墭鐩�
+ if (liftProtocol.getHasTray()) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満鍐呮湁鎵樼洏锛岀姝㈡淳鍙�", wrkMast.getWrkNo(), liftProtocol.getLiftNo());
+ return false;
}
+
if (!liftThread.isIdle()) {
News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満蹇欑涓紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
@@ -378,9 +357,17 @@
//鎻愪氦鍒扮嚎绋嬪幓宸ヤ綔
LiftAssignCommand assignCommand = new LiftAssignCommand();
assignCommand.setCommands(commands);
- assignCommand.setLiftNo(wrkMast.getLiftNo().shortValue());
+ assignCommand.setLiftNo((short) 1);
assignCommand.setTaskNo(wrkMast.getWrkNo().shortValue());
assignCommand.setTaskMode(LiftCommandModeType.MOVE.id.shortValue());
+
+
+ //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
+ WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(wrkMast.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
+ if (liftWrkMast != null) {
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
+ return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
+ }
wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_4.sts);//灏忚溅绉诲姩鍒版彁鍗囨満涓� 灏忚溅绉诲姩鑷崇珯鐐瑰畬鎴� ==> 鎻愬崌鏈鸿嚦灏忚溅灞�
wrkMast.setLiftNo(liftProtocol.getLiftNo());//鎻愬墠閿佸畾鎻愬崌鏈�
@@ -410,42 +397,32 @@
//鑾峰彇鍥涘悜绌挎杞︾嚎绋�
ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, wrkMast.getShuttleNo());
if (shuttleThread == null) {
- News.info("{}浠诲姟锛寋}鍙峰皬杞︼紝灏忚溅绾跨▼涓嶅瓨鍦紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
+ News.info("{}浠诲姟锛寋}鍙峰皬杞︼紝灏忚溅绾跨▼涓嶅瓨鍦紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getShuttleNo());
return false;
}
ShuttleProtocol shuttleProtocol = shuttleThread.getStatus();
if (shuttleProtocol == null) {
- News.info("{}浠诲姟锛寋}鍙峰皬杞︼紝灏忚溅瀵硅薄涓嶅瓨鍦紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
+ News.info("{}浠诲姟锛寋}鍙峰皬杞︼紝灏忚溅瀵硅薄涓嶅瓨鍦紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getShuttleNo());
return false;
}
- if (wrkMast.getLiftNo() == null) {
- News.info("{}浠诲姟锛屾湭缁戝畾鎻愬崌鏈猴紝绂佹娲惧彂", wrkMast.getWrkNo());
- return false;
- }
-
- LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, wrkMast.getLiftNo());
- if (liftThread == null) {
- News.info("{}鍙锋彁鍗囨満涓嶅瓨鍦�", wrkMast.getLiftNo());
- return false;
- }
-
+ LiftThread liftThread = (LiftThread) SlaveConnection.get(SlaveType.Lift, 1);
LiftProtocol liftProtocol = liftThread.getStatus();
if (liftProtocol == null) {
- News.info("{}鍙锋彁鍗囨満瀵硅薄涓嶅瓨鍦�", wrkMast.getLiftNo());
+ News.info("{}鍙锋彁鍗囨満瀵硅薄涓嶅瓨鍦�", 1);
return false;
}
//鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟
WrkMast liftWrkMast = wrkMastService.selectLiftWrkMastAndWrkNo(wrkMast.getLiftNo(), wrkMast.getWrkNo(), wrkMast.getMainWrkNo());
if (liftWrkMast != null) {
- News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満瀛樺湪鏈畬鎴愪换鍔★紝绂佹娲惧彂", wrkMast.getWrkNo(), 1);
return false;//褰撳墠鎻愬崌鏈哄瓨鍦ㄦ湭瀹屾垚浠诲姟锛岀瓑寰呬笅涓�娆¤疆璇�
}
if (!liftThread.isIdle()) {
- News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満蹇欑涓紝绂佹娲惧彂", wrkMast.getWrkNo(), wrkMast.getLiftNo());
+ News.info("{}浠诲姟锛寋}鍙锋彁鍗囨満锛屾彁鍗囨満蹇欑涓紝绂佹娲惧彂", wrkMast.getWrkNo(), 1);
return false;
}
@@ -843,19 +820,17 @@
if (devpThread == null) {
return false;
}
- int lev = Utils.getLev(wrkMast.getLocNo());
- StaProtocol staProtocol2 = devpThread.getStation().get(lev == 1 ? 1014 : 1025);
-
- if (!staProtocol2.isOutEnable()) {
- log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025);
- News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�", wrkMast.getWrkNo(), lev == 1 ? 1014 : 1025);
- return false;
- }
- StaProtocol staProtocol = devpThread.getStation().get(lev == 1 ? 1015 : 1026);
- if (staProtocol.isLoading()) {
- log.error("{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
- News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿", wrkMast.getWrkNo(), wrkMast.getSourceStaNo());
- return false;
+ WrkMast wrkMast1 = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo());
+ if (wrkMast1 != null) {
+ if (!mainService.isOutEnable(devpThread, wrkMast1.getStaNo())) {
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎涓嶅彲鍑�222", wrkMast.getWrkNo(), wrkMast1.getStaNo());
+ return false;
+ }
+ StaProtocol staProtocol = devpThread.getStation().get(wrkMast1.getStaNo() + 2);
+ if (staProtocol.isLoading()) {
+ News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}鍙疯緭閫佺嚎鏈夌墿222", wrkMast.getWrkNo(), wrkMast1.getStaNo());
+ return false;
+ }
}
if (shuttleProtocol.getCurrentLocNo().equals(wrkMast.getSourceLocNo())) {
--
Gitblit v1.9.1