自动化立体仓库 - WMS系统
#
luxiaotao1123
2022-03-28 4a615ac9fb9a871a53ee071bf2046c41e8caad19
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -6,12 +6,10 @@
import com.core.exception.CoolException;
import com.zy.asrs.entity.MatCode;
import com.zy.asrs.entity.Order;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.service.MatCodeService;
import com.zy.asrs.service.MobileService;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.service.WaitPakinService;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.VersionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -32,6 +30,8 @@
    private WaitPakinService waitPakinService;
    @Autowired
    private OrderService orderService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Override
    @Transactional
@@ -44,6 +44,7 @@
                eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
            throw new CoolException("条码数据已存在");
        }
        Date now = new Date();
        // 无单组托
        if (Cools.isEmpty(param.getOrderNo())) {
            for (CombParam.CombMat combMat : param.getCombMats()) {
@@ -57,9 +58,9 @@
                waitPakin.setAnfme(combMat.getCount());  // 数量
                waitPakin.setIoStatus("N");     // 入出状态
                waitPakin.setAppeUser(userId);
                waitPakin.setAppeTime(new Date());
                waitPakin.setAppeTime(now);
                waitPakin.setModiUser(userId);
                waitPakin.setModiTime(new Date());
                waitPakin.setModiTime(now);
                VersionUtils.setWaitPakIn(waitPakin, matCode);
                if (!waitPakinService.insert(waitPakin)) {
@@ -72,9 +73,30 @@
            if (order.getSettle() > 2) {
                throw new CoolException("单据编号已过期");
            }
            for (CombParam.CombMat comb : param.getCombMats()) {
                OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), comb.getMatNo(), comb.getBatch());
                if (comb.getCount() > orderDetl.getEnableQty()) {
                    throw new CoolException(orderDetl.getMatnr() + "入库数量不合法");
                }
                // 修改单细数量
                if (!orderDetlService.increase(order.getId(), comb.getMatNo(), comb.getBatch(), comb.getCount())) {
                    throw new CoolException("修改单据明细数量失败");
                }
                // 添加入库通知档
                WaitPakin waitPakin = new WaitPakin();
                waitPakin.setZpallet(param.getBarcode());   // 托盘码
                waitPakin.setStatus("Y");    // 状态
                waitPakin.setAnfme(comb.getCount());  // 数量
                waitPakin.setIoStatus("N");     // 入出状态
                waitPakin.setAppeUser(userId);
                waitPakin.setAppeTime(now);
                waitPakin.setModiUser(userId);
                waitPakin.setModiTime(now);
                VersionUtils.setWaitPakIn(waitPakin, orderDetl);
                if (!waitPakinService.insert(waitPakin)) {
                    throw new CoolException("添加入库通知档失败");
                }
            }
        }
    }