自动化立体仓库 - WMS系统
#1
dubin
2026-01-12 4e46937e6311840fd3a146e77bca36908f2d914e
src/main/java/com/zy/asrs/controller/MobileController.java
@@ -58,8 +58,6 @@
    @Autowired
    private MatService matService;
    @Autowired
    private MatBarcodeService matBarcodeService;
    @Autowired
    private CommonService commonService;
    @Autowired
    private WorkService workService;
@@ -489,67 +487,6 @@
            }
        }
        return R.ok().add(vos);
    }
    @RequestMapping("/callBarcode")
    @ManagerAuth(memo = "PDA呼叫托盘出库")
    public R callBarcode(@RequestBody CombParam combParam) {
        logger.info("PDA呼叫托盘出库");
        if (combParam == null) {
            return R.parse(BaseRes.PARAM);
        }
        combParam.getCombMats().forEach(combMat -> {
            Mat mat = matService.selectByMatnr(combMat.getMatnr());
            if (mat == null) {
                throw new CoolException("商品档案不存在");
            }
            MatBarcode matBarcode = matBarcodeService.selectbyMatnr(combMat.getMatnr());
            if (matBarcode == null) {
                throw new CoolException("该物料未与托盘绑定");
            }
            LocMast locMast = locMastService.selectByBarcode(matBarcode.getZpallet());
            if (locMast == null) {
                throw new CoolException("未找到与该物料绑定的托盘");
            }
            int wrkNo = commonService.getWorkNo(0);
            Date now = new Date();
            //生成工作档
            WrkMast wrkMast = new WrkMast();
            wrkMast.setWrkNo(wrkNo);
            wrkMast.setIoTime(new Date());
            wrkMast.setWrkSts(11L);//工作状态:生成出库ID
            wrkMast.setIoType(101);//入出库状态:并板出库
            wrkMast.setIoPri(13D);//优先级
            wrkMast.setCrnNo(locMast.getCrnNo());
//            wrkMast.setSourceStaNo(dto.getSourceStaNo());//源站
            wrkMast.setStaNo(101);// 目标站
            wrkMast.setSourceLocNo(locMast.getLocNo());// 源库位
            wrkMast.setBarcode(matBarcode.getZpallet()); // 托盘码
            wrkMast.setFullPlt("Y"); // 满板:Y
            wrkMast.setPicking("N"); // 拣料
            wrkMast.setExitMk("N"); // 退出
            wrkMast.setEmptyMk("N"); // 空板
            wrkMast.setLinkMis("Y");
//            wrkMast.setScWeight(weight);
            wrkMast.setCtnType(0); // 容器类型
            // 操作人员数据
            wrkMast.setAppeTime(now);
            wrkMast.setModiTime(now);
            boolean res = wrkMastService.insert(wrkMast);
            if (!res) {
                throw new CoolException("保存工作档失败");
            }
            if (locMast.getLocSts().equals("F")) {
                locMast.setLocSts("R"); // R.出库预约
                locMast.setModiTime(now);
                if (!locMastService.updateById(locMast)) {
                    throw new CoolException("改变库位状态失败");
                }
            } else {
                throw new CoolException(locMast.getLocNo() + "目标库位状态不为F");
            }
        });
        return R.ok();
    }