From ed265ddfb8f08f69af064a9adf65fcbf06289ffe Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期二, 11 二月 2025 14:07:54 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java | 5 ++
src/main/java/com/zy/asrs/utils/NotifyUtils.java | 36 +++++++++---------
src/main/java/com/zy/core/enums/RedisKeyType.java | 1
src/main/java/com/zy/asrs/domain/NotifyDto.java | 11 +++--
src/main/java/com/zy/asrs/task/WrkMastScheduler.java | 45 ++++++++++++++++++++++
src/main/java/com/zy/common/service/CommonService.java | 5 +-
6 files changed, 79 insertions(+), 24 deletions(-)
diff --git a/src/main/java/com/zy/asrs/domain/NotifyDto.java b/src/main/java/com/zy/asrs/domain/NotifyDto.java
index 38d2f6a..5173b88 100644
--- a/src/main/java/com/zy/asrs/domain/NotifyDto.java
+++ b/src/main/java/com/zy/asrs/domain/NotifyDto.java
@@ -7,8 +7,8 @@
private Long id;
- //璁惧绫诲瀷
- private String deviceType;
+ //閫氱煡绫诲瀷
+ private String notifyType;
//璁惧鍙�
private Integer device;
@@ -19,8 +19,11 @@
//娑堟伅绫诲瀷
private String msgType;
- //娑堟伅鍐呭
- private String content;
+ //娑堟伅鎻忚堪
+ private String msgDesc;
+
+ //娑堟伅鏁版嵁
+ private String data;
//澶辫触閲嶈瘯娆℃暟
private Integer failTimes = 3;
diff --git a/src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java b/src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java
index 11feb74..49505dd 100644
--- a/src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java
+++ b/src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java
@@ -11,6 +11,11 @@
SHUTTLE_POWER_COMPLETE("shuttle_power_complete", "灏忚溅鍏呯數瀹屾垚"),
SHUTTLE_ERROR("shuttle_error", "灏忚溅寮傚父"),
FORK_LIFT_ERROR("fork_lift_error", "璐у弶鎻愬崌鏈哄紓甯�"),
+
+ //浠诲姟
+ TASK_COMPLETE("task_complete", "浠诲姟瀹屾垚"),
+ TASK_CHARGE_COMPLETE("task_charge_complete", "鍏呯數浠诲姟瀹屾垚"),
+ TASK_CANCEL("task_cancel", "浠诲姟鍙栨秷"),
;
public String flag;
diff --git a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
index 4f1b40b..7ef9d9b 100644
--- a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
@@ -1,12 +1,20 @@
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;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.LocMastService;
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.SlaveType;
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;
@@ -27,6 +35,8 @@
private WrkMastLogService wrkMastLogService;
@Autowired
private LocMastService locMastService;
+ @Autowired
+ private NotifyUtils notifyUtils;
@Scheduled(cron = "0/1 * * * * ? ")
@Transactional
@@ -65,6 +75,9 @@
if (!wrkMastService.deleteById(wrkMast)) {
log.info("鍒犻櫎宸ヤ綔涓绘。[workNo={}]澶辫触", wrkMast.getWrkNo());
}
+
+ //涓婃姤
+ notifyUtils.notify("task", 1, String.valueOf(wrkMast.getWrkNo()), NotifyMsgType.TASK_COMPLETE, JSON.toJSONString(wrkMast));
}
}
@@ -105,6 +118,9 @@
if (!wrkMastService.deleteById(wrkMast)) {
log.info("鍒犻櫎宸ヤ綔涓绘。[workNo={}]澶辫触", wrkMast.getWrkNo());
}
+
+ //涓婃姤
+ notifyUtils.notify("task", 1, String.valueOf(wrkMast.getWrkNo()), NotifyMsgType.TASK_COMPLETE, JSON.toJSONString(wrkMast));
}
}
@@ -165,6 +181,9 @@
if (!wrkMastService.deleteById(wrkMast)) {
log.info("鍒犻櫎宸ヤ綔涓绘。[workNo={}]澶辫触", wrkMast.getWrkNo());
}
+
+ //涓婃姤
+ notifyUtils.notify("task", 1, String.valueOf(wrkMast.getWrkNo()), NotifyMsgType.TASK_COMPLETE, JSON.toJSONString(wrkMast));
}
}
@@ -205,6 +224,32 @@
if (!wrkMastService.deleteById(wrkMast)) {
log.info("鍒犻櫎宸ヤ綔涓绘。[workNo={}]澶辫触", wrkMast.getWrkNo());
}
+
+ //涓婃姤
+ notifyUtils.notify("task", 1, String.valueOf(wrkMast.getWrkNo()), NotifyMsgType.TASK_CHARGE_COMPLETE, JSON.toJSONString(wrkMast));
+ }
+ }
+
+ @Scheduled(cron = "0/1 * * * * ? ")
+ @Transactional
+ public void executeCancelTask(){
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("mk", "taskCancel"));
+ if (wrkMasts.isEmpty()) {
+ return;
+ }
+
+ for (WrkMast wrkMast : wrkMasts) {
+ // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+ if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
+ log.info("淇濆瓨宸ヤ綔鍘嗗彶妗workNo={}]澶辫触", wrkMast.getWrkNo());
+ }
+ // 鍒犻櫎宸ヤ綔涓绘。
+ if (!wrkMastService.deleteById(wrkMast)) {
+ log.info("鍒犻櫎宸ヤ綔涓绘。[workNo={}]澶辫触", wrkMast.getWrkNo());
+ }
+
+ //涓婃姤
+ notifyUtils.notify("task", 1, String.valueOf(wrkMast.getWrkNo()), NotifyMsgType.TASK_CANCEL, JSON.toJSONString(wrkMast));
}
}
diff --git a/src/main/java/com/zy/asrs/utils/NotifyUtils.java b/src/main/java/com/zy/asrs/utils/NotifyUtils.java
index 6a1f480..18dc8ab 100644
--- a/src/main/java/com/zy/asrs/utils/NotifyUtils.java
+++ b/src/main/java/com/zy/asrs/utils/NotifyUtils.java
@@ -27,12 +27,12 @@
@Autowired
private ConfigService configService;
- public synchronized boolean notify(String deviceType, Integer device, String taskNo, NotifyMsgType msgType) {
- SlaveType type = SlaveType.findInstance(deviceType);
- if (type == null) {
- return false;
- }
- return append(type, device, taskNo, msgType);
+ public synchronized boolean notify(String notifyType, Integer device, String taskNo, NotifyMsgType msgType) {
+ return append(notifyType, device, taskNo, msgType, null);
+ }
+
+ public synchronized boolean notify(String notifyType, Integer device, String taskNo, NotifyMsgType msgType, String data) {
+ return append(notifyType, device, taskNo, msgType, data);
}
public synchronized List<String> takeKeys(String deviceType, Integer device) {
@@ -73,25 +73,25 @@
return key;
}
- private boolean append(SlaveType deviceType, Integer device, String taskNo, NotifyMsgType msgType) {
+ private boolean append(String notifyType, Integer device, String taskNo, NotifyMsgType msgType, String data) {
String key = null;
- switch (deviceType) {
- case Shuttle:
- key = RedisKeyType.QUEUE_SHUTTLE.key + device;
- break;
- case ForkLift:
- key = RedisKeyType.QUEUE_FORK_LIFT.key + device;
- break;
- default:
- return false;
+ if (notifyType.equals(String.valueOf(SlaveType.Shuttle))) {
+ key = RedisKeyType.QUEUE_SHUTTLE.key + device;
+ } else if (notifyType.equals(String.valueOf(SlaveType.ForkLift))) {
+ key = RedisKeyType.QUEUE_FORK_LIFT.key + device;
+ } else if (notifyType.equals("task")) {
+ key = RedisKeyType.QUEUE_FORK_LIFT.key + device;
+ } else {
+ return false;
}
NotifyDto dto = new NotifyDto();
dto.setId(snowflakeIdWorker.nextId());
- dto.setDeviceType(String.valueOf(deviceType));
+ dto.setNotifyType(notifyType);
dto.setDevice(device);
dto.setMsgType(msgType.flag);
- dto.setContent(msgType.desc);
+ dto.setMsgDesc(msgType.desc);
+ dto.setData(data);
dto.setTaskNo(taskNo);
//閲嶈瘯娆℃暟
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 4e32bd5..c9df23c 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -110,8 +110,9 @@
throw new CoolException("浠诲姟涓嶅瓨鍦�");
}
- wrkMastLogService.save(wrkNo);
- wrkMastService.deleteById(wrkNo);
+ wrkMast.setMk("taskCancel");
+ wrkMast.setModiTime(new Date());
+ wrkMastService.updateById(wrkMast);
return true;
}
diff --git a/src/main/java/com/zy/core/enums/RedisKeyType.java b/src/main/java/com/zy/core/enums/RedisKeyType.java
index fb0f9f7..190f8d9 100644
--- a/src/main/java/com/zy/core/enums/RedisKeyType.java
+++ b/src/main/java/com/zy/core/enums/RedisKeyType.java
@@ -10,6 +10,7 @@
BASIC_MAP("basicMap_"),
QUEUE_SHUTTLE("queue_shuttle_"),
QUEUE_FORK_LIFT("queue_fork_lift_"),
+ QUEUE_TASK("queue_task_"),
;
public String key;
--
Gitblit v1.9.1