From 123a17c9d50745ea609f91943adca64e5ed12355 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期六, 12 四月 2025 09:08:14 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/asrs/task/WrkMastScheduler.java | 251 +++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 249 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
index ce73eb2..e2eceb7 100644
--- a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
@@ -1,15 +1,29 @@
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.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;
import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+import java.util.Date;
import java.util.List;
@@ -21,10 +35,171 @@
private WrkMastService wrkMastService;
@Autowired
private WrkMastLogService wrkMastLogService;
+ @Autowired
+ private LocMastService locMastService;
+ @Autowired
+ private NotifyUtils notifyUtils;
@Scheduled(cron = "0/1 * * * * ? ")
- private void executeMove(){
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.COMPLETE_MOVE.sts));
+ @Transactional
+ public void executeIn(){
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.COMPLETE_INBOUND.sts));
+ if (wrkMasts.isEmpty()) {
+ return;
+ }
+
+ for (WrkMast wrkMast : wrkMasts) {
+ String locNo = wrkMast.getLocNo();
+ LocMast locMast = locMastService.queryByLoc(locNo);
+ if (locMast == null) {
+ log.info("[workNo={}]搴撲綅涓嶅瓨鍦�", wrkMast.getWrkNo());
+ continue;
+ }
+
+ if (!locMast.getLocSts().equals("S")) {
+ log.info("[workNo={}]搴撲綅鐘舵�佷笉澶勪簬S", wrkMast.getWrkNo());
+ continue;
+ }
+
+ locMast.setLocSts("F");
+ locMast.setModiTime(new Date());
+ boolean result = locMastService.updateById(locMast);
+ if (!result) {
+ log.info("[workNo={}]搴撲綅鐘舵�丗鏇存柊澶辫触", wrkMast.getWrkNo());
+ continue;
+ }
+
+ // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+ 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()), wrkMast.getWmsWrkNo(), NotifyMsgType.TASK_COMPLETE, JSON.toJSONString(wrkMast));
+ }
+ }
+
+ @Scheduled(cron = "0/1 * * * * ? ")
+ @Transactional
+ public void executeOut(){
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.COMPLETE_OUTBOUND.sts));
+ if (wrkMasts.isEmpty()) {
+ return;
+ }
+
+ for (WrkMast wrkMast : wrkMasts) {
+ String locNo = wrkMast.getSourceLocNo();
+ LocMast locMast = locMastService.queryByLoc(locNo);
+ if (locMast == null) {
+ log.info("[workNo={}]搴撲綅涓嶅瓨鍦�", wrkMast.getWrkNo());
+ continue;
+ }
+
+ if (!locMast.getLocSts().equals("R")) {
+ log.info("[workNo={}]搴撲綅鐘舵�佷笉澶勪簬R", wrkMast.getWrkNo());
+ continue;
+ }
+
+ locMast.setLocSts("O");
+ locMast.setModiTime(new Date());
+ boolean result = locMastService.updateById(locMast);
+ if (!result) {
+ log.info("[workNo={}]搴撲綅鐘舵�丱鏇存柊澶辫触", wrkMast.getWrkNo());
+ continue;
+ }
+
+ // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+ 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()), wrkMast.getWmsWrkNo(), NotifyMsgType.TASK_COMPLETE, JSON.toJSONString(wrkMast));
+ }
+ }
+
+ @Scheduled(cron = "0/1 * * * * ? ")
+ @Transactional
+ public void executeLocMove(){
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.COMPLETE_LOC_MOVE.sts));
+ if (wrkMasts.isEmpty()) {
+ return;
+ }
+
+ for (WrkMast wrkMast : wrkMasts) {
+ String sourceLocNo = wrkMast.getSourceLocNo();
+ String locNo = wrkMast.getLocNo();
+ LocMast locMast = locMastService.queryByLoc(locNo);
+ if (locMast == null) {
+ log.info("[workNo={}]搴撲綅涓嶅瓨鍦�", wrkMast.getWrkNo());
+ continue;
+ }
+
+ if (!locMast.getLocSts().equals("S")) {
+ log.info("[workNo={}]搴撲綅鐘舵�佷笉澶勪簬S", wrkMast.getWrkNo());
+ continue;
+ }
+
+ LocMast sourceLocMast= locMastService.queryByLoc(sourceLocNo);
+ if (sourceLocMast == null) {
+ log.info("[workNo={}]搴撲綅涓嶅瓨鍦�", wrkMast.getWrkNo());
+ continue;
+ }
+
+ if (!sourceLocMast.getLocSts().equals("R")) {
+ log.info("[workNo={}]搴撲綅鐘舵�佷笉澶勪簬R", wrkMast.getWrkNo());
+ continue;
+ }
+
+ locMast.setLocSts("F");
+ locMast.setModiTime(new Date());
+ boolean result = locMastService.updateById(locMast);
+ if (!result) {
+ log.info("[workNo={}]搴撲綅鐘舵�丗鏇存柊澶辫触", wrkMast.getWrkNo());
+ continue;
+ }
+
+ sourceLocMast.setLocSts("O");
+ sourceLocMast.setModiTime(new Date());
+ boolean result2 = locMastService.updateById(sourceLocMast);
+ if (!result2) {
+ log.info("[workNo={}]搴撲綅鐘舵�丱鏇存柊澶辫触", wrkMast.getWrkNo());
+ continue;
+ }
+
+ // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
+ 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()), wrkMast.getWmsWrkNo(), NotifyMsgType.TASK_COMPLETE, JSON.toJSONString(wrkMast));
+ }
+ }
+
+ @Scheduled(cron = "0/1 * * * * ? ")
+ @Transactional
+ public void executeMove(){
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
+ .in("wrk_sts"
+ , WrkStsType.COMPLETE_MOVE.sts
+ , WrkStsType.COMPLETE_MOVE_TRANSPORT_LIFT.sts
+ , WrkStsType.COMPLETE_MOVE_TRANSPORT_LIFT_OUT.sts
+ , WrkStsType.MOVE_IN_NO_LIFT_14.sts
+ , WrkStsType.MOVE_OUT_NO_LIFT_13.sts
+ ));
if (wrkMasts.isEmpty()) {
return;
}
@@ -41,4 +216,76 @@
}
}
+ @Scheduled(cron = "0/1 * * * * ? ")
+ @Transactional
+ public void executeCharge(){
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.COMPLETE_CHARGE.sts));
+ 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()), wrkMast.getWmsWrkNo(), 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());
+ }
+
+ if (wrkMast.getIoType() == WrkIoType.IN.id) {
+ LocMast locMast = locMastService.queryByLoc(wrkMast.getLocNo());
+ locMast.setLocSts(String.valueOf(LocStsType.O));
+ locMast.setModiTime(new Date());
+ locMastService.updateById(locMast);
+ } else if (wrkMast.getIoType() == WrkIoType.OUT.id) {
+ LocMast locMast = locMastService.queryByLoc(wrkMast.getSourceLocNo());
+ locMast.setLocSts(String.valueOf(LocStsType.O));
+ locMast.setModiTime(new Date());
+ locMastService.updateById(locMast);
+ } else if (wrkMast.getIoType() == WrkIoType.LOC_MOVE.id) {
+ LocMast sourceLocMast = locMastService.queryByLoc(wrkMast.getSourceLocNo());
+ LocMast locMast = locMastService.queryByLoc(wrkMast.getLocNo());
+ if (sourceLocMast.getLocSts().equals(String.valueOf(LocStsType.R))) {
+ sourceLocMast.setLocSts(String.valueOf(LocStsType.F));
+ sourceLocMast.setModiTime(new Date());
+ locMastService.updateById(sourceLocMast);
+ }
+
+ if (locMast.getLocSts().equals(String.valueOf(LocStsType.S))) {
+ locMast.setLocSts(String.valueOf(LocStsType.O));
+ locMast.setModiTime(new Date());
+ locMastService.updateById(locMast);
+ }
+ }
+
+ //涓婃姤
+ notifyUtils.notify("task", 1, String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.TASK_CANCEL, JSON.toJSONString(wrkMast));
+ }
+ }
+
}
--
Gitblit v1.9.1