From 5ce93b60b31ca5a346109fe1d232a591469b163d Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 22 五月 2023 15:25:01 +0800
Subject: [PATCH] 定时将WMS任务(完成、取消)转成日志

---
 src/main/java/com/zy/asrs/task/WmsWrkLogScheduler.java           |   34 +++++++++++++++++
 src/main/java/com/zy/asrs/mapper/WmsWrkLogMapper.java            |    4 ++
 src/main/java/com/zy/asrs/service/WmsWrkLogService.java          |    2 +
 src/main/java/com/zy/asrs/service/WmsWrkService.java             |    4 ++
 src/main/resources/mapper/WmsWrkMapper.xml                       |    5 ++
 src/main/java/com/zy/asrs/mapper/WmsWrkMapper.java               |    4 ++
 src/main/java/com/zy/Boot.java                                   |    2 +
 src/main/java/com/zy/asrs/service/impl/WmsWrkServiceImpl.java    |    5 ++
 src/main/java/com/zy/asrs/service/impl/WmsWrkLogServiceImpl.java |    4 ++
 9 files changed, 64 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/Boot.java b/src/main/java/com/zy/Boot.java
index f25a356..a616580 100644
--- a/src/main/java/com/zy/Boot.java
+++ b/src/main/java/com/zy/Boot.java
@@ -5,8 +5,10 @@
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
 import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
 
 @EnableAsync
+@EnableScheduling
 @SpringBootApplication
 public class Boot extends SpringBootServletInitializer {
 
diff --git a/src/main/java/com/zy/asrs/mapper/WmsWrkLogMapper.java b/src/main/java/com/zy/asrs/mapper/WmsWrkLogMapper.java
index d02e605..86178e0 100644
--- a/src/main/java/com/zy/asrs/mapper/WmsWrkLogMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WmsWrkLogMapper.java
@@ -2,6 +2,7 @@
 
 import com.zy.asrs.entity.WmsWrkLog;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Mapper;
 import org.springframework.stereotype.Repository;
 
@@ -9,4 +10,7 @@
 @Repository
 public interface WmsWrkLogMapper extends BaseMapper<WmsWrkLog> {
 
+    @Insert("insert into wcs_wms_wrk_log select * from wcs_wms_wrk where wms_wrk_no=#{wmsWrkNo}")
+    int save(Integer wmsWrkNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/mapper/WmsWrkMapper.java b/src/main/java/com/zy/asrs/mapper/WmsWrkMapper.java
index 15d280c..bef7b12 100644
--- a/src/main/java/com/zy/asrs/mapper/WmsWrkMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WmsWrkMapper.java
@@ -5,10 +5,14 @@
 import org.apache.ibatis.annotations.Mapper;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 @Mapper
 @Repository
 public interface WmsWrkMapper extends BaseMapper<WmsWrk> {
 
     WmsWrk selectByWmsWrkNo(Integer wmsWrkNo);
 
+    List<WmsWrk> selectToBeHistoryData();
+
 }
diff --git a/src/main/java/com/zy/asrs/service/WmsWrkLogService.java b/src/main/java/com/zy/asrs/service/WmsWrkLogService.java
index e8c2c0a..0147fbc 100644
--- a/src/main/java/com/zy/asrs/service/WmsWrkLogService.java
+++ b/src/main/java/com/zy/asrs/service/WmsWrkLogService.java
@@ -5,4 +5,6 @@
 
 public interface WmsWrkLogService extends IService<WmsWrkLog> {
 
+    boolean save(Integer wmsWrkNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/WmsWrkService.java b/src/main/java/com/zy/asrs/service/WmsWrkService.java
index 88a4dc3..e4ff79d 100644
--- a/src/main/java/com/zy/asrs/service/WmsWrkService.java
+++ b/src/main/java/com/zy/asrs/service/WmsWrkService.java
@@ -3,6 +3,8 @@
 import com.zy.asrs.entity.WmsWrk;
 import com.baomidou.mybatisplus.service.IService;
 
+import java.util.List;
+
 public interface WmsWrkService extends IService<WmsWrk> {
 
     WmsWrk selectByWmsWrkNo(Integer wmsWrkNo);
@@ -19,4 +21,6 @@
     //搴撲綅绉昏浆
     void locMove(WmsWrk wmsWrk, Long userId);
 
+    List<WmsWrk> selectToBeHistoryData();
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/WmsWrkLogServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WmsWrkLogServiceImpl.java
index 3db130e..85e35ba 100644
--- a/src/main/java/com/zy/asrs/service/impl/WmsWrkLogServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WmsWrkLogServiceImpl.java
@@ -9,4 +9,8 @@
 @Service("wmsWrkLogService")
 public class WmsWrkLogServiceImpl extends ServiceImpl<WmsWrkLogMapper, WmsWrkLog> implements WmsWrkLogService {
 
+    @Override
+    public boolean save(Integer wmsWrkNo) {
+        return this.baseMapper.save(wmsWrkNo) > 0;
+    }
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/WmsWrkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WmsWrkServiceImpl.java
index 420cd4d..41e01df 100644
--- a/src/main/java/com/zy/asrs/service/impl/WmsWrkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WmsWrkServiceImpl.java
@@ -275,4 +275,9 @@
             throw new CoolException("绉昏浆澶辫触锛岀洰鏍囧簱浣嶇姸鎬侊細"+loc.getLocSts$());
         }
     }
+
+    @Override
+    public List<WmsWrk> selectToBeHistoryData() {
+        return this.baseMapper.selectToBeHistoryData();
+    }
 }
diff --git a/src/main/java/com/zy/asrs/task/WmsWrkLogScheduler.java b/src/main/java/com/zy/asrs/task/WmsWrkLogScheduler.java
new file mode 100644
index 0000000..5f9cc68
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/WmsWrkLogScheduler.java
@@ -0,0 +1,34 @@
+package com.zy.asrs.task;
+
+import com.zy.asrs.entity.WmsWrk;
+import com.zy.asrs.service.WmsWrkLogService;
+import com.zy.asrs.service.WmsWrkService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+/**
+ * 瀹氭椂灏哤MS浠诲姟(瀹屾垚銆佸彇娑�)杞垚鏃ュ織
+ */
+@Slf4j
+@Component
+public class WmsWrkLogScheduler {
+
+    @Autowired
+    private WmsWrkService wmsWrkService;
+    @Autowired
+    private WmsWrkLogService wmsWrkLogService;
+
+    @Scheduled(cron = "0/3 * * * * ? ")
+    public void execute() {
+        for (WmsWrk wmsWrk : wmsWrkService.selectToBeHistoryData()) {
+            boolean save = wmsWrkLogService.save(wmsWrk.getWmsWrkNo());
+            boolean delete = wmsWrkService.deleteById(wmsWrk.getWmsWrkNo());
+            if (!save || !delete) {
+                log.error("浠诲姟[wmsWrkNo={}]鍘嗗彶澶勭悊澶辫触", wmsWrk.getWmsWrkNo());
+            }
+        }
+    }
+
+}
diff --git a/src/main/resources/mapper/WmsWrkMapper.xml b/src/main/resources/mapper/WmsWrkMapper.xml
index d28a430..5933adb 100644
--- a/src/main/resources/mapper/WmsWrkMapper.xml
+++ b/src/main/resources/mapper/WmsWrkMapper.xml
@@ -29,4 +29,9 @@
         where wms_wrk_no = #{wmsWrkNo}
     </select>
 
+    <select id="selectToBeHistoryData" resultMap="BaseResultMap">
+        select * from wcs_wms_wrk
+        where wms_status in (4,5)
+    </select>
+
 </mapper>

--
Gitblit v1.9.1