From 4cb014bccf1964942cdf8e885f946989d5cb8daa Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期四, 17 七月 2025 09:54:13 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/WrkMastScheduler.java |   73 ++++++++++++++++++++++++++++++++++++
 1 files changed, 73 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
index 4f1b40b..61ae077 100644
--- a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
@@ -1,12 +1,22 @@
 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;
@@ -27,6 +37,8 @@
     private WrkMastLogService wrkMastLogService;
     @Autowired
     private LocMastService locMastService;
+    @Autowired
+    private NotifyUtils notifyUtils;
 
     @Scheduled(cron = "0/1 * * * * ? ")
     @Transactional
@@ -65,6 +77,9 @@
             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));
         }
     }
 
@@ -105,6 +120,9 @@
             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));
         }
     }
 
@@ -165,6 +183,9 @@
             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));
         }
     }
 
@@ -205,6 +226,58 @@
             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.F));
+                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