diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java index 478e7d4376..e1fa6b1456 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java @@ -18,7 +18,8 @@ public enum DictTypeEnum { GENDER("gender", "性别", 8), USER_DEMAND_STATUS("user_demand_status", "居民需求状态",8), USER_DEMAND_REPORT_TYPE("user_demand_report_type","居民需求上报类型",9), - USER_DEMAND_SERVICE_TYPE("user_demand_service_type","居民需求服务方类型",10) + USER_DEMAND_SERVICE_TYPE("user_demand_service_type","居民需求服务方类型",10), + AGE_GROUP("age_group", "年龄范围", 11), ; private final String code; diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java index 336c60f7be..10aa4239a9 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcPartyUnitServiceImpl.java @@ -415,7 +415,15 @@ public class IcPartyUnitServiceImpl extends BaseServiceImpl distribution(PartyActivityFormDTO formDTO) { - return baseDao.getDistribution(formDTO.getAgencyId()); + Result> unitTypeMap = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.PARTY_UNIT_TYPE.getCode()); + List list = baseDao.getDistribution(formDTO.getAgencyId()); + if (CollectionUtils.isEmpty(list)) { + return Collections.emptyList(); + } + list.forEach(item -> { + item.setType(unitTypeMap.getData().get(item.getType())); + }); + return list; } private String getServiceMatter(Map map, String matter) { diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PartyMemberListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PartyMemberListFormDTO.java new file mode 100644 index 0000000000..a6ffad6477 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PartyMemberListFormDTO.java @@ -0,0 +1,24 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/12/10 15:49 + */ +@Data +public class PartyMemberListFormDTO implements Serializable { + + private static final long serialVersionUID = -6085134769034337175L; + @NotBlank(message = "组织类型不能为空") + private String orgType; + @NotBlank(message = "组织ID不能为空") + private String orgId; + private String code; + private Integer pageNo = 1; + private Integer pageSize = 20; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PartyMemberStatisticsFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PartyMemberStatisticsFormDTO.java new file mode 100644 index 0000000000..a5bb86915f --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/PartyMemberStatisticsFormDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/12/10 15:46 + */ +@Data +public class PartyMemberStatisticsFormDTO implements Serializable { + private static final long serialVersionUID = 1027174449735636944L; + @NotBlank(message = "组织类型不能为空") + private String orgType; + @NotBlank(message = "组织ID不能为空") + private String orgId; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PartyMemberAgeResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PartyMemberAgeResultDTO.java new file mode 100644 index 0000000000..85b0ced524 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PartyMemberAgeResultDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/12/10 17:05 + */ +@Data +public class PartyMemberAgeResultDTO implements Serializable { + private static final long serialVersionUID = 3421162784157903637L; + private String userId; + private String name; + private String age; + private String mobile; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PartyMemberEducationResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PartyMemberEducationResultDTO.java new file mode 100644 index 0000000000..421d0139a3 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/PartyMemberEducationResultDTO.java @@ -0,0 +1,19 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2021/12/10 17:07 + */ +@Data +public class PartyMemberEducationResultDTO implements Serializable { + private static final long serialVersionUID = -5042362121277863249L; + private String userId; + private String name; + private String education; + private String mobile; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index 5c76d8e578..aa88bf73ab 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -27,6 +27,7 @@ import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; +import com.epmet.commons.tools.dto.result.OptionDataResultDTO; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; @@ -505,4 +506,56 @@ public class IcResiUserController { ValidatorUtils.validateEntity(formDTO, DemandUserFormDTO.InternalGroup.class); return new Result>().ok(icResiUserService.queryDemandUsers(formDTO)); } + + /** + * 党员年龄范围统计 + * @Param formDTO + * @Return {@link Result< List< OptionDataResultDTO >>} + * @Author zhaoqifeng + * @Date 2021/12/10 15:52 + */ + @PostMapping("partymemberagestatistics") + public Result> partyMemberAgeStatistics(@RequestBody PartyMemberStatisticsFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result>().ok(icResiUserService.partyMemberAgeStatistics(formDTO)); + } + + /** + * 党员年龄列表 + * @Param formDTO + * @Return {@link Result< PageData< PartyMemberEducationResultDTO>>} + * @Author zhaoqifeng + * @Date 2021/12/10 17:54 + */ + @PostMapping("partymemberagelist") + public Result> partyMemberAgelist(@RequestBody PartyMemberListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result>().ok(icResiUserService.getPartyMemberAgeList(formDTO)); + } + + /** + * 党员学历统计 + * @Param formDTO + * @Return {@link Result< List< OptionDataResultDTO>>} + * @Author zhaoqifeng + * @Date 2021/12/10 17:58 + */ + @PostMapping("partymembereducationstatistics") + public Result> partyMemberEducationStatistics(@RequestBody PartyMemberStatisticsFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result>().ok(icResiUserService.partyMemberEducationStatistics(formDTO)); + } + + /** + * 党员学历列表 + * @Param formDTO + * @Return {@link Result< PageData< PartyMemberEducationResultDTO>>} + * @Author zhaoqifeng + * @Date 2021/12/10 17:58 + */ + @PostMapping("partymembereducationlist") + public Result> partyMemberEducationlist(@RequestBody PartyMemberListFormDTO formDTO) { + ValidatorUtils.validateEntity(formDTO); + return new Result>().ok(icResiUserService.getPartyMemberEducationList(formDTO)); + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index 09f467f6bf..c3f1da8654 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.commons.tools.dto.result.OptionDataResultDTO; import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.form.ResiUserQueryValueDTO; import com.epmet.dto.result.*; @@ -179,4 +180,50 @@ public interface IcResiUserDao extends BaseDao { * @return */ List selectListFamilyMember(@Param("currentIcResiUserId") String currentIcResiUserId, @Param("homeId") String homeId); + + /** + * 组织内党员年龄范围统计 + * @Param orgType + * @Param orgId + * @Return {@link List< OptionDataResultDTO>} + * @Author zhaoqifeng + * @Date 2021/12/10 17:11 + */ + List getPartyMemberAgeStatistics(@Param("orgType") String orgType, @Param("orgId") String orgId); + + /** + * 获取年龄范围内党员列表 + * @Param orgType + * @Param orgId + * @Param min + * @Param max + * @Return {@link List< PartyMemberAgeResultDTO>} + * @Author zhaoqifeng + * @Date 2021/12/10 17:11 + */ + List getPartyMemberAgeList(@Param("orgType") String orgType, @Param("orgId") String orgId, + @Param("code") String code); + + + /** + * 党员文化程度统计 + * @Param orgType + * @Param orgId + * @Return {@link List< OptionDataResultDTO>} + * @Author zhaoqifeng + * @Date 2021/12/10 17:29 + */ + List getPartyMemberEducationStatistics(@Param("orgType") String orgType, @Param("orgId") String orgId); + + /** + * 按教育程度获取党员列表 + * @Param orgType + * @Param orgId + * @Param code + * @Return {@link List< PartyMemberAgeResultDTO>} + * @Author zhaoqifeng + * @Date 2021/12/10 17:24 + */ + List getPartyMemberEducationList(@Param("orgType") String orgType, @Param("orgId") String orgId, + @Param("code") String code); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index 450ee74c70..db5ad290cf 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -18,6 +18,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.dto.result.OptionDataResultDTO; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.IcResiUserDTO; @@ -153,4 +154,40 @@ public interface IcResiUserService extends BaseService { IcResiUserDTO getByIdCard(String customerId, String idNum,String icResiUserId); IcResiUserBriefDTO findFamilyMem(String icResiUserId); + + /** + * 党员年龄范围统计 + * @Param formDTO + * @Return {@link List< OptionDataResultDTO >} + * @Author zhaoqifeng + * @Date 2021/12/10 15:54 + */ + List partyMemberAgeStatistics(PartyMemberStatisticsFormDTO formDTO); + + /** + * 获取年龄范围内党员列表 + * @Param formDTO + * @Return {@link PageData< PartyMemberAgeResultDTO>} + * @Author zhaoqifeng + * @Date 2021/12/10 17:40 + */ + PageData getPartyMemberAgeList(PartyMemberListFormDTO formDTO); + + /** + * 党员文化程度统计 + * @Param formDTO + * @Return {@link List< OptionDataResultDTO>} + * @Author zhaoqifeng + * @Date 2021/12/10 17:40 + */ + List partyMemberEducationStatistics(PartyMemberStatisticsFormDTO formDTO); + + /** + * 按教育程度获取党员列表 + * @Param formDTO + * @Return {@link PageData< PartyMemberEducationResultDTO>} + * @Author zhaoqifeng + * @Date 2021/12/10 17:40 + */ + PageData getPartyMemberEducationList(PartyMemberListFormDTO formDTO); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index d045c08f3d..0a697f0093 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -25,11 +25,11 @@ import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.StrConstant; +import com.epmet.commons.tools.dto.form.DictListFormDTO; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; -import com.epmet.commons.tools.enums.FormItemTypeEnum; -import com.epmet.commons.tools.enums.GenderEnum; -import com.epmet.commons.tools.enums.HouseTypeEnum; -import com.epmet.commons.tools.enums.RelationshipEnum; +import com.epmet.commons.tools.dto.result.DictListResultDTO; +import com.epmet.commons.tools.dto.result.OptionDataResultDTO; +import com.epmet.commons.tools.enums.*; import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; @@ -54,10 +54,7 @@ import com.epmet.dto.form.demand.UserDemandNameQueryFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.IcResiUserEntity; import com.epmet.excel.support.ExportResiUserItemDTO; -import com.epmet.feign.EpmetHeartOpenFeignClient; -import com.epmet.feign.EpmetMessageOpenFeignClient; -import com.epmet.feign.GovOrgOpenFeignClient; -import com.epmet.feign.OperCustomizeOpenFeignClient; +import com.epmet.feign.*; import com.epmet.service.IcResiUserService; import com.epmet.service.UserService; import com.github.pagehelper.Page; @@ -102,6 +99,8 @@ public class IcResiUserServiceImpl extends BaseServiceImpl getWrapper(Map params){ String id = (String)params.get(FieldConstant.ID_HUMP); @@ -883,4 +882,106 @@ public class IcResiUserServiceImpl extends BaseServiceImpl} + * @Author zhaoqifeng + * @Date 2021/12/10 15:54 + */ + @Override + public List partyMemberAgeStatistics(PartyMemberStatisticsFormDTO formDTO) { + //获取年龄范围字典 + DictListFormDTO dictFormDTO = new DictListFormDTO(); + dictFormDTO.setDictType(DictTypeEnum.AGE_GROUP.getCode()); + Result> dictResult = epmetAdminOpenFeignClient.dictList(dictFormDTO); + Map map = new HashMap<>(); + //统计组织下各年龄范围人数 + List list = baseDao.getPartyMemberAgeStatistics(formDTO.getOrgType(), formDTO.getOrgId()); + if (CollectionUtils.isNotEmpty(list)) { + map = list.stream().collect(Collectors.toMap(OptionDataResultDTO::getCode, OptionDataResultDTO::getValue)); + } + Map finalMap = map; + return dictResult.getData().stream().map(item -> { + OptionDataResultDTO dto = new OptionDataResultDTO(); + dto.setCode(item.getValue()); + dto.setLabel(item.getLabel()); + dto.setValue(null == finalMap.get(item.getValue())?NumConstant.ZERO_STR:finalMap.get(item.getValue())); + return dto; + }).collect(Collectors.toList()); + } + + /** + * 获取年龄范围内党员列表 + * + * @param formDTO + * @Param formDTO + * @Return {@link List< PartyMemberAgeResultDTO>} + * @Author zhaoqifeng + * @Date 2021/12/10 17:40 + */ + @Override + public PageData getPartyMemberAgeList(PartyMemberListFormDTO formDTO) { + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + List list = baseDao.getPartyMemberAgeList(formDTO.getOrgType(), formDTO.getOrgId(), formDTO.getCode()); + PageInfo pageInfo = new PageInfo<>(list); + return new PageData<>(list, pageInfo.getTotal()); + } + + /** + * 党员文化程度统计 + * + * @param formDTO + * @Param formDTO + * @Return {@link List< OptionDataResultDTO>} + * @Author zhaoqifeng + * @Date 2021/12/10 17:40 + */ + @Override + public List partyMemberEducationStatistics(PartyMemberStatisticsFormDTO formDTO) { + //获取文化程度字典 + DictListFormDTO dictFormDTO = new DictListFormDTO(); + dictFormDTO.setDictType(DictTypeEnum.EDUCATION.getCode()); + Result> dictResult = epmetAdminOpenFeignClient.dictList(dictFormDTO); + Map map = new HashMap<>(); + //统计组织下文化程度党员人数 + List list = baseDao.getPartyMemberEducationStatistics(formDTO.getOrgType(), formDTO.getOrgId()); + if (CollectionUtils.isNotEmpty(list)) { + map = list.stream().collect(Collectors.toMap(OptionDataResultDTO::getCode, OptionDataResultDTO::getValue)); + } + Map finalMap = map; + return dictResult.getData().stream().map(item -> { + OptionDataResultDTO dto = new OptionDataResultDTO(); + dto.setCode(item.getValue()); + dto.setLabel(item.getLabel()); + dto.setValue(null == finalMap.get(item.getValue())?NumConstant.ZERO_STR:finalMap.get(item.getValue())); + return dto; + }).collect(Collectors.toList()); + } + + /** + * 按教育程度获取党员列表 + * + * @param formDTO + * @Param formDTO + * @Return {@link List< PartyMemberEducationResultDTO>} + * @Author zhaoqifeng + * @Date 2021/12/10 17:40 + */ + @Override + public PageData getPartyMemberEducationList(PartyMemberListFormDTO formDTO) { + PageHelper.startPage(formDTO.getPageNo(), formDTO.getPageSize()); + List list = baseDao.getPartyMemberEducationList(formDTO.getOrgType(), formDTO.getOrgId(), formDTO.getCode()); + Result> mapResult = epmetAdminOpenFeignClient.dictMap(DictTypeEnum.EDUCATION.getCode()); + PageInfo pageInfo = new PageInfo<>(list); + if (CollectionUtils.isNotEmpty(list)) { + list.forEach(item -> { + item.setEducation(null == mapResult.getData().get(item.getEducation()) ? "" : mapResult.getData().get(item.getEducation())); + }); + } + return new PageData<>(list, pageInfo.getTotal()); + } } diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 8414cf5e4b..b10e6e259f 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -361,4 +361,132 @@ and m.HOME_ID=#{homeId} order by m.CREATED_TIME asc + + + + +