自动化立体仓库 - WMS系统
zhangc
2025-01-18 548d32793451d756dad9412d285dd22e2fe64afd
src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -4,7 +4,6 @@
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.*;
@@ -655,6 +654,9 @@
    @Transactional
    public String allocationIn(AgvMobileStartPakin param, Long userId) {
        Date now = new Date();
        if (Cools.isEmpty(param.getBarcode())) {
            throw new CoolException("请输入货架码");
        }
        AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode()));
        if (Cools.isEmpty(agvWrkMast)) {
            throw new CoolException("暂无当前货架码的任务");
@@ -732,6 +734,9 @@
    @Synchronized
    public String empIn(AgvMobileStartPakin param, Long userId) {
        Date now = new Date();
        if (Cools.isEmpty(param.getBarcode())) {
            throw new CoolException("请输入货架码");
        }
        AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", param.getBarcode()));
        if (Cools.isEmpty(agvWrkMast)) {
            throw new CoolException("工作档中没有此站点任务");
@@ -791,22 +796,7 @@
        agvWrkMastLogService.save(agvWrkMast);
        agvWrkDetlLogService.save(agvWrkMast.getWrkNo());
        String sourceLocNo = agvWrkMast.getSourceLocNo();
        // 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);
        AgvLocMast newLocMast = agvCommonService.getLocNo(3, 1, false, false);
        if (newLocMast == null) {
            throw new CoolException("无可用库位");
        }
@@ -829,7 +819,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())) {