DESKTOP-LMJ82IJ\Eno
2025-01-07 adfce6c5a94c7aefa9b5d4f67e63db7eaac268d9
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/timer/TaskTimer.java
@@ -108,6 +108,28 @@
        }
    }
    /**
     * 1. 定时拉取需要执行回库任务列表数据,
     * 2. 删除原始库位明细,原始库位状态置成O.空库
     * 3.
     */
    @Scheduled(cron = "0/3 * * * * ? ")
    @Transactional(rollbackFor = Exception.class)
    public void rollbackStock() {
        //获取需要执行回库的任务,更新库存信息
        List<Task> tasks = taskService.list(new LambdaQueryWrapper<Task>().eq(Task::getTaskType, 53).eq(Task::getTaskSts, TaskStsType.WCS_CONVEYOR_START.id));
        if (tasks.isEmpty()) {
            return;
        }
        tasks.forEach(task -> {
            //删除原始库位明细,状态置为O.空库
            executeTask103(task);
        });
        //todo 需添加一个任务状态或临时状态,否则会一直轮循,程序报错(库位状态不处于R.出库预约)
    }
    @Scheduled(cron = "0/10 * * * * ? ")
    @Transactional(rollbackFor = Exception.class)
    public void outExecute() {
@@ -312,10 +334,14 @@
    }
    /**
     * 拣料再入库,根据任务目标库位,生成新库存信息
     * @param task
     */
    //拣料再入库
    private void executeTask53(Task task) {
        Long hostId = task.getHostId();
        //fixme
        //fixme 将任务当前
//        Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, task.getTargetLoc()).eq(Loc::getHostId, hostId));
        Loc loc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getLocNo, task.getTargetLoc()));
        if (loc == null) {