From 6765787baa5e0b771d71f865c4deb776367410c4 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 13 八月 2024 13:38:19 +0800 Subject: [PATCH] 修复bug --- server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java | 33 +++++++++++++++++++++++---------- 1 files changed, 23 insertions(+), 10 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java index 84656aa..19b9e48 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java +++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.doumee.biz.system.SystemDictDataBiz; +import com.doumee.config.DataSyncConfig; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; @@ -56,6 +57,8 @@ @Autowired private CompanyMapper companyMapper; + @Autowired + private DataSyncConfig dataSyncConfig; @Autowired private SystemDictDataBiz systemDictDataBiz; @@ -441,24 +444,29 @@ @Override public List<CompanyDTO> findCompanyTreePage(Integer type) { //閰嶇疆缁勫憳浜哄憳绫诲瀷鏉ユ簮鏂瑰紡 0鑷缓 1ERP - String origin = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ORG_USER_ORIGIN).getCode(); LambdaQueryWrapper<Company> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(Company::getIsdeleted,Constants.ZERO) .eq(Constants.equalsInteger(type,Constants.ONE),Company::getType,type); List<Company> companies = companyMapper.selectList(wrapper); - return getCompanyTree( companies, null,origin); + return getCompanyTree( companies, null); } - private List<CompanyDTO> getCompanyTree(List<Company> companies, String parentId,String origin){ + private List<CompanyDTO> getCompanyTree(List<Company> companies, String parentId){ if (CollectionUtils.isEmpty(companies)){ return null; } - List<Company> collect = companies.stream() - .filter(s -> (StringUtils.equals(origin, Constants.ONE+"")?StringUtils.equals(s.getErpParentId(), parentId):StringUtils.equals(s.getParentId()+"", parentId))) - .collect(Collectors.toList()); - if (CollectionUtils.isEmpty(companies)){ + int origin =Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin()); + List<Company> collect = null; + if(origin == DataSyncConfig.origin.erp){ + collect= companies.stream().filter(s -> ( StringUtils.defaultString(s.getErpParentId(),"").equals(StringUtils.defaultString(parentId)))).collect(Collectors.toList()); + }else if(origin == DataSyncConfig.origin.hk){ + collect= companies.stream().filter(s -> ( StringUtils.defaultString(s.getHkParentId(),"").equals(StringUtils.defaultString(parentId)))).collect(Collectors.toList()); + }else{ + collect= companies.stream().filter(s -> (StringUtils.defaultString(s.getParentId()+"","").equals(StringUtils.defaultString(parentId)))).collect(Collectors.toList()); + } + if (CollectionUtils.isEmpty(collect)){ return null; } List<CompanyDTO> companyDTOList = new ArrayList<>(); @@ -466,7 +474,13 @@ Company company = collect.get(i); CompanyDTO companyDTO = new CompanyDTO(); BeanUtils.copyProperties(company,companyDTO); - companyDTO.setCompanyDTOList(getCompanyTree(companies,StringUtils.equals(origin, Constants.ONE+"")?company.getErpId(): company.getId()+"",origin)); + String pId = company.getId()+""; + if(origin == 1){ + pId = company.getErpId(); + }else if(origin == 2){ + pId = company.getHkParentId(); + } + companyDTO.setCompanyDTOList(getCompanyTree(companies,pId)); companyDTOList.add(companyDTO); } return companyDTOList; @@ -510,8 +524,7 @@ queryWrapper.eq(Company::getType,type); List<Company> companyList = companyJoinMapper.selectJoinList(Company.class,queryWrapper); //閰嶇疆缁勫憳浜哄憳绫诲瀷鏉ユ簮鏂瑰紡 0鑷缓 1ERP - String origin = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.ORG_USER_ORIGIN).getCode(); - CompanyTree treeBuild = new CompanyTree(companyList,Integer.valueOf(origin)); + CompanyTree treeBuild = new CompanyTree(companyList, dataSyncConfig.getOrgUserDataOrigin()); companyList = treeBuild.buildTree(); return companyList; } -- Gitblit v1.9.3