zhangherong
2025-07-12 6e006cb835fce4720139de0cc2ec3be734295ed9
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/job/ThirdMaintenanceOrderGenerateJob.java
@@ -9,7 +9,6 @@
import org.jeecg.modules.eam.constant.OrderCreationMethodEnum;
import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.request.EamThirdMaintenanceRequest;
import org.jeecg.modules.eam.service.IEamEquipmentPrecisionParametersService;
import org.jeecg.modules.eam.service.IEamMaintenanceStandardDetailService;
import org.jeecg.modules.eam.service.IEamMaintenanceStandardService;
import org.jeecg.modules.eam.service.IEamThirdMaintenanceOrderService;
@@ -34,8 +33,6 @@
@Slf4j
public class ThirdMaintenanceOrderGenerateJob implements Job {
    @Autowired
    private IEamEquipmentPrecisionParametersService eamEquipmentPrecisionParametersService;
    @Autowired
    private IEamThirdMaintenanceOrderService eamThirdMaintenanceOrderService;
    @Autowired
@@ -81,19 +78,19 @@
                    //设置初始日期为前一天
                    standard.setInitialDate(DateUtils.localDateToDate(now.minusDays(1)));
                }
                LocalDate generateDate = DateUtils.dateToLocalDate(standard.getInitialDate());
                if (standard.getLastGenerateTime() != null) {
                    generateDate = DateUtils.dateToLocalDate(standard.getLastGenerateTime());
                }
//                LocalDate generateDate = DateUtils.dateToLocalDate(standard.getInitialDate());
//                if (standard.getLastGenerateTime() != null) {
//                    generateDate = DateUtils.dateToLocalDate(standard.getLastGenerateTime());
//                }
                //加周期
                do {
                    //初始日期设置的比较早,或任务长时间没执行,必须周期到今天才会生成工单
                    generateDate = generateDate.plusDays(standard.getMaintenancePeriod());
                } while (now.isAfter(generateDate));
                if(!now.isEqual(generateDate)) {
                    //还未到生成日期,跳过执行
                    continue;
                }
//                do {
//                    //初始日期设置的比较早,或任务长时间没执行,必须周期到今天才会生成工单
//                    generateDate = generateDate.plusDays(standard.getMaintenancePeriod());
//                } while (now.isAfter(generateDate));
//                if(!now.isEqual(generateDate)) {
//                    //还未到生成日期,跳过执行
//                    continue;
//                }
                //获取保养项明细
                List<EamMaintenanceStandardDetail> standardDetailList = eamMaintenanceStandardDetailService.selectByStandardId(standard.getId());
                if(CollectionUtil.isEmpty(standardDetailList)) {
@@ -105,7 +102,7 @@
                EamThirdMaintenanceRequest request = new EamThirdMaintenanceRequest();
                request.setEquipmentId(standard.getEquipmentId());
                request.setStandardId(standard.getId());
                request.setMaintenanceDate(DateUtils.localDateToDate(generateDate));
//                request.setMaintenanceDate(DateUtils.localDateToDate(generateDate));
                String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.THIRD_MAINTENANCE_CODE_RULE);
                request.setOrderNum(codeSeq);
                request.setCreationMethod(OrderCreationMethodEnum.AUTO.name());
@@ -121,24 +118,10 @@
                }
//                List<EamThirdMaintenanceOrderDetail> collect = standardDetailList.stream().map(EamThirdMaintenanceOrderDetail::new).collect(Collectors.toList());
                request.setTableDetailList(tableDetailList);
                //通过设备 获取设备精度参数
                List<EamEquipmentPrecisionParameters> precisionParametersList = eamEquipmentPrecisionParametersService
                        .lambdaQuery().eq(EamEquipmentPrecisionParameters::getEquipmentId, standard.getEquipmentId()).list();
                if(precisionParametersList.size()>0){
                    List<EamPrecisionCheckDetail> precisionDetailList = new ArrayList<>();
                    for (EamEquipmentPrecisionParameters epp : precisionParametersList) {
                        EamPrecisionCheckDetail pcd = new EamPrecisionCheckDetail();
                        pcd.setParameterId(epp.getParameterId());
                        pcd.setEquipmentId(standard.getEquipmentId());
                        pcd.setParameterValue(epp.getParameterValue());
                        precisionDetailList.add(pcd);
                    }
                    request.setPrecisionDetailList(precisionDetailList);
                }
                eamThirdMaintenanceOrderService.addMaintenance(request);
                standard.setLastGenerateTime(new Date());
//                standard.setLastGenerateTime(new Date());
                eamMaintenanceStandardService.updateById(standard);
            }
            quartzLog.setIsSuccess(0);