自动化立体仓库 - WMS系统
lty
2025-06-13 9d38f2354b3a7267a2486d937bb7d256fcb949c1
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -40,6 +40,8 @@
    private AgvBasDevpService agvBasDevpService;
    @Autowired
    private AgvLocDetlService agvLocDetlService;
    @Autowired
    private AgvWrkMastService agvWrkMastService;
    /*
@@ -54,12 +56,17 @@
        //检查是否已存在相同的托盘条码,存在则抛出异常
        if (agvWaitPakinService.selectCount(new EntityWrapper<AgvWaitPakin>().eq("supp_code", param.getBarcode())) > 0) {
            throw new CoolException(param.getBarcode() + "数据正在进行入库");
            throw new CoolException(param.getBarcode() + "料想码已存在AGV入库通知档中");
        }
        //检查库存是否有相同料箱,存在则抛出异常
        if(!Cools.isEmpty(agvLocDetlService.selectOne(new EntityWrapper<AgvLocDetl>().eq("supp_code",param.getBarcode())))){
            throw new CoolException(param.getBarcode() + "料箱码已在库存中");
            throw new CoolException(param.getBarcode() + "料箱码已存在AGV库存明细中");
        }
        //查看工作档是否有相同料箱,存在则抛出异常
        if(!Cools.isEmpty(agvWrkMastService.selectByContainerCode(param.getBarcode()))){
            throw new CoolException(param.getBarcode() + "料箱码已存在AGV工作档中");
        }
        if (Cools.isEmpty(param.getOrderNo())) {
@@ -129,7 +136,7 @@
                checkOrderQty(order,combMat);
            }
            DetlDto detlDto = new DetlDto(combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), combMat.getCsocode(), combMat.getIsoseq(),combMat.getContainerCode());
            DetlDto detlDto = new DetlDto(combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), combMat.getCsocode(), combMat.getIsoseq(),combMat.getContainerCode(),combMat.getProddate(),combMat.getDeadline());
            //同一托盘下相同物料信息和批号转为一个入库通知档
            if (DetlDto.has(detlDtos, detlDto)) {
                DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(), detlDto.getCsocode(), detlDto.getIsoseq(),null);
@@ -178,6 +185,8 @@
        waitPakin.setIoStatus("N");     // 入出状态
        waitPakin.setAnfme(detlDto.getAnfme());  // 数量
        waitPakin.setStatus("Y");    // 状态
        waitPakin.setProddate(detlDto.getProddate());
        waitPakin.setDeadline(detlDto.getDeadline());
        ////销售订单号
        waitPakin.setThreeCode(detlDto.getCsocode());
@@ -227,6 +236,10 @@
        if(!"O".equals(agvBasDevp.getLocSts())){
            throw new CoolException(stationCode + "该站点货位状态非空");
        }
        AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("loc_no", agvBasDevp.getDevNo()));
        if(!Cools.isEmpty(agvWrkMast)){
            throw new CoolException(stationCode + "该站点已被工作号为" + agvWrkMast.getWrkNo() + "占用,无法绑定");
        }
        agvBasDevp.setBarcode(barcode);
        agvBasDevp.setLocSts("F");