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