diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassrootsPartyDevServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassrootsPartyDevServiceImpl.java index 54b0b797be..3173e1269e 100644 --- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassrootsPartyDevServiceImpl.java +++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassrootsPartyDevServiceImpl.java @@ -164,7 +164,7 @@ public class GrassrootsPartyDevServiceImpl implements GrassrootsPartyDevService BranchBuildTrendResultDTO result = new BranchBuildTrendResultDTO(); //生成近十二个月的横坐标数组 Map monthMap = dateUtils.getXpro(); - result.setXAxis(monthMap.values().stream().collect(Collectors.toList())); + result.setXAxis(new ArrayList<>(monthMap.values())); List dataArray = new LinkedList<>(); List yearlyDataList = 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/todata/FactOriginProjectMainDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java index d9a4c12c93..0f55775b23 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java @@ -361,13 +361,11 @@ public interface FactOriginProjectMainDailyService extends BaseService * @author wangc * @date 2021.03.04 22:56 */ - List initNewScreenProjectData(String customerId,Integer rows ,String dateId,Integer exceedLimit,Integer about2exceedLimit); + List initNewScreenProjectData(String customerId,Integer rows ,String dateId); void computerIfExceed(List list,Integer exceedLimit,Integer about2exceedLimit); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java index 7347feb480..3e8b210781 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java @@ -20,7 +20,6 @@ package com.epmet.service.evaluationindex.extract.todata.impl; import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.Result; import com.epmet.constant.DataSourceConstant; import com.epmet.constant.OrgTypeConstant; @@ -470,19 +469,12 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl * @author wangc * @date 2021.03.04 22:56 */ @Override - public List initNewScreenProjectData(String customerId,Integer rows , String dateId,Integer exceedLimit,Integer about2exceedLimit) { - boolean ifBeforeYesterday = true; - int beforeDate = Integer.parseInt(DateUtils.getBeforeNDay(NumConstant.ONE)); - if(beforeDate > Integer.parseInt(dateId)){ - ifBeforeYesterday = false; - } + public List initNewScreenProjectData(String customerId,Integer rows , String dateId) { List projects = baseDao.initNewScreenProjectData(customerId, rows <= NumConstant.ZERO ? "" : dateId, dateId); projects.forEach(project -> { if (ProjectConstant.CLOSED_CASE.equals(project.getProjectStatusCode())) { 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 730c2e8f17..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,7 +1,6 @@ package com.epmet.service.evaluationindex.extract.toscreen.impl; -import com.epmet.commons.tools.constant.NumConstant; -import com.epmet.dto.project.result.ProjectExceedParamsResultDTO; +import com.epmet.constant.ProjectConstant; import com.epmet.dto.screen.ScreenProjectDataDTO; import com.epmet.dto.screen.ScreenProjectImgDataDTO; import com.epmet.dto.screen.ScreenProjectProcessAttachmentDTO; @@ -71,27 +70,9 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic public void extractScreenData(ScreenCentralZoneDataFormDTO param) { //screen_project_data表是否存在此客户数据 int rows = targetDbService.checkIfExisted(param.getCustomerId()); - //查找客户项目超期参数 - List exceedParams = projectService.getProjectExceedParams(param.getCustomerId()); - Integer exceedLimit = NumConstant.FIVE; - Integer about2ExceedLimit = NumConstant.FIVE; - - - if(!CollectionUtils.isEmpty(exceedParams)){ - for(ProjectExceedParamsResultDTO ex :exceedParams){ - if(null != ex.getDefaultExceedLimit()){ - exceedLimit = null == ex.getExceedLimit() ? ex.getDefaultExceedLimit() : ex.getExceedLimit(); - } - if(null != ex.getDefaultAbout2ExceedLimit()){ - about2ExceedLimit = null == ex.getAbout2ExceedLimit() ? ex.getDefaultAbout2ExceedLimit() : ex.getDefaultAbout2ExceedLimit(); - } - } - } - //因为即将超期提醒时间(天)就是即将超期期限,在表中存储的是超期前多少天 - //所以这里要换算成滞留日 - about2ExceedLimit = exceedLimit >= about2ExceedLimit ? exceedLimit - about2ExceedLimit : exceedLimit; + List metaData = - originMainService.initNewScreenProjectData(param.getCustomerId(), rows , param.getDateId(),exceedLimit,about2ExceedLimit); + originMainService.initNewScreenProjectData(param.getCustomerId(), rows , param.getDateId()); if(!CollectionUtils.isEmpty(metaData)) { // 查询项目信息 @@ -101,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); } @@ -137,7 +126,8 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic //重新计算orientData的级别 有现成的方法 fact_origin_project_org_period_daily // originMainService.computerIfExceed(orientData, exceedLimit,about2ExceedLimit); - originMainService.setProjectLevel(orientData, param.getCustomerId()); + //todo 与上面重复处理 暂时注释掉 + //originMainService.setProjectLevel(orientData, param.getCustomerId()); processService.updateProjectCloseTime(metaData); //更新结案时间和结案状态 processService.updateProjectStatus(orientData,param.getDateId(),param.getCustomerId()); 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} +