skyouc
2025-01-04 3c52f39678034ce21c1158a01b4885e3afde4443
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java
@@ -793,13 +793,21 @@
            throw new CoolException("未生成波次");
        }
        Wave wave = waveService.getById(dto.getWaveId());
        if (Objects.isNull(wave)) {
            throw new CoolException("波次不存在");
        }
        List<OrderOutMergeParam> params = dto.getList();
        if (params.isEmpty()) {
            throw new CoolException("参数不能为空");
        }
        Long waveId = dto.getWaveId();
//        Long waveId = dto.getWaveId();
//        String waveNo = dto.getw
        List<Long> filterParamsList = new ArrayList<>();
        List<OrderOutMergeParam> filterParams = new ArrayList<>();
@@ -814,7 +822,7 @@
        HashMap<String, Double> stockMap = new HashMap<>();
        for (OrderOutMergeParam param : filterParams) {
            String matUniqueKey = Utils.getMatUniqueKey(param.getMatnr(), param.getBatch(), param.getFieldParams());
            WaveDetl waveDetl = waveDetlService.getOne(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getStockIndex, matUniqueKey).eq(WaveDetl::getWaveId, waveId));
            WaveDetl waveDetl = waveDetlService.getOne(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getStockIndex, matUniqueKey).eq(WaveDetl::getWaveId, wave.getId()));
            if(waveDetl == null){
                throw new CoolException("波次数据不存在");
            }
@@ -912,7 +920,8 @@
                taskDetl.setTaskNo(task.getTaskNo());
                taskDetl.setAnfme(merge.getAnfme());
                taskDetl.setStock(locDetl.getAnfme());
                taskDetl.setWaveId(waveId);
                taskDetl.setWaveId(wave.getId());
                taskDetl.setWaveNo(wave.getWaveNo());
                taskDetl.setOrderId(null);
                taskDetl.setOrderNo(null);
                if (!taskDetlService.save(taskDetl)) {
@@ -935,7 +944,7 @@
                //TODO 确认后,需将注释打开
                String matUniqueKey = Utils.getMatUniqueKey(taskDetl.getMatnr(), taskDetl.getBatch(), taskDetl.getUniqueField());
//                WaveDetl waveDetl = waveDetlService.getOne(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getStockIndex, matUniqueKey).eq(WaveDetl::getWaveId, waveId));
                WaveDetl waveDetl = waveDetlService.getOne(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getWaveId, waveId), false);
                WaveDetl waveDetl = waveDetlService.getOne(new LambdaQueryWrapper<WaveDetl>().eq(WaveDetl::getWaveId, wave.getId()), false);
                if (waveDetl == null) {
                    throw new CoolException("波次数据不存在");
                }
@@ -946,12 +955,12 @@
                }
            }
            //库存更新逻辑
            List<Long> orderIds = dto.getList().stream().findFirst().get().getOrderIds();
            List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().in(OrderDetl::getOrderId, orderIds));
            orderDetls.forEach(orderDetl -> {
                orderUtils.updateWorkQty(orderDetl.getId(), orderDetl.getAnfme());
            });
            //出库库存更新逻辑
//            List<Long> orderIds = dto.getList().stream().findFirst().get().getOrderIds();
//            List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>().in(OrderDetl::getOrderId, orderIds));
//            orderDetls.forEach(orderDetl -> {
//                orderUtils.updateWorkQty(orderDetl.getId(), orderDetl.getAnfme());
//            });
            //库位F => R
            loc.setLocStsId(LocStsType.R.val());
@@ -962,10 +971,10 @@
            }
        }
        Wave wave = waveService.getById(waveId);
        if (wave == null) {
            throw new CoolException("波次不存在");
        }
//        Wave wave = waveService.getById(dto.getWaveId());
//        if (wave == null) {
//            throw new CoolException("波次不存在");
//        }
        wave.setWaveStatus(WaveStatusType.GENERATE.id);
        wave.setUpdateTime(new Date());