yangys
2024-03-28 25475f31cd0d52ff328bbea9e80f15647dedd80b
smart-man-boot/src/main/java/com/qianwen/smartman/modules/cps/service/impl/MaterialServiceImpl.java
@@ -63,136 +63,6 @@
    private final OssBuilder ossBuilder;
    private final ICodeGeneratorService codeGeneratorService;
    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 -75308287:
                if (implMethodName.equals("getName")) {
                    z = true;
                    break;
                }
                break;
            case 771206363:
                if (implMethodName.equals("getTenantId")) {
                    z = true;
                    break;
                }
                break;
            case 803533544:
                if (implMethodName.equals("getStatus")) {
                    z = true;
                    break;
                }
                break;
            case 837211371:
                if (implMethodName.equals("getTypeId")) {
                    z = true;
                    break;
                }
                break;
            case 961079513:
                if (implMethodName.equals("getIsDeleted")) {
                    z = false;
                    break;
                }
                break;
            case 1084758859:
                if (implMethodName.equals("getProperty")) {
                    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/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getIsDeleted();
                    };
                }
                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/Integer;")) {
                    return (v0) -> {
                        return v0.getProperty();
                    };
                }
                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.getName();
                    };
                }
                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/Integer;")) {
                    return (v0) -> {
                        return v0.getStatus();
                    };
                }
                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/Integer;")) {
                    return (v0) -> {
                        return v0.getStatus();
                    };
                }
                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/Integer;")) {
                    return (v0) -> {
                        return v0.getStatus();
                    };
                }
                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/tenant/mp/TenantEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getTenantId();
                    };
                }
                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/tenant/mp/TenantEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getTenantId();
                    };
                }
                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/tenant/mp/TenantEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getTenantId();
                    };
                }
                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/Material") && lambda.getImplMethodSignature().equals("()Ljava/lang/Long;")) {
                    return (v0) -> {
                        return v0.getTypeId();
                    };
                }
                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();
                    };
                }
                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();
                    };
                }
                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 MaterialServiceImpl(final IMaterialTypeService materialTypeService, final OssBuilder ossBuilder, final ICodeGeneratorService codeGeneratorService) {
        this.materialTypeService = materialTypeService;
@@ -203,16 +73,20 @@
    @Override // org.springblade.modules.cps.service.IMaterialService
    public List<MaterialVO> listByProperty(Integer property) {
        List<MaterialType> materialTypeList = this.materialTypeService.list();
        Map<Long, MaterialType> typeIdToValue = (Map) materialTypeList.stream().collect(Collectors.toMap((v0) -> {
        Map<Long, MaterialType> typeIdToValue = materialTypeList.stream().collect(Collectors.toMap((v0) -> {
            return v0.getId();
        }, v -> {
            return v;
        }));
        List<Material> materialList = list(Wrappers.<Material>lambdaQuery()
                .eq(Material::getProperty, property)
                .eq(Material::getStatus, CommonConstant.ENABLE));
        /*
        List<Material> materialList = list((Wrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().eq((v0) -> {
            return v0.getProperty();
        }, property)).eq((v0) -> {
            return v0.getStatus();
        }, CommonConstant.ENABLE));
        }, CommonConstant.ENABLE));*/
        List<MaterialVO> materialVoList = MaterialConvert.INSTANCE.convertList(materialList);
        materialVoList.forEach(materialVo -> {
            MaterialType materialType = (MaterialType) typeIdToValue.get(materialVo.getTypeId());
@@ -227,21 +101,35 @@
    @Override // org.springblade.modules.cps.service.IMaterialService
    public IPage<MaterialVO> getPageMaterial(MaterialQueryVO vo, Query query) {
        Integer status = Func.isNull(vo.getStatus()) ? CommonConstant.ENABLE : vo.getStatus();
        QueryWrapper<MaterialQueryVO> wrapper = Wrappers.<MaterialQueryVO>query().eq("bm.status", status)
              .eq(!Func.isNull(vo.getProperty()), "property", vo.getProperty())
              .eq(!Func.isNull(vo.getTypeId()), "bm.type_id", vo.getTypeId())
              .and(Func.isNotBlank(vo.getKeyWord()), i -> i.likeRight("bm.name", vo.getKeyWord()).or().likeRight("bm.code", vo.getKeyWord()))
              .orderByDesc("bm.create_time", new String[] { "bm.id" });
        /*
        Wrapper<MaterialQueryVO> wrapper = (QueryWrapper) ((QueryWrapper) Wrappers.query().eq("bm.status", status)).eq(!Func.isNull(vo.getProperty()), "property", vo.getProperty()).eq(!Func.isNull(vo.getTypeId()), "bm.type_id", vo.getTypeId()).and(Func.isNotBlank(vo.getKeyWord()), i -> {
            QueryWrapper queryWrapper = (QueryWrapper) ((QueryWrapper) ((QueryWrapper) i.likeRight("bm.name", vo.getKeyWord())).or()).likeRight("bm.code", vo.getKeyWord());
        }).orderByDesc("bm.create_time", new String[]{"bm.id"});
        */
        return this.baseMapper.getPageMaterial(Condition.getPage(query), Func.isNotBlank(wrapper.getSqlSegment()) ? wrapper : null);
    }
    @Override // org.springblade.modules.cps.service.IMaterialService
    public boolean checkMaterialIsExist(List<Long> idList) {
       List<Material> materialList = list(Wrappers.<Material>query().lambda()
               .eq(Func.isNotEmpty(AuthUtil.getTenantId()), Material::getTenantId, AuthUtil.getTenantId())
               .in(Material::getTypeId, idList)
               .eq(Material::getIsDeleted, 0));
       /*
        List<Material> materialList = list((Wrapper) ((LambdaQueryWrapper) Wrappers.query().lambda().eq(Func.isNotEmpty(AuthUtil.getTenantId()), (v0) -> {
            return v0.getTenantId();
        }, AuthUtil.getTenantId()).in((v0) -> {
            return v0.getTypeId();
        }, idList)).eq((v0) -> {
            return v0.getIsDeleted();
        }, 0));
        }, 0));*/
        return Func.isNotEmpty(materialList);
    }
@@ -264,23 +152,26 @@
    }
    private void checkCodeIsExist(String code) {
       Material material = getOne(Wrappers.<Material>query().lambda()
               .eq(Material::getStatus, CommonConstant.ENABLE)
               .eq(Func.isNotEmpty(AuthUtil.getTenantId()), Material::getTenantId, AuthUtil.getTenantId())
               .eq(Material::getCode, code));
       /*
        Material material = (Material) getOne((Wrapper) ((LambdaQueryWrapper) Wrappers.query().lambda().eq((v0) -> {
            return v0.getStatus();
        }, CommonConstant.ENABLE)).eq(Func.isNotEmpty(AuthUtil.getTenantId()), (v0) -> {
            return v0.getTenantId();
        }, AuthUtil.getTenantId()).eq((v0) -> {
            return v0.getCode();
        }, code));
        }, code));*/
        if (!Func.isNull(material)) {
            throw new ServiceException(MessageUtils.message("cps.material.code.already.exists", new Object[0]));
        }
        Material material2 = (Material) getOne((Wrapper) ((LambdaQueryWrapper) Wrappers.query().lambda().eq((v0) -> {
            return v0.getStatus();
        }, CommonConstant.DEACTIVATE)).eq(Func.isNotEmpty(AuthUtil.getTenantId()), (v0) -> {
            return v0.getTenantId();
        }, AuthUtil.getTenantId()).eq((v0) -> {
            return v0.getCode();
        }, code));
        Material material2 =  getOne(Wrappers.<Material>query().lambda()
                .eq(Material::getStatus, CommonConstant.DEACTIVATE)
                .eq(Func.isNotEmpty(AuthUtil.getTenantId()), Material::getTenantId, AuthUtil.getTenantId())
                .eq(Material::getCode, code));
        if (!Func.isNull(material2)) {
            throw new ServiceException(MessageUtils.message("cps.material.code.unable.already.exists", new Object[0]));
        }
@@ -301,7 +192,7 @@
    @Override // org.springblade.modules.cps.service.IMaterialService
    @Transactional(rollbackFor = {Exception.class})
    public boolean deleteMaterial(List<String> ids, Integer type) {
        List<Long> idList = (List) ids.stream().map(Long::valueOf).collect(Collectors.toList());
        List<Long> idList = ids.stream().map(Long::valueOf).collect(Collectors.toList());
        if (StatusType.REMOVE.getType().equals(type)) {
            return removeByIds(idList);
        }
@@ -313,14 +204,14 @@
        if (Func.isEmpty(data)) {
            throw new ServiceException(MessageUtils.message("excel.import.data.can.not.be.null", new Object[0]));
        }
        Map<String, MaterialType> materialTypeCodeEnable = (Map) this.materialTypeService.list().stream().filter(c -> {
        Map<String, MaterialType> materialTypeCodeEnable = this.materialTypeService.list().stream().filter(c -> {
            return CommonConstant.ENABLE.equals(c.getStatus());
        }).collect(Collectors.toMap((v0) -> {
            return v0.getCode();
        }, v -> {
            return v;
        }));
        Map<String, MaterialType> materialTypeCodeDisable = (Map) this.materialTypeService.list().stream().filter(c2 -> {
        Map<String, MaterialType> materialTypeCodeDisable = this.materialTypeService.list().stream().filter(c2 -> {
            return CommonConstant.DEACTIVATE.equals(c2.getStatus());
        }).collect(Collectors.toMap((v0) -> {
            return v0.getCode();
@@ -328,7 +219,7 @@
            return v2;
        }));
        List<Material> materialList = list();
        Map<String, String> dictValueToKey = (Map) DictCache.getList(DictEnum.MATERIAL_PROPERTY.getName()).stream().collect(Collectors.toMap((v0) -> {
        Map<String, String> dictValueToKey = DictCache.getList(DictEnum.MATERIAL_PROPERTY.getName()).stream().collect(Collectors.toMap((v0) -> {
            return v0.getDictValue();
        }, (v0) -> {
            return v0.getDictKey();
@@ -340,7 +231,7 @@
                flag = Boolean.FALSE.booleanValue();
            }
            if (!flag) {
                MultipartFile multipartFile = ExcelUtil.exportFillTemplateToMultipartFile(ExcelConstant.DIRECTORY + "materialFailTemplate" + ExcelConstant.SUFFIX, MessageUtils.message("excel.import.failed.report.name", new Object[0]) + ExcelConstant.SUFFIX, "物料信息表", (List) data.stream().filter(x -> {
                MultipartFile multipartFile = ExcelUtil.exportFillTemplateToMultipartFile(ExcelConstant.DIRECTORY + "materialFailTemplate" + ExcelConstant.SUFFIX, MessageUtils.message("excel.import.failed.report.name", new Object[0]) + ExcelConstant.SUFFIX, "物料信息表", data.stream().filter(x -> {
                    return Func.isNotEmpty(x.getFailReason());
                }).collect(Collectors.toList()), (Object) null, (AbstractMergeStrategy) null);
                return this.ossBuilder.tempTemplate().putFile(multipartFile.getOriginalFilename(), multipartFile);
@@ -373,7 +264,7 @@
    @Override // org.springblade.modules.cps.service.IMaterialService
    public List<MaterialVO> getMaterialListByIds(MaterialIdListVO materialIdListVO) {
        List<Material> materialList = listByIds(materialIdListVO.getIds());
        List<Long> typeIdList = (List) materialList.stream().map((v0) -> {
        List<Long> typeIdList = materialList.stream().map((v0) -> {
            return v0.getTypeId();
        }).distinct().collect(Collectors.toList());
        LinkedHashMap<Long, MaterialType> typeMap = new LinkedHashMap<>();
@@ -395,12 +286,17 @@
    @Override // org.springblade.modules.cps.service.IMaterialService
    @Transactional(rollbackFor = {Exception.class})
    public Boolean synchronizedMaterial(SynchronizedProductMaterialVO synchronizedProductMaterialVO) {
        List<String> nameList = (List) synchronizedProductMaterialVO.getProductList().stream().map(i -> {
        List<String> nameList = synchronizedProductMaterialVO.getProductList().stream().map(i -> {
            return i.getName();
        }).collect(Collectors.toList());
        List<String> codeList = (List) synchronizedProductMaterialVO.getProductList().stream().map(i2 -> {
        List<String> codeList = synchronizedProductMaterialVO.getProductList().stream().map(i2 -> {
            return i2.getCode();
        }).collect(Collectors.toList());
        List<Material> list = list(Wrappers.<Material>query().lambda()
              .and(i -> i.in(Material::getName, nameList))
                .or(i -> i.in(Material::getCode, codeList)));
        /*
        List<Material> list = list((Wrapper) ((LambdaQueryWrapper) Wrappers.query().lambda().and(i3 -> {
            LambdaQueryWrapper lambdaQueryWrapper = (LambdaQueryWrapper) i3.in((v0) -> {
                return v0.getName();
@@ -409,7 +305,7 @@
            LambdaQueryWrapper lambdaQueryWrapper = (LambdaQueryWrapper) i4.in((v0) -> {
                return v0.getCode();
            }, codeList);
        }));
        }));*/
        List<ProductVO> needAddList = new ArrayList<>();
        List<Long> deleteIdList = new ArrayList<>();
        list.forEach(m -> {
@@ -432,7 +328,7 @@
    }
    private Boolean insertProductMaterial(SynchronizedProductMaterialVO synchronizedProductMaterialVO) {
        List<Material> insertList = (List) synchronizedProductMaterialVO.getProductList().stream().map(i -> {
        List<Material> insertList = synchronizedProductMaterialVO.getProductList().stream().map(i -> {
            Material bean = new Material();
            bean.setName(i.getName());
            bean.setCode(i.getCode());