From e37cbe8c4d9cdf1f511135d302960faa04e12dd6 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期四, 06 四月 2023 10:51:22 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/WrkChargeService.java          |    6 ++
 src/main/java/com/zy/asrs/task/handler/WrkChargeHandler.java     |   49 ++++++++++++++++++++++++
 src/main/java/com/zy/asrs/task/WrkChargeScheduler.java           |   30 +++++++++++++++
 src/main/resources/mapper/WrkChargeMapper.xml                    |    7 +++
 src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java |    6 +++
 src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java            |    4 ++
 6 files changed, 101 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java b/src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java
index 88d6451..dc30024 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkChargeMapper.java
@@ -5,8 +5,12 @@
 import org.apache.ibatis.annotations.Mapper;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 @Mapper
 @Repository
 public interface WrkChargeMapper extends BaseMapper<WrkCharge> {
 
+    List<WrkCharge> findTimeoutData();
+
 }
diff --git a/src/main/java/com/zy/asrs/service/WrkChargeService.java b/src/main/java/com/zy/asrs/service/WrkChargeService.java
index 43c9a52..b78b162 100644
--- a/src/main/java/com/zy/asrs/service/WrkChargeService.java
+++ b/src/main/java/com/zy/asrs/service/WrkChargeService.java
@@ -1,8 +1,12 @@
 package com.zy.asrs.service;
 
-import com.zy.asrs.entity.WrkCharge;
 import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.WrkCharge;
+
+import java.util.List;
 
 public interface WrkChargeService extends IService<WrkCharge> {
 
+    List<WrkCharge> findTimeoutData();
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java
index 3e23acc..4afacbd 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkChargeServiceImpl.java
@@ -6,7 +6,13 @@
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service("wrkChargeService")
 public class WrkChargeServiceImpl extends ServiceImpl<WrkChargeMapper, WrkCharge> implements WrkChargeService {
 
+    @Override
+    public List<WrkCharge> findTimeoutData() {
+        return this.baseMapper.findTimeoutData();
+    }
 }
diff --git a/src/main/java/com/zy/asrs/task/WrkChargeScheduler.java b/src/main/java/com/zy/asrs/task/WrkChargeScheduler.java
new file mode 100644
index 0000000..9e72f3e
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/WrkChargeScheduler.java
@@ -0,0 +1,30 @@
+package com.zy.asrs.task;
+
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.handler.WrkChargeHandler;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by vincent on 2020/7/7
+ */
+@Component
+public class WrkChargeScheduler {
+
+    private static final Logger log = LoggerFactory.getLogger(WrkChargeScheduler.class);
+
+    @Autowired
+    private WrkChargeHandler wrkChargeHandler;
+
+    @Scheduled(cron = "0/3 * * * * ? ")
+    private void execute(){
+        ReturnT<String> returnT = wrkChargeHandler.start();
+        if (!returnT.isSuccess()) {
+            log.error(returnT.getMsg());
+        }
+    }
+
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/WrkChargeHandler.java b/src/main/java/com/zy/asrs/task/handler/WrkChargeHandler.java
new file mode 100644
index 0000000..0d6ecf6
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/handler/WrkChargeHandler.java
@@ -0,0 +1,49 @@
+package com.zy.asrs.task.handler;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.zy.asrs.entity.WrkCharge;
+import com.zy.asrs.service.WrkChargeService;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
+
+import java.util.List;
+
+/**
+ * Created by vincent on 2020/7/7
+ */
+@Service
+public class WrkChargeHandler extends AbstractHandler<String> {
+
+    @Autowired
+    private JdbcTemplate jdbcTemplate;
+    @Autowired
+    private WrkChargeService wrkChargeService;
+
+    @Transactional
+    public ReturnT<String> start() {
+        try {
+            List<WrkCharge> wrkCharges = wrkChargeService.findTimeoutData();
+            if (!Cools.isEmpty(wrkCharges)) {
+                for (WrkCharge wrkCharge : wrkCharges) {
+                    wrkChargeService.delete(new EntityWrapper<WrkCharge>()
+                            .eq("wrk_no", wrkCharge.getWrkNo())
+                            .eq("wrk_sts", wrkCharge.getWrkSts())
+                            .eq("ste_no", wrkCharge.getSteNo())
+                    );
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return FAIL.setMsg(e.getMessage());
+        }
+        return SUCCESS;
+    }
+
+}
diff --git a/src/main/resources/mapper/WrkChargeMapper.xml b/src/main/resources/mapper/WrkChargeMapper.xml
index 5499e2a..6fe8ce7 100644
--- a/src/main/resources/mapper/WrkChargeMapper.xml
+++ b/src/main/resources/mapper/WrkChargeMapper.xml
@@ -29,4 +29,11 @@
 
     </resultMap>
 
+    <select id="findTimeoutData" resultMap="BaseResultMap">
+        select * from asr_wrk_charge
+        where 1=1
+        and dateadd(mi,30,modi_time) &lt;= getdate()
+        and wrk_sts not in (30, 47)
+    </select>
+
 </mapper>

--
Gitblit v1.9.1