From 7c6c9fc12e3860973316dca1822da846945a81f6 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期四, 20 三月 2025 23:20:29 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/task/handler/TaskHandler.java |   87 +++++++++++++++++++++++++++++++++++++++++++
 src/main/java/com/zy/asrs/task/TaskScheduler.java       |   30 +++++++++++++++
 2 files changed, 117 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/TaskScheduler.java b/src/main/java/com/zy/asrs/task/TaskScheduler.java
new file mode 100644
index 0000000..ab0b438
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/TaskScheduler.java
@@ -0,0 +1,30 @@
+package com.zy.asrs.task;
+
+import com.zy.asrs.task.core.ReturnT;
+import com.zy.asrs.task.handler.TaskHandler;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+
+/**
+ * Created by Monkey D. Luffy on 2023.07.25
+ * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............鎷嗗灈淇℃伅涓婁紶
+ */
+@Slf4j
+@Component
+public class TaskScheduler {
+
+    @Autowired
+    private TaskHandler taskHandler;
+
+    @Scheduled(cron = "0/1 * * * * ? ")
+    private void execute(){
+        try{
+            ReturnT<String> result = taskHandler.start();
+        }catch (Exception e){
+            log.error("寮傚父淇℃伅锛�"+e);
+        }
+    }
+}
diff --git a/src/main/java/com/zy/asrs/task/handler/TaskHandler.java b/src/main/java/com/zy/asrs/task/handler/TaskHandler.java
new file mode 100644
index 0000000..18499a4
--- /dev/null
+++ b/src/main/java/com/zy/asrs/task/handler/TaskHandler.java
@@ -0,0 +1,87 @@
+package com.zy.asrs.task.handler;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.service.WrkDetlService;
+import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.task.AbstractHandler;
+import com.zy.asrs.task.core.ReturnT;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.time.LocalDate;
+import java.time.temporal.ChronoUnit;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Created by Monkey D. Luffy on 2023.07.25
+ * 寰愬伐姹変簯..............浠ヤ笅.............涓婇ザ姹熼摐.............鎷嗗灈淇℃伅涓婁紶
+ */
+@Slf4j
+@Service
+@Transactional
+public class TaskHandler extends AbstractHandler<String> {
+
+    @Autowired
+    private WrkMastService wrkMastService;
+    @Autowired
+    private WrkDetlService wrkDetlService;
+
+    public ReturnT<String> start() {
+        try {
+            Date now = new Date();
+            List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts",52L));
+            for (WrkMast wrkMast : wrkMastList){
+                try {
+                    Long l = DifferenceDayLong(now, wrkMast.getCrnEndTime());
+                    if (l>1){
+                        wrkMast.setWrkSts(57L);
+                        wrkMastService.updateById(wrkMast);
+                    }
+                } catch ( Exception e){
+                }
+            }
+            return SUCCESS;
+        }catch (Exception e){
+            log.error("寮傚父锛侊紒锛�"+e);
+            return FAIL;
+        }
+    }
+
+    //鑾峰彇澶╁樊寮�
+    public static Long DifferenceDayLong(Date startDay,Date endDay){
+
+        LocalDate a = LocalDate.of(timeYest(startDay), timeMonth(startDay), timeDay(startDay));
+        LocalDate b = LocalDate.of(timeYest(endDay), timeMonth(endDay), timeDay(endDay));
+
+        return ChronoUnit.DAYS.between(a, b)+1;
+    }
+
+    //鑾峰彇骞�
+    public static int timeYest(Date date){
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+
+        return calendar.get(Calendar.YEAR);
+    }
+
+    //鑾峰彇鏈�
+    public static int timeMonth(Date date){
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+
+        return calendar.get(Calendar.MONTH) + 1;
+    }
+
+    //鑾峰彇鏃�
+    public static int timeDay(Date date){
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+
+        return calendar.get(Calendar.DAY_OF_MONTH);
+    }
+}

--
Gitblit v1.9.1