yangyang
2025-07-17 e2c2cb3fa2964e21cb7ebf0e8e092f621c235d73
zy-asrs-wms/src/main/java/com/zy/asrs/wms/asrs/manage/OutManage.java
@@ -532,6 +532,11 @@
        return mergePreviewDtos;
    }
    /**
     * 波次出库预览
     * @param param
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
    public List<MergePreviewResultDto> orderOutMergeLocPreview(List<MergePreviewDto> param) {
        if (param == null) {
@@ -567,7 +572,7 @@
            //查询平库中符合条件的库存
            List<LocDetl> locs = locDetlService.queryFlatStock(pars.getMatnr(), pars.getBatch(), pars.getFieldParams());
            if (!locs.isEmpty()) {
                double anfme = pars.getAnfme() - pars.getWorkQty();
                Double anfme = pars.getAnfme() - pars.getWorkQty();
                for (LocDetl detl : locs) {
                    Loc loc = locService.getById(detl.getLocId());
                    if (loc == null) {
@@ -582,7 +587,7 @@
                    locDto.setLocNo(detl.getLocNo());
                    locDto.setTypeId(LocAreaTypeSts.LOC_AREA_TYPE_FLAT.id);
                    locDto.setLocDetlId(detl.getId());
                    locDto.setAnfme(detl.getAnfme());
                    locDto.setAnfme(detl.getAnfme() - detl.getWorkQty());
                    locDto.setWorkQty(detl.getWorkQty());
                    locDtos.add(locDto);
                    //库位实际可用数量
@@ -591,8 +596,8 @@
                        continue;
                    }
                    //波次数量减去库位可用数量后,盈余数量
                    anfme = anfme - surplusQty;
                    if (anfme > 0) {
                    anfme = Math.round((anfme - surplusQty) * 10000) / 10000.0;
                    if (anfme.compareTo(0.0) > 0) {
                        //当前可使用数量
                        resultDto.setFetchQty(surplusQty);
                        //余下需求数量