自动化立体仓库 - WMS系统
zhangc
2025-01-14 9f0fe04350c019c2ed1655d5b833648788734994
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -4,6 +4,7 @@
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.exception.CoolException;
import com.zy.asrs.constant.AsrsConstants;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.*;
@@ -790,7 +791,22 @@
        agvWrkMastLogService.save(agvWrkMast);
        agvWrkDetlLogService.save(agvWrkMast.getWrkNo());
        String sourceLocNo = agvWrkMast.getSourceLocNo();
        AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false);
        // TODO 四期
        List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode()));
        String factory = null;
        if (agvWrkDetls != null && !Cools.isEmpty(agvWrkDetls)) {
            String orderNo = agvWrkDetls.get(0).getOrderNo();
            if (!Cools.isEmpty(orderNo)) {
                if (orderNo.contains(AsrsConstants.ERCHANG)) {
                    factory = AsrsConstants.ERCHANG;
                } else if (orderNo.contains(AsrsConstants.SANCHANG)) {
                    factory = AsrsConstants.SANCHANG;
                }
            }
        }
        AgvLocMast newLocMast = agvCommonService.getLocByLocRule(3, 1, factory);
        //AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false);
        if (newLocMast==null){
            throw new CoolException("无可用库位");
        }
@@ -813,7 +829,7 @@
        agvLocMastService.updateLocStsByLocNo(sourceLocNo, "O", "", (short) 30);
        agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no", sourceLocNo));
        List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode()));
        //List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode()));
        agvWrkDetls.forEach(agvWrkDetl -> {
            for (AgvWrkDetl wrkDetl : param.getWrkDetls()) {
                if (wrkDetl.getMatnr().equals(agvWrkDetl.getMatnr()) && wrkDetl.getThreeCode().equals(agvWrkDetl.getThreeCode())) {