自动化立体仓库 - WMS系统
pang.jiabao
2025-04-30 abb9b5c51d8a20be68b64e0c4a9620f6578d2e3a
src/main/java/com/zy/asrs/importexcle/LocMatListener.java
@@ -26,7 +26,7 @@
    /**
     * 每隔1000条存储数据库,实际使用中可以3000条,然后清理list ,方便内存回收
     */
    private static final int BATCH_COUNT = 400;
    private static final int BATCH_COUNT = 50;
    private static int num = 1;
@@ -87,26 +87,36 @@
        List<LocDetl> locDetls = new ArrayList<>();
            list.forEach(locMat -> {
                LocMast locMast = locMastService.selectById(locMat.getA());
                if (locMast == null) {
                    throw new CoolException(locMat.getA() + ":库位不存在!");
                }
                if (!locMast.getLocSts().equals("O")) {
                    throw new CoolException(locMat.getA() + ":库位不为空!");
                }
                Date now = new Date();
                String flag = "A" + num;
                if ("F".equals(locMat.getB())) {
                    LocDetl locDetl = new LocDetl();
                    locDetl.setLocNo(locMat.getA());
                    locDetl.setZpallet("test" + num);
                    locDetl.setAnfme(1.0);
                    locDetl.setMatnr("3μm×10mm");
                    locDetl.setMaktx("3μm×10mm");
                    locDetl.setBatch("t" + num);
                    locDetl.setSpecs("1");
                    locDetl.setModel("t" + num);
                    locDetl.setColor(locMat.getC()); // 木箱类型
                    locDetl.setBrand("t" + num);
                    locDetl.setPrice(800.0);
                    locDetl.setBatch("");
                    locDetl.setUnit(flag);
                    locDetl.setModel(flag);
                    locDetl.setBrand(flag);
                    locDetl.setOrigin("中");
                    locDetl.setColor(locMat.getC());
                    locDetl.setManu(flag);
                    locDetl.setSku("10");
                    locDetl.setItemNum("10");
                    locDetl.setManuDate("2024-02-01 23:12:21");
                    locDetl.setWeight(900.0);
                    locDetl.setVolume(1000.0);
                    locDetl.setSpecs("1");
                    locDetl.setLength(800.0);
                    locDetl.setZpallet(flag);
                    locDetl.setBarcode(flag);
                    locDetl.setAnfme(1.0);
                    locDetl.setModiTime(now);
                    locDetl.setModiUser(userId);
                    locDetl.setAppeTime(now);
@@ -114,11 +124,14 @@
                    // 添加进库存明细列表
                    locDetls.add(locDetl);
                    locMast.setBarcode(flag);
                    num ++;
                }
                // 更新库位状态
                locMast.setLocSts(locMat.getB());
                locMast.setBarcode(flag);
                locMastService.updateById(locMast);
            });
            // 批量插入库存明细