| | |
| | | package com.ruoyi.device.service.impl; |
| | | |
| | | import com.ruoyi.device.pojo.DeviceMaintenance; |
| | | import com.ruoyi.device.mapper.MaintenanceTaskItemMapper; |
| | | import com.ruoyi.device.mapper.DeviceMaintenanceItemMapper; |
| | | import com.ruoyi.device.pojo.MaintenanceTaskItem; |
| | | import com.ruoyi.device.pojo.DeviceMaintenanceItem; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.ruoyi.device.pojo.MaintenanceTask; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.quartz.*; |
| | |
| | | @Autowired |
| | | private JdbcTemplate jdbcTemplate; |
| | | |
| | | @Autowired |
| | | private MaintenanceTaskItemMapper maintenanceTaskItemMapper; |
| | | |
| | | @Autowired |
| | | private DeviceMaintenanceItemMapper deviceMaintenanceItemMapper; |
| | | |
| | | @Override |
| | | public void execute(JobExecutionContext context) throws JobExecutionException { |
| | | JobDataMap jobDataMap = context.getJobDetail().getJobDataMap(); |
| | |
| | | throw new JobExecutionException("MaintenanceTaskJob找不到定时任务: " + taskId); |
| | | } |
| | | |
| | | // 2. 创建并保存巡检任务记录 - 这就是您提供的代码应该放的位置 |
| | | List<MaintenanceTaskItem> taskItems = maintenanceTaskItemMapper.selectByTaskId(timingTask.getId()); |
| | | if (taskItems.isEmpty()) { |
| | | throw new JobExecutionException("保养任务未配置保养项目: " + taskId); |
| | | } |
| | | // 按任务项目快照生成本次保养记录及项目清单。 |
| | | DeviceMaintenance deviceMaintenance = createInspectionTask(timingTask); |
| | | deviceMaintenanceService.save(deviceMaintenance); |
| | | for (MaintenanceTaskItem taskItem : taskItems) { |
| | | DeviceMaintenanceItem recordItem = new DeviceMaintenanceItem(); |
| | | recordItem.setDeviceMaintenanceId(deviceMaintenance.getId()); |
| | | recordItem.setMaintenanceTaskItemId(taskItem.getId()); |
| | | recordItem.setMaintenanceItemId(taskItem.getMaintenanceItemId()); |
| | | recordItem.setItemProject(taskItem.getItemProject()); |
| | | recordItem.setItemName(taskItem.getItemName()); |
| | | recordItem.setItemStatus(0); |
| | | recordItem.setSortNum(taskItem.getSortNum()); |
| | | recordItem.setTenantId(deviceMaintenance.getTenantId()); |
| | | recordItem.setDeptId(timingTask.getDeptId()); |
| | | deviceMaintenanceItemMapper.insert(recordItem); |
| | | } |
| | | |
| | | // 3. 更新定时任务的执行时间 |
| | | if (!tasks.isEmpty()) { |
| | |
| | | |
| | | for (String dayStr : dayStrs) { |
| | | switch (dayStr) { |
| | | case "MON": days.add(DayOfWeek.MONDAY); break; |
| | | case "TUE": days.add(DayOfWeek.TUESDAY); break; |
| | | case "WED": days.add(DayOfWeek.WEDNESDAY); break; |
| | | case "THU": days.add(DayOfWeek.THURSDAY); break; |
| | | case "FRI": days.add(DayOfWeek.FRIDAY); break; |
| | | case "SAT": days.add(DayOfWeek.SATURDAY); break; |
| | | case "SUN": days.add(DayOfWeek.SUNDAY); break; |
| | | default: throw new IllegalArgumentException("无效的星期几: " + dayStr); |
| | | case "MON": |
| | | days.add(DayOfWeek.MONDAY); |
| | | break; |
| | | case "TUE": |
| | | days.add(DayOfWeek.TUESDAY); |
| | | break; |
| | | case "WED": |
| | | days.add(DayOfWeek.WEDNESDAY); |
| | | break; |
| | | case "THU": |
| | | days.add(DayOfWeek.THURSDAY); |
| | | break; |
| | | case "FRI": |
| | | days.add(DayOfWeek.FRIDAY); |
| | | break; |
| | | case "SAT": |
| | | days.add(DayOfWeek.SATURDAY); |
| | | break; |
| | | case "SUN": |
| | | days.add(DayOfWeek.SUNDAY); |
| | | break; |
| | | default: |
| | | throw new IllegalArgumentException("无效的星期几: " + dayStr); |
| | | } |
| | | } |
| | | |