自动化立体仓库 - WMS系统
dubin
2026-02-07 8bc35cc4f75cfb435577e34763002f69def6a1a2
src/main/java/com/zy/common/web/WcsController.java
@@ -107,11 +107,23 @@
        sourceStaNo.setLocType1(param.getLocType1());
        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
        if (param.getBarcode().startsWith("5")){
            locTypeDto.setLocType2((short) 5); // 2000*1500*170 1巷道 4、5层
        }else if (param.getBarcode().startsWith("6")){
            locTypeDto.setLocType2((short) 6); // 1500*1500*170(有两种 托盘一样 载重不一样 需要单独根据 托盘码 + 高低 来写分库位的逻辑) 1巷道 1、2、3层
        }else if (param.getBarcode().startsWith("7")){
            locTypeDto.setLocType2((short) 7); // 2600*1500*160 2巷道 1、2层
        }else if (param.getBarcode().startsWith("8")){
            locTypeDto.setLocType2((short) 8); // 1300*1500*160 2巷道 3、4、5、6层
        }else {
            return R.error("条码规则不存在:"+param.getBarcode());
        }
        StartupDto dto = null;
        switch (param.getIoType()) {
            case 1://满托盘入库
                assert waitPakins != null;
                dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(),param.getWeight(), locTypeDto, waitPakins);
                dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), param.getWeight(), locTypeDto, waitPakins);
                break;
            case 10://空托盘入库
                dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode());
@@ -345,8 +357,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 +385,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) {
@@ -416,6 +429,7 @@
        LocMast locMast = locMastService.selectById(dto.getLocNo());
        if (locMast.getLocSts().equals("O")) {
            locMast.setLocSts("S"); // S.入库预约
//            locMast.setScWeight(weight); // 整托重量记入库位 为并板出库筛选托盘做准备
            locMast.setModiTime(now);
            if (!locMastService.updateById(locMast)) {
                throw new CoolException("改变库位状态失败");