自动化立体仓库 - WMS系统
whycq
2024-05-14 870eb7cb47e510594d5d0937f14e5a3f7739cd77
src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -600,7 +600,7 @@
            agvBasDevpService.updateLocStsAndBarcodeByDevNo(devNo,"F",wrkMast.getBarcode(),wrkMast.getWhsType().shortValue());
            // 移库取消
        }else if(wrkMast.getIoType() == 108 || wrkMast.getIoType() == 11 || wrkMast.getIoType() == 12) {
        } else if( wrkMast.getIoType() == 11 || wrkMast.getIoType() == 12) {
            //源库位
            String locNo = wrkMast.getSourceLocNo();
@@ -608,6 +608,23 @@
            String targetLocNo = wrkMast.getLocNo();
            agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
            agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
            // 自动调拨出库取消
        } else if(wrkMast.getIoType() == 108 ) {
            // 源库位
            String locNo = wrkMast.getSourceLocNo();
            // 目标库位
            String targetLocNo = wrkMast.getLocNo();
            agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo),"",(short)0);
            agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
            List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
            // 更新订单
            for (AgvLocDetl agvLocDetl : agvLocDetls) {
                OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()));
                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());
                }
            }
            //出库取消
        } else {
            //源库位