车间能级提升-智能设备管理系统
zhuguifei
2025-05-14 496eaf6c859b868cac4aaaa8948b446d759b9d94
eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/job/InspectPlanToRecordJob.java
@@ -49,51 +49,55 @@
        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());
@@ -102,16 +106,16 @@
            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;