| | |
| | | LambdaQueryWrapper<EimsInspectPlan> planBoQueryWrapper = Wrappers.lambdaQuery(); |
| | | // 查询启用的点检计划 |
| | | planBoQueryWrapper.eq(EimsInspectPlan::getStatus, DictConstants.SYS_NORMAL_DISABLE_DETAIL.NORMAL); |
| | | // 过滤没有下次运行时间 |
| | | planBoQueryWrapper.isNotNull(EimsInspectPlan::getInspNextTime); |
| | | // 过滤没有点检周期的数据 |
| | | planBoQueryWrapper.isNotNull(EimsInspectPlan::getInspCycle); |
| | | planBoQueryWrapper.isNotNull(EimsInspectPlan::getInspCycleUnit); |
| | | // // 过滤没有下次运行时间 |
| | | // planBoQueryWrapper.isNotNull(EimsInspectPlan::getInspNextTime); |
| | | // // 过滤没有点检周期的数据 |
| | | // planBoQueryWrapper.isNotNull(EimsInspectPlan::getInspCycle); |
| | | // planBoQueryWrapper.isNotNull(EimsInspectPlan::getInspCycleUnit); |
| | | |
| | | List<EimsInspectPlanVo> planVoList = planMapper.selectVoList(planBoQueryWrapper); |
| | | for (int i = 0; i < planVoList.size(); i++) { |
| | | EimsInspectPlanVo planVo = planVoList.get(i); |
| | | // 点检计划add的时候会自动生成下次运行时间 |
| | | Date oldNext = planVo.getInspNextTime(); |
| | | int day = DateUtils.differentDays(today, oldNext); |
| | | // 如果计划生成点检日期大于今天则不生成点检记录 |
| | | if (day >= 1) { |
| | | continue; |
| | | } |
| | | // // 点检计划add的时候会自动生成下次运行时间 |
| | | // Date oldNext = planVo.getInspNextTime(); |
| | | // int day = DateUtils.differentDays(today, oldNext); |
| | | // // 如果计划生成点检日期大于今天则不生成点检记录 |
| | | // if (day >= 1) { |
| | | // continue; |
| | | // } |
| | | // |
| | | // // 计算生成点检记录时间 |
| | | // Long inspCycle = planVo.getInspCycle(); |
| | | // Date newNext = null; |
| | | // String inspCycleUnit = planVo.getInspCycleUnit(); |
| | | // switch (inspCycleUnit) { |
| | | // case DictConstants.MAINT_CYCLE_UNIT_DETAIL.DAY: |
| | | // newNext = DateUtils.addDays(oldNext, inspCycle.intValue()); |
| | | // break; |
| | | // case DictConstants.MAINT_CYCLE_UNIT_DETAIL.WEEK: |
| | | // |
| | | // newNext = DateUtils.addWeeks(oldNext, inspCycle.intValue()); |
| | | // |
| | | // break; |
| | | // case DictConstants.MAINT_CYCLE_UNIT_DETAIL.MONTH: |
| | | // |
| | | // newNext = DateUtils.addMonths(oldNext, inspCycle.intValue()); |
| | | // |
| | | // break; |
| | | // case DictConstants.MAINT_CYCLE_UNIT_DETAIL.SEASON: |
| | | // newNext = DateUtils.addMonths(oldNext, inspCycle.intValue() * 3); |
| | | // |
| | | // break; |
| | | // case DictConstants.MAINT_CYCLE_UNIT_DETAIL.YEAR: |
| | | // |
| | | // newNext = DateUtils.addYears(oldNext, inspCycle.intValue()); |
| | | // |
| | | // break; |
| | | // } |
| | | |
| | | // 计算生成点检记录时间 |
| | | Long inspCycle = planVo.getInspCycle(); |
| | | Date newNext = null; |
| | | String inspCycleUnit = planVo.getInspCycleUnit(); |
| | | switch (inspCycleUnit) { |
| | | case DictConstants.MAINT_CYCLE_UNIT_DETAIL.DAY: |
| | | newNext = DateUtils.addDays(oldNext, inspCycle.intValue()); |
| | | break; |
| | | case DictConstants.MAINT_CYCLE_UNIT_DETAIL.WEEK: |
| | | Date nowDate = DateUtils.getNowDate(); |
| | | |
| | | newNext = DateUtils.addWeeks(oldNext, inspCycle.intValue()); |
| | | |
| | | break; |
| | | case DictConstants.MAINT_CYCLE_UNIT_DETAIL.MONTH: |
| | | |
| | | newNext = DateUtils.addMonths(oldNext, inspCycle.intValue()); |
| | | |
| | | break; |
| | | case DictConstants.MAINT_CYCLE_UNIT_DETAIL.SEASON: |
| | | newNext = DateUtils.addMonths(oldNext, inspCycle.intValue() * 3); |
| | | |
| | | break; |
| | | case DictConstants.MAINT_CYCLE_UNIT_DETAIL.YEAR: |
| | | |
| | | newNext = DateUtils.addYears(oldNext, inspCycle.intValue()); |
| | | |
| | | break; |
| | | } |
| | | Date nextDate = DateUtils.addDays(nowDate, 1); |
| | | |
| | | EimsInspectRecord record = new EimsInspectRecord(); |
| | | record.setEquId(planVo.getEquId()); |
| | |
| | | record.setInspUser(planVo.getInspUser()); |
| | | record.setInspDept(planVo.getInspDept()); |
| | | record.setStatus(DictConstants.EIMS_INSPECT_STATUS_DETAIL.N); |
| | | record.setPlanTime(oldNext); |
| | | record.setPlanTime(nowDate); |
| | | record.setPlanId(planVo.getId()); |
| | | //点检项名称 |
| | | record.setInspName(planVo.getInspName()); |
| | | record.setInspCode(codeService.generateCode("DJZD")); |
| | | EimsInspectPlan plan = MapstructUtils.convert(planVo, EimsInspectPlan.class); |
| | | assert plan != null; |
| | | plan.setInspLastTime(oldNext); |
| | | plan.setInspNextTime(newNext); |
| | | if(plan.getInspFirstTime()==null)plan.setInspFirstTime(oldNext); |
| | | plan.setInspLastTime(nowDate); |
| | | plan.setInspNextTime(nextDate); |
| | | if(plan.getInspFirstTime()==null)plan.setInspFirstTime(nowDate); |
| | | boolean flag = recordMapper.insert(record) > 0; |
| | | //TODO 生成失败,添加异常记录 |
| | | if (!flag) continue; |