From a4bf9d00069a557088f38d88c71e52726f303f7d Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期五, 11 四月 2025 13:40:54 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 126 ++++++++++++++++++++++++++++++++++-------
1 files changed, 103 insertions(+), 23 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 162bc07..c43df73 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -90,24 +90,8 @@
private BasLiftOptService basLiftOptService;
@Autowired
private LiftAction liftAction;
-
- //鍏ュ簱绔欑偣
- public static final ArrayList<Integer> inSta = new ArrayList<Integer>() {{
- add(1012);
- add(1014);
- add(1022);
- add(1025);
- add(1032);
- }};
-
- //鍑哄簱绔欑偣
- public static final ArrayList<Integer> outSta = new ArrayList<Integer>() {{
- add(1012);
- add(1014);
- add(1022);
- add(1025);
- add(1032);
- }};
+ @Autowired
+ private NoLiftInServiceImpl noLiftInService;
private boolean isInEnable(DevpThread devpThread, Integer staNo) {
@@ -180,7 +164,7 @@
*/
public synchronized void generateInboundWrk() {
try {
- DevpSlave devpSlave = slaveProperties.getDevpSlave().get(0);
+ DevpSlave devpSlave = slaveProperties.getDevp().get(0);
// 閬嶅巻鍏ュ簱鍙�
for (DevpSlave.Sta inSta : devpSlave.getInSta()) {
// 鑾峰彇鍏ュ簱绔欎俊鎭�
@@ -232,7 +216,6 @@
}
continue;
}
-
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
if (staProtocol.isAutoing() && staProtocol.isLoading()
&& isInEnable(devpThread, inSta.getStaNo())
@@ -243,7 +226,6 @@
if (!Cools.isEmpty(barcode)) {
News.info("鏉$爜鎵弿鍣ㄦ娴嬫潯鐮佷俊鎭細{}", barcode);
}
-
// 鍒ゆ柇閲嶅宸ヤ綔妗�
WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
.eq("source_sta_no", inSta.getStaNo())
@@ -331,6 +313,74 @@
}
} catch (Exception e) {
e.printStackTrace();
+ }
+ }
+
+
+ /**
+ * 鍑哄簱鍒板嚭搴撳彛
+ */
+ public synchronized void stnToOutStn() {
+ DevpSlave devpSlave = slaveProperties.getDevp().get(0);
+ // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
+ for (DevpSlave.Sta outSta : devpSlave.getOutSta()) {
+ // 鑾峰彇鍫嗗灈鏈哄嚭搴撶珯淇℃伅
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devpSlave.getId());
+ StaProtocol staProtocol = devpThread.getStation().get(outSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) {
+ // 鏌ヨ宸ヤ綔妗�
+// WrkMast wrkMast = wrkMastMapper.selectPakOutStep2(staProtocol.getSiteId());
+// if (wrkMast == null) {
+// continue;
+// }
+// // 鍒ゆ柇宸ヤ綔妗f潯浠�
+// if (wrkMast.getIoType() < 100 || wrkMast.getStaNo() == null || wrkMast.getSourceStaNo() == null) {
+//
+// }
+
+ // 鍒ゆ柇杈撻�佺嚎鍜屽皬杞︾姸鎬佺姸鎬佺瓑寰呯‘璁�
+// if (crnProtocol.modeType == CrnModeType.AUTO && crnProtocol.getTaskNo().equals(wrkMast.getWrkNo().shortValue())
+// && crnProtocol.statusType == CrnStatusType.WAITING
+// && crnProtocol.forkPosType == CrnForkPosType.HOME) {
+// log.info("鍫嗗灈鏈哄嚭搴撳畬鎴� - 寮�濮嬫墽琛�");
+//
+// // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
+//
+// // 涓嬪彂绔欑偣淇℃伅
+// staProtocol.setWorkNo(wrkMast.getWrkNo());
+// staProtocol.setStaNo(RouteUtils.CrnStaEnd(wrkMast.getStaNo(), wrkMast.getSourceStaNo()));
+// if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) {
+// log.info(staProtocol.getWorkNo() + "," + staProtocol.getStaNo() + "杈撻�佺嚎鍑哄簱鍛戒护涓嬪彂澶辫触");
+// continue;
+// } else {
+// log.info(staProtocol.getWorkNo() + "," + staProtocol.getStaNo() + "杈撻�佺嚎鍑哄簱鍛戒护涓嬪彂鎴愬姛");
+// }
+//
+// // 鏇存柊宸ヤ綔妗g姸鎬佷负14澶辫触
+// wrkMast.setWrkSts(14L);
+// wrkMast.setCrnEndTime(new Date());
+// if (wrkMastMapper.updateById(wrkMast) != 0) {
+// // 澶嶄綅鍫嗗灈鏈�
+// log.error("鍑哄簱浠诲姟瀹屾垚涓嬪彂鍫嗗灈鏈哄浣�,{}", wrkMast.getWrkNo());
+// crnThread.setResetFlag(true);
+// } else {
+// News.error("" + mark + " - 1" + " - 鏇存柊宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负14澶辫触锛侊紒锛� [宸ヤ綔鍙�:{}]", wrkMast.getWrkNo());
+// }
+//
+// } else {
+// News.errorNoLog("" + mark + " - 6" + " - 鍫嗗灈鏈轰俊鎭笉绗﹀悎鍏ュ簱鏉′欢锛侊紒锛�"
+// + " 鍫嗗灈鏈虹姸鎬侊細" + crnProtocol.modeType + "==鑷姩AUTO锛�" + CrnModeType.AUTO
+// + "銆佸爢鍨涙満浠诲姟鍙凤細" + crnProtocol.getTaskNo() + "==宸ヤ綔妗d换鍔″彿锛�" + wrkMast.getWrkNo().shortValue()
+// + "銆佺姸鎬佹灇涓撅細" + crnProtocol.statusType + "==WAITING锛�90 //浠诲姟瀹屾垚绛夊緟WCS纭)锛�" + CrnStatusType.WAITING
+// + "銆佽揣鍙変綅缃細" + crnProtocol.forkPosType + "==HOME锛�0 // 璐у弶鍘熶綅锛�" + CrnForkPosType.HOME);
+// }
+
+ }
}
}
@@ -737,7 +787,30 @@
wrkMast.setWrkSts(WrkStsType.CHARGE_SHUTTLE_COMPLETE.sts);
shuttleThread.setSyncTaskNo(0);
notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
- } else {
+ }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_1.sts) {
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_2.sts);
+ shuttleThread.setSyncTaskNo(0);
+ notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
+ }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_3.sts) {
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_4.sts);
+ shuttleThread.setSyncTaskNo(0);
+ notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
+ }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_7.sts) {
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_8.sts);
+ shuttleThread.setSyncTaskNo(0);
+ notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
+ }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_11.sts) {
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_12.sts);
+ shuttleThread.setSyncTaskNo(0);
+ notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
+ }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_13.sts) {
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_14.sts);
+ shuttleThread.setSyncTaskNo(0);
+ notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
+ }
+
+
+ else {
continue;
}
@@ -1389,6 +1462,12 @@
} else if (wrkMast.getWrkSts() == WrkStsType.MOVE_LIFT_TO_SHUTTLE_TRANSPORT_LIFT_OUT.sts) {
//鎻愬崌鏈鸿嚦灏忚溅灞� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴�
wrkMast.setWrkSts(WrkStsType.MOVE_LIFT_TO_SHUTTLE_COMPLETE_TRANSPORT_LIFT_OUT.sts);
+ }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_5.sts) {
+ //鎻愬崌鏈鸿嚦灏忚溅灞� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴�
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_6.sts);
+ }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_Lift_9.sts) {
+ //鎻愬崌鏈鸿嚦灏忚溅灞� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴�
+ wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_Lift_10.sts);
}
wrkMast.setModiTime(new Date());
@@ -1891,7 +1970,7 @@
if ("TRANSPORT_LIFT".equals(wrkMast.getMk())) {
this.shuttleMoveExecuteTransportLift(wrkMast);
} else if ("TRANSPORT_DEVP".equals(wrkMast.getMk())) {
-
+ noLiftInService.shuttleMoveExecute(wrkMast);
} else {
this.shuttleMoveExecuteMove(wrkMast);
}
@@ -1928,6 +2007,7 @@
}
}
+
private void shuttleMoveExecuteTransportLift(WrkMast wrkMast) {
LiftThread liftThread = LiftUtils.getRecentLift(wrkMast.getLocNo());
if (liftThread == null) {
--
Gitblit v1.9.1