|
@@ -6,21 +6,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.metro.entity.po.Company;
|
|
|
import com.metro.entity.ro.company.SelectCompanyPageReq;
|
|
|
import com.metro.entity.ro.company.SelectCompanyPageResp;
|
|
|
-import com.metro.entity.vo.BranchVO;
|
|
|
-import com.metro.entity.vo.CompanyVO;
|
|
|
-import com.metro.entity.vo.JPersonVO;
|
|
|
+import com.metro.entity.vo.*;
|
|
|
import com.metro.mapper.CompanysMapper;
|
|
|
import com.metro.service.CompanyService;
|
|
|
import com.metro.service.JPersonsService;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Set;
|
|
|
+import java.util.*;
|
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -107,4 +103,59 @@ public class CompanyServiceImpl implements CompanyService {
|
|
|
Set<String> barnchSet = list.stream().map(function).collect(Collectors.toSet());
|
|
|
return this.getByBranchSet(barnchSet);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<CompanyCompanyVO> getAll() {
|
|
|
+ /*1.获取所有的派出所*/
|
|
|
+ List<CompanyVO> companyList = companysMapper.getCompanyList();
|
|
|
+ /*2.获取派出所对应的站点*/
|
|
|
+ LambdaQueryWrapper<Company> companyLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ companyLambdaQueryWrapper.in(Company::getCompanyId,companyList.stream().map(CompanyVO::getCompanyId).collect(Collectors.toList()));
|
|
|
+ List<Company> companys = companysMapper.selectList(companyLambdaQueryWrapper);
|
|
|
+ Map<String,List<CompanyBranchVO>> map = this.getCompanyBranchVO(companys);
|
|
|
+ List<CompanyCompanyVO> list = new ArrayList<>();
|
|
|
+ for (CompanyVO companyVO : companyList) {
|
|
|
+ CompanyCompanyVO companyCompanyVO = new CompanyCompanyVO();
|
|
|
+ companyCompanyVO.setId(companyVO.getCompanyId());
|
|
|
+ companyCompanyVO.setName(companyVO.getCompanyName());
|
|
|
+ companyCompanyVO.setLevel(1);
|
|
|
+ BeanUtils.copyProperties(companyVO,companyCompanyVO);
|
|
|
+ if (map.containsKey(companyVO.getCompanyId())){
|
|
|
+ companyCompanyVO.setList(map.get(companyVO.getCompanyId()));
|
|
|
+ }
|
|
|
+ list.add(companyCompanyVO);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ private Map<String, List<CompanyBranchVO>> getCompanyBranchVO(List<Company> companys) {
|
|
|
+ Map<String, List<CompanyBranchVO>> map = new HashMap<>();
|
|
|
+ for (Company company : companys) {
|
|
|
+ boolean b = map.containsKey(company.getCompanyId());
|
|
|
+ if(b){
|
|
|
+ if(StringUtils.isNotEmpty(company.getBranchId()) && StringUtils.isNotEmpty(company.getBranchName())){
|
|
|
+ List<CompanyBranchVO> list = map.get(company.getCompanyId());
|
|
|
+ CompanyBranchVO companyBranchVO = new CompanyBranchVO();
|
|
|
+ companyBranchVO.setId(company.getBranchId());
|
|
|
+ companyBranchVO.setName(company.getBranchName());
|
|
|
+ companyBranchVO.setLevel(2);
|
|
|
+ list.add(companyBranchVO);
|
|
|
+ map.put(company.getCompanyId(),list);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ if(StringUtils.isNotEmpty(company.getBranchId()) && StringUtils.isNotEmpty(company.getBranchName())){
|
|
|
+ List<CompanyBranchVO> list = new ArrayList<>();
|
|
|
+ CompanyBranchVO companyBranchVO = new CompanyBranchVO();
|
|
|
+ companyBranchVO.setId(company.getBranchId());
|
|
|
+ companyBranchVO.setName(company.getBranchName());
|
|
|
+ companyBranchVO.setLevel(2);
|
|
|
+ list.add(companyBranchVO);
|
|
|
+ map.put(company.getCompanyId(),list);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }
|
|
|
}
|