From a4f07b2a0ddb6c210e05afbbb491feeb466203e7 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 09 三月 2026 19:15:50 +0800
Subject: [PATCH] #V3重大更新,升级JDK17,升级SpirngBoot3.5.1
---
src/main/java/com/zy/core/plugin/FakeProcess.java | 145 ++++++++++++++++++++++++++----------------------
1 files changed, 79 insertions(+), 66 deletions(-)
diff --git a/src/main/java/com/zy/core/plugin/FakeProcess.java b/src/main/java/com/zy/core/plugin/FakeProcess.java
index 7daf0eb..f739578 100644
--- a/src/main/java/com/zy/core/plugin/FakeProcess.java
+++ b/src/main/java/com/zy/core/plugin/FakeProcess.java
@@ -2,7 +2,8 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.core.common.Cools;
import com.zy.asrs.domain.param.CreateInTaskParam;
import com.zy.asrs.domain.param.CreateOutTaskParam;
@@ -121,9 +122,15 @@
// 鎵ц杈撻�佺珯鐐瑰叆搴撲换鍔�
stationOperateProcessUtils.stationInExecute();
// 鎵ц杈撻�佺珯鐐瑰嚭搴撲换鍔�
- stationOperateProcessUtils.stationOutExecute();
+ stationOperateProcessUtils.crnStationOutExecute();
// 妫�娴嬭緭閫佺珯鐐瑰嚭搴撲换鍔℃墽琛屽畬鎴�
stationOperateProcessUtils.stationOutExecuteFinish();
+ // 妫�娴嬩换鍔¤浆瀹屾垚
+ stationOperateProcessUtils.checkTaskToComplete();
+ // 妫�娴嬪嚭搴撴帓搴�
+ stationOperateProcessUtils.checkStationOutOrder();
+ // 鐩戞帶缁曞湀绔欑偣
+ stationOperateProcessUtils.watchCircleStation();
// 鎵ц鍙屽伐浣嶅爢鍨涙満浠诲姟
dualCrnOperateProcessUtils.dualCrnIoExecute();
@@ -142,25 +149,25 @@
while (!Thread.currentThread().isInterrupted()) {
try {
Config enableFakeConfig = configService
- .selectOne(new EntityWrapper<Config>().eq("code", "enableFake"));
+ .getOne(new QueryWrapper<Config>().eq("code", "enableFake"));
if (enableFakeConfig != null) {
enableFake = enableFakeConfig.getValue();
}
Config fakeRealTaskRequestWmsConfig = configService
- .selectOne(new EntityWrapper<Config>().eq("code", "fakeRealTaskRequestWms"));
+ .getOne(new QueryWrapper<Config>().eq("code", "fakeRealTaskRequestWms"));
if (fakeRealTaskRequestWmsConfig != null) {
fakeRealTaskRequestWms = fakeRealTaskRequestWmsConfig.getValue();
}
Config fakeGenerateInTaskConfig = configService
- .selectOne(new EntityWrapper<Config>().eq("code", "fakeGenerateInTask"));
+ .getOne(new QueryWrapper<Config>().eq("code", "fakeGenerateInTask"));
if (fakeGenerateInTaskConfig != null) {
fakeGenerateInTask = fakeGenerateInTaskConfig.getValue();
}
Config fakeGenerateOutTaskConfig = configService
- .selectOne(new EntityWrapper<Config>().eq("code", "fakeGenerateOutTask"));
+ .getOne(new QueryWrapper<Config>().eq("code", "fakeGenerateOutTask"));
if (fakeGenerateOutTaskConfig != null) {
fakeGenerateOutTask = fakeGenerateOutTaskConfig.getValue();
}
@@ -211,7 +218,7 @@
return;
}
- List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
+ List<BasDevp> basDevps = basDevpService.list(new QueryWrapper<>());
for (BasDevp basDevp : basDevps) {
StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basDevp.getDevpNo());
if (stationThread == null) {
@@ -265,7 +272,7 @@
return;
}
- List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
+ List<BasDevp> basDevps = basDevpService.list(new QueryWrapper<>());
for (BasDevp basDevp : basDevps) {
StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basDevp.getDevpNo());
if (stationThread == null) {
@@ -301,13 +308,13 @@
// 妫�娴嬩换鍔℃槸鍚︾敓鎴�
List<WrkMast> wrkMasts = wrkMastService
- .selectList(new EntityWrapper<WrkMast>().eq("barcode", stationProtocol.getBarcode()));
+ .list(new QueryWrapper<WrkMast>().eq("barcode", stationProtocol.getBarcode()));
if (!wrkMasts.isEmpty()) {
continue;
}
List<LocMast> locMastList = locMastService
- .selectList(new EntityWrapper<LocMast>().eq("loc_sts", String.valueOf(LocStsType.O)));
+ .list(new QueryWrapper<LocMast>().eq("loc_sts", String.valueOf(LocStsType.O)));
if (locMastList.isEmpty()) {
continue;
}
@@ -348,64 +355,68 @@
// 鐢熸垚浠跨湡妯℃嫙鍑哄簱浠诲姟
private synchronized void generateFakeOutTask() {
- if (!enableFake.equals("Y")) {
- return;
- }
-
- if (fakeRealTaskRequestWms.equals("Y")) {
- return;
- }
-
- if (!fakeGenerateOutTask.equals("Y")) {
- return;
- }
-
- List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
- for (BasDevp basDevp : basDevps) {
- StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basDevp.getDevpNo());
- if (stationThread == null) {
- continue;
+ try {
+ if (!enableFake.equals("Y")) {
+ return;
}
- Map<Integer, StationProtocol> stationMap = stationThread.getStatusMap();
+ if (fakeRealTaskRequestWms.equals("Y")) {
+ return;
+ }
- List<StationObjModel> list = basDevp.getOutStationList$();
- for (StationObjModel entity : list) {
- Integer stationId = entity.getStationId();
- if (!stationMap.containsKey(stationId)) {
+ if (!fakeGenerateOutTask.equals("Y")) {
+ return;
+ }
+
+ List<BasDevp> basDevps = basDevpService.list(new QueryWrapper<>());
+ for (BasDevp basDevp : basDevps) {
+ StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basDevp.getDevpNo());
+ if (stationThread == null) {
continue;
}
- StationProtocol stationProtocol = stationMap.get(stationId);
- if (stationProtocol == null) {
- continue;
- }
+ Map<Integer, StationProtocol> stationMap = stationThread.getStatusMap();
- Object object = redisUtil.get(RedisKeyType.GENERATE_FAKE_OUT_TASK_LIMIT.key + stationId);
- if (object != null) {
- return;
- }
-
- // 婊¤冻鑷姩銆佹棤鐗┿�佸伐浣滃彿0锛岀敓鎴愬嚭搴撴暟鎹�
- if (stationProtocol.isAutoing()
- && !stationProtocol.isLoading()
- && stationProtocol.getTaskNo() == 0) {
- List<LocMast> locMastList = locMastService
- .selectList(new EntityWrapper<LocMast>().eq("loc_sts", String.valueOf(LocStsType.F)));
- if (locMastList.isEmpty()) {
+ List<StationObjModel> list = basDevp.getOutStationList$();
+ for (StationObjModel entity : list) {
+ Integer stationId = entity.getStationId();
+ if (!stationMap.containsKey(stationId)) {
continue;
}
- LocMast locMast = locMastList.get(0);
+ StationProtocol stationProtocol = stationMap.get(stationId);
+ if (stationProtocol == null) {
+ continue;
+ }
- CreateOutTaskParam taskParam = new CreateOutTaskParam();
- taskParam.setTaskNo(String.valueOf(commonService.getWorkNo(WrkIoType.OUT.id)));
- taskParam.setStaNo(stationId);
- taskParam.setLocNo(locMast.getLocNo());
- boolean result = commonService.createOutTask(taskParam);
- redisUtil.set(RedisKeyType.GENERATE_FAKE_OUT_TASK_LIMIT.key + stationId, "lock", 10);
+ Object object = redisUtil.get(RedisKeyType.GENERATE_FAKE_OUT_TASK_LIMIT.key + stationId);
+ if (object != null) {
+ return;
+ }
+
+ // 婊¤冻鑷姩銆佹棤鐗┿�佸伐浣滃彿0锛岀敓鎴愬嚭搴撴暟鎹�
+ if (stationProtocol.isAutoing()
+ && !stationProtocol.isLoading()
+ && stationProtocol.getTaskNo() == 0) {
+ List<LocMast> locMastList = locMastService
+ .list(new QueryWrapper<LocMast>().eq("loc_sts", String.valueOf(LocStsType.F)));
+ if (locMastList.isEmpty()) {
+ continue;
+ }
+
+ LocMast locMast = locMastList.get(0);
+
+ CreateOutTaskParam taskParam = new CreateOutTaskParam();
+ taskParam.setTaskNo(String.valueOf(commonService.getWorkNo(WrkIoType.OUT.id)));
+ taskParam.setStaNo(stationId);
+ taskParam.setLocNo(locMast.getLocNo());
+ boolean result = commonService.createOutTask(taskParam);
+ redisUtil.set(RedisKeyType.GENERATE_FAKE_OUT_TASK_LIMIT.key + stationId, "lock", 10);
+ }
}
}
+ } catch (Exception e) {
+ e.printStackTrace();
}
}
@@ -436,7 +447,7 @@
return;
}
- List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
+ List<BasDevp> basDevps = basDevpService.list(new QueryWrapper<>());
for (BasDevp basDevp : basDevps) {
StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basDevp.getDevpNo());
if (stationThread == null) {
@@ -467,7 +478,8 @@
// 妫�娴嬩换鍔℃槸鍚︾敓鎴�
List<WrkMast> wrkMasts = wrkMastService
- .selectList(new EntityWrapper<WrkMast>().eq("barcode", stationProtocol.getBarcode()));
+ .list(new QueryWrapper<WrkMast>()
+ .eq("barcode", stationProtocol.getBarcode()));
if (!wrkMasts.isEmpty()) {
continue;
}
@@ -476,7 +488,7 @@
if (lock != null) {
continue;
}
- redisUtil.set(RedisKeyType.GENERATE_IN_TASK_LIMIT.key + stationId, "lock", 10);
+ redisUtil.set(RedisKeyType.GENERATE_IN_TASK_LIMIT.key + stationId, "lock", 3);
String barcode = stationProtocol.getBarcode();
Integer stationIdVal = stationProtocol.getStationId();
@@ -484,7 +496,7 @@
// 1. 棣栧厛鏌ヨ鏄惁鏈夊凡瀹屾垚鐨勫紓姝ュ搷搴�
String response = wmsOperateUtils.queryAsyncInTaskResponse(barcode, stationIdVal);
- if (response != null) {
+ if (!Cools.isEmpty(response)) {
// 2. 鏈夊搷搴旂粨鏋滐紝澶勭悊鍝嶅簲
if (response.equals("FAILED") || response.startsWith("ERROR:")) {
// 璇锋眰澶辫触锛岄噸鏂板彂璧峰紓姝ヨ姹�
@@ -551,7 +563,7 @@
// 璁$畻鎵�鏈夌珯鐐瑰仠鐣欐椂闂�
public synchronized void calcAllStationStayTime() {
- List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
+ List<BasDevp> basDevps = basDevpService.list(new QueryWrapper<>());
for (BasDevp basDevp : basDevps) {
StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp, basDevp.getDevpNo());
if (stationThread == null) {
@@ -575,7 +587,7 @@
// 妫�娴嬪嚭搴撶珯鐐瑰仠鐣欐槸鍚﹁秴鏃�
public synchronized void checkOutStationStayTimeOut() {
- List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
+ List<BasDevp> basDevps = basDevpService.list(new QueryWrapper<>());
for (BasDevp basDevp : basDevps) {
List<StationObjModel> outStationList = basDevp.getOutStationList$();
if (outStationList.isEmpty()) {
@@ -595,7 +607,7 @@
continue;
}
- if (System.currentTimeMillis() - stayTime > 1000 * 15) {
+ if (System.currentTimeMillis() - stayTime > 1000 * 60) {
StationThread stationThread = (StationThread) SlaveConnection.get(SlaveType.Devp,
stationObjModel.getDeviceNo());
if (stationThread == null) {
@@ -621,7 +633,7 @@
// 妫�娴嬪叆搴撶珯鐐瑰爢鍨涙満鏄惁鍙栬蛋璐х墿
public synchronized void checkInStationCrnTake() {
- List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>());
+ List<BasCrnp> basCrnps = basCrnpService.list(new QueryWrapper<>());
for (BasCrnp basCrnp : basCrnps) {
List<StationObjModel> inStationList = basCrnp.getInStationList$();
if (inStationList.isEmpty()) {
@@ -631,7 +643,7 @@
checkInStationListCrnTake(inStationList);
}
- List<BasDualCrnp> basDualCrnps = basDualCrnpService.selectList(new EntityWrapper<>());
+ List<BasDualCrnp> basDualCrnps = basDualCrnpService.list(new QueryWrapper<>());
for (BasDualCrnp basDualCrnp : basDualCrnps) {
List<StationObjModel> inStationList = basDualCrnp.getInStationList$();
if (inStationList.isEmpty()) {
@@ -733,7 +745,7 @@
// 鍫嗗灈鏈轰换鍔℃墽琛屽畬鎴�
public synchronized void crnIoExecuteFinish() {
- List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>());
+ List<BasCrnp> basCrnps = basCrnpService.list(new QueryWrapper<>());
for (BasCrnp basCrnp : basCrnps) {
CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, basCrnp.getCrnNo());
if (crnThread == null) {
@@ -787,6 +799,7 @@
StationCommand command = stationThread.getCommand(StationCommandType.WRITE_INFO, 9998,
wrkMast.getSourceStaNo(), 0, 0);
MessageQueue.offer(SlaveType.Devp, stationObjModel.getDeviceNo(), new Task(2, command));
+ redisUtil.set(RedisKeyType.CRN_OUT_TASK_COMPLETE_STATION_INFO.key + wrkMast.getWrkNo(), JSON.toJSONString(stationObjModel, SerializerFeature.DisableCircularReferenceDetect), 60 * 60 * 24);
}
} else if (wrkMast.getWrkSts() == WrkStsType.LOC_MOVE_RUN.sts) {
updateWrkSts = WrkStsType.COMPLETE_LOC_MOVE.sts;
@@ -799,7 +812,7 @@
wrkMast.setSystemMsg("");
wrkMast.setIoTime(new Date());
if (wrkMastService.updateById(wrkMast)) {
- CrnCommand resetCommand = crnThread.getResetCommand(crnProtocol.getCrnNo());
+ CrnCommand resetCommand = crnThread.getResetCommand(crnProtocol.getTaskNo(), crnProtocol.getCrnNo());
MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(2, resetCommand));
News.info("鍫嗗灈鏈轰换鍔$姸鎬佹洿鏂版垚鍔燂紝鍫嗗灈鏈哄彿={}锛屽伐浣滃彿={}", basCrnp.getCrnNo(), crnProtocol.getTaskNo());
}
--
Gitblit v1.9.1