package com.dy.pmsProduct.taskPlan;
|
|
import cn.hutool.core.date.DateUnit;
|
import cn.hutool.core.date.DateUtil;
|
import com.dy.common.schedulerTask.TaskJob;
|
import com.dy.common.springUtil.SpringContextUtil;
|
import com.dy.pmsGlobal.daoPr.PrAssemblyPlanMapper;
|
import com.dy.pmsGlobal.daoPr.PrDeviceMapper;
|
import com.dy.pmsGlobal.pojoPr.PrAssemblyPlan;
|
import com.dy.pmsGlobal.util.DeviceStatus;
|
import lombok.extern.slf4j.Slf4j;
|
import org.quartz.JobExecutionContext;
|
import org.springframework.stereotype.Component;
|
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
@Slf4j
|
@Component
|
public class AssemblyPlanTask extends TaskJob {
|
|
@Override
|
public void execute(JobExecutionContext ctx) {
|
log.info("开始执行 组装计划任务定时检查");
|
try{
|
PrAssemblyPlanMapper assemblyDao = SpringContextUtil.getBean(PrAssemblyPlanMapper.class);
|
PrDeviceMapper deviceDao = SpringContextUtil.getBean(PrDeviceMapper.class);
|
Map<String,Object> planParams = new HashMap<>();
|
planParams.put("status",PlanStatusEnum.NORMAL.getCode());
|
List<PrAssemblyPlan> list = assemblyDao.selectSome(planParams);
|
for (PrAssemblyPlan plan : list) {
|
HashMap<String, Object> deviceParams = new HashMap<>();
|
deviceParams.put("batchId", plan.getBatchId());
|
deviceParams.put("status", DeviceStatus.COMPLETED.getCode());
|
Long count = deviceDao.selectSomeCount(deviceParams);
|
if(count>plan.number && DateUtil.between(DateUtil.parse(plan.endDate), DateUtil.date(), DateUnit.DAY)>3){
|
plan.setStatus(PlanStatusEnum.END.getCode());
|
assemblyDao.updateByPrimaryKeySelective(plan);
|
}
|
}
|
}catch (Exception e){
|
log.error("组装计划任务定时检查异常",e);
|
}
|
log.info("完成 组装计划任务定时检查");
|
}
|
}
|