cp
2025-01-04 8bfe3cdd48ca3f47d054deb5aebc48154ffb4c88
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
@@ -72,7 +72,7 @@
        Date now = new Date();
        // 无单组托
        if (Cools.isEmpty(param.getOrderNo())) {
        if (Cools.isEmpty(param.getCombMats().get(0).getOrderNo())) {
            // 生成入库通知档
            List<DetlDto> detlDtos = new ArrayList<>();
@@ -112,14 +112,13 @@
            }
            // 关联组托
        }  else {
            Order order = orderService.selectByNo(param.getOrderNo(), hostId);
            if (order.getSettle() > 2) {
                throw new CoolException("单据编号已过期");
            }
            // 生成入库通知档
            List<DetlDto> detlDtos = new ArrayList<>();
            param.getCombMats().forEach(elem -> {
                Order order = orderService.selectByNo(elem.getOrderNo(), hostId);
                if (order.getSettle() > 2) {
                    throw new CoolException("单据编号已过期");
                }
                // 订单明细数量校验
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch(),hostId);
                if (elem.getAnfme() > orderDetl.getEnableQty()) {
@@ -139,6 +138,7 @@
                    assert one != null;
                    one.setAnfme(one.getAnfme() + detlDto.getAnfme());
                } else {
                    detlDto.setOrderNo(order.getOrderNo());
                    detlDtos.add(detlDto);
                }
            });
@@ -147,6 +147,9 @@
                if (Cools.isEmpty(mat)) {
                    throw new CoolException(detlDto.getMatnr() + "商品档案不存在");
                }
                Order order = orderService.selectByNo(detlDto.getOrderNo(), hostId);
                WaitPakin waitPakin = new WaitPakin();
                waitPakin.sync(mat);
                waitPakin.setOrderNo(order.getOrderNo());   // 单据编号
@@ -166,8 +169,9 @@
                if (!waitPakinService.save(waitPakin)) {
                    throw new CoolException("保存入库通知档失败");
                }
                orderService.updateSettle(order.getId(), 2L, userId, hostId);
            }
            orderService.updateSettle(order.getId(), 2L, userId, hostId);
        }
    }
@@ -325,11 +329,11 @@
            if (!Cools.isEmpty(waitPakin.getOrderNo())){
                Order order = orderService.selectByNo(waitPakin.getOrderNo(), hostId);
                if (Cools.isEmpty(order)){
                    continue;
                    throw new CoolException("平库上架查询订单失败");
                }
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), waitPakin.getMatnr(), waitPakin.getBatch(),hostId);
                if (Cools.isEmpty(orderDetl)){
                    continue;
                    throw new CoolException("平库上架查询订单明细失败");
                }
                // 修改订单明细完成数量
                if (!orderDetlService.increase(order.getId(), hostId, waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme())) {
@@ -376,7 +380,7 @@
                    .eq(LocDetl::getHostId, hostId)
                    .eq(LocDetl::getZpallet, combMat.getZpallet())
                    .eq(LocDetl::getMatnr, combMat.getMatnr())
                    .eq(LocDetl::getBatch, combMat.getBatch())
//                    .eq(LocDetl::getBatch, combMat.getBatch())
            );
            if (Cools.isEmpty(locDetl)){
                return R.error("未查询到库存数据");
@@ -397,7 +401,7 @@
                    continue;
                }
                if (orderDetl.getAnfme() < orderDetl.getWorkQty()+combMat.getAnfme()){
                    throw new CoolException("下架数量出错");
                    combMat.setAnfme(orderDetl.getAnfme()-orderDetl.getWorkQty());
                }
                // 修改订单明细作业数量
                if (!orderDetlService.increaseWorkQtyByOrderNo(combParam.getOrderNo(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), hostId)) {
@@ -851,4 +855,5 @@
        return R.ok();
    }
}