自动化立体仓库 - WMS系统
#
whycq
2024-10-30 d350136e80016d9559f608710de65e827936771d
src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -5,6 +5,7 @@
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.*;
@@ -47,6 +48,10 @@
    private AgvWrkMastService agvWrkMastService;
    @Autowired
    private AgvWrkDetlService agvWrkDetlService;
    @Autowired
    private SnowflakeIdWorker snowflakeIdWorker;
    @Autowired
    private FlowLogService flowLogService;
    /*
@@ -545,6 +550,7 @@
            }
            AgvWrkMast wrkMast = createWrkMast(ioType, 22L, locNo, "", barcode, now, getUserId(), 30,floor);
            // 同步调拨单
            long flowId = snowflakeIdWorker.nextId();
            List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
            for (AgvLocDetl agvLocDetl : agvLocDetls) {
                AgvWrkDetl wrkDetl = new AgvWrkDetl();
@@ -559,8 +565,35 @@
                if (!agvWrkDetlService.insert(wrkDetl)) {
                    throw new CoolException("保存工作明细失败");
                }
                // 更新订单
                OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("source",33).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()));
                FlowLog flowLog = new FlowLog();
                flowLog.setFid(String.valueOf(flowId));
                flowLog.setSpare2(wrkMast.getWrkNo().toString());
                flowLog.setLocNo(wrkMast.getSourceLocNo());
                flowLog.setSpare1(barcode);
                flowLog.setOpType(5L);
                flowLog.setOrderNo(orderDetl.getOrderNo());
                flowLog.setThreeCode(orderDetl.getThreeCode());
                flowLog.setMatnr(agvLocDetl.getMatnr());
                flowLog.setMaktx(agvLocDetl.getMaktx());
                flowLog.setOrderPrevious(orderDetl.getAnfme());
                flowLog.setOrderCurrent(orderDetl.getAnfme());
                flowLog.setOrderChanged(0.0);
                flowLog.setQtyPrevious(orderDetl.getQty());
                flowLog.setQtyCurrent(orderDetl.getQty() + agvLocDetl.getAnfme());
                flowLog.setQtyChanged(agvLocDetl.getAnfme());
                flowLog.setLocPrevious(agvLocDetl.getAnfme());
                flowLog.setLocCurrent(0.0d);
                flowLog.setLocChanged(agvLocDetl.getAnfme());
                flowLog.setUserId(getUserId());
                flowLog.setAppeTime(now);
                if (!flowLogService.insert(flowLog)) {
                    throw new CoolException("同步半成品调拨单流水记录失败");
                }
                orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme());
                if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("source",33).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){
                    throw new CoolException("修改订单明细失败,请联系管理员"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr());