| | |
| | | package com.vincent.rsf.server.manager.schedules; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.vincent.rsf.framework.exception.CoolException; |
| | | import com.vincent.rsf.server.api.entity.enums.TaskStsType; |
| | | import com.vincent.rsf.server.manager.enums.TaskStsType; |
| | | import com.vincent.rsf.server.manager.entity.*; |
| | | import com.vincent.rsf.server.manager.service.*; |
| | | import com.vincent.rsf.server.system.constant.SerialRuleCode; |
| | | import com.vincent.rsf.server.system.enums.LocStsType; |
| | | import com.vincent.rsf.server.system.utils.SerialRuleUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import com.vincent.rsf.server.system.constant.GlobalConfigCode; |
| | | import com.vincent.rsf.server.system.entity.Config; |
| | | import com.vincent.rsf.server.system.service.ConfigService; |
| | | import org.springframework.beans.BeanUtils; |
| | | 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.sql.Array; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | private StockService stockService; |
| | | @Autowired |
| | | private LocService locService; |
| | | @Autowired |
| | | private ConfigService configService; |
| | | /** |
| | | * @author Ryan |
| | | * @description 完成入库,更新库存 |
| | |
| | | * @return |
| | | * @time 2025/4/2 12:37 |
| | | */ |
| | | @Scheduled(cron = "0 0/05 * * * ? ") |
| | | // @Scheduled(cron = "0/5 * * * * ?") |
| | | @Scheduled(cron = "0/3 * * * * ?") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void completeInStock() throws Exception { |
| | | List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskStatus, TaskStsType.COMPLETE_IN.id)); |
| | |
| | | taskService.completeTask(tasks); |
| | | } |
| | | |
| | | /** |
| | | * @author Ryan |
| | | * @date 2025/5/20 |
| | | * @description: 完成出库任务,更新库存 |
| | | * @version 1.0 |
| | | */ |
| | | @Scheduled(cron = "0/5 * * * * ?") |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void complateOutStock() throws Exception { |
| | | List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskStatus, TaskStsType.COMPLETE_OUT.id)); |
| | | if (tasks.isEmpty()) { |
| | | return; |
| | | } |
| | | taskService.completeTask(tasks); |
| | | } |
| | | |
| | | /** |
| | | * @author Ryan |
| | |
| | | @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)); |
| | | LambdaQueryWrapper<Task> queryWrapper = new LambdaQueryWrapper<Task>(); |
| | | Config config = configService.getOne(new LambdaQueryWrapper<Config>().eq(Config::getFlag, GlobalConfigCode.ORDER_INOF_REPORT_PLAT)); |
| | | if (!Objects.isNull(config)) { |
| | | if (Boolean.parseBoolean(config.getVal())) { |
| | | queryWrapper.eq(Task::getTaskStatus, TaskStsType.REPORT_IN.id); |
| | | } else { |
| | | queryWrapper.eq(Task::getTaskStatus, TaskStsType.UPDATED_IN.id); |
| | | } |
| | | } else { |
| | | queryWrapper.eq(Task::getTaskStatus, TaskStsType.UPDATED_IN.id); |
| | | } |
| | | List<Task> tasks = taskService.list(queryWrapper); |
| | | 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()) { |