| | |
| | | if (StringUtils.isNotBlank(timingTask.getTaskName())) { |
| | | queryWrapper.like(TimingTask::getTaskName, timingTask.getTaskName()); |
| | | } |
| | | queryWrapper.orderByDesc(TimingTask::getCreateTime); |
| | | IPage<TimingTask> taskPage = timingTaskMapper.selectPage(page, queryWrapper); |
| | | |
| | | // 2. 如果没有数据,直接返回空分页 |
| | |
| | | .filter(StringUtils::isNotBlank) |
| | | .map(Long::valueOf) |
| | | .forEach(userIds::add); |
| | | } |
| | | }); |
| | | |
| | | // 收集验收入ID |
| | | taskPage.getRecords().forEach(task -> { |
| | | if (task.getInspectionAcceptorId() != null) { |
| | | userIds.add(task.getInspectionAcceptorId()); |
| | | } |
| | | }); |
| | | |
| | |
| | | } |
| | | } |
| | | dto.setInspector(inspectorNickNames); |
| | | } |
| | | |
| | | // 设置验收人昵称 |
| | | if (task.getInspectionAcceptorId() != null) { |
| | | dto.setInspectionAcceptor(userNickNameMap.getOrDefault(task.getInspectionAcceptorId(), "未知用户")); |
| | | } |
| | | |
| | | return dto; |
| | |
| | | TimingTask oldTask = timingTaskMapper.selectById(timingTaskDto.getId()); |
| | | Integer oldIsActive = oldTask != null ? oldTask.getIsActive() : 0; |
| | | Integer newIsActive = timingTask.getIsActive(); |
| | | if (Integer.valueOf(1).equals(newIsActive)) { |
| | | LocalDateTime firstExecutionTime = calculateFirstExecutionTime(timingTask); |
| | | timingTask.setNextExecutionTime(firstExecutionTime); |
| | | } |
| | | int result = timingTaskMapper.updateById(timingTask); |
| | | if (result > 0) { |
| | | // 从启用变为停用,移除任务 |
| | |
| | | // 从停用变为启用,添加任务 |
| | | else if (!Integer.valueOf(1).equals(oldIsActive) |
| | | && Integer.valueOf(1).equals(newIsActive)) { |
| | | // 计算首次执行时间 |
| | | LocalDateTime firstExecutionTime = calculateFirstExecutionTime(timingTask); |
| | | timingTask.setNextExecutionTime(firstExecutionTime); |
| | | try { |
| | | timingTaskScheduler.scheduleTimingTask(timingTask); |
| | | } catch (Exception e) { |
| | |
| | | throw new ServiceException("添加巡检任务失败"); |
| | | } |
| | | } |
| | | // 保持启用状态,重新调度任务 |
| | | else if (Integer.valueOf(1).equals(oldIsActive) |
| | | && Integer.valueOf(1).equals(newIsActive)) { |
| | | try { |
| | | timingTaskScheduler.rescheduleTimingTask(timingTask); |
| | | } catch (Exception e) { |
| | | log.error("更新巡检任务失败 : {}", e.getMessage(), e); |
| | | throw new ServiceException("更新巡检任务失败"); |
| | | } |
| | | } |
| | | } |
| | | return result; |
| | | } |