自动化立体仓库 - WMS系统
zyx
2023-11-10 dcaa739b0c28e0ea4628a4d08e0683001ced273a
src/main/java/com/zy/asrs/controller/OutController.java
@@ -266,19 +266,33 @@
        if(!Cools.isEmpty(agvLocMast) && !agvLocMast.getLocSts().equals("F")){
            throw new CoolException("库位号非在库状态,请重新选择出库库位===>>" + locDto.getLocNo());
        }
        TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getAgvStaNo(), locDto);
        if (TaskDto.has(agvTaskDtos, taskDto)) {
            TaskDto dto = TaskDto.find(agvTaskDtos, taskDto);
            assert dto != null;
            dto.getLocDtos().addAll(taskDto.getLocDtos());
            return;
        } else {
            agvTaskDtos.add(taskDto);
        }
        //寻找空站点位置
        AgvBasDevp agvBasDevp = agvBasDevpService.selectEmptyDevpByStation(locDto.getAgvStaNo());
        if(Cools.isEmpty(agvBasDevp)){
            //如果没有找到空站点,则生成准备任务
            TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getAgvStaNo(), locDto);
            agvTaskDtos.add(taskDto);
            //TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getAgvStaNo(), locDto);
            //agvTaskDtos.add(taskDto);
            //如果库位存在混载
            return;
        }
//        agvBasDevp.setLocSts("S");
//        agvBasDevpService.updateById(agvBasDevp);
        agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvBasDevp.getDevNo(),"S",null);
        TaskDto taskDto = new TaskDto(locDto.getLocNo(), agvBasDevp.getDevNo(), locDto);
        agvTaskDtos.add(taskDto);
        //TaskDto taskDto = new TaskDto(locDto.getLocNo(), agvBasDevp.getDevNo(), locDto);
        taskDto.setAgvStaNo(agvBasDevp.getDevNo());
        //agvTaskDtos.add(taskDto);
    }