diff --git a/mom-pms-core/src/main/java/com/foreverwin/mom/pms/job/EquipmentJob.java b/mom-pms-core/src/main/java/com/foreverwin/mom/pms/job/EquipmentJob.java new file mode 100644 index 0000000..a4f4e03 --- /dev/null +++ b/mom-pms-core/src/main/java/com/foreverwin/mom/pms/job/EquipmentJob.java @@ -0,0 +1,61 @@ +package com.foreverwin.mom.pms.job; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.foreverwin.mom.pms.entity.PmsMaintenancePlanMaster; +import com.foreverwin.mom.pms.entity.PmsPatrolSheetExt; +import com.foreverwin.mom.pms.service.PmsMaintenancePlanMasterService; +import com.foreverwin.mom.pms.service.PmsPatrolSheetExtService; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.AllArgsConstructor; +import org.springframework.stereotype.Component; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * JOB + */ +@Component +@AllArgsConstructor +public class EquipmentJob { + + private PmsPatrolSheetExtService pmsPatrolSheetExtService; + + private PmsMaintenancePlanMasterService pmsMaintenancePlanMasterService; + + /** + * 每日定时生成巡检任务单 + */ + @XxlJob("inspectionOrderJobHandler") + public void generateInspectionOrder() { + XxlJobHelper.log ( "每日定时生成巡检任务单JOB开始" ); + try { + List list = pmsPatrolSheetExtService.list ( new LambdaQueryWrapper() + .eq ( PmsPatrolSheetExt::getStateName, "on" ) + .le ( PmsPatrolSheetExt::getPlayTime, LocalDateTime.now () ) + .ge ( PmsPatrolSheetExt::getEndTime, LocalDateTime.now () ) ); + XxlJobHelper.log ( "待生成工单计划数:" + list.size () ); + list.forEach ( pmsPatrolSheetExtService::planGeneration ); + } catch (Exception e) { + XxlJobHelper.handleFail ( "每日定时生成巡检任务单JOB失败:" + e ); + } + XxlJobHelper.log ( "每日定时生成巡检任务单JOB结束" ); + } + + /** + * 每日定时生成保养任务单 + */ + @XxlJob("maintenanceOrderJobHandler") + public void generateMaintenanceOrder() { + XxlJobHelper.log ( "每日定时生成保养任务单JOB开始" ); + try { + List planList = pmsMaintenancePlanMasterService.getPlanList (); + XxlJobHelper.log ( "待生成工单计划数:" + planList.size () ); + planList.forEach ( pmsMaintenancePlanMasterService::execute ); + } catch (Exception e) { + XxlJobHelper.handleFail ( "每日定时生成保养任务单JOB失败:" + e ); + } + XxlJobHelper.log ( "每日定时生成保养任务单JOB结束" ); + } +}