自动化立体仓库 - WMS系统
1
zhang
2025-06-30 34e1dd894d2eb810171776f5cf7166229660ccdf
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -495,6 +495,10 @@
        if (Cools.isEmpty(agvBasDevp)) {
            throw new CoolException("暂无" + station + "站点");
        }
        AgvBasDevp agvBasDevp2 = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("barcode", containerCode).ne("dev_no", agvBasDevp.getDevNo()));
        if (!Cools.isEmpty(agvBasDevp2)) {
            throw new CoolException(station + "站点绑定该货架,无法入库");
        }
        int br = 0;
        if (containerType == 21 && agvBasDevp.getFloor() == 2) {
            containerType = 20;
@@ -645,6 +649,15 @@
        if (Cools.isEmpty(agvBasDevp)) {
            throw new CoolException("暂无" + station + "站点");
        }
        AgvBasDevp agvBasDevp2 = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("barcode", containerCode).ne("dev_no", agvBasDevp.getDevNo()));
        if (!Cools.isEmpty(agvBasDevp2)) {
            throw new CoolException(station + "站点绑定该货架,无法入库");
        }
        if (Cools.isEmpty(agvBasDevp)) {
            throw new CoolException("暂无" + station + "站点");
        }
        int br = 0;
        if (containerType == 21 && agvBasDevp.getFloor() == 2) {
            containerType = 20;
@@ -800,6 +813,10 @@
        AgvBasDevp agvBasDevp = agvBasDevpService.selectById(station);
        if (Cools.isEmpty(agvBasDevp)) {
            throw new CoolException("暂无" + station + "站点");
        }
        AgvBasDevp agvBasDevp2 = agvBasDevpService.selectOne(new EntityWrapper<AgvBasDevp>().eq("barcode", containerCode).ne("dev_no", agvBasDevp.getDevNo()));
        if (!Cools.isEmpty(agvBasDevp2)) {
            throw new CoolException(station + "站点绑定该货架,无法入库");
        }
        int br = 0;
        if (containerType == 21 && agvBasDevp.getFloor() == 2) {
@@ -982,6 +999,17 @@
        if (Cools.isEmpty(agvLocMast)) {
            throw new CoolException("暂无当前出库站点类型的空货架!");
        }
        if (!Cools.isEmpty(agvBasDevp.getArea())) {
            if (!Cools.isEmpty(agvLocMast.getBarcode())) {
                if (!agvBasDevp.getArea().contains(agvLocMast.getBarcode().substring(0, 2))) {
                    throw new CoolException("1当前出库站点不允许叫该类型的货架:" + agvLocMast.getBarcode());
                }
            }else {
                if (!agvBasDevp.getArea().contains(agvLocMast.getLocType1$().toString())) {
                    throw new CoolException("2当前出库站点不允许叫该类型的货架:" + agvLocMast.getBarcode());
                }
            }
        }
        //生成工作档
        createWrkMast(110, 21L, agvLocMast.getLocNo(), agvBasDevp.getDevNo(), agvLocMast.getBarcode(), now, userId, containerType, agvLocMast.getPltType());
@@ -992,6 +1020,7 @@
        updateAgvBasDevp(agvBasDevp, "S", (short) containerType, agvLocMast.getBarcode());
    }
    @Transactional
    public void adjustLocDetl(LocDetlAdjustParam param, Long userId) {
@@ -1390,12 +1419,12 @@
                        if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()))) {
                            throw new CoolException("修改订单明细失败,请联系管理员" + agvLocDetl.getOrderNo() + agvLocDetl.getMatnr());
                        }
                    }else {
                        orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()).ge("qty",agvLocDetl.getAnfme()));
                    } else {
                        orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()).eq("source", 33).ge("qty", agvLocDetl.getAnfme()));
                        if (orderDetl != null) {
                            orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme());
                            if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()))) {
                                throw new CoolException("修改订单明细失败,请联系管理员" + agvLocDetl.getOrderNo() + agvLocDetl.getMatnr());
                            if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", orderDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()))) {
                                //throw new CoolException("修改订单明细失败,请联系管理员" + agvLocDetl.getOrderNo() + agvLocDetl.getMatnr());
                            }
                        }
                    }
@@ -1538,9 +1567,13 @@
                throw new CoolException("删除失败,请联系管理员");
            }
            if (type == 2) {
                //调用agv取消任务接口
                agvWrkMastService.callCancelTask(wrkMast.getWrkNo());
            if (type == 2 || type == 5) {
                try {
                    //调用agv取消任务接口
                    agvWrkMastService.callCancelTask(wrkMast.getWrkNo());
                } catch (Exception e) {
                    log.info("调用agv取消任务接口失败");
                }
            }
        }
    }