自动化立体仓库 - WMS系统
Junjie
2023-05-16 ee4643ab09a85661532fd75ddb45a1b44e92f530
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -230,7 +230,11 @@
            // 获取库位
            LocMast locMast = locMastService.selectById(dto.getLocNo());
            // 获取路径
            StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), staNo.getDevNo());
            StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), staNo.getDevNo(), locMast.getRow1());
            if(staDesc == null){
                throw new CoolException("出库路径不存在");
            }
            // 生成工作号
            int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
            // 生成工作档
@@ -771,25 +775,26 @@
                    continue;
                }
                if (locDetl.getMatnr().equals(adjust.getMatnr()) && Cools.eq(locDetl.getBatch(), adjust.getBatch())) {
                    if (!locDetl.getAnfme().equals(adjust.getCount())) {
                        // todo 盘点记录
                        // 修改库存
                        if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
                            throw new CoolException(locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "序列码修改数量失败");
                        }
                        // 保存调整记录
                        AdjDetl adjDetl = new AdjDetl();
                        adjDetl.setLocNo(locDetl.getLocNo());
                        adjDetl.setMatnr(locDetl.getMatnr());
                        adjDetl.setBatch(locDetl.getBatch());
                        adjDetl.setOriQty(locDetl.getAnfme());
                        adjDetl.setAdjQty(adjust.getCount());
                        adjDetl.setModiTime(now);
                        adjDetl.setModiUser(userId);
                        adjDetl.setAppeTime(now);
                        adjDetl.setAppeUser(userId);
                        adjDetlService.save(adjDetl, userId);
                    // todo 盘点记录
                    // 修改库存
                    if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(), adjust.getManu(), adjust.getMemo())) {
                        throw new CoolException(locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "序列码修改数量失败");
                    }
                    // 保存调整记录
                    AdjDetl adjDetl = new AdjDetl();
                    adjDetl.setLocNo(locDetl.getLocNo());
                    adjDetl.setMatnr(locDetl.getMatnr());
                    adjDetl.setBatch(locDetl.getBatch());
                    adjDetl.setOriQty(locDetl.getAnfme());
                    adjDetl.setAdjQty(adjust.getCount());
                    adjDetl.setMemo(adjust.getMemo());
                    adjDetl.setManu(adjust.getManu());
                    adjDetl.setModiTime(now);
                    adjDetl.setModiUser(userId);
                    adjDetl.setAppeTime(now);
                    adjDetl.setAppeUser(userId);
                    adjDetlService.save(adjDetl, userId);
                    iterator.remove();
                    iterator1.remove();
                }
@@ -827,6 +832,8 @@
            locDetl.setBatch(adjust.getBatch());
            locDetl.setLocNo(locMast.getLocNo());
            locDetl.setAnfme(adjust.getCount()); // 数量
            locDetl.setMemo(adjust.getMemo());
            locDetl.setManu(adjust.getManu());
            locDetl.setModiUser(userId); // 操作人员信息
            locDetl.setModiTime(now);
            locDetl.setAppeUser(userId);
@@ -839,6 +846,8 @@
            adjDetl.setLocNo(locMast.getLocNo());
            adjDetl.setMatnr(adjust.getMatnr());
            adjDetl.setBatch(adjust.getBatch());
            adjDetl.setMemo(adjust.getMemo());
            adjDetl.setManu(adjust.getManu());
            adjDetl.setOriQty(0.0D);
            adjDetl.setAdjQty(adjust.getCount());
            adjDetl.setModiTime(now);