| | |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | @Service |
| | | /* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/cps/service/impl/MaterialStorageServiceImpl.class */ |
| | | public class MaterialStorageServiceImpl extends BladeServiceImpl<MaterialStorageMapper, MaterialStorage> implements IMaterialStorageService { |
| | | private final IWarehouseStationService warehouseStationService; |
| | | private final IMaterialService materialService; |
| | | private final OssBuilder ossBuilder; |
| | | |
| | | private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) { |
| | | String implMethodName = lambda.getImplMethodName(); |
| | | boolean z = true; |
| | | switch (implMethodName.hashCode()) { |
| | | case -75622813: |
| | | if (implMethodName.equals("getCode")) { |
| | | z = true; |
| | | break; |
| | | } |
| | | break; |
| | | case 1929248666: |
| | | if (implMethodName.equals("getWarehouseCode")) { |
| | | z = false; |
| | | 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/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/modules/cps/entity/Material") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) { |
| | | return (v0) -> { |
| | | return v0.getCode(); |
| | | }; |
| | | } |
| | | break; |
| | | } |
| | | throw new IllegalArgumentException("Invalid lambda deserialization"); |
| | | } |
| | | |
| | | public MaterialStorageServiceImpl(final IWarehouseStationService warehouseStationService, final IMaterialService materialService, final OssBuilder ossBuilder) { |
| | | this.warehouseStationService = warehouseStationService; |
| | |
| | | List<Long> materialIds = vo.getMaterialIds(); |
| | | Long warehouseStationId = vo.getWarehouseStationId(); |
| | | if (Func.isNotEmpty(materialIds)) { |
| | | List<MaterialStorage> storages = (List) materialIds.stream().map(c -> { |
| | | List<MaterialStorage> storages = materialIds.stream().map(c -> { |
| | | return convert(c, warehouseStationId); |
| | | }).collect(Collectors.toList()); |
| | | saveBatch(storages); |
| | |
| | | Map<String, Material> materialMap = new HashMap<>(rawData.size()); |
| | | getMaterialStorage(rawData, warehouseStationMap, materialMap); |
| | | List<MaterialStorage> materialStorageList = list(); |
| | | Set<Long> materialIds = (Set) materialStorageList.stream().map((v0) -> { |
| | | Set<Long> materialIds = materialStorageList.stream().map((v0) -> { |
| | | return v0.getMaterialId(); |
| | | }).collect(Collectors.toSet()); |
| | | List<MaterialStorageImport> failExcel = Lists.newArrayList(); |
| | |
| | | } |
| | | |
| | | private void getMaterialStorage(List<MaterialStorageImport> rawData, Map<String, WarehouseStation> warehouseStationMap, Map<String, Material> materialMap) { |
| | | Wrapper lambdaQuery = Wrappers.lambdaQuery(); |
| | | //Wrapper lambdaQuery = Wrappers.lambdaQuery(); |
| | | LambdaQueryWrapper<WarehouseStation> warehouseQuery = Wrappers.lambdaQuery(); |
| | | |
| | | boolean flag1 = false; |
| | | boolean flag2 = false; |
| | | Wrapper lambdaQuery2 = Wrappers.lambdaQuery(); |
| | | // MaterialStorage t; |
| | | //t.getWarehouseStationId() |
| | | //Wrapper lambdaQuery2 = Wrappers.lambdaQuery(); |
| | | LambdaQueryWrapper<Material> materialQuery = Wrappers.lambdaQuery(); |
| | | for (MaterialStorageImport data : rawData) { |
| | | if (requiredLocation(data)) { |
| | | if (flag1) { |
| | | lambdaQuery.or(); |
| | | warehouseQuery.or(); |
| | | } |
| | | flag1 = true; |
| | | lambdaQuery.nested(i -> { |
| | | warehouseQuery.nested(i -> i.eq(WarehouseStation::getWarehouseCode, data.getLocationCode())); |
| | | /* |
| | | warehouseQuery.nested(i -> { |
| | | LambdaQueryWrapper lambdaQueryWrapper = (LambdaQueryWrapper) i.eq((v0) -> { |
| | | return v0.getWarehouseCode(); |
| | | }, data.getLocationCode()); |
| | | }); |
| | | });*/ |
| | | } |
| | | if (requiredMaterial(data)) { |
| | | if (flag2) { |
| | | lambdaQuery2.or(); |
| | | materialQuery.or(); |
| | | } |
| | | flag2 = true; |
| | | lambdaQuery2.nested(i2 -> { |
| | | LambdaQueryWrapper lambdaQueryWrapper = (LambdaQueryWrapper) i2.eq((v0) -> { |
| | | materialQuery.nested(i -> i.eq(Material::getCode, data.getMaterialCode())); |
| | | /* |
| | | materialQuery.nested(i2 -> { |
| | | LambdaQueryWrapper lambdaQueryWrapper = i2.eq((v0) -> { |
| | | return v0.getCode(); |
| | | }, data.getMaterialCode()); |
| | | }); |
| | | });*/ |
| | | } |
| | | } |
| | | String sqlSegment1 = lambdaQuery.getSqlSegment(); |
| | | String sqlSegment1 = warehouseQuery.getSqlSegment(); |
| | | if (Func.isNotBlank(sqlSegment1)) { |
| | | List<WarehouseStation> warehouseStations = this.warehouseStationService.list(lambdaQuery); |
| | | List<WarehouseStation> warehouseStations = this.warehouseStationService.list(warehouseQuery); |
| | | if (Func.isNotEmpty(warehouseStations)) { |
| | | Map<String, WarehouseStation> map1 = (Map) warehouseStations.stream().collect(Collectors.toMap((v0) -> { |
| | | return v0.getWarehouseCode(); |
| | |
| | | warehouseStationMap.putAll(map1); |
| | | } |
| | | } |
| | | String sqlSegment2 = lambdaQuery2.getSqlSegment(); |
| | | String sqlSegment2 = materialQuery.getSqlSegment(); |
| | | if (Func.isNotBlank(sqlSegment2)) { |
| | | List<Material> materials = this.materialService.list(lambdaQuery2); |
| | | List<Material> materials = this.materialService.list(materialQuery); |
| | | if (Func.isNotEmpty(materials)) { |
| | | Map<String, Material> map2 = (Map) materials.stream().collect(Collectors.toMap((v0) -> { |
| | | return v0.getCode(); |
| | | }, v2 -> { |
| | | return v2; |
| | | })); |
| | | Map<String, Material> map2 = materials.stream().collect(Collectors.toMap(Material::getCode, v -> v)); |
| | | materialMap.putAll(map2); |
| | | } |
| | | } |