自动化立体仓库 - WMS系统
pang.jiabao
1 天以前 17080b28dc3fb0df12a5a4da76e10dd9203e5725
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -29,10 +29,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.*;
/**
 * 移动端服务核心类
@@ -223,23 +220,24 @@
            SaasUtils.insertLog(0, locNo, waitPakin.getMatnr(), waitPakin.getAnfme(), userId,waitPakin.getBatch());
            //是否属于订单数据
//            if (!Cools.isEmpty(waitPakin.getOrderNo())){
//                Order order = orderService.selectByNo(waitPakin.getOrderNo(), hostId);
//                if (Cools.isEmpty(order)){
//                    continue;
//                }
//                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), waitPakin.getMatnr(), waitPakin.getBatch(),hostId);
//                if (Cools.isEmpty(orderDetl)){
//                    continue;
//                }
//                // 修改订单明细完成数量
//                if (!orderDetlService.increase(order.getId(), hostId, waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme())) {
//                    throw new CoolException("修改单据明细数量失败");
//                }
//                // 修改订单状态 作业中 ===>> 已完成
//                orderService.checkComplete(waitPakin.getOrderNo(), hostId);
//
//            }
            //是否属于订单数据
            if (!Cools.isEmpty(waitPakin.getOrderNo())){
                Order order = orderService.selectByNo(waitPakin.getOrderNo());
                if (Cools.isEmpty(order)){
                    throw new CoolException("平库上架查询订单失败");
                }
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), waitPakin.getMatnr(), waitPakin.getBatch());
                if (Cools.isEmpty(orderDetl)){
                    throw new CoolException("平库上架查询订单明细失败");
                }
                // 修改订单明细完成数量
                if (!orderDetlService.increase(order.getId(),waitPakin.getMatnr(), waitPakin.getBatch(), waitPakin.getAnfme())) {
                    throw new CoolException("修改单据明细数量失败");
                }
                // 修改订单状态 作业中 ===>> 已完成
                orderService.checkComplete(waitPakin.getOrderNo());
            }
            // 更新入库工作档
            waitPakin.setLocNo(locNo);
@@ -294,7 +292,7 @@
        Date now = new Date();
        // 无单组托
        if (Cools.isEmpty(param.getOrderNo())) {
        if (Cools.isEmpty(param.getCombMats().get(0).getOrderNo())) {
            // 生成入库通知档
            List<DetlDto> detlDtos = new ArrayList<>();
@@ -332,22 +330,22 @@
            }
        // 关联组托
        } else {
            Order order = orderService.selectByNo(param.getOrderNo());
            if (Cools.isEmpty(order) || order.getSettle() > 2) {
                throw new CoolException("单据编号已过期");
            }
            // 生成入库通知档
            List<DetlDto> detlDtos = new ArrayList<>();
            param.getCombMats().forEach(elem -> {
                Order order = orderService.selectByNo(elem.getOrderNo());
                if (order.getSettle() > 2) {
                    throw new CoolException("单据编号已完成:" + elem.getOrderNo());
                }
                // 订单明细数量校验
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch());
                if (elem.getAnfme() > orderDetl.getEnableQty()) {
                    throw new CoolException(orderDetl.getMatnr() + "入库数量不合法");
                }
                // 修改订单作业数量
                // 修改订单明细数量
                if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
                    throw new CoolException("修改单据作业数量失败");
                    throw new CoolException("修改单据明细数量失败");
                }
                DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
@@ -356,6 +354,7 @@
                    assert one != null;
                    one.setAnfme(one.getAnfme() + detlDto.getAnfme());
                } else {
                    detlDto.setOrderNo(order.getOrderNo());
                    detlDtos.add(detlDto);
                }
            });
@@ -364,6 +363,9 @@
                if (Cools.isEmpty(mat)) {
                    throw new CoolException(detlDto.getMatnr() + "商品档案不存在");
                }
                Order order = orderService.selectByNo(detlDto.getOrderNo());
                WaitPakin waitPakin = new WaitPakin();
                waitPakin.sync(mat);
                waitPakin.setOrderNo(order.getOrderNo());   // 单据编号
@@ -379,8 +381,8 @@
                if (!waitPakinService.insert(waitPakin)) {
                    throw new CoolException("保存入库通知档失败");
                }
                orderService.updateSettle(order.getId(), 2L, userId);
            }
            orderService.updateSettle(order.getId(), 2L, userId);
        }
    }