自动化立体仓库 - WMS系统
#
luxiaotao1123
2020-06-18 ebc766304439d72c69b580eaef83681096e4ee3d
#
3个文件已修改
50 ■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/pakStore/stockAdjust.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
@@ -19,7 +19,7 @@
        private String matNo;
        // 变更数量
        private Integer count;
        private Double count;
        public String getMatNo() {
            return matNo;
@@ -29,11 +29,11 @@
            this.matNo = matNo;
        }
        public Integer getCount() {
        public Double getCount() {
            return count;
        }
        public void setCount(Integer count) {
        public void setCount(Double count) {
            this.count = count;
        }
    }
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -44,6 +44,8 @@
    private StaDescService staDescService;
    @Autowired
    private LocDetlService locDetlService;
    @Autowired
    private MatCodeService matCodeService;
    @Override
    @Transactional
@@ -466,17 +468,50 @@
        if (Cools.isEmpty(locMast)) {
            throw new CoolException("库位不存在");
        }
        // 清除旧库存明细
        locDetlService.delete(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
        // 保存新库存明细
        for (LocDetlAdjustParam.LocDetlAdjust adjust : param.getList()) {
            LocDetl sqlParam = new LocDetl();
            sqlParam.setLocNo(locMast.getLocNo());
            sqlParam.setMatnr(adjust.getMatNo());
            LocDetl one = locDetlService.selectOne(new EntityWrapper<>(sqlParam));
            // 保存新库存明细
            if (Cools.isEmpty(one)) {
                MatCode matCode = matCodeService.selectById(adjust.getMatNo());
            LocDetl locDetl = new LocDetl();
                locDetl.setLocNo(locMast.getLocNo());
                locDetl.setMatnr(matCode.getMatNo());
                locDetl.setMaktx(matCode.getMatName()); // 物料描述
                locDetl.setAnfme(adjust.getCount()); // 数量
                locDetl.setAltme(matCode.getStr1()); // 单位
                // todo:luxiaoao
                locDetl.setModiUser(userId); // 操作人员信息
                locDetl.setModiTime(new Date());
                locDetl.setAppeUser(userId);
                locDetl.setAppeTime(new Date());
            if (!locDetlService.insert(locDetl)) {
                throw new CoolException("保存库存明细失败");
            }
            // 修改原库存明细
            } else {
                // 如果数量修改,则更新库存明细
                if (!adjust.getCount().equals(one.getAnfme())) {
                    // 当数量被修改为 0 时,直接清除库存明细
                    if (adjust.getCount() == 0) {
                        if (!locDetlService.delete(new EntityWrapper<>(one))) {
                            throw new CoolException("清除库存明细失败");
                        }
                    } else {
                        one.setAnfme(adjust.getCount());
                        one.setModiTime(new Date());
                        one.setModiUser(userId);
                        if (!locDetlService.updateById(one)) {
                            throw new CoolException("修改库存明细失败");
                        }
                    }
                }
        }
    }
    }
    @Override
    @Transactional
src/main/webapp/static/js/pakStore/stockAdjust.js
@@ -119,6 +119,9 @@
                    anfme: data[i].anfme,
                    matNo: data[i].matnr,
                    matName: data[i].maktx,
                    barcode: data[i].zpallet,
                    str1: data[i].altme,
                    str2: data[i].bname,
                    removeBtn: false
                })
            }