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 Task52Handler extends AbstractHandler { @Autowired private WrkMastService wrkMastService; @Autowired private WrkDetlService wrkDetlService; public ReturnT start() { try { Date now = new Date(); List wrkMastList = wrkMastService.selectList(new EntityWrapper().eq("wrk_sts",52L)); for (WrkMast wrkMast : wrkMastList){ try { Long l = DifferenceDayLong(wrkMast.getModiTime(), now); 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); } }