自动化立体仓库 - WMS系统
Junjie
2023-12-06 828b592b5f8e31204f93bcc2ea0c5866bdc0dcf0
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())) {
@@ -148,7 +155,7 @@
     */
    private void checkOrderQty(Order order, CombParam.CombMat combMat){
        // 订单明细数量校验,如果作业数量大于单据数量则抛出异常
        OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch());
        OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), combMat.getMatnr(), combMat.getBatch(), combMat.getCsocode(),combMat.getIsoseq());
        if(Cools.isEmpty(orderDetl)){
            throw new CoolException("未匹配到该单据下的物料");
        }
@@ -156,7 +163,7 @@
            throw new CoolException(orderDetl.getMatnr() + "入库数量不合法");
        }
        // 修改订单明细数量
        if (!orderDetlService.increase(order.getId(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme())) {
        if (!orderDetlService.increase(order.getId(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), combMat.getCsocode(),combMat.getIsoseq())) {
            throw new CoolException("修改单据明细数量失败");
        }
    }
@@ -227,6 +234,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");