package com.vincent.rsf.server.manager.schedules;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.vincent.rsf.framework.exception.CoolException;
|
import com.vincent.rsf.server.api.entity.enums.TaskStsType;
|
import com.vincent.rsf.server.manager.entity.Task;
|
import com.vincent.rsf.server.manager.entity.TaskItem;
|
import com.vincent.rsf.server.manager.service.*;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
* @Author Ryan
|
* 任务工作档
|
*/
|
@Component
|
public class TaskSchedules {
|
|
@Autowired
|
private TaskService taskService;
|
@Autowired
|
private TaskItemService taskItemService;
|
@Autowired
|
private StockItemService stockItemService;
|
@Autowired
|
private StockService stockService;
|
@Autowired
|
private LocService locService;
|
/**
|
* @author Ryan
|
* @description 完成入库,更新库存
|
* @param
|
* @return
|
* @time 2025/4/2 12:37
|
*/
|
@Scheduled(cron = "0 0/05 * * * ? ")
|
@Transactional(rollbackFor = Exception.class)
|
public void completeInStock() {
|
List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskStatus, TaskStsType.COMPLETE_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>().eq(TaskItem::getTaskId, list));
|
if (taskItems.isEmpty()) {
|
throw new CoolException("任务明细为空!!");
|
}
|
taskItems.forEach(item -> {
|
|
});
|
}
|
|
}
|