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<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);
|
}
|
}
|