自动化立体仓库 - WMS系统
zyx
2023-11-07 b801ccf0a01277b0796ee6f822346836e33de148
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -129,8 +129,7 @@
        // 生成工作档明细
        List<DetlDto> detlDtos = new ArrayList<>();
        param.getList().forEach(elem -> {
            DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq());
            detlDto.setContainerCode(elem.getContainerCode());
            DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme(), elem.getCsocode(), elem.getIsoseq(),elem.getContainerCode());
            if (DetlDto.has(detlDtos, detlDto)) {
                DetlDto detlDto1 = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch(),detlDto.getCsocode(),detlDto.getIsoseq(),detlDto.getContainerCode());
                assert detlDto1 != null;
@@ -222,7 +221,7 @@
        List<LocDetlDto> locDetlDtos = new ArrayList<>();
        for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(), null);
                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch(), paramLocDetl.getContainerCode());
                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
            }
        }
@@ -429,6 +428,10 @@
        wrkMast.setCrnNo(outMost?outCrnNo:locMast.getCrnNo());
        wrkMast.setSourceStaNo(sourceStaNo); // 源站
        wrkMast.setStaNo(stnNo); // 目标站
        if(ioType == 101 && taskDto.getStaNo()>=300){
            wrkMast.setSourceStaNo(346); // 源站
            wrkMast.setStaNo(346); // 目标站
        }
        wrkMast.setSourceLocNo(taskDto.getLocNo()); // 源库位
        wrkMast.setFullPlt("Y"); // 满板:Y
        wrkMast.setPicking("N"); // 拣料
@@ -855,7 +858,7 @@
                    if (!locDetl.getAnfme().equals(adjust.getCount())) {
                        // todo 盘点记录
                        // 修改库存
                        if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
                        if (!locDetlService.updateAnfme(adjust.getCount(), locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getSuppCode(),locDetl.getThreeCode(),locDetl.getDeadTime())) {
                            throw new CoolException(locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "序列码修改数量失败");
                        }
                        // 保存调整记录
@@ -869,9 +872,7 @@
                        adjDetl.setModiUser(userId);
                        adjDetl.setAppeTime(now);
                        adjDetl.setAppeUser(userId);
                        UUID uuid = UUID.randomUUID();
                        adjDetl.setOrderNo(uuid.toString());
                        adjDetl.setOrderNo(Utils.generateAdjustOrderNo());
                        adjDetl.setCsocode(locDetl.getThreeCode());
                        adjDetl.setIsoseq(locDetl.getDeadTime());
@@ -886,7 +887,7 @@
        // 删除库存
        for (LocDetl locDetl : locDetls) {
            // todo 盘点记录
            if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch())) {
            if (!locDetlService.updateAnfme(-1.0D, locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getBatch(),locDetl.getSuppCode(),locDetl.getThreeCode(),locDetl.getDeadTime())) {
                throw new CoolException("删除" + locDetl.getLocNo() + "库位," + locDetl.getMatnr() + "商品," + locDetl.getBatch() + "序列码库存明细失败");
            }
            // 保存调整记录
@@ -900,7 +901,7 @@
            adjDetl.setModiUser(userId);
            adjDetl.setAppeTime(now);
            adjDetl.setAppeUser(userId);
            adjDetl.setOrderNo(Utils.generateAdjustOrderNo());
            adjDetlService.save(adjDetl, userId);
        }
@@ -933,11 +934,9 @@
            adjDetl.setModiUser(userId);
            adjDetl.setAppeTime(now);
            adjDetl.setAppeUser(userId);
            UUID uuid = UUID.randomUUID();
            adjDetl.setOrderNo(uuid.toString());
            adjDetl.setCsocode(locDetl.getThreeCode());
            adjDetl.setIsoseq(locDetl.getDeadTime());
            adjDetl.setOrderNo(Utils.generateAdjustOrderNo());
            adjDetlService.save(adjDetl, userId);
        }