自动化立体仓库 - WMS系统
luxiaotao1123
2020-07-11 8aef28e39575b910aa08c0c102c868d60fb306ea
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -141,7 +141,7 @@
        }
        if (!locDetlDtos.isEmpty()) {
            // 启动出库开始 101.出库
            stockOut(staNo, locDetlDtos, 101, userId);
            stockOut(staNo, locDetlDtos, null, userId);
        } else {
            throw new CoolException("库位物料不存在");
        }
@@ -169,7 +169,9 @@
        // 生成工作档
        for (OutLocDto dto : dtos) {
            // 判断入出库类型:101.全板出库 or 103.拣料出库
            ioType = (dto.isAll() && (ioType==101||ioType==103))?101:103;
            if (ioType == null) {
                ioType = dto.isAll() ? 101 : 103;
            }
            // 获取库位
            LocMast locMast = locMastService.selectById(dto.getLocNo());
            // 获取路径
@@ -668,13 +670,13 @@
            throw new CoolException("当前工作状态不能拣料入库");
        }
        // 保存工作明细档历史档
        if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
            throw new CoolException("保存工作明细档历史档失败");
        }
//        if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
//            throw new CoolException("保存工作明细档历史档失败");
//        }
        // 删除工作明细档
        if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) {
            throw new CoolException("删除工作明细档档历史档失败");
        }
//        if (!wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()))) {
//            throw new CoolException("删除工作明细档档历史档失败");
//        }
        // 保存工作主档历史档
        if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
            throw new CoolException("保存工作主档历史档失败");
@@ -702,23 +704,23 @@
        if (!wrkMastService.updateById(wrkMast)) {
            throw new CoolException("更新工作档数据状态失败");
        }
        // 更新/删除拣料库存明细
        for (WrkDetl wrkDetl : wrkDetls) {
            LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locNo).eq("matnr", wrkDetl.getMatnr()));
            // 库存数量计算
            locDetl.setAnfme(locDetl.getAnfme() - wrkDetl.getAnfme());
            if (locDetl.getAnfme() > 0) {
                locDetl.setModiTime(new Date());
                locDetl.setModiUser(userId);
                if (!locDetlService.updateById(locDetl)) {
                    throw new CoolException("更新库存明细失败");
                }
            } else {
                if (!locDetlService.delete(new EntityWrapper<>(locDetl))) {
                    throw new CoolException("删除库存明细失败");
                }
            }
        }
//        // 更新/删除拣料库存明细
//        for (WrkDetl wrkDetl : wrkDetls) {
//            LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locNo).eq("matnr", wrkDetl.getMatnr()));
//            // 库存数量计算
//            locDetl.setAnfme(locDetl.getAnfme() - wrkDetl.getAnfme());
//            if (locDetl.getAnfme() > 0) {
//                locDetl.setModiTime(new Date());
//                locDetl.setModiUser(userId);
//                if (!locDetlService.updateById(locDetl)) {
//                    throw new CoolException("更新库存明细失败");
//                }
//            } else {
//                if (!locDetlService.delete(new EntityWrapper<>(locDetl))) {
//                    throw new CoolException("删除库存明细失败");
//                }
//            }
//        }
        // 修改库位状态 Q.拣料/盘点/并板再入库
        LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
        locMast.setLocType("Q");