| | |
| | | @Autowired |
| | | private TaskItemService taskItemService; |
| | | @Autowired |
| | | private TaskLogService taskLogService; |
| | | @Autowired |
| | | private TaskItemLogService taskItemLogService; |
| | | @Autowired |
| | | private StockItemService stockItemService; |
| | | @Autowired |
| | | private PurchaseService purchaseService; |
| | |
| | | } |
| | | taskService.completeTask(tasks); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @author Ryan |
| | | * @description 已完成任务加入历史档 |
| | | * @param |
| | | * @return |
| | | * @time 2025/4/3 12:54 |
| | | */ |
| | | @Scheduled(cron = "0 0/05 * * * ? ") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void taskLogUpdate() { |
| | | List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskStatus, TaskStsType.UPDATED_IN.id)); |
| | | if (tasks.isEmpty()) { |
| | | return; |
| | | } |
| | | List<Long> list = tasks.stream().map(Task::getId).collect(Collectors.toList()); |
| | | List<TaskItem> taskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>().in(TaskItem::getTaskId, list)); |
| | | if (taskItems.isEmpty()) { |
| | | return; |
| | | } |
| | | List<TaskLog> taskLogs = new ArrayList<>(); |
| | | tasks.forEach(task -> { |
| | | TaskLog taskLog = new TaskLog(); |
| | | BeanUtils.copyProperties(task, taskLog); |
| | | taskLog.setTaskId(task.getId()).setId(null); |
| | | taskLogs.add(taskLog); |
| | | }); |
| | | if (!taskLogService.saveBatch(taskLogs)) { |
| | | throw new CoolException("任务历史档保存失败!!"); |
| | | } |
| | | List<TaskItemLog >itemLogs = new ArrayList<>(); |
| | | taskItems.forEach(item -> { |
| | | TaskItemLog itemLog = new TaskItemLog(); |
| | | BeanUtils.copyProperties(item, itemLog); |
| | | itemLog.setId(null).setTaskItemId(item.getId()); |
| | | itemLogs.add(itemLog); |
| | | }); |
| | | if (!taskItemLogService.saveBatch(itemLogs)) { |
| | | throw new CoolException("任务明细历史档保存失败!!"); |
| | | } |
| | | if (!taskService.removeByIds(list)) { |
| | | throw new CoolException("原始任务删除失败!!"); |
| | | } |
| | | List<Long> itemIds = taskItems.stream().map(TaskItem::getId).collect(Collectors.toList()); |
| | | |
| | | if (!taskItemService.removeByIds(itemIds)) { |
| | | throw new CoolException("原始任务明细删除失败!!"); |
| | | } |
| | | |
| | | } |
| | | } |