diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java index aeb148d8e9..6c292909d2 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java @@ -17,11 +17,11 @@ package com.epmet.dto.screen; -import java.io.Serializable; -import java.util.Date; import lombok.Data; +import java.io.Serializable; import java.math.BigDecimal; +import java.util.Date; /** * 中央区-项目数据 @@ -54,6 +54,11 @@ public class ScreenProjectDataDTO implements Serializable { */ private String orgId; + /** + * 来源:议题issue,组织agency + */ + private String origin; + /** * 上级组织Id */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java index e48dc81ab3..dabacfd7da 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java @@ -22,97 +22,97 @@ import java.util.Set; public interface UserDao { /** - * @Description 查询注册用户的总量与增量 * @param * @return + * @Description 查询注册用户的总量与增量 * @author wangc * @date 2020.06.18 18:50 - **/ - CommonTotalAndIncCountResultDTO selectResiTotalAndIncrByLevel(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set gridIds, @Param("targetDate")Date targetDate); + **/ + CommonTotalAndIncCountResultDTO selectResiTotalAndIncrByLevel(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set gridIds, @Param("targetDate") Date targetDate); /** - * @Description 查询党员的总量与增量 * @param * @return + * @Description 查询党员的总量与增量 * @author wangc * @date 2020.06.18 18:50 **/ CommonTotalAndIncCountResultDTO selectPartyTotalAndIncr(@Param("userIds") List userIds, @Param("incrUserIds") List incrUserIds, @Param("targetDate") Date targetDate); /** - * @Description 查询热心居民的总量与增量 * @param * @return + * @Description 查询热心居民的总量与增量 * @author wangc * @date 2020.06.18 18:50 **/ CommonTotalAndIncCountResultDTO selectWarmTotalAndIncr(@Param("userIds") List userIds, @Param("incrUserIds") List incrUserIds, @Param("gridIds") Set gridIds, @Param("targetDate") Date targetDate); /** - * @Description 查询指定网格范围下单位时间内新增的注册用户Id * @param * @return + * @Description 查询指定网格范围下单位时间内新增的注册用户Id * @author wangc * @date 2020.06.18 18:50 **/ List selectIncrUserIds(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set gridIds, @Param("targetDate") Date targetDate); /** - * @Description 查询指定网格范围下截至指定位时间累计的注册用户Id * @param * @return + * @Description 查询指定网格范围下截至指定位时间累计的注册用户Id * @author wangc * @date 2020.06.18 18:50 **/ List selectTotalUserIds(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set gridIds, @Param("targetDate") Date targetDate); /** - * @Description 查询指定时间范围内网格新增的注册/参与用户Id * @param * @return + * @Description 查询指定时间范围内网格新增的注册/参与用户Id * @author wangc * @date 2020.06.18 18:50 **/ - List selectIncrUserIdsWithinTimeRange(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set gridIds, @Param("startDate")Date startDate,@Param("endDate")Date endDate); + List selectIncrUserIdsWithinTimeRange(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set gridIds, @Param("startDate") Date startDate, @Param("endDate") Date endDate); /** - * @Description 查询指定时间范围内注册/参与用户增量 * @param * @return + * @Description 查询指定时间范围内注册/参与用户增量 * @author wangc * @date 2020.06.18 18:50 **/ - Integer selectResiIncrWithinTimeRange(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set gridIds, @Param("startDate")Date startDate,@Param("endDate")Date endDate); + Integer selectResiIncrWithinTimeRange(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set gridIds, @Param("startDate") Date startDate, @Param("endDate") Date endDate); /** - * @Description 查询指定时间范围内党员的增量 * @param * @return + * @Description 查询指定时间范围内党员的增量 * @author wangc * @date 2020.06.18 18:50 **/ - Integer selectPartyIncrWithinTimeRange(@Param("incrUserIds")List incrUserIds,@Param("startDate")Date startDate,@Param("endDate")Date endDate); + Integer selectPartyIncrWithinTimeRange(@Param("incrUserIds") List incrUserIds, @Param("startDate") Date startDate, @Param("endDate") Date endDate); /** - * @Description 查询指定时间范围内热心居民的增量 * @param * @return + * @Description 查询指定时间范围内热心居民的增量 * @author wangc * @date 2020.06.18 18:50 **/ - Integer selectWarmIncrWithinTimeRange(@Param("incrUserIds")List incrUserIds,@Param("gridIds") Set gridIds,@Param("startDate")Date startDate,@Param("endDate")Date endDate); + Integer selectWarmIncrWithinTimeRange(@Param("incrUserIds") List incrUserIds, @Param("gridIds") Set gridIds, @Param("startDate") Date startDate, @Param("endDate") Date endDate); /** - * @Description 查询用户是不是党员 * @param userIds + * @Description 查询用户是不是党员 * @author zxc * @date 2020/9/15 4:23 下午 */ List selectUserIsParty(@Param("userIds") List userIds); - List selectPartymembersByCustomerId(@Param("customerId")String customerId); + List selectPartymembersByCustomerId(@Param("customerId") String customerId); - List selectWarmHeartedByCustomerId(@Param("customerId")String customerId); + List selectWarmHeartedByCustomerId(@Param("customerId") String customerId); /** * @param customerId @@ -125,22 +125,22 @@ public interface UserDao { List selectGridRegUserIds(@Param("customerId") String customerId, @Param("gridId") String gridId); /** - * @Description 获取客户下的网格注册居民 * @param customerId * @return + * @Description 获取客户下的网格注册居民 * @author wangc * @date 2020.09.25 13:54 **/ List selectRegisteredUserByCustomerId(@Param("customerId") String customerId); /** - * @Description 获取大屏项目相关信息 联系人 - * @param list + * @param userIdList * @return java.util.List + * @Description 获取大屏项目相关信息 联系人 * @author wangc * @date 2021.03.08 17:16 */ - List selectScreenProjectData(@Param("list") List list); + List selectScreenProjectData(@Param("list") List userIdList); /** * 根据工作员用户id, 返回这些人当中多少个网格员 @@ -148,6 +148,16 @@ public interface UserDao { * @param staffIds * @return int */ - int selectGridManagerTotal(@Param("customerId")String customerId,@Param("staffIds")List staffIds); + int selectGridManagerTotal(@Param("customerId") String customerId, @Param("staffIds") List staffIds); + + /** + * desc: 根据Id获取工作人员 昵称及手机号 + * + * @param staffUserIdList + * @return java.util.List + * @author LiuJanJun + * @date 2021/6/8 5:21 下午 + */ + List selectStaffInfo(@Param("list") List staffUserIdList); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/project/ProjectEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/project/ProjectEntity.java index 15c533efc3..7a59cbb9ce 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/project/ProjectEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/project/ProjectEntity.java @@ -46,7 +46,7 @@ public class ProjectEntity extends BaseEpmetEntity { private String agencyId; /** - * 来源:议题issue + * 来源:议题issue,组织agency */ private String origin; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java index a92f1169c6..afd8256f26 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java @@ -1,5 +1,6 @@ package com.epmet.service.evaluationindex.extract.toscreen.impl; +import com.epmet.constant.ProjectConstant; import com.epmet.dto.screen.ScreenProjectDataDTO; import com.epmet.dto.screen.ScreenProjectImgDataDTO; import com.epmet.dto.screen.ScreenProjectProcessAttachmentDTO; @@ -81,11 +82,19 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic nature.getId())).map(projectInfo -> { meta.setProjectCreateTime(projectInfo.getCreatedTime()); meta.setProjectTitle(projectInfo.getTitle()); + meta.setOrigin(projectInfo.getOrigin()); + //直接立项的话 项目内容是项目背景 + if (ProjectConstant.PROJECT_ORIGIN_AGENCY.equals(projectInfo.getOrigin())){ + meta.setProjectContent(projectInfo.getBackGround()); + meta.setLinkName(projectInfo.getCreatedBy()); + } return meta; })).collect(Collectors.toList()); } + //设置项目经纬度和项目内容 topicService.fillScreenProjectData(metaData); //metaData = Optional.ofNullable(topicService.getScreenProjectData(metaData)).orElse(metaData); + //设置联系人及电话 userService.fillScreenProjectData(metaData); //metaData = Optional.ofNullable(userService.getScreenProjectData(metaData)).orElse(metaData); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java index b7cab26df1..ebc01ebdb3 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java @@ -84,7 +84,7 @@ public interface UserService { * @author wangc * @date 2021.03.08 17:16 */ - List fillScreenProjectData(List list); + void fillScreenProjectData(List list); /** * 返回每个组织或者每个网格下的网格员数量 diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java index fc40a2e5fd..a7f1d594c4 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java @@ -4,6 +4,7 @@ import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.constant.DataSourceConstant; import com.epmet.constant.ExtractConstant; +import com.epmet.constant.ProjectConstant; import com.epmet.dao.user.UserDao; import com.epmet.dto.AgencySubTreeDto; import com.epmet.dto.extract.form.GridHeartedFormDTO; @@ -744,16 +745,38 @@ public class UserServiceImpl implements UserService { * @date 2021.03.08 17:16 */ @Override - public List fillScreenProjectData(List list) { - List collection = userDao.selectScreenProjectData(list); - if(!CollectionUtils.isEmpty(collection)){ - list = list.stream().flatMap(target -> collection.stream().filter(res -> StringUtils.equals(target.getLinkName(),res.getTopicId())) + public void fillScreenProjectData(List list) { + List topicUserIdList = list.stream().filter(o -> ProjectConstant.PROJECT_ORIGIN_ISSUE.equals(o.getOrigin())) + .map(ScreenProjectDataDTO::getLinkName).distinct().collect(Collectors.toList()); + if (CollectionUtils.isEmpty(topicUserIdList)){ + return; + } + List collection = userDao.selectScreenProjectData(topicUserIdList); + Map topicUserMap = collection.stream().collect(Collectors.toMap(ScreenProjectDataDTO::getTopicId,o->o,(o1,o2)->o1)); + /* if(!CollectionUtils.isEmpty(collection)){ + list.stream().flatMap(target -> collection.stream().filter(res -> StringUtils.equals(target.getLinkName(),res.getTopicId())) .map(merge -> { target.setLinkName(merge.getLinkName()); target.setLinkMobile(merge.getLinkMobile()); - return target;})).collect(Collectors.toList()); + return target;})); + }*/ + List staffUserIdList = list.stream().filter(o -> ProjectConstant.PROJECT_ORIGIN_AGENCY.equals(o.getOrigin())) + .map(ScreenProjectDataDTO::getLinkName).distinct().collect(Collectors.toList()); + if (CollectionUtils.isEmpty(topicUserIdList)){ + return; } - return collection; + List staffList = userDao.selectStaffInfo(staffUserIdList); + Map collect = staffList.stream().collect(Collectors.toMap(ScreenProjectDataDTO::getId,o->o,(o1,o2)->o1)); + list.forEach(project->{ + ScreenProjectDataDTO userDTO = collect.get(project.getLinkName()); + if (userDTO == null){ + userDTO = topicUserMap.get(project.getLinkName()); + } + if (userDTO != null){ + project.setLinkName(userDTO.getLinkName()); + project.setLinkMobile(userDTO.getLinkMobile()); + } + }); } /** diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml index 51db8980fc..acb6c9feb3 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml @@ -528,8 +528,8 @@ user_base_info WHERE del_flag = '0' - - user_id = #{project.linkName} + + user_id = #{userId} @@ -550,11 +550,24 @@ WHERE m.DEL_FLAG = '0' AND m.CUSTOMER_ID = #{customerId} - AND m.ROLE_KEY = 'grid_manager' + AND m.ROLE_KEY = 'grid_member' ) AND sr.STAFF_ID in #{staffId} +