| | |
| | | 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; |
| | |
| | | @Slf4j |
| | | public class ThirdMaintenanceOrderGenerateJob implements Job { |
| | | |
| | | @Autowired |
| | | private IEamEquipmentPrecisionParametersService eamEquipmentPrecisionParametersService; |
| | | @Autowired |
| | | private IEamThirdMaintenanceOrderService eamThirdMaintenanceOrderService; |
| | | @Autowired |
| | |
| | | //设置初始日期为前一天 |
| | | 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)) { |
| | |
| | | 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()); |
| | |
| | | } |
| | | // 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); |