|
@ -24,6 +24,7 @@ import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
import com.epmet.commons.tools.constant.StrConstant; |
|
|
import com.epmet.commons.tools.constant.StrConstant; |
|
|
|
|
|
import com.epmet.commons.tools.enums.PartyOrgTypeEnum; |
|
|
import com.epmet.commons.tools.exception.EpmetErrorCode; |
|
|
import com.epmet.commons.tools.exception.EpmetErrorCode; |
|
|
import com.epmet.commons.tools.exception.EpmetException; |
|
|
import com.epmet.commons.tools.exception.EpmetException; |
|
|
import com.epmet.commons.tools.exception.RenException; |
|
|
import com.epmet.commons.tools.exception.RenException; |
|
@ -44,6 +45,7 @@ import com.epmet.entity.CustomerAgencyEntity; |
|
|
import com.epmet.entity.CustomerDepartmentEntity; |
|
|
import com.epmet.entity.CustomerDepartmentEntity; |
|
|
import com.epmet.entity.CustomerGridEntity; |
|
|
import com.epmet.entity.CustomerGridEntity; |
|
|
import com.epmet.entity.CustomerOrgParameterEntity; |
|
|
import com.epmet.entity.CustomerOrgParameterEntity; |
|
|
|
|
|
import com.epmet.enums.OrgLevelEnums; |
|
|
import com.epmet.feign.EpmetCommonServiceOpenFeignClient; |
|
|
import com.epmet.feign.EpmetCommonServiceOpenFeignClient; |
|
|
import com.epmet.feign.EpmetUserFeignClient; |
|
|
import com.epmet.feign.EpmetUserFeignClient; |
|
|
import com.epmet.feign.EpmetUserOpenFeignClient; |
|
|
import com.epmet.feign.EpmetUserOpenFeignClient; |
|
@ -1442,4 +1444,75 @@ public class CustomerAgencyServiceImpl extends BaseServiceImpl<CustomerAgencyDao |
|
|
return result; |
|
|
return result; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public Result<List<PartyOrgTreeResultDTO>> getOrgTreeByUserAndType(OrgTreeByUserAndTypeFormDTO formDto) { |
|
|
|
|
|
List<String> orgTypeList = new ArrayList<>(); |
|
|
|
|
|
//根据组织类型筛选,例如本账号所属市北区,但只筛选市北区下面的的街道组织
|
|
|
|
|
|
if(PartyOrgTypeEnum.PROVINCIAL.getCode().equals(formDto.getOrgType())){ |
|
|
|
|
|
//省委
|
|
|
|
|
|
CollectionUtils.addAll(orgTypeList, |
|
|
|
|
|
OrgLevelEnums.PROVINCE.getLevel(), |
|
|
|
|
|
OrgLevelEnums.CITY.getLevel(), |
|
|
|
|
|
OrgLevelEnums.DISTRICT.getLevel(), |
|
|
|
|
|
OrgLevelEnums.STREET.getLevel(), |
|
|
|
|
|
OrgLevelEnums.COMMUNITY.getLevel(), |
|
|
|
|
|
OrgLevelEnums.GRID.getLevel()); |
|
|
|
|
|
}else if(PartyOrgTypeEnum.MUNICIPAL.getCode().equals(formDto.getOrgType())){ |
|
|
|
|
|
//市委
|
|
|
|
|
|
CollectionUtils.addAll(orgTypeList, |
|
|
|
|
|
OrgLevelEnums.CITY.getLevel(), |
|
|
|
|
|
OrgLevelEnums.DISTRICT.getLevel(), |
|
|
|
|
|
OrgLevelEnums.STREET.getLevel(), |
|
|
|
|
|
OrgLevelEnums.COMMUNITY.getLevel(), |
|
|
|
|
|
OrgLevelEnums.GRID.getLevel()); |
|
|
|
|
|
}else if(PartyOrgTypeEnum.DISTRICT.getCode().equals(formDto.getOrgType())){ |
|
|
|
|
|
//区委
|
|
|
|
|
|
CollectionUtils.addAll(orgTypeList, |
|
|
|
|
|
OrgLevelEnums.DISTRICT.getLevel(), |
|
|
|
|
|
OrgLevelEnums.STREET.getLevel(), |
|
|
|
|
|
OrgLevelEnums.COMMUNITY.getLevel(), |
|
|
|
|
|
OrgLevelEnums.GRID.getLevel()); |
|
|
|
|
|
}else if(PartyOrgTypeEnum.WORKING.getCode().equals(formDto.getOrgType())){ |
|
|
|
|
|
//党工委-街道
|
|
|
|
|
|
CollectionUtils.addAll(orgTypeList, |
|
|
|
|
|
OrgLevelEnums.STREET.getLevel(), |
|
|
|
|
|
OrgLevelEnums.COMMUNITY.getLevel(), |
|
|
|
|
|
OrgLevelEnums.GRID.getLevel()); |
|
|
|
|
|
}else if(PartyOrgTypeEnum.PARTY.getCode().equals(formDto.getOrgType())){ |
|
|
|
|
|
//党委-社区
|
|
|
|
|
|
CollectionUtils.addAll(orgTypeList, |
|
|
|
|
|
OrgLevelEnums.COMMUNITY.getLevel(), |
|
|
|
|
|
OrgLevelEnums.GRID.getLevel()); |
|
|
|
|
|
} |
|
|
|
|
|
formDto.setOrgTypeList(orgTypeList); |
|
|
|
|
|
|
|
|
|
|
|
List<PartyOrgTreeResultDTO> list = baseDao.getOrgTreeByUserAndType(formDto); |
|
|
|
|
|
return new Result<List<PartyOrgTreeResultDTO>>().ok(build(list)); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
* 构建树节点 |
|
|
|
|
|
*/ |
|
|
|
|
|
public static List<PartyOrgTreeResultDTO> build(List<PartyOrgTreeResultDTO> treeNodes) { |
|
|
|
|
|
List<PartyOrgTreeResultDTO> result = new ArrayList<>(); |
|
|
|
|
|
|
|
|
|
|
|
//list转map
|
|
|
|
|
|
Map<String, PartyOrgTreeResultDTO> nodeMap = new LinkedHashMap<>(treeNodes.size()); |
|
|
|
|
|
for(PartyOrgTreeResultDTO treeNode : treeNodes){ |
|
|
|
|
|
nodeMap.put(treeNode.getId(), treeNode); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
for(PartyOrgTreeResultDTO node : nodeMap.values()) { |
|
|
|
|
|
PartyOrgTreeResultDTO parent = nodeMap.get(node.getPid()); |
|
|
|
|
|
if(parent != null && !(node.getId().equals(parent.getId()))){ |
|
|
|
|
|
parent.getChildren().add(node); |
|
|
|
|
|
continue; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
result.add(node); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return result; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|