From be99dea0c47c9a86eae906b46d67e14081191ad8 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期六, 12 四月 2025 12:53:45 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java | 14 --
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 202 ++++++++++++++++++---------------------
src/main/java/com/zy/asrs/entity/WrkMast.java | 5 +
src/main/java/com/zy/core/MainProcess.java | 5
src/main/java/com/zy/asrs/task/WrkMastScheduler.java | 31 +++--
5 files changed, 125 insertions(+), 132 deletions(-)
diff --git a/src/main/java/com/zy/asrs/entity/WrkMast.java b/src/main/java/com/zy/asrs/entity/WrkMast.java
index f32251e..a7bb018 100644
--- a/src/main/java/com/zy/asrs/entity/WrkMast.java
+++ b/src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -139,6 +139,11 @@
*/
@ApiModelProperty(value= "鏉$爜")
private String barcode;
+ /**
+ *
+ */
+ @ApiModelProperty(value= "")
+ private Integer mainWrkNo;
/**
* 鍥涘悜绌挎杞﹀彿
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 1c9de47..c60f1f9 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1,7 +1,6 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.domain.enums.NotifyMsgType;
@@ -10,8 +9,6 @@
import com.zy.asrs.utils.NotifyUtils;
import com.zy.asrs.utils.Utils;
import com.zy.common.model.MapNode;
-import com.zy.common.model.SearchLocParam;
-import com.zy.common.model.StartupDto;
import com.zy.common.model.enums.NavigationMapType;
import com.zy.common.service.CommonService;
import com.zy.common.utils.*;
@@ -38,7 +35,6 @@
import java.util.ArrayList;
import java.util.Date;
-import java.util.HashMap;
import java.util.List;
/**
@@ -92,6 +88,11 @@
@Autowired
private NoLiftOutServiceImpl noLiftOutService;
+
+ public static List<Integer> staNosIn = new ArrayList<Integer>() {{
+ add(1015);
+ add(1026);
+ }};
private boolean isInEnable(DevpThread devpThread, Integer staNo) {
if (staNo == null) {
@@ -216,32 +217,33 @@
continue;
}
// 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
- if (staProtocol.isAutoing() && staProtocol.isLoading()
- && isInEnable(devpThread, inSta.getStaNo())
- && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999))
- && staProtocol.isPakMk()
- ) {
+ if (staProtocol.isAutoing() && staProtocol.isLoading() && isInEnable(devpThread, inSta.getStaNo()) && !staProtocol.isEmptyMk() && (workNo == 0 || (workNo >= 9990 && workNo <= 9999)) && staProtocol.isPakMk()) {
String barcode = staProtocol.getBarcode();
if (!Cools.isEmpty(barcode)) {
News.info("鏉$爜鎵弿鍣ㄦ娴嬫潯鐮佷俊鎭細{}", barcode);
}
// 鍒ゆ柇閲嶅宸ヤ綔妗�
- WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
- .eq("source_sta_no", inSta.getStaNo())
- .eq("wrk_sts", WrkStsType.NEW_INBOUND)
- .eq("barcode", barcode));
+ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", inSta.getStaNo()).eq("wrk_sts", WrkStsType.NEW_INBOUND).eq("barcode", barcode));
if (wrkMast != null) {
News.error("宸ヤ綔妗e凡瀛樺湪,宸ヤ綔鍙�={}", wrkMast.getWrkNo());
if (staProtocol.getWorkNo().intValue() != wrkMast.getWrkNo()) {
- MessageQueue.offer(SlaveType.Devp, devpSlave.getId(), new Task(2, staProtocol));
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- News.info("杈撻�佺嚎鍏ュ簱鍛戒护涓嬪彂锛屼换鍔℃暟鎹�={}", JSON.toJSON(wrkMast));
+ //鍒ゆ柇鏃舵彁鍗囨満渚э紝杩樻槸鏃犳彁鍗囨満娴�
+ if (inSta.getStaNo() == 1014 || inSta.getStaNo() == 1025) {
+ staProtocol.setWorkNo(Short.parseShort(String.valueOf(wrkMast.getWrkNo())));
+ staProtocol.setStaNo(Short.parseShort(String.valueOf(wrkMast.getStaNo())));
+ MessageQueue.offer(SlaveType.Devp, devpSlave.getId(), new Task(2, staProtocol));
+ News.info("杈撻�佺嚎鍏ュ簱鍛戒护涓嬪彂锛屼换鍔℃暟鎹�={}", JSON.toJSON(wrkMast));
+ wrkMast.setWrkSts(WrkStsType.INBOUND_DEVICE_RUN.sts);
+ wrkMast.setModiTime(new Date());
+ wrkMastService.updateById(wrkMast);
+ } else {
+
+ }
}
continue;
}
-
try {
- String wmsUrl = "127.0.0.1:8080/fyxcwms";
+ /*String wmsUrl = "127.0.0.1:8080/fyxcwms";
SearchLocParam param = new SearchLocParam();
param.setBarcode(barcode);
param.setIoType(1);
@@ -256,10 +258,6 @@
JSONObject jsonObject = JSON.parseObject(response);
Integer code = jsonObject.getInteger("code");
if (code.equals(200)) {
- MessageQueue.offer(SlaveType.Devp, devpSlave.getId(), new Task(2, staProtocol));
- devpThread.setPakMk(staProtocol.getSiteId(), false);
- News.info("杈撻�佺嚎鍏ュ簱鍛戒护涓嬪彂锛屼换鍔℃暟鎹�={}", JSON.toJSON(wrkMast));
-
StartupDto dto = jsonObject.getObject("data", StartupDto.class);
// String wmsLocNo = dto.getLocNo();
@@ -304,7 +302,7 @@
.build()
.doPost();
News.error("鍏ュ簱鐢宠澶辫触锛屼换鍔℃暟鎹�={}锛岃姹傚搷搴�={}", JSON.toJSON(param), JSON.toJSON(jsonObject));
- }
+ }*/
} catch (Exception e) {
e.printStackTrace();
}
@@ -315,6 +313,38 @@
}
}
+ public synchronized void generateInboundWrk2() {
+ DevpSlave devpSlave = slaveProperties.getDevp().get(0);
+ // 閬嶅巻鍫嗗灈鏈哄嚭搴撶珯
+ for (DevpSlave.Sta inSta : devpSlave.getInSta()) {
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ StaProtocol staProtocol = devpThread.getStation().get(inSta);
+ if (staProtocol == null) {
+ return;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ Short finishWorkNo = staProtocol.getFinishWorkNo();
+ WrkMast wrkMast = wrkMastService.selectByWorkNo(Integer.valueOf(finishWorkNo));
+ if (wrkMast != null) {
+ if (wrkMast.getSourceStaNo() == 1015 || wrkMast.getSourceStaNo() == 1026) {
+
+ //璋冨害杞﹁締
+// boolean dispatchShuttle = shuttleDispatchUtils.dispatchShuttle(null, staProtocol.getLocNo(), wrkMast.getLocNo(), param.getShuttleNo(), "TRANSPORT_DEVP");
+// if (!dispatchShuttle) {
+// News.taskInfo(wrkMast.getWrkNo(), "{}浠诲姟锛寋}灏忚溅锛岃皟搴﹁嚦鍙栬揣鐐瑰け璐�", wrkMast.getWrkNo(), shuttleProtocol.getShuttleNo());
+// return;
+// }
+ } else {
+ //鍒ゆ柇鎻愬崌鏈�
+
+
+ }
+ }
+ }
+
+ }
+
/**
* 鍑哄簱鍒板嚭搴撳彛
@@ -322,62 +352,33 @@
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) {
-//
-// }
+ for (DevpSlave.Sta inSta : devpSlave.getInSta()) {
+ if (inSta.getStaNo() == 1014 || inSta.getStaNo() == 1025) {
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devpSlave.getId());
+ List<WrkMast> wrkSts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.OUTBOUND_LIFT_RUN_COMPLETE.sts));
+ for (WrkMast wrkMast : wrkSts) {
+ StaProtocol staProtocol = devpThread.getStation().get(inSta.getStaNo());
+ if (staProtocol == null) {
+ continue;
+ } else {
+ staProtocol = staProtocol.clone();
+ }
+ if (staProtocol.isAutoing() && !staProtocol.isLoading() && (staProtocol.getWorkNo() == 0 || staProtocol.getStaNo() == null)) {
+ // 鏌ヨ宸ヤ綔妗�
+ if (wrkMast == null) {
+ continue;
+ }
+ staProtocol.setWorkNo(Short.parseShort(String.valueOf(wrkMast.getWrkNo())));
+ staProtocol.setStaNo(Short.parseShort(String.valueOf(wrkMast.getStaNo())));
+ MessageQueue.offer(SlaveType.Devp, devpSlave.getId(), new Task(2, staProtocol));
+ News.info("杈撻�佺嚎鍏ュ簱鍛戒护涓嬪彂锛屼换鍔℃暟鎹�={}", JSON.toJSON(wrkMast));
+ wrkMast.setWrkSts(WrkStsType.COMPLETE_OUTBOUND.sts);
+ wrkMast.setModiTime(new Date());
+ wrkMastService.updateById(wrkMast);
- // 鍒ゆ柇杈撻�佺嚎鍜屽皬杞︾姸鎬佺姸鎬佺瓑寰呯‘璁�
-// 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);
-// }
+ }
+ }
+ } else {
}
}
@@ -421,10 +422,7 @@
*/
public synchronized void shuttleInExecute() {
try {
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
- .in("wrk_sts"
- , WrkStsType.INBOUND_LIFT_RUN_COMPLETE.sts
- ));
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", WrkStsType.INBOUND_LIFT_RUN_COMPLETE.sts));
for (WrkMast wrkMast : wrkMasts) {
boolean step1 = this.shuttleInExecuteStep1(wrkMast);//灏忚溅鎼叆搴撲腑
if (!step1) {
@@ -534,10 +532,7 @@
*/
public synchronized void shuttleOutExecute() {
try {
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
- .in("wrk_sts"
- , WrkStsType.NEW_OUTBOUND.sts
- ));
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", WrkStsType.NEW_OUTBOUND.sts));
for (WrkMast wrkMast : wrkMasts) {
boolean step1 = this.shuttleOutExecuteStep1(wrkMast);//灏忚溅鎼嚭搴撲腑
if (!step1) {
@@ -720,8 +715,7 @@
//鍥涘悜绌挎杞︾姸鎬佷负绛夊緟纭銆佸皬杞﹀浜庣┖闂茬姸鎬�
if (shuttleProtocol.getProtocolStatus() == ShuttleProtocolStatusType.WAITING.id //浠诲姟瀹屾垚绛夊緟纭
- && shuttleProtocol.getTaskNo() != 0
- ) {
+ && shuttleProtocol.getTaskNo() != 0) {
//灏嗕换鍔℃。鏍囪涓哄畬鎴�
WrkMast wrkMast = wrkMastService.selectByWorkNo(shuttleProtocol.getTaskNo());
if (wrkMast != null) {
@@ -808,35 +802,31 @@
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 if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_12.sts) {
+ } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_12.sts) {
wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_13.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_OUT_NO_LIFT_10.sts) {
+ } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_10.sts) {
wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_11.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_OUT_NO_LIFT_8.sts) {
+ } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_8.sts) {
wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_9.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_OUT_NO_LIFT_6.sts) {
+ } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_6.sts) {
wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_7.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_OUT_NO_LIFT_4.sts) {
+ } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_4.sts) {
wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_5.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_OUT_NO_LIFT_2.sts) {
+ } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_2.sts) {
wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_3.sts);
shuttleThread.setSyncTaskNo(0);
notifyUtils.notify(String.valueOf(SlaveType.Shuttle), shuttleProtocol.getShuttleNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.SHUTTLE_POWER_COMPLETE);//瑙﹀彂閫氱煡
- }
-
-
-
- else {
+ } else {
continue;
}
@@ -1029,9 +1019,7 @@
}
//鎻愬崌鏈轰负绛夊緟纭涓旂┖闂�
- if (liftProtocol.getProtocolStatus() == LiftProtocolStatusType.WAITING.id
- && liftProtocol.getTaskNo() != 0
- ) {
+ if (liftProtocol.getProtocolStatus() == LiftProtocolStatusType.WAITING.id && liftProtocol.getTaskNo() != 0) {
//灏嗕换鍔℃。鏍囪涓哄畬鎴�
WrkMast wrkMast = wrkMastService.selectByWorkNo(liftProtocol.getTaskNo());
if (wrkMast != null) {
@@ -1061,10 +1049,10 @@
} else if (wrkMast.getWrkSts() == WrkStsType.MOVE_IN_NO_LIFT_9.sts) {
//鎻愬崌鏈鸿嚦灏忚溅灞� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴�
wrkMast.setWrkSts(WrkStsType.MOVE_IN_NO_LIFT_10.sts);
- }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_8.sts) {
+ } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_8.sts) {
//鎻愬崌鏈鸿嚦灏忚溅灞� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴�
wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_9.sts);
- }else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_4.sts) {
+ } else if (wrkMast.getWrkSts() == WrkStsType.MOVE_OUT_NO_LIFT_4.sts) {
//鎻愬崌鏈鸿嚦灏忚溅灞� ==> 鎻愬崌鏈鸿嚦灏忚溅灞傚畬鎴�
wrkMast.setWrkSts(WrkStsType.MOVE_OUT_NO_LIFT_5.sts);
}
@@ -1126,8 +1114,7 @@
int errorCode = Integer.parseInt(shuttleProtocol.getErrorCode());
BasShuttleErr basShuttleErr = basShuttleErrService.queryByCode(errorCode);
String errName = basShuttleErr == null ? "鏈煡寮傚父" : basShuttleErr.getErrName();
- BasShuttleErrLog basShuttleErrLog = new BasShuttleErrLog(
- null, // 缂栧彿
+ BasShuttleErrLog basShuttleErrLog = new BasShuttleErrLog(null, // 缂栧彿
wrkMast.getWrkNo(), // 宸ヤ綔鍙�
now, // 鍙戠敓鏃堕棿
null, // 缁撴潫鏃堕棿
@@ -1199,8 +1186,7 @@
BasLiftErr basLiftErr = basLiftErrService.queryByCode(Integer.parseInt(liftProtocol.getErrorCode()));
String errName = basLiftErr == null ? "鏈煡寮傚父" : basLiftErr.getErrName();
- BasLiftErrLog basLiftErrLog = new BasLiftErrLog(
- null, // 缂栧彿
+ BasLiftErrLog basLiftErrLog = new BasLiftErrLog(null, // 缂栧彿
wrkMast.getWrkNo(), // 宸ヤ綔鍙�
now, // 鍙戠敓鏃堕棿
null, // 缁撴潫鏃堕棿
diff --git a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
index e2eceb7..5c4a431 100644
--- a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
@@ -1,7 +1,6 @@
package com.zy.asrs.task;
import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.zy.asrs.domain.enums.NotifyMsgType;
import com.zy.asrs.entity.LocMast;
@@ -10,13 +9,9 @@
import com.zy.asrs.service.WrkMastLogService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.utils.NotifyUtils;
-import com.zy.common.utils.HttpHandler;
import com.zy.core.enums.LocStsType;
-import com.zy.core.enums.SlaveType;
import com.zy.core.enums.WrkIoType;
import com.zy.core.enums.WrkStsType;
-import com.zy.system.entity.Config;
-import com.zy.system.service.ConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
@@ -42,7 +37,7 @@
@Scheduled(cron = "0/1 * * * * ? ")
@Transactional
- public void executeIn(){
+ public void executeIn() {
List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.COMPLETE_INBOUND.sts));
if (wrkMasts.isEmpty()) {
return;
@@ -85,7 +80,7 @@
@Scheduled(cron = "0/1 * * * * ? ")
@Transactional
- public void executeOut(){
+ public void executeOut() {
List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.COMPLETE_OUTBOUND.sts));
if (wrkMasts.isEmpty()) {
return;
@@ -128,7 +123,7 @@
@Scheduled(cron = "0/1 * * * * ? ")
@Transactional
- public void executeLocMove(){
+ public void executeLocMove() {
List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.COMPLETE_LOC_MOVE.sts));
if (wrkMasts.isEmpty()) {
return;
@@ -148,7 +143,7 @@
continue;
}
- LocMast sourceLocMast= locMastService.queryByLoc(sourceLocNo);
+ LocMast sourceLocMast = locMastService.queryByLoc(sourceLocNo);
if (sourceLocMast == null) {
log.info("[workNo={}]搴撲綅涓嶅瓨鍦�", wrkMast.getWrkNo());
continue;
@@ -191,7 +186,7 @@
@Scheduled(cron = "0/1 * * * * ? ")
@Transactional
- public void executeMove(){
+ public void executeMove() {
List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
.in("wrk_sts"
, WrkStsType.COMPLETE_MOVE.sts
@@ -205,6 +200,18 @@
}
for (WrkMast wrkMast : wrkMasts) {
+ WrkMast main = wrkMastService.selectByWorkNo(wrkMast.getMainWrkNo());
+ if (main != null) {
+ if (main.getIoType() == WrkIoType.IN.id) {
+ main.setWrkSts(WrkStsType.INBOUND_SHUTTLE_RUN_COMPLETE.sts);
+ } else if (main.getIoType() == WrkIoType.OUT.id) {
+ main.setWrkSts(WrkStsType.OUTBOUND_LIFT_RUN_COMPLETE.sts);
+ }
+ main.setModiTime(new Date());
+ if (wrkMastService.updateById(main)) {
+ log.info("鏇存柊涓诲伐浣滄。[workNo={}]澶辫触", wrkMast.getWrkNo());
+ }
+ }
// 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
log.info("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={}]澶辫触", wrkMast.getWrkNo());
@@ -218,7 +225,7 @@
@Scheduled(cron = "0/1 * * * * ? ")
@Transactional
- public void executeCharge(){
+ public void executeCharge() {
List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.COMPLETE_CHARGE.sts));
if (wrkMasts.isEmpty()) {
return;
@@ -241,7 +248,7 @@
@Scheduled(cron = "0/1 * * * * ? ")
@Transactional
- public void executeCancelTask(){
+ public void executeCancelTask() {
List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("mk", "taskCancel"));
if (wrkMasts.isEmpty()) {
return;
diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java
index 51ace7f..084bd25 100644
--- a/src/main/java/com/zy/core/MainProcess.java
+++ b/src/main/java/com/zy/core/MainProcess.java
@@ -43,9 +43,10 @@
//zhangc
//杈撻�佺嚎
// 鍏ュ簱
- // mainService.generateInboundWrk();
+ mainService.generateInboundWrk();
+ mainService.generateInboundWrk2();
// 鍑哄簱
- // mainService.stnToOutStn();
+ mainService.stnToOutStn();
//鍒濆鍖栧疄鏃跺湴鍥�
mainService.initRealtimeBasMap();
diff --git a/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java b/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java
index 3c7c31d..c5e2346 100644
--- a/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java
+++ b/src/main/java/com/zy/core/dispatcher/ShuttleDispatchUtils.java
@@ -14,21 +14,15 @@
import com.zy.common.model.NavigateNode;
import com.zy.common.model.enums.NavigationMapType;
import com.zy.common.service.CommonService;
-import com.zy.common.utils.ForkLiftUtils;
-import com.zy.common.utils.LiftUtils;
import com.zy.common.utils.NavigateUtils;
import com.zy.core.News;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.SlaveType;
import com.zy.core.enums.WrkIoType;
import com.zy.core.enums.WrkStsType;
-import com.zy.core.model.ForkLiftSlave;
-import com.zy.core.model.LiftSlave;
import com.zy.core.model.ShuttleSlave;
-import com.zy.core.model.protocol.*;
+import com.zy.core.model.protocol.ShuttleProtocol;
import com.zy.core.properties.SlaveProperties;
-import com.zy.core.thread.ForkLiftThread;
-import com.zy.core.thread.LiftThread;
import com.zy.core.thread.ShuttleThread;
import com.zy.system.entity.Config;
import com.zy.system.service.ConfigService;
@@ -119,7 +113,7 @@
if (currentLev == Utils.getLev(locNo)) {
//宸ヤ綔妗fゼ灞傜浉鍚岀殑绌挎杞�
sameLev.add(shuttleThread);
- }else {
+ } else {
//宸ヤ綔妗d笉鍚屾ゼ灞傜殑绌挎杞�
diffLev.add(shuttleThread);
}
@@ -284,6 +278,7 @@
wrkMast.setLocNo(locNo); // 鐩爣搴撲綅
wrkMast.setAppeTime(now);
wrkMast.setModiTime(now);
+ wrkMast.setMainWrkNo(mainWrkMast.getWrkNo());
boolean res = wrkMastService.insert(wrkMast);
if (!res) {
News.error("灏忚溅杩佺Щ --- 淇濆瓨宸ヤ綔妗eけ璐ワ紒 绌挎杞﹀彿锛�" + shuttleNo);
@@ -314,7 +309,7 @@
List<ShuttleGatherResult> list = new ArrayList<>();
for (BasShuttle basShuttle : basShuttles) {
String idleLoc = basShuttle.getIdleLoc();
- if(Cools.isEmpty(idleLoc)) {
+ if (Cools.isEmpty(idleLoc)) {
continue;
}
@@ -395,7 +390,6 @@
return levCount < Integer.parseInt(config.getValue());
}
-
/**
--
Gitblit v1.9.1