自动化立体仓库 - WMS系统
#1
dubin
2025-11-12 9bc4c5f02cc53961725af9683b75899ac22a6720
src/main/java/com/zy/common/web/WcsController.java
@@ -107,6 +107,18 @@
        sourceStaNo.setLocType1(param.getLocType1());
        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
        if (param.getBarcode().startsWith("5")){
            locTypeDto.setLocType2((short) 5);
        }else if (param.getBarcode().startsWith("6")){
            locTypeDto.setLocType2((short) 6);
        }else if (param.getBarcode().startsWith("7")){
            locTypeDto.setLocType2((short) 7);
        }else if (param.getBarcode().startsWith("8")){
            locTypeDto.setLocType2((short) 8);
        }else {
            throw new CoolException("条码规则不存在:"+param.getBarcode());
        }
        StartupDto dto = null;
        switch (param.getIoType()) {
            case 1://满托盘入库
@@ -315,7 +327,7 @@
            return R.error("库存没有空板");
        }
        EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
        emptyPlateOutParam.setOutSite(12);
        emptyPlateOutParam.setOutSite(101);
        emptyPlateOutParam.setLocNos(new ArrayList<String>() {{
            add(locMast.getLocNo() + "");
        }});
@@ -333,7 +345,7 @@
        // 检索库位
        List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
        List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
        StartupDto dto = commonService.getLocNo(2, 1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto);
        StartupDto dto = commonService.getLocNo(1, 1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto);
        int workNo = dto.getWorkNo();
        Date now = new Date();
        // 生成工作档
@@ -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"); // 拣料
@@ -366,10 +378,14 @@
        waitPakins.forEach(waitPakin -> {
            WrkDetl wrkDetl = new WrkDetl();
            wrkDetl.sync(waitPakin);
            wrkDetl.setProType(waitPakin.getProType());
            wrkDetl.setTemp2(waitPakin.getTemp2());
            wrkDetl.setWeight(wrkMast.getScWeight());
            wrkDetl.setWrkNo(wrkMast.getWrkNo());
            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) {
@@ -379,11 +395,13 @@
                    wrkDetl.setSPgNO(orderDetl.getSPgNO());
                    wrkDetl.setOutOrderNo(orderDetl.getOutOrderNo());
//                    wrkDetl.setLuHao(orderDetl.getLuHao());
                    wrkDetl.setWeight(weight);
                    wrkDetl.setSupp(orderDetl.getSupp());
                    wrkDetl.setSuppCode(orderDetl.getSuppCode());
                    wrkDetl.setPacking(orderDetl.getPacking());
                    wrkDetl.setColor(orderDetl.getColor());
                    wrkDetl.setWareId(orderDetl.getWareId());
                    wrkDetl.setWareName(orderDetl.getWareName());
                    wrkDetl.setTemp1(orderDetl.getTemp1());
                }
            }
            if (!wrkDetlService.insert(wrkDetl)) {