自动化立体仓库 - WMS系统
Junjie
2023-12-06 828b592b5f8e31204f93bcc2ea0c5866bdc0dcf0
src/main/java/com/zy/common/web/WcsController.java
@@ -53,6 +53,8 @@
    private AgvWorkService agvWorkService;
    @Autowired
    private AgvBasDevpService agvBasDevpService;
    @Autowired
    private AgvWrkMastService agvWrkMastService;
//    @Autowired
//    private ErpService erpService;
@@ -299,8 +301,25 @@
            throw new CoolException(CodeRes.NONE_DETL_900);
        }
        // 检索库位
        List<String> matnrList = wrkDetls.stream().map(WrkDetl::getMaktx).distinct().collect(Collectors.toList());
        return commonService.getLocNo(1, ioType - 50, devpNo, matnrList, locTypeDto,0); // 库位号, 堆垛机,目标站
        List<String> matnrList = wrkDetls.stream().map(WrkDetl::getMatnr).distinct().collect(Collectors.toList());
        if (ioType == 107) {//盘点回库任务
            if (devpNo == 325 || devpNo == 331 || devpNo == 333 || devpNo == 339) {
                devpNo = 341;
            }
        }
        StartupDto dto = commonService.getLocNo(1, ioType - 50, devpNo, matnrList, locTypeDto,0); // 库位号, 堆垛机,目标站
        // 更新目标库位状态
        LocMast locMast = locMastService.selectById(dto.getLocNo());
        if (locMast.getLocSts().equals("O")){
            locMast.setLocSts("S"); // S.入库预约
            locMast.setModiTime(new Date());
            if (!locMastService.updateById(locMast)){
                throw new CoolException("改变库位状态失败");
            }
        } else {
            throw new CoolException(dto.getLocNo()+"目标库位已被占用");
        }
        return dto;
    }
    /*
@@ -345,9 +364,16 @@
        AgvBasDevp agvBasDevp = agvBasDevpService.getByDevNo(param.getDevNo());
        if(Cools.isEmpty(agvBasDevp) || !"O".equals(agvBasDevp.getLocSts())){
            //去找agv工作档任务
            throw new CoolException("当前站点不存在或者站点不为空");
        }
        if(Cools.isEmpty(agvWaitPakinService.selectByContainerCode(containerCode))){
            throw new CoolException("该料箱位组托");
        }
        //去找agv工作档任务
        if(!Cools.isEmpty(agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",containerCode)))){
            throw new CoolException("该料箱正在入库中");
        }
        //绑定站点
        agvBasDevpService.updateLocStsAndBarcodeByDevNo(param.getDevNo(),"F",containerCode);