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/thread/impl/ZySiemensDualCrnThread.java | 111 ++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 80 insertions(+), 31 deletions(-)
diff --git a/src/main/java/com/zy/core/thread/impl/ZySiemensDualCrnThread.java b/src/main/java/com/zy/core/thread/impl/ZySiemensDualCrnThread.java
index a52b3d8..8d8883c 100644
--- a/src/main/java/com/zy/core/thread/impl/ZySiemensDualCrnThread.java
+++ b/src/main/java/com/zy/core/thread/impl/ZySiemensDualCrnThread.java
@@ -3,7 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
-import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.core.common.DateUtils;
import com.core.common.SpringUtils;
import com.zy.asrs.entity.*;
@@ -87,10 +87,14 @@
List<SendDualCrnCommandParam> commandList = (List<SendDualCrnCommandParam>) task.getData();
for (SendDualCrnCommandParam sendDualCrnCommandParam : commandList) {
DualCrnCommand dualCrnCommand = sendDualCrnCommandParam.getCommands().get(0);
- redisUtil.set(RedisKeyType.DUAL_CRN_COMMAND_IDX.key + dualCrnCommand.getTaskNo(), sendDualCrnCommandParam.getCommandIdx(), 60 * 60 * 24);
+ redisUtil.set(RedisKeyType.DUAL_CRN_COMMAND_IDX.key + dualCrnCommand.getTaskNo(), 0, 60 * 60 * 24);
+ redisUtil.set(RedisKeyType.DUAL_CRN_COMMAND_.key + dualCrnCommand.getTaskNo(), JSON.toJSONString(sendDualCrnCommandParam, SerializerFeature.DisableCircularReferenceDetect), 60 * 60 * 24);
+ if (sendDualCrnCommandParam.getStation() == 1) {
+ redisUtil.set(RedisKeyType.DUAL_CRN_STATION1_FLAG.key + crnProtocol.getCrnNo(), dualCrnCommand.getTaskNo(), 60 * 60 * 24);
+ }else {
+ redisUtil.set(RedisKeyType.DUAL_CRN_STATION2_FLAG.key + crnProtocol.getCrnNo(), dualCrnCommand.getTaskNo(), 60 * 60 * 24);
+ }
}
-
- redisUtil.set(RedisKeyType.DUAL_CRN_COMMAND_.key + crnProtocol.getCrnNo(), JSON.toJSONString(commandList, SerializerFeature.DisableCircularReferenceDetect), 60 * 60 * 24);
} else if (step == 3) {
sendCommand((DualCrnCommand) task.getData());
}
@@ -120,11 +124,7 @@
continue;
}
- Object commandListObj = redisUtil.get(RedisKeyType.DUAL_CRN_COMMAND_.key + crnProtocol.getCrnNo());
- if (commandListObj == null) {
- continue;
- }
- List<SendDualCrnCommandParam> commandList = JSON.parseArray(commandListObj.toString(), SendDualCrnCommandParam.class);
+ List<SendDualCrnCommandParam> commandList = getDualCrnCommandList();
for (SendDualCrnCommandParam commandParam : commandList) {
processStation(commandParam);
}
@@ -154,23 +154,27 @@
boolean send = false;
if (station == 1) {
- if (dualCommand.getTaskMode().intValue() == DualCrnTaskModeType.PICK.id) {
- if (crnProtocol.getStatus().equals(DualCrnStatusType.IDLE.id)) {
- send = true;
- }
- } else if (dualCommand.getTaskMode().intValue() == DualCrnTaskModeType.PUT.id) {
- if (crnProtocol.getStatus().equals(DualCrnStatusType.FETCH_COMPLETE.id)) {
- send = true;
+ if (crnProtocol.getTaskSend() == 0) {
+ if (dualCommand.getTaskMode().intValue() == DualCrnTaskModeType.PICK.id) {
+ if (crnProtocol.getStatus().equals(DualCrnStatusType.IDLE.id)) {
+ send = true;
+ }
+ } else if (dualCommand.getTaskMode().intValue() == DualCrnTaskModeType.PUT.id) {
+ if (crnProtocol.getStatus().equals(DualCrnStatusType.FETCH_COMPLETE.id)) {
+ send = true;
+ }
}
}
}else {
- if (dualCommand.getTaskMode().intValue() == DualCrnTaskModeType.PICK.id) {
- if (crnProtocol.getStatusTwo().equals(DualCrnStatusType.IDLE.id)) {
- send = true;
- }
- } else if (dualCommand.getTaskMode().intValue() == DualCrnTaskModeType.PUT.id) {
- if (crnProtocol.getStatusTwo().equals(DualCrnStatusType.FETCH_COMPLETE.id)) {
- send = true;
+ if (crnProtocol.getTaskSendTwo() == 0) {
+ if (dualCommand.getTaskMode().intValue() == DualCrnTaskModeType.PICK.id) {
+ if (crnProtocol.getStatusTwo().equals(DualCrnStatusType.IDLE.id)) {
+ send = true;
+ }
+ } else if (dualCommand.getTaskMode().intValue() == DualCrnTaskModeType.PUT.id) {
+ if (crnProtocol.getStatusTwo().equals(DualCrnStatusType.FETCH_COMPLETE.id)) {
+ send = true;
+ }
}
}
}
@@ -242,6 +246,7 @@
//宸ヤ綅1
crnProtocol.setTaskNo(0);
+ crnProtocol.setDeviceTaskNo(0);
crnProtocol.setStatus(-1);
crnProtocol.setBay(0);
crnProtocol.setLevel(0);
@@ -252,6 +257,7 @@
//宸ヤ綅2
crnProtocol.setTaskNoTwo(0);
+ crnProtocol.setDeviceTaskNoTwo(0);
crnProtocol.setStatusTwo(-1);
crnProtocol.setBayTwo(0);
crnProtocol.setLevelTwo(0);
@@ -276,7 +282,7 @@
}
if (basDualCrnpService != null) {
- BasDualCrnp basDualCrnp = basDualCrnpService.selectOne(new EntityWrapper<BasDualCrnp>().eq("crn_no", deviceConfig.getDeviceNo()));
+ BasDualCrnp basDualCrnp = basDualCrnpService.getOne(new QueryWrapper<BasDualCrnp>().eq("crn_no", deviceConfig.getDeviceNo()));
if(basDualCrnp == null) {
basDualCrnp = new BasDualCrnp();
basDualCrnp.setCrnNo(deviceConfig.getDeviceNo());
@@ -286,7 +292,7 @@
basDualCrnp.setMaxInTask(5);
basDualCrnp.setMaxOutTask(5);
basDualCrnp.setCreateTime(new Date());
- basDualCrnpService.insert(basDualCrnp);
+ basDualCrnpService.save(basDualCrnp);
}
}
}
@@ -311,18 +317,20 @@
crnProtocol.setMode(crnStatus.getMode());
//宸ヤ綅1
- crnProtocol.setTaskNo(crnStatus.getTaskNo());
+ crnProtocol.setDeviceTaskNo(crnStatus.getTaskNo());
crnProtocol.setStatus(crnStatus.getStatus());
crnProtocol.setForkPos(crnStatus.getForkPos());
crnProtocol.setLoaded(crnStatus.getLoaded());
crnProtocol.setTaskReceive(crnStatus.getTaskReceive());
+ crnProtocol.setTaskSend(crnStatus.getTaskSend());
//宸ヤ綅2
- crnProtocol.setTaskNoTwo(crnStatus.getTaskNoTwo());
+ crnProtocol.setDeviceTaskNoTwo(crnStatus.getTaskNoTwo());
crnProtocol.setStatusTwo(crnStatus.getStatusTwo());
crnProtocol.setForkPosTwo(crnStatus.getForkPosTwo());
crnProtocol.setLoadedTwo(crnStatus.getLoadedTwo());
crnProtocol.setTaskReceiveTwo(crnStatus.getTaskReceiveTwo());
+ crnProtocol.setTaskSendTwo(crnStatus.getTaskSendTwo());
crnProtocol.setBay(crnStatus.getBay());
crnProtocol.setLevel(crnStatus.getLevel());
@@ -384,7 +392,7 @@
log.setStatus(1);
log.setCreateTime(new Date());
log.setSystemStatus(JSON.toJSONString(crnProtocol));
- errLogService.insert(log);
+ errLogService.save(log);
if (log.getId() != null) {
redisUtil.set(errFlagKey, log.getId(), 60 * 60 * 24);
}
@@ -485,10 +493,10 @@
}
@Override
- public DualCrnCommand getResetCommand(Integer crnNo, Integer station) {
+ public DualCrnCommand getResetCommand(Integer taskNo, Integer crnNo, Integer station) {
DualCrnCommand crnCommand = new DualCrnCommand();
crnCommand.setCrnNo(crnNo); // 鍫嗗灈鏈虹紪鍙�
- crnCommand.setTaskNo(0); // 宸ヤ綔鍙�
+ crnCommand.setTaskNo(taskNo); // 宸ヤ綔鍙�
crnCommand.setTaskMode(DualCrnTaskModeType.CONFIRM.id); // 浠诲姟妯″紡: 纭
crnCommand.setSourcePosX(0); // 婧愬簱浣嶆帓
crnCommand.setSourcePosY(0); // 婧愬簱浣嶅垪
@@ -529,8 +537,49 @@
JSON.toJSONString(response)
);
if (bean != null) {
- bean.insert(basDualCrnpOpt);
+ bean.save(basDualCrnpOpt);
}
}
}
+
+ public List<SendDualCrnCommandParam> getDualCrnCommandList() {
+ List<SendDualCrnCommandParam> commandList = new ArrayList<>();
+ SendDualCrnCommandParam command1 = getDualCrnCommandList(1);
+ SendDualCrnCommandParam command2 = getDualCrnCommandList(2);
+ if (command1 != null) {
+ commandList.add(command1);
+ }
+
+ if (command2 != null) {
+ commandList.add(command2);
+ }
+
+ return commandList;
+ }
+
+ public SendDualCrnCommandParam getDualCrnCommandList(int station) {
+ SendDualCrnCommandParam sendDualCrnCommandParam = null;
+ String key = null;
+ if (station == 1 && crnProtocol.getTaskNo() > 0) {
+ key = RedisKeyType.DUAL_CRN_COMMAND_.key + crnProtocol.getTaskNo();
+ } else if (station == 2 && crnProtocol.getTaskNoTwo() > 0) {
+ key = RedisKeyType.DUAL_CRN_COMMAND_.key + crnProtocol.getTaskNoTwo();
+ }
+
+ if (key == null) {
+ return null;
+ }
+
+ Object commandObj = redisUtil.get(key);
+ if (commandObj == null) {
+ return null;
+ }
+
+ sendDualCrnCommandParam = JSON.parseObject(commandObj.toString(), SendDualCrnCommandParam.class);
+ if (sendDualCrnCommandParam == null) {
+ return null;
+ }
+
+ return sendDualCrnCommandParam;
+ }
}
--
Gitblit v1.9.1