自动化立体仓库 - WMS系统
#
zhou zhou
2025-12-26 33572f0281be7b59dbe76c97d635825f0444d5f1
src/main/java/com/zy/asrs/controller/BarcodeMatnrController.java
@@ -8,15 +8,10 @@
import com.core.common.DateUtils;
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.MatBarcode;
import com.zy.asrs.entity.WaitPakin;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
import com.zy.asrs.service.MatBarcodeService;
import com.zy.asrs.service.MatService;
import com.zy.asrs.service.MobileService;
import com.zy.asrs.service.WaitPakinService;
import com.zy.asrs.service.*;
import com.zy.common.web.BaseController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +36,12 @@
    private MatService matService;
    @Autowired
    private WaitPakinService waitPakinService;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private WrkDetlService wrkDetlService;
    @Autowired
    private LocDetlService locDetlService;
    /*
     * 物料托盘绑定分页查询
@@ -123,7 +124,7 @@
    /*组托
     *
     * */
    @RequestMapping(value = "/barcodeMatnr/comb/auth")
//    @RequestMapping(value = "/barcodeMatnr/comb/auth")
    @ManagerAuth
    public R comb(WaitPakin waitPakin) {
        Mat mat = matService.selectById(waitPakin.getModiUser());
@@ -173,7 +174,7 @@
        combMats.add(combMat);
        combParam.setBarcode(waitPakin.getBarcode());
        combParam.setCombMats(combMats);
        mobileService.adjustNew(combParam, Boolean.TRUE, getUserId());
//        mobileService.adjustNew(combParam, Boolean.TRUE, getUserId());
        return R.ok("并板成功");
    }
@@ -185,6 +186,31 @@
            return R.error(BaseRes.PARAM);
        }
        for (MatBarcode matBarcode : list) {
            WrkMast wrkMast = wrkMastService.selectByBarcode(matBarcode.getZpallet());
            if (wrkMast == null){
                return R.error("托盘没有对应工作档");
            }
            if (wrkMast.getIoType() != 104){
                return R.error("托盘对应工作档不是并板出库");
            }
            if (wrkMast.getWrkSts() != 14){
                return R.error("托盘对应工作档未完成");
            }
            //对于已经组托过的 模具 不允许再次并板
            Integer waitPakinCount = waitPakinService.selectByBarcodeAndMatnr(matBarcode.getMatnr());
            if (waitPakinCount >= 1){
                throw new CoolException("该模具已经组托,商品模具名称:" + matBarcode.getMatnr());
            }
            //对于已经有库存的模具 不允许再次并板
            List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("matnr", matBarcode.getMatnr()));
            if (!Cools.isEmpty(locDetlList)) {
                throw new CoolException("该模具已经入库,商品模具名称:" + matBarcode.getMatnr());
            }
            //对于已经有工作档的模具 不允许再次并板
            List<WrkDetl> wrkDetlList = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("matnr", matBarcode.getMatnr()));
            if (!Cools.isEmpty(wrkDetlList)) {
                throw new CoolException("该模具已经存在工作档,商品模具名称:" + matBarcode.getMatnr());
            }
            MobileAdjustParam combParam = new MobileAdjustParam();
            ArrayList<CombParam.CombMat> combMats = new ArrayList<>();
            CombParam.CombMat combMat = new CombParam.CombMat();
@@ -194,7 +220,7 @@
            combMats.add(combMat);
            combParam.setBarcode(matBarcode.getZpallet());
            combParam.setCombMats(combMats);
            mobileService.adjustNew(combParam, Boolean.TRUE, getUserId());
            mobileService.adjustNew(combParam, Boolean.TRUE, getUserId(),matBarcode);
        }
        return R.ok("并板成功");
    }