diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyGroupResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyGroupResultDTO.java index 144368c26e..8b0f229204 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyGroupResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyGroupResultDTO.java @@ -19,6 +19,10 @@ public class SubAgencyGroupResultDTO implements Serializable { private String agencyId; //组织名称 private String agencyName; + //机关级别[社区级:community;乡(镇、街道)级:street;区县级: district;市级: city;省级:province + private String level; + //行政地区编码 + private String areaCode; //党群小组总数 private Integer groupTotal = 0; //楼院小组总数 diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyIssueResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyIssueResultDTO.java index 5bece9dab4..a13f9d158b 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyIssueResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyIssueResultDTO.java @@ -19,6 +19,10 @@ public class SubAgencyIssueResultDTO implements Serializable { private String agencyId; //组织名称 private String agencyName; + //机关级别[社区级:community;乡(镇、街道)级:street;区县级: district;市级: city;省级:province + private String level; + //行政地区编码 + private String areaCode; //议题总数 private Integer issueTotal = 0; //表决中总数 diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyProjectResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyProjectResultDTO.java index 33aa889ad4..63b0c512ca 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyProjectResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyProjectResultDTO.java @@ -19,6 +19,10 @@ public class SubAgencyProjectResultDTO implements Serializable { private String agencyId; //组织名称 private String agencyName; + //机关级别[社区级:community;乡(镇、街道)级:street;区县级: district;市级: city;省级:province + private String level; + //行政地区编码 + private String areaCode; //项目总数 private Integer projectTotal = 0; //处理中总数 diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyTopicResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyTopicResultDTO.java index bad0896389..3712128526 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyTopicResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyTopicResultDTO.java @@ -19,6 +19,10 @@ public class SubAgencyTopicResultDTO implements Serializable { private String agencyId; //组织名称 private String agencyName; + //机关级别[社区级:community;乡(镇、街道)级:street;区县级: district;市级: city;省级:province + private String level; + //行政地区编码 + private String areaCode; //话题总数 private Integer topicTotal = 0; //热议中总数 diff --git a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyUserResultDTO.java b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyUserResultDTO.java index a60c3ad76b..d1cc92cd8f 100644 --- a/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyUserResultDTO.java +++ b/epmet-module/data-aggregator/data-aggregator-client/src/main/java/com/epmet/dataaggre/dto/datastats/result/SubAgencyUserResultDTO.java @@ -19,6 +19,10 @@ public class SubAgencyUserResultDTO implements Serializable { private String agencyId; //组织名称 private String agencyName; + //机关级别[社区级:community;乡(镇、街道)级:street;区县级: district;市级: city;省级:province + private String level; + //行政地区编码 + private String areaCode; //用户总数 private Integer userTotal = 0; //党员总数 diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercrm/CustomerRelationDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercrm/CustomerRelationDao.java index ed7aef852a..4cca334ea8 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercrm/CustomerRelationDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/opercrm/CustomerRelationDao.java @@ -13,4 +13,13 @@ import java.util.List; @Mapper public interface CustomerRelationDao { List selectUsedAreaCodeList(String areaCode); + + /** + * 根据customerId查询其所有下级子客户id + * @author zhaoqifeng + * @date 2021/6/29 11:04 + * @param customerId + * @return java.util.List + */ + List selectAllSubCustomerIds(String customerId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java index a753c7f00a..48bd39d76f 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java @@ -302,6 +302,8 @@ public class DataStatsServiceImpl implements DataStatsService { SubAgencyUserResultDTO dto = new SubAgencyUserResultDTO(); dto.setAgencyId(sub.getAgencyId()); dto.setAgencyName(sub.getAgencyName()); + dto.setLevel(null == sub.getLevel() ? "" : sub.getLevel()); + dto.setAreaCode(null == sub.getAreaCode() ? "" : sub.getAreaCode()); for (SubAgencyUserResultDTO u : list) { if (sub.getAgencyId().equals(u.getAgencyId())) { dto.setUserTotal(u.getUserTotal()); @@ -438,6 +440,8 @@ public class DataStatsServiceImpl implements DataStatsService { SubAgencyGroupResultDTO dto = new SubAgencyGroupResultDTO(); dto.setAgencyId(sub.getAgencyId()); dto.setAgencyName(sub.getAgencyName()); + dto.setLevel(null == sub.getLevel() ? "" : sub.getLevel()); + dto.setAreaCode(null == sub.getAreaCode() ? "" : sub.getAreaCode()); for (SubAgencyGroupResultDTO u : list) { if (sub.getAgencyId().equals(u.getAgencyId())) { dto.setGroupTotal(u.getGroupTotal()); @@ -597,6 +601,8 @@ public class DataStatsServiceImpl implements DataStatsService { resultDTO.setAgencyId(sub.getAgencyId()); resultDTO.setAgencyName(sub.getAgencyName()); + resultDTO.setLevel(null == sub.getLevel() ? "" : sub.getLevel()); + resultDTO.setAreaCode(null == sub.getAreaCode() ? "" : sub.getAreaCode()); resultDTO.setTopicTotal(topicTotal.get()); resultDTO.setDiscussingTotal(hotdiscussTotal.get()); resultDTO.setDiscussingRatio(resultDTO.getDiscussingTotal() == 0 || resultDTO.getTopicTotal() == 0 ? BigDecimal.ZERO : new BigDecimal(numberFormat.format((float) resultDTO.getDiscussingTotal() / (float) resultDTO.getTopicTotal()))); @@ -758,6 +764,8 @@ public class DataStatsServiceImpl implements DataStatsService { SubAgencyIssueResultDTO dto = new SubAgencyIssueResultDTO(); dto.setAgencyId(sub.getAgencyId()); dto.setAgencyName(sub.getAgencyName()); + dto.setLevel(null == sub.getLevel() ? "" : sub.getLevel()); + dto.setAreaCode(null == sub.getAreaCode() ? "" : sub.getAreaCode()); for (SubAgencyIssueResultDTO u : list) { if (sub.getAgencyId().equals(u.getAgencyId())) { dto.setIssueTotal(u.getIssueTotal()); @@ -898,6 +906,8 @@ public class DataStatsServiceImpl implements DataStatsService { SubAgencyProjectResultDTO dto = new SubAgencyProjectResultDTO(); dto.setAgencyId(sub.getAgencyId()); dto.setAgencyName(sub.getAgencyName()); + dto.setLevel(null == sub.getLevel() ? "" : sub.getLevel()); + dto.setAreaCode(null == sub.getAreaCode() ? "" : sub.getAreaCode()); for (SubAgencyProjectResultDTO u : list) { if (sub.getAgencyId().equals(u.getAgencyId())) { dto.setProjectTotal(u.getProjectTotal()); diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/CustomerRelation.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/CustomerRelation.java index af0dc94e88..c53ce0348e 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/CustomerRelation.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/CustomerRelation.java @@ -10,4 +10,13 @@ import java.util.List; */ public interface CustomerRelation { List selectUsedAreaCodeList(String areaCode); + + /** + * 是否有子客户 + * @author zhaoqifeng + * @date 2021/6/29 11:06 + * @param customerId + * @return boolean + */ + boolean haveSubCustomer(String customerId); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/impl/CustomerRelationImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/impl/CustomerRelationImpl.java index 045232e1a7..13dd247d1b 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/impl/CustomerRelationImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/opercrm/impl/CustomerRelationImpl.java @@ -5,6 +5,7 @@ import com.epmet.dataaggre.constant.DataSourceConstant; import com.epmet.dataaggre.dao.opercrm.CustomerRelationDao; import com.epmet.dataaggre.service.opercrm.CustomerRelation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -27,4 +28,18 @@ public class CustomerRelationImpl implements CustomerRelation { public List selectUsedAreaCodeList(String areaCode) { return customerRelationDao.selectUsedAreaCodeList(areaCode); } + + /** + * 是否有子客户 + * + * @param customerId + * @return boolean + * @author zhaoqifeng + * @date 2021/6/29 11:06 + */ + @Override + public boolean haveSubCustomer(String customerId) { + List list = customerRelationDao.selectAllSubCustomerIds(customerId); + return CollectionUtils.isNotEmpty(list); + } } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercrm/CustomerRelationDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercrm/CustomerRelationDao.xml index 169a44070f..439efdb207 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercrm/CustomerRelationDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/opercrm/CustomerRelationDao.xml @@ -14,4 +14,13 @@ AND cr.AREA_CODE LIKE concat(#{areaCode}, '%') AND cr.AREA_CODE != #{areaCode} + \ No newline at end of file diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectNextAgencyResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectNextAgencyResultDTO.java index 19a92f93bd..9aaf0b6050 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectNextAgencyResultDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/project/dto/result/ProjectNextAgencyResultDTO.java @@ -1,5 +1,6 @@ package com.epmet.project.dto.result; +import com.epmet.commons.tools.constant.StrConstant; import lombok.Data; import java.io.Serializable; @@ -29,5 +30,15 @@ public class ProjectNextAgencyResultDTO implements Serializable { * */ private String orgType; + /** + * orgId对应的areaCode。 只有当前客户有子客户时,才会返回指,否则返回null或者空字符串 + * */ private String areaCode; + + public ProjectNextAgencyResultDTO(){ + this.orgId= StrConstant.EPMETY_STR; + this.orgName= StrConstant.EPMETY_STR; + this.orgType= StrConstant.EPMETY_STR; + this.areaCode= StrConstant.EPMETY_STR; + } } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java index 6e06b3cc3a..0f00b17bb8 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java @@ -483,7 +483,10 @@ public class ProjectServiceImpl implements ProjectService { nextAgency.setOrgId(agencyDTO.getAgencyId()); nextAgency.setOrgName(agencyDTO.getAgencyName()); nextAgency.setOrgType("agency"); - nextAgency.setAreaCode(agencyDTO.getAreaCode()); + if (crmRes.success() && CollectionUtils.isNotEmpty(crmRes.getData())) { + //只有当前客户存在子客户时,才返回areaCode + nextAgency.setAreaCode(agencyDTO.getAreaCode()); + } resultList.add(nextAgency); }); } @@ -502,7 +505,10 @@ public class ProjectServiceImpl implements ProjectService { grid.setOrgId(gridDTO.getGridId()); grid.setOrgName(gridDTO.getGridName()); grid.setOrgType("grid"); - grid.setAreaCode(gridDTO.getAreaCode()); + if (crmRes.success() && CollectionUtils.isNotEmpty(crmRes.getData())) { + //只有当前客户存在子客户时,才返回areaCode + grid.setAreaCode(gridDTO.getAreaCode()); + } resultList.add(grid); }); }