yangys
2024-03-28 25475f31cd0d52ff328bbea9e80f15647dedd80b
smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/WarehouseStationServiceImpl.java
@@ -1,15 +1,5 @@
package com.qianwen.smartman.modules.cps.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.write.merge.AbstractMergeStrategy;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import java.lang.invoke.SerializedLambda;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -17,14 +7,20 @@
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.qianwen.smartman.common.cache.RegionCache;
import com.qianwen.smartman.common.constant.CommonConstant;
import com.qianwen.smartman.common.constant.CommonGroupConstant;
import com.qianwen.smartman.common.constant.ExcelConstant;
import com.qianwen.smartman.common.utils.MessageUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import com.alibaba.excel.write.merge.AbstractMergeStrategy;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.qianwen.core.excel.util.ExcelUtil;
import com.qianwen.core.log.exception.ServiceException;
import com.qianwen.core.mp.base.BaseServiceImpl;
@@ -34,10 +30,15 @@
import com.qianwen.core.tool.utils.DateUtil;
import com.qianwen.core.tool.utils.Func;
import com.qianwen.core.tool.utils.StringUtil;
import com.qianwen.smartman.common.constant.CommonConstant;
import com.qianwen.smartman.common.constant.CommonGroupConstant;
import com.qianwen.smartman.common.constant.ExcelConstant;
import com.qianwen.smartman.common.utils.MessageUtils;
import com.qianwen.smartman.modules.cps.convert.WarehouseStationConvert;
import com.qianwen.smartman.modules.cps.entity.MaterialStorage;
import com.qianwen.smartman.modules.cps.entity.TrayStorage;
import com.qianwen.smartman.modules.cps.entity.WarehouseArea;
import com.qianwen.smartman.modules.cps.entity.WarehouseGrid;
import com.qianwen.smartman.modules.cps.entity.WarehouseStation;
import com.qianwen.smartman.modules.cps.excel.WarehouseStationExcel;
import com.qianwen.smartman.modules.cps.excel.WarehouseStationImport;
@@ -52,9 +53,9 @@
import com.qianwen.smartman.modules.resource.builder.oss.OssBuilder;
import com.qianwen.smartman.modules.system.service.ICodeGeneratorService;
import com.qianwen.smartman.modules.tpm.enums.MetaTypeEnum;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
@Service
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/cps/service/impl/WarehouseStationServiceImpl.class */
@@ -71,141 +72,6 @@
    public static final Integer TYPE_CODE = 1;
    public static final Integer TYPE_NAME = 2;
    private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) {
        String implMethodName = lambda.getImplMethodName();
        boolean z = true;
        switch (implMethodName.hashCode()) {
            case -2090991943:
                if (implMethodName.equals("getStationId")) {
                    z = true;
                    break;
                }
                break;
            case -633192478:
                if (implMethodName.equals("getWarehouseStationId")) {
                    z = false;
                    break;
                }
                break;
            case -75622813:
                if (implMethodName.equals("getCode")) {
                    z = true;
                    break;
                }
                break;
            case 98245393:
                if (implMethodName.equals("getId")) {
                    z = true;
                    break;
                }
                break;
            case 286461310:
                if (implMethodName.equals("getAreaId")) {
                    z = true;
                    break;
                }
                break;
            case 1929248666:
                if (implMethodName.equals("getWarehouseCode")) {
                    z = true;
                    break;
                }
                break;
            case 1929563192:
                if (implMethodName.equals("getWarehouseName")) {
                    z = true;
                    break;
                }
                break;
        }
        switch (z) {
            case false:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/cps/entity/MaterialStorage") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getWarehouseStationId();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/cps/entity/TrayStorage") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getWarehouseStationId();
                    };
                }
                break;
            case true:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/cps/entity/WarehouseGrid") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getStationId();
                    };
                }
                break;
            case true:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/cps/entity/WarehouseStation") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getWarehouseCode();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/cps/entity/WarehouseStation") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getWarehouseCode();
                    };
                }
                break;
            case true:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getId();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getId();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getId();
                    };
                }
                break;
            case true:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/cps/entity/WarehouseStation") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getWarehouseName();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/cps/entity/WarehouseStation") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getWarehouseName();
                    };
                }
                break;
            case RegionCache.VILLAGE_LEVEL /* 5 */:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/cps/entity/WarehouseArea") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getCode();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/cps/entity/WarehouseArea") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getCode();
                    };
                }
                break;
            case true:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/cps/entity/WarehouseStation") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getAreaId();
                    };
                }
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/cps/entity/WarehouseStation") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getAreaId();
                    };
                }
                break;
        }
        throw new IllegalArgumentException("Invalid lambda deserialization");
    }
    public WarehouseStationServiceImpl(final WarehouseGridMapper warehouseGridMapper, final WarehouseAreaMapper warehouseAreaMapper, final OssBuilder ossBuilder, final WarehouseStationMapper warehouseStationMapper, final MaterialStorageMapper storageMapper, final ITrayStorageService trayStorageService, final ICodeGeneratorService codeGeneratorService) {
        this.warehouseGridMapper = warehouseGridMapper;
@@ -220,6 +86,13 @@
    @Override // org.springblade.modules.cps.service.IWarehouseStationService
    @Transactional(rollbackFor = {Exception.class})
    public Boolean deleteByIds(List<Long> ids) {
       Long gridCont = this.warehouseGridMapper.selectCount(new QueryWrapper<WarehouseGrid>().lambda().in(WarehouseGrid::getStationId, ids));
        Long materialCount = this.storageMapper.selectCount(Wrappers.lambdaQuery(MaterialStorage.class).in(MaterialStorage::getWarehouseStationId, ids));
        long trayStorageCount = this.trayStorageService.count(Wrappers.lambdaQuery(TrayStorage.class).in(TrayStorage::getWarehouseStationId, ids));
       /*
        Long gridCont = this.warehouseGridMapper.selectCount((Wrapper) new QueryWrapper().lambda().in((v0) -> {
            return v0.getStationId();
        }, ids));
@@ -229,6 +102,7 @@
        long trayStorageCount = this.trayStorageService.count((Wrapper) Wrappers.lambdaQuery(TrayStorage.class).in((v0) -> {
            return v0.getWarehouseStationId();
        }, ids));
        */
        if (gridCont.longValue() > 0) {
            throw new ServiceException(MessageUtils.message("cps.warehouse.station.not.delete", new Object[0]));
        }
@@ -255,7 +129,7 @@
            throw new ServiceException(MessageUtils.message("excel.import.size.failed", new Object[0]));
        }
        checkImportData(warehouseStationImports);
        List<WarehouseStationImport> fails = (List) warehouseStationImports.stream().filter(w -> {
        List<WarehouseStationImport> fails = warehouseStationImports.stream().filter(w -> {
            return StrUtil.isNotEmpty(w.getFailReason());
        }).collect(Collectors.toList());
        if (fails.size() > CommonConstant.ZERO.intValue()) {
@@ -279,7 +153,7 @@
    }
    private void saveWarehouseStation(List<WarehouseStationImport> success) {
        List<WarehouseStation> stationList = (List) success.parallelStream().map(station -> {
        List<WarehouseStation> stationList = success.parallelStream().map(station -> {
            WarehouseArea area = AREAS_CACHE.get(station.getWarehouseAreaCode());
            WarehouseStation warehouseStation = WarehouseStationConvert.INSTANCE.convert(station);
            warehouseStation.setAreaId(area.getId());
@@ -290,44 +164,42 @@
    }
    private void checkImportData(List<WarehouseStationImport> imports) {
        List<String> includeAreaCodes = (List) imports.parallelStream().map((v0) -> {
        List<String> includeAreaCodes = imports.parallelStream().map((v0) -> {
            return v0.getWarehouseAreaCode();
        }).collect(Collectors.toList());
        List<WarehouseArea> warehouseAreas = this.warehouseAreaMapper.selectList(((LambdaQueryWrapper) Wrappers.lambdaQuery(WarehouseArea.class).in((v0) -> {
            return v0.getCode();
        }, includeAreaCodes)).select(new SFunction[]{(v0) -> {
            return v0.getId();
        }, (v0) -> {
            return v0.getCode();
        }}));
        Map<String, WarehouseArea> areaMap = (Map) warehouseAreas.parallelStream().collect(Collectors.toMap((v0) -> {
        List<WarehouseArea> warehouseAreas = this.warehouseAreaMapper.selectList(Wrappers.lambdaQuery(WarehouseArea.class)
              .in(WarehouseArea::getCode, includeAreaCodes)
              .select(WarehouseArea::getId, WarehouseArea::getCode ));
        Map<String, WarehouseArea> areaMap = warehouseAreas.parallelStream().collect(Collectors.toMap((v0) -> {
            return v0.getCode();
        }, warehouseArea -> {
            return warehouseArea;
        }, oldVal, currVal -> {
        }, (oldVal, currVal) -> {
            return currVal;
        }));
        Map<Long, WarehouseArea> areaIdMap = (Map) warehouseAreas.parallelStream().collect(Collectors.toMap((v0) -> {
        Map<Long, WarehouseArea> areaIdMap = warehouseAreas.parallelStream().collect(Collectors.toMap((v0) -> {
            return v0.getId();
        }, warehouseArea2 -> {
            return warehouseArea2;
        }, oldVal2, currVal2 -> {
        }, (oldVal2, currVal2) -> {
            return currVal2;
        }));
        AREAS_CACHE.putAll(areaMap);
        List<String> importCodes = (List) imports.parallelStream().map((v0) -> {
        List<String> importCodes = imports.parallelStream().map((v0) -> {
            return v0.getWarehouseCode();
        }).collect(Collectors.toList());
        List<String> importNames = (List) imports.parallelStream().map((v0) -> {
        List<String> importNames = imports.parallelStream().map((v0) -> {
            return v0.getWarehouseName();
        }).collect(Collectors.toList());
        List<WarehouseStation> warehouseStations = (List) list((Wrapper) ((LambdaQueryWrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery(WarehouseStation.class).in((v0) -> {
            return v0.getWarehouseCode();
        }, importCodes)).or()).in((v0) -> {
            return v0.getWarehouseName();
        }, importNames)).parallelStream().peek(w -> {
        List<WarehouseStation> warehouseStations = list(Wrappers.lambdaQuery(WarehouseStation.class)
              .in(WarehouseStation::getWarehouseCode, importCodes)
              .or().in(WarehouseStation::getWarehouseName, importNames))
              .parallelStream().peek(w -> {
            w.setWarehouseAreaCode(((WarehouseArea) areaIdMap.get(w.getAreaId())).getCode());
        }).collect(Collectors.toList());
        Map<String, Object> stationCodeMap = getVerifyList(Boolean.TRUE, warehouseStations);
        Map<String, Object> stationNameMap = getVerifyList(Boolean.FALSE, warehouseStations);
        imports.parallelStream().forEachOrdered(stationImport -> {
@@ -354,11 +226,14 @@
        Function<WarehouseStation, String> function = x -> {
            return isCode.booleanValue() ? x.getWarehouseAreaCode() + "-" + x.getWarehouseCode() : x.getWarehouseAreaCode() + "-" + x.getWarehouseName();
        };
        return warehouseStations.parallelStream().collect(HashMap::new, (map, item) -> map.put(function.apply(item), null), HashMap::putAll);
        /*
        return (HashMap) warehouseStations.parallelStream().collect(HashMap::new, map, item -> {
            map.put(function.apply(item), null);
        }, (v0, v1) -> {
            v0.putAll(v1);
        });
        });*/
    }
    private Boolean exitsArea(String areaCode, List<WarehouseArea> warehouseAreas) {
@@ -414,6 +289,9 @@
    }
    public void verifyCodeAndName(WarehouseStationVO warehouseStation) {
       LambdaQueryWrapper<WarehouseStation> codeWrapper = Wrappers.lambdaQuery(WarehouseStation.class).eq(WarehouseStation::getAreaId, warehouseStation.getAreaId()).ne(Func.isNotEmpty(warehouseStation.getId()), WarehouseStation::getId, warehouseStation.getId()).eq(WarehouseStation::getWarehouseCode, warehouseStation.getWarehouseCode());
        LambdaQueryWrapper<WarehouseStation> nameWrapper = Wrappers.lambdaQuery(WarehouseStation.class).eq(WarehouseStation::getAreaId, warehouseStation.getAreaId()).ne(Func.isNotEmpty(warehouseStation.getId()), WarehouseStation::getId, warehouseStation.getId()).eq(WarehouseStation::getWarehouseName, warehouseStation.getWarehouseName());
        /*
        LambdaQueryWrapper<WarehouseStation> codeWrapper = (LambdaQueryWrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery(WarehouseStation.class).eq((v0) -> {
            return v0.getAreaId();
        }, warehouseStation.getAreaId())).ne(Func.isNotEmpty(warehouseStation.getId()), (v0) -> {
@@ -427,7 +305,7 @@
            return v0.getId();
        }, warehouseStation.getId()).eq((v0) -> {
            return v0.getWarehouseName();
        }, warehouseStation.getWarehouseName());
        }, warehouseStation.getWarehouseName());*/
        long codeCount = count(codeWrapper);
        if (codeCount > 0) {
            throw new ServiceException(MessageUtils.message("cps.warehouse.station.code.is.not.only", new Object[0]));