|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void execute(JobExecutionContext ctx) { | 
|---|
|  |  |  | log.info("开始执行 组装计划任务定时检查"); | 
|---|
|  |  |  | 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); | 
|---|
|  |  |  | 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("完成 组装计划任务定时检查"); | 
|---|
|  |  |  | } | 
|---|