ZengTao
2025-03-20 c28ef8556cd40c671976aadf010fb43d7c39633b
hangzhoumesParent/common/servicebase/src/main/java/com/mes/rawglasstask/service/impl/RawGlassRawGlassStorageTaskServiceImpl.java
@@ -90,38 +90,40 @@
        RawGlassStorageDetails details = rawGlassStorageDetailsService.getOne(new LambdaQueryWrapper<RawGlassStorageDetails>()
                .ne(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT).eq(RawGlassStorageDetails::getSlot, task.getStartSlot())
        );
        RawGlassStorageDetails targetDetails = rawGlassStorageDetailsService.generateDetails(details, task.getEndSlot());
        int deviceId = details.getDeviceId();
        Integer taskType = task.getTaskType();
        log.info("将详情表的状态改为已出库");
        rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
                .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT)
                .ne(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT)
                .eq(RawGlassStorageDetails::getSlot, task.getStartSlot()));
        log.info("任务状态已更改为:已完成");
        this.update(new LambdaUpdateWrapper<RawGlassStorageTask>()
                .eq(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_NEW)
                .set(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_SUCCESS));
        switch (taskType) {
            case 1:
            case 3:
                log.info("1、入库,3、调度任务。{}", taskType);
                if (details.getRemainQuantity() > 0) {
        if(details!=null){
            RawGlassStorageDetails targetDetails = rawGlassStorageDetailsService.generateDetails(details, task.getEndSlot());
            int deviceId = details.getDeviceId();
            Integer taskType = task.getTaskType();
            log.info("将详情表的状态改为已出库");
            rawGlassStorageDetailsService.update(new LambdaUpdateWrapper<RawGlassStorageDetails>()
                    .set(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT)
                    .ne(RawGlassStorageDetails::getState, Const.RAW_GLASS_STATE_OUT)
                    .eq(RawGlassStorageDetails::getSlot, task.getStartSlot()));
            log.info("任务状态已更改为:已完成");
            this.update(new LambdaUpdateWrapper<RawGlassStorageTask>()
                    .eq(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_NEW)
                    .set(RawGlassStorageTask::getTaskState, Const.RAW_GLASS_TASK_SUCCESS));
            switch (taskType) {
                case 1:
                case 3:
                    log.info("1、入库,3、调度任务。{}", taskType);
                    if (details.getRemainQuantity() > 0) {
                        rawGlassStorageDetailsService.save(targetDetails);
                    }
                    break;
                case 2:
                case 4:
                    log.info("2、出片,4、入库请求。{}", taskType);
                    targetDetails = new RawGlassStorageDetails();
                    targetDetails.setSlot(task.getEndSlot());
                    targetDetails.setDeviceId(deviceId);
                    targetDetails.setShelf(task.getStartSlot());
                    targetDetails.setState(Const.RAW_GLASS_STATE_IN);
                    rawGlassStorageDetailsService.save(targetDetails);
                }
                break;
            case 2:
            case 4:
                log.info("2、出片,4、入库请求。{}", taskType);
                targetDetails = new RawGlassStorageDetails();
                targetDetails.setSlot(task.getEndSlot());
                targetDetails.setDeviceId(deviceId);
                targetDetails.setShelf(task.getStartSlot());
                targetDetails.setState(Const.RAW_GLASS_STATE_IN);
                rawGlassStorageDetailsService.save(targetDetails);
                break;
            default:
                break;
                    break;
                default:
                    break;
            }
        }
        return Boolean.TRUE;
    }