| | |
| | | |
| | | // 收集巡检人ID(多个ID以逗号分隔) |
| | | taskPage.getRecords().forEach(task -> { |
| | | task.setDateStr(task.getCreateTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); |
| | | if (StringUtils.isNotBlank(task.getInspectorIds())) { |
| | | Arrays.stream(task.getInspectorIds().split(",")) |
| | | .filter(StringUtils::isNotBlank) |
| | |
| | | public int addOrEditTimingTask(TimingTaskDto timingTaskDto) throws SchedulerException { |
| | | TimingTask timingTask = new TimingTask(); |
| | | BeanUtils.copyProperties(timingTaskDto, timingTask); |
| | | // 1. 解析字符串为 LocalDate(只包含年月日) |
| | | DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
| | | LocalDate localDate = LocalDate.parse(timingTaskDto.getDateStr(), formatter); |
| | | |
| | | // 2. 获取当前系统的 LocalTime(包含时分秒) |
| | | LocalTime currentTime = LocalTime.now(); |
| | | |
| | | // 3. 合并 LocalDate 和当前 LocalTime 为 LocalDateTime |
| | | LocalDateTime localDateTime = LocalDateTime.of(localDate, currentTime); |
| | | timingTask.setCreateTime(localDateTime); |
| | | // 设置创建人信息和默认值 |
| | | if (Objects.isNull(timingTaskDto.getId())) { |
| | | timingTask.setRegistrationDate(LocalDate.now()); |
| | |
| | | // 计算首次执行时间 |
| | | LocalDateTime firstExecutionTime = calculateFirstExecutionTime(timingTask); |
| | | timingTask.setNextExecutionTime(firstExecutionTime); |
| | | |
| | | int result = timingTaskMapper.insert(timingTask); |
| | | if (result > 0) { |
| | | // 新增成功后添加到调度器 |
| | |
| | | } |
| | | return result; |
| | | } else { |
| | | |
| | | |
| | | int result = timingTaskMapper.updateById(timingTask); |
| | | if (result > 0) { |
| | | // 更新成功后重新调度任务 |