diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/constant/ScreenConstant.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/constant/ScreenConstant.java new file mode 100644 index 0000000000..fcbbfd7b35 --- /dev/null +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/constant/ScreenConstant.java @@ -0,0 +1,11 @@ +package com.epmet.screen.constant; + +/** + * @Author zxc + * @DateTime 2020/8/18 5:02 下午 + */ +public interface ScreenConstant { + + String COMMUNITY = "community"; + +} diff --git a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/CompartmentResultDTO.java b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/CompartmentResultDTO.java index 2e55aaae56..aa55fe420e 100644 --- a/epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/CompartmentResultDTO.java +++ b/epmet-module/data-report/data-report-client/src/main/java/com/epmet/screen/dto/result/CompartmentResultDTO.java @@ -1,5 +1,6 @@ package com.epmet.screen.dto.result; +import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Data; import java.io.Serializable; @@ -29,8 +30,19 @@ public class CompartmentResultDTO implements Serializable { */ private String areaMarks; + /** + * 机关级别 + * 社区级:community, + * 乡(镇、街道)级:street, + * 区县级: district, + * 市级: city + * 省级:province + */ + @JsonIgnore + private String level; + /** * 子级用户分布 */ - private List userDistribution; + private List agencyDistribution; } diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenCustomerAgencyDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenCustomerAgencyDao.java index 26bc852633..dc08b40c34 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenCustomerAgencyDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenCustomerAgencyDao.java @@ -17,6 +17,8 @@ package com.epmet.datareport.dao.screen; +import com.epmet.screen.dto.result.AgencyDistributionResultDTO; +import com.epmet.screen.dto.result.CompartmentResultDTO; import com.epmet.screen.dto.result.TreeResultDTO; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -40,6 +42,28 @@ public interface ScreenCustomerAgencyDao { */ TreeResultDTO selectRootAgencyId(@Param("customerId")String customerId); + /** + * @Description 查询下级机关的 名称和id + * @param subAgencyPids + * @author zxc + * @date 2020/8/18 4:48 下午 + */ List selectSubAgencyList(@Param("subAgencyPids") String subAgencyPids); + /** + * @Description 查询当前机关的区域信息 + * @param agencyId + * @author zxc + * @date 2020/8/18 4:51 下午 + */ + CompartmentResultDTO getAgencyAreaInfo(@Param("agencyId")String agencyId); + + /** + * @Description 查询子级区域分布信息【机关级别】 + * @param agencyId + * @author zxc + * @date 2020/8/18 5:12 下午 + */ + List selectSubDistribution(@Param("agencyId")String agencyId); + } \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenCustomerGridDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenCustomerGridDao.java index 92489cffc5..5f33641d71 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenCustomerGridDao.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/screen/ScreenCustomerGridDao.java @@ -17,7 +17,11 @@ package com.epmet.datareport.dao.screen; +import com.epmet.screen.dto.result.AgencyDistributionResultDTO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 网格信息 @@ -27,5 +31,13 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ScreenCustomerGridDao { + + /** + * @Description 查询子级区域分布信息【网格级别】 + * @param agencyId + * @author zxc + * @date 2020/8/18 5:12 下午 + */ + List selectSubDistribution(@Param("agencyId")String agencyId); } \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/impl/AgencyServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/impl/AgencyServiceImpl.java index 922b15000d..65682d4441 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/impl/AgencyServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/screen/impl/AgencyServiceImpl.java @@ -1,10 +1,11 @@ package com.epmet.datareport.service.screen.impl; import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.datareport.dao.screen.ScreenCustomerAgencyDao; -import com.epmet.feign.GovOrgOpenFeignClient; +import com.epmet.datareport.dao.screen.ScreenCustomerGridDao; import com.epmet.screen.dto.form.CompartmentFormDTO; +import com.epmet.screen.dto.result.AgencyDistributionResultDTO; +import com.epmet.screen.constant.*; import com.epmet.screen.dto.result.CompartmentResultDTO; import com.epmet.screen.dto.result.TreeResultDTO; import com.epmet.datareport.service.screen.AgencyService; @@ -22,10 +23,10 @@ import java.util.List; @Service public class AgencyServiceImpl implements AgencyService { - @Autowired - private GovOrgOpenFeignClient govOrgOpenFeignClient; @Autowired private ScreenCustomerAgencyDao screenCustomerAgencyDao; + @Autowired + private ScreenCustomerGridDao screenCustomerGridDao; /** * @Description 1、组织机构树 @@ -47,6 +48,12 @@ public class AgencyServiceImpl implements AgencyService { return rootAgency; } + /** + * @Description 递归查询填充下级 + * @param subAgencyPids + * @author zxc + * @date 2020/8/18 4:42 下午 + */ private List getDepartmentList(String subAgencyPids) { List subAgencyList = screenCustomerAgencyDao.selectSubAgencyList(subAgencyPids); if (subAgencyList.size() > NumConstant.ZERO) { @@ -66,6 +73,15 @@ public class AgencyServiceImpl implements AgencyService { */ @Override public CompartmentResultDTO compartment(CompartmentFormDTO compartmentFormDTO) { - return null; + CompartmentResultDTO agencyAreaInfo = screenCustomerAgencyDao.getAgencyAreaInfo(compartmentFormDTO.getAgencyId()); + if (agencyAreaInfo.getLevel().equals(ScreenConstant.COMMUNITY)){ + // 当level为"community"时,查询screen_customer_grid表 + List agencyDistributionResultDTOS = screenCustomerGridDao.selectSubDistribution(compartmentFormDTO.getAgencyId()); + agencyAreaInfo.setAgencyDistribution(agencyDistributionResultDTOS); + }else { + List agencyDistributionResultDTOS = screenCustomerAgencyDao.selectSubDistribution(compartmentFormDTO.getAgencyId()); + agencyAreaInfo.setAgencyDistribution(agencyDistributionResultDTOS); + } + return agencyAreaInfo; } } diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml index fd9095fc7d..b92fc4e8c6 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml @@ -17,6 +17,7 @@ AND customer_id = #{customerId} + + + + + + + \ No newline at end of file diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerGridDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerGridDao.xml index 5a1a10b48d..df1a2fbe44 100644 --- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerGridDao.xml +++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerGridDao.xml @@ -3,6 +3,18 @@ - - + + \ No newline at end of file