自动化立体仓库 - WMS系统
#
zhou zhou
2025-12-26 da13bea76b64183790ab17775f04d43d8c7f6607
src/main/java/com/zy/common/web/WcsController.java
@@ -87,11 +87,24 @@
            if (countLoc > 0) {
                return R.error("库存条码数据已存在");
            }
            WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode());
            int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet", param.getBarcode()));
            if (countWrk > 0) {
            if (countWrk > 0 && wrkMast.getWrkSts() != 15) {
                return R.error("工作档已存在");
            }
        }
        // 空托盘按照托盘码分配库位
        else if (param.getIoType() == 10) {
            if (Cools.isEmpty(param.getBarcode())) {
                return R.error("条码不能为空");
            }
            if (!param.getBarcode().startsWith("6") && !param.getBarcode().startsWith("7") && !param.getBarcode().startsWith("8")){
                return R.error("不存在的托盘类型");
            }
        }
        if (Cools.isEmpty(param.getLocType1())) {
            return R.error("高低检测信号不能为空");
        }
@@ -345,8 +358,8 @@
        wrkMast.setIoPri(13D); // 优先级
        wrkMast.setCrnNo(dto.getCrnNo());
        wrkMast.setSourceStaNo(dto.getSourceStaNo());
        wrkMast.setStaNo(dto.getStaNo());
        wrkMast.setLocNo(dto.getLocNo());
        wrkMast.setStaNo(dto.getStaNo());// 目标站
        wrkMast.setLocNo(dto.getLocNo());// 目标库位
        wrkMast.setBarcode(barcode); // 托盘码
        wrkMast.setFullPlt("Y"); // 满板:Y
        wrkMast.setPicking("N"); // 拣料
@@ -373,6 +386,7 @@
            wrkDetl.setIoTime(wrkMast.getIoTime());
            wrkDetl.setAppeTime(now);
            wrkDetl.setModiTime(now);
            wrkDetl.setModel(waitPakin.getModel());
            if (!Cools.isEmpty(waitPakin.getOrderNo())) {
                Order order = orderService.selectByNo(waitPakin.getOrderNo());
                if (order != null) {
@@ -431,7 +445,8 @@
        // 源站点状态检测
        BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
        // 检索库位
        StartupDto dto = commonService.getLocNo(1, 10, devpNo, null, null, null, locTypeDto);
//        StartupDto dto = commonService.getLocNoEmpty(1, 10, devpNo, null, null, null, locTypeDto);
        StartupDto dto = commonService.getLocNoEmptyNew(1, 10, devpNo,locTypeDto,barcode);
        int workNo = dto.getWorkNo();
        // 生成工作档
        WrkMast wrkMast = new WrkMast();