自动化立体仓库 - WMS系统
zyx
2023-12-01 39a150df074efd7304385d65a579d8c99a816d01
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());
        }
        //寻找空站点位置
        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);
        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.setLocSts("S");
//        agvBasDevpService.updateById(agvBasDevp);
        agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvBasDevp.getDevNo(),"S",null);
        TaskDto taskDto = new TaskDto(locDto.getLocNo(), agvBasDevp.getDevNo(), locDto);
        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);
//            //如果库位存在混载
//
//            return;
//        }
////        agvBasDevp.setLocSts("S");
////        agvBasDevpService.updateById(agvBasDevp);
//        agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvBasDevp.getDevNo(),"S",null);
//        //TaskDto taskDto = new TaskDto(locDto.getLocNo(), agvBasDevp.getDevNo(), locDto);
//        taskDto.setAgvStaNo(agvBasDevp.getDevNo());
        //agvTaskDtos.add(taskDto);
    }
@@ -307,7 +321,7 @@
    生成平库拣货单
     */
    private void generateManPakout(LocDto locDto){
        ManLocDetl manLocDetl = manLocDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch());
        ManLocDetl manLocDetl = manLocDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch(),locDto.getCsocode(),locDto.getIsoseq(),locDto.getContainerCode());
        if (!Cools.isEmpty(manLocDetl) && !(locDto.getAnfme()>manLocDetl.getAnfme())) {
            manLocDetl.setStatus(0);
            manLocDetlService.update(manLocDetl, new EntityWrapper<ManLocDetl>().eq("loc_no", manLocDetl.getLocNo()).eq("matnr",manLocDetl.getMatnr()));