diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/ScreenConstant.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/ScreenConstant.java new file mode 100644 index 0000000000..e7bb0e3dc3 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/ScreenConstant.java @@ -0,0 +1,17 @@ +package com.epmet.constant; + +/** + * @Author zxc + * @DateTime 2020/9/22 2:19 下午 + */ +public interface ScreenConstant { + + String COMMUNITY = "community"; + + String LEVEL = "level"; + + String STR_NULL = ""; + + String ENGLISH_COMMA = ","; + +} diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/TreeResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/TreeResultDTO.java new file mode 100644 index 0000000000..9a40652c09 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/TreeResultDTO.java @@ -0,0 +1,33 @@ +package com.epmet.dto.screen.result; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import lombok.Data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2020/9/22 2:00 下午 + */ +@Data +public class TreeResultDTO implements Serializable { + + private static final long serialVersionUID = 3860368744336541373L; + + /** + * 显示名称 + */ + private String agencyId; + + /** + * agencyId下拉框value + */ + private String pid; + + private String pids; + + private String level; +} + diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java index 04e5a0027d..8c8f910d37 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java @@ -18,6 +18,7 @@ package com.epmet.dao.evaluationindex.screen; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.screen.result.TreeResultDTO; import com.epmet.dto.screencoll.form.CustomerAgencyFormDTO; import com.epmet.entity.evaluationindex.screen.ScreenCustomerAgencyEntity; import org.apache.ibatis.annotations.Mapper; @@ -102,4 +103,20 @@ public interface ScreenCustomerAgencyDao extends BaseDao selectSubAgencyList(@Param("pids") String pids); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenCustomerGridDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenCustomerGridDao.java index c6aac179af..335548ac8a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenCustomerGridDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenCustomerGridDao.java @@ -114,4 +114,12 @@ public interface ScreenCustomerGridDao extends BaseDao * @Date 16:57 2020-09-03 **/ List selectListGridInfo(@Param("customerId")String customerId); + + /** + * @Description 根据agencyId查询网格ID + * @param agencyId + * @author zxc + * @date 2020/9/22 2:16 下午 + */ + List selectGridIdByAgencyId(@Param("agencyId")String agencyId); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/PartyBaseInfoService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/PartyBaseInfoService.java new file mode 100644 index 0000000000..91656440bf --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/PartyBaseInfoService.java @@ -0,0 +1,19 @@ +package com.epmet.service.evaluationindex.extract.toscreen; + +/** + * @Desciption 党员基本情况 + * @Author zxc + * @DateTime 2020/9/22 11:14 上午 + */ +public interface PartyBaseInfoService { + + /** + * @Description 统计基层党建-党员基本情况 + * @param customerId + * @param dateId + * @author zxc + * @date 2020/9/22 1:22 下午 + */ + Boolean statsPartyMemberBaseInfoToScreen(String customerId,String dateId); + +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PartyBaseInfoServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PartyBaseInfoServiceImpl.java new file mode 100644 index 0000000000..5fd0dca453 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/PartyBaseInfoServiceImpl.java @@ -0,0 +1,29 @@ +package com.epmet.service.evaluationindex.extract.toscreen.impl; + +import com.epmet.service.evaluationindex.extract.toscreen.PartyBaseInfoService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * @Desciption 党员基本情况 + * @Author zxc + * @DateTime 2020/9/22 11:15 上午 + */ +@Service +@Slf4j +public class PartyBaseInfoServiceImpl implements PartyBaseInfoService { + + + + /** + * @Description 统计基层党建-党员基本情况 + * @param customerId + * @param dateId + * @author zxc + * @date 2020/9/22 1:22 下午 + */ + @Override + public Boolean statsPartyMemberBaseInfoToScreen(String customerId, String dateId) { + return null; + } +} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenCustomerAgencyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenCustomerAgencyService.java index 438eb66c38..afce93ccad 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenCustomerAgencyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenCustomerAgencyService.java @@ -17,9 +17,7 @@ package com.epmet.service.evaluationindex.screen; - -import com.epmet.commons.mybatis.service.BaseService; -import com.epmet.entity.evaluationindex.screen.ScreenCustomerAgencyEntity; +import java.util.Map; /** * 组织机构信息 @@ -27,5 +25,17 @@ import com.epmet.entity.evaluationindex.screen.ScreenCustomerAgencyEntity; * @author generator generator@elink-cn.com * @since v1.0.0 2020-09-22 */ -public interface ScreenCustomerAgencyService extends BaseService { +public interface ScreenCustomerAgencyService{ + + /** + * @Description 根据agencyId,查询所有子级agencyId,【当机关的级别为 community时,所有子级为gridId】 + * @param agencyId + * @param customerId + * map.put('机关的级别(level)','community/street/district/city/province') + * map.put('agencyId','List 所有子级agencyId') + * @author zxc + * @date 2020/9/22 1:39 下午 + */ + Map selectAllSubAgencyId(String agencyId, String customerId); + } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerAgencyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerAgencyServiceImpl.java index a5d0a6bece..379f57306a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerAgencyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenCustomerAgencyServiceImpl.java @@ -17,11 +17,21 @@ package com.epmet.service.evaluationindex.screen.impl; -import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.NumConstant; import com.epmet.dao.evaluationindex.screen.ScreenCustomerAgencyDao; -import com.epmet.entity.evaluationindex.screen.ScreenCustomerAgencyEntity; +import com.epmet.dao.evaluationindex.screen.ScreenCustomerGridDao; +import com.epmet.dto.screen.result.TreeResultDTO; +import com.epmet.constant.ScreenConstant; import com.epmet.service.evaluationindex.screen.ScreenCustomerAgencyService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * 组织机构信息 @@ -30,6 +40,50 @@ import org.springframework.stereotype.Service; * @since v1.0.0 2020-09-22 */ @Service -public class ScreenCustomerAgencyServiceImpl extends BaseServiceImpl implements ScreenCustomerAgencyService { +@Slf4j +public class ScreenCustomerAgencyServiceImpl implements ScreenCustomerAgencyService { + + @Autowired + private ScreenCustomerAgencyDao screenCustomerAgencyDao; + @Autowired + private ScreenCustomerGridDao screenCustomerGridDao; + + /** + * @Description 根据agencyId,查询所有子级agencyId,【当机关的级别为 community时,所有子级为gridId】 + * @param agencyId + * @param customerId + * map.put('机关的级别(level)','community/street/district/city/province') + * map.put('agencyId','List 所有子级agencyId') + * @author zxc + * @date 2020/9/22 1:39 下午 + */ + @Override + public Map selectAllSubAgencyId(String agencyId, String customerId) { + Map resultMap = new HashMap<>(16); + TreeResultDTO rootAgency = screenCustomerAgencyDao.selectRootAgencyId(customerId,agencyId); + if (null == rootAgency){ + return new HashMap<>(16); + } + if (rootAgency.getLevel().equals(ScreenConstant.COMMUNITY)){ + List gridIdList = screenCustomerGridDao.selectGridIdByAgencyId(agencyId); + resultMap.put(ScreenConstant.LEVEL,ScreenConstant.COMMUNITY); + resultMap.put(agencyId,gridIdList); + }else { + resultMap.put(ScreenConstant.LEVEL,rootAgency.getLevel()); + resultMap.put(agencyId,getDepartmentList((ScreenConstant.STR_NULL.equals(rootAgency.getPids())||rootAgency.getPids().equals(NumConstant.ZERO_STR)) ? rootAgency.getAgencyId() : rootAgency.getPids().concat(ScreenConstant.ENGLISH_COMMA).concat(rootAgency.getAgencyId()))); + } + return resultMap; + } + private List getDepartmentList(String subAgencyPids) { + List result = new ArrayList<>(); + List subAgencyList = screenCustomerAgencyDao.selectSubAgencyList(subAgencyPids); + if (!CollectionUtils.isEmpty(subAgencyList)) { + subAgencyList.forEach(sub -> { + List subAgency = getDepartmentList(sub.getPids() + "," + sub.getAgencyId()); + result.addAll(subAgency); + }); + } + return result; + } } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenCustomerAgencyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenCustomerAgencyDao.xml index 49ce41b17c..3fc77c4d7e 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenCustomerAgencyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenCustomerAgencyDao.xml @@ -133,4 +133,33 @@ select count(*) from screen_customer_agency where DEL_FLAG = '0' and CUSTOMER_ID = #{customerId} + + + + + + diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenCustomerGridDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenCustomerGridDao.xml index 92486a3f10..f4695debc1 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenCustomerGridDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenCustomerGridDao.xml @@ -133,4 +133,16 @@ DEL_FLAG = '0' AND CUSTOMER_ID =#{customerId} + + +