Browse Source

Merge remote-tracking branch 'remotes/origin/dev' into dev_grid_patrol

dev_shibei_match
jianjun 4 years ago
parent
commit
f569b3adcd
  1. 2
      epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassrootsPartyDevServiceImpl.java
  2. 9
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectDataDTO.java
  3. 56
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java
  4. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/project/ProjectEntity.java
  5. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java
  6. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java
  7. 36
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java
  8. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java
  9. 35
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java
  10. 19
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml

2
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(); BranchBuildTrendResultDTO result = new BranchBuildTrendResultDTO();
//生成近十二个月的横坐标数组 //生成近十二个月的横坐标数组
Map<String,String> monthMap = dateUtils.getXpro(); Map<String,String> monthMap = dateUtils.getXpro();
result.setXAxis(monthMap.values().stream().collect(Collectors.toList())); result.setXAxis(new ArrayList<>(monthMap.values()));
List<BranchTrendSeriesDataResultDTO> dataArray = new LinkedList<>(); List<BranchTrendSeriesDataResultDTO> dataArray = new LinkedList<>();
List<BranchIssueDataResultDTO> yearlyDataList = List<BranchIssueDataResultDTO> yearlyDataList =

9
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; package com.epmet.dto.screen;
import java.io.Serializable;
import java.util.Date;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/** /**
* 中央区-项目数据 * 中央区-项目数据
@ -54,6 +54,11 @@ public class ScreenProjectDataDTO implements Serializable {
*/ */
private String orgId; private String orgId;
/**
* 来源议题issue组织agency
*/
private String origin;
/** /**
* 上级组织Id * 上级组织Id
*/ */

56
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 { public interface UserDao {
/** /**
* @Description 查询注册用户的总量与增量
* @param * @param
* @return * @return
* @Description 查询注册用户的总量与增量
* @author wangc * @author wangc
* @date 2020.06.18 18:50 * @date 2020.06.18 18:50
**/ **/
CommonTotalAndIncCountResultDTO selectResiTotalAndIncrByLevel(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set<String> gridIds, @Param("targetDate")Date targetDate); CommonTotalAndIncCountResultDTO selectResiTotalAndIncrByLevel(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set<String> gridIds, @Param("targetDate") Date targetDate);
/** /**
* @Description 查询党员的总量与增量
* @param * @param
* @return * @return
* @Description 查询党员的总量与增量
* @author wangc * @author wangc
* @date 2020.06.18 18:50 * @date 2020.06.18 18:50
**/ **/
CommonTotalAndIncCountResultDTO selectPartyTotalAndIncr(@Param("userIds") List<String> userIds, @Param("incrUserIds") List<String> incrUserIds, @Param("targetDate") Date targetDate); CommonTotalAndIncCountResultDTO selectPartyTotalAndIncr(@Param("userIds") List<String> userIds, @Param("incrUserIds") List<String> incrUserIds, @Param("targetDate") Date targetDate);
/** /**
* @Description 查询热心居民的总量与增量
* @param * @param
* @return * @return
* @Description 查询热心居民的总量与增量
* @author wangc * @author wangc
* @date 2020.06.18 18:50 * @date 2020.06.18 18:50
**/ **/
CommonTotalAndIncCountResultDTO selectWarmTotalAndIncr(@Param("userIds") List<String> userIds, @Param("incrUserIds") List<String> incrUserIds, @Param("gridIds") Set<String> gridIds, @Param("targetDate") Date targetDate); CommonTotalAndIncCountResultDTO selectWarmTotalAndIncr(@Param("userIds") List<String> userIds, @Param("incrUserIds") List<String> incrUserIds, @Param("gridIds") Set<String> gridIds, @Param("targetDate") Date targetDate);
/** /**
* @Description 查询指定网格范围下单位时间内新增的注册用户Id
* @param * @param
* @return * @return
* @Description 查询指定网格范围下单位时间内新增的注册用户Id
* @author wangc * @author wangc
* @date 2020.06.18 18:50 * @date 2020.06.18 18:50
**/ **/
List<String> selectIncrUserIds(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set<String> gridIds, @Param("targetDate") Date targetDate); List<String> selectIncrUserIds(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set<String> gridIds, @Param("targetDate") Date targetDate);
/** /**
* @Description 查询指定网格范围下截至指定位时间累计的注册用户Id
* @param * @param
* @return * @return
* @Description 查询指定网格范围下截至指定位时间累计的注册用户Id
* @author wangc * @author wangc
* @date 2020.06.18 18:50 * @date 2020.06.18 18:50
**/ **/
List<String> selectTotalUserIds(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set<String> gridIds, @Param("targetDate") Date targetDate); List<String> selectTotalUserIds(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set<String> gridIds, @Param("targetDate") Date targetDate);
/** /**
* @Description 查询指定时间范围内网格新增的注册/参与用户Id
* @param * @param
* @return * @return
* @Description 查询指定时间范围内网格新增的注册/参与用户Id
* @author wangc * @author wangc
* @date 2020.06.18 18:50 * @date 2020.06.18 18:50
**/ **/
List<String> selectIncrUserIdsWithinTimeRange(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set<String> gridIds, @Param("startDate")Date startDate,@Param("endDate")Date endDate); List<String> selectIncrUserIdsWithinTimeRange(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set<String> gridIds, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
/** /**
* @Description 查询指定时间范围内注册/参与用户增量
* @param * @param
* @return * @return
* @Description 查询指定时间范围内注册/参与用户增量
* @author wangc * @author wangc
* @date 2020.06.18 18:50 * @date 2020.06.18 18:50
**/ **/
Integer selectResiIncrWithinTimeRange(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set<String> gridIds, @Param("startDate")Date startDate,@Param("endDate")Date endDate); Integer selectResiIncrWithinTimeRange(@Param("regOrPartiFlag") String regOrPartiFlag, @Param("gridIds") Set<String> gridIds, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
/** /**
* @Description 查询指定时间范围内党员的增量
* @param * @param
* @return * @return
* @Description 查询指定时间范围内党员的增量
* @author wangc * @author wangc
* @date 2020.06.18 18:50 * @date 2020.06.18 18:50
**/ **/
Integer selectPartyIncrWithinTimeRange(@Param("incrUserIds")List<String> incrUserIds,@Param("startDate")Date startDate,@Param("endDate")Date endDate); Integer selectPartyIncrWithinTimeRange(@Param("incrUserIds") List<String> incrUserIds, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
/** /**
* @Description 查询指定时间范围内热心居民的增量
* @param * @param
* @return * @return
* @Description 查询指定时间范围内热心居民的增量
* @author wangc * @author wangc
* @date 2020.06.18 18:50 * @date 2020.06.18 18:50
**/ **/
Integer selectWarmIncrWithinTimeRange(@Param("incrUserIds")List<String> incrUserIds,@Param("gridIds") Set<String> gridIds,@Param("startDate")Date startDate,@Param("endDate")Date endDate); Integer selectWarmIncrWithinTimeRange(@Param("incrUserIds") List<String> incrUserIds, @Param("gridIds") Set<String> gridIds, @Param("startDate") Date startDate, @Param("endDate") Date endDate);
/** /**
* @Description 查询用户是不是党员
* @param userIds * @param userIds
* @Description 查询用户是不是党员
* @author zxc * @author zxc
* @date 2020/9/15 4:23 下午 * @date 2020/9/15 4:23 下午
*/ */
List<UserPartyResultDTO> selectUserIsParty(@Param("userIds") List<String> userIds); List<UserPartyResultDTO> selectUserIsParty(@Param("userIds") List<String> userIds);
List<String> selectPartymembersByCustomerId(@Param("customerId")String customerId); List<String> selectPartymembersByCustomerId(@Param("customerId") String customerId);
List<GridHeartedFormDTO> selectWarmHeartedByCustomerId(@Param("customerId")String customerId); List<GridHeartedFormDTO> selectWarmHeartedByCustomerId(@Param("customerId") String customerId);
/** /**
* @param customerId * @param customerId
@ -125,22 +125,22 @@ public interface UserDao {
List<String> selectGridRegUserIds(@Param("customerId") String customerId, @Param("gridId") String gridId); List<String> selectGridRegUserIds(@Param("customerId") String customerId, @Param("gridId") String gridId);
/** /**
* @Description 获取客户下的网格注册居民
* @param customerId * @param customerId
* @return * @return
* @Description 获取客户下的网格注册居民
* @author wangc * @author wangc
* @date 2020.09.25 13:54 * @date 2020.09.25 13:54
**/ **/
List<ScreenPartyUserRankDataEntity> selectRegisteredUserByCustomerId(@Param("customerId") String customerId); List<ScreenPartyUserRankDataEntity> selectRegisteredUserByCustomerId(@Param("customerId") String customerId);
/** /**
* @Description 获取大屏项目相关信息 联系人 * @param userIdList
* @param list
* @return java.util.List<com.epmet.dto.screen.ScreenProjectDataDTO> * @return java.util.List<com.epmet.dto.screen.ScreenProjectDataDTO>
* @Description 获取大屏项目相关信息 联系人
* @author wangc * @author wangc
* @date 2021.03.08 17:16 * @date 2021.03.08 17:16
*/ */
List<ScreenProjectDataDTO> selectScreenProjectData(@Param("list") List<ScreenProjectDataDTO> list); List<ScreenProjectDataDTO> selectScreenProjectData(@Param("list") List<String> userIdList);
/** /**
* 根据工作员用户id, 返回这些人当中多少个网格员 * 根据工作员用户id, 返回这些人当中多少个网格员
@ -148,6 +148,16 @@ public interface UserDao {
* @param staffIds * @param staffIds
* @return int * @return int
*/ */
int selectGridManagerTotal(@Param("customerId")String customerId,@Param("staffIds")List<String> staffIds); int selectGridManagerTotal(@Param("customerId") String customerId, @Param("staffIds") List<String> staffIds);
/**
* desc: 根据Id获取工作人员 昵称及手机号
*
* @param staffUserIdList
* @return java.util.List<com.epmet.dto.screen.ScreenProjectDataDTO>
* @author LiuJanJun
* @date 2021/6/8 5:21 下午
*/
List<ScreenProjectDataDTO> selectStaffInfo(@Param("list") List<String> staffUserIdList);
} }

2
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; private String agencyId;
/** /**
* 来源议题issue * 来源议题issue组织agency
*/ */
private String origin; private String origin;

4
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<FactOrigi
* @param customerId * @param customerId
* @param rows * @param rows
* @param dateId * @param dateId
* @param exceedLimit 超期上线
* @param about2exceedLimit 即将超期参数
* @return java.util.List<com.epmet.dto.screen.ScreenProjectDataDTO> * @return java.util.List<com.epmet.dto.screen.ScreenProjectDataDTO>
* @author wangc * @author wangc
* @date 2021.03.04 22:56 * @date 2021.03.04 22:56
*/ */
List<ScreenProjectDataDTO> initNewScreenProjectData(String customerId,Integer rows ,String dateId,Integer exceedLimit,Integer about2exceedLimit); List<ScreenProjectDataDTO> initNewScreenProjectData(String customerId,Integer rows ,String dateId);
void computerIfExceed(List<ScreenProjectDataDTO> list,Integer exceedLimit,Integer about2exceedLimit); void computerIfExceed(List<ScreenProjectDataDTO> list,Integer exceedLimit,Integer about2exceedLimit);

10
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.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.DataSourceConstant; import com.epmet.constant.DataSourceConstant;
import com.epmet.constant.OrgTypeConstant; import com.epmet.constant.OrgTypeConstant;
@ -470,19 +469,12 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl<FactO
* @param customerId * @param customerId
* @param rows * @param rows
* @param dateId * @param dateId
* @param exceedLimit 超期上线
* @param about2exceedLimit 即将超期参数
* @return java.util.List<com.epmet.dto.screen.ScreenProjectDataDTO> * @return java.util.List<com.epmet.dto.screen.ScreenProjectDataDTO>
* @author wangc * @author wangc
* @date 2021.03.04 22:56 * @date 2021.03.04 22:56
*/ */
@Override @Override
public List<ScreenProjectDataDTO> initNewScreenProjectData(String customerId,Integer rows , String dateId,Integer exceedLimit,Integer about2exceedLimit) { public List<ScreenProjectDataDTO> initNewScreenProjectData(String customerId,Integer rows , String dateId) {
boolean ifBeforeYesterday = true;
int beforeDate = Integer.parseInt(DateUtils.getBeforeNDay(NumConstant.ONE));
if(beforeDate > Integer.parseInt(dateId)){
ifBeforeYesterday = false;
}
List<ScreenProjectDataDTO> projects = baseDao.initNewScreenProjectData(customerId, rows <= NumConstant.ZERO ? "" : dateId, dateId); List<ScreenProjectDataDTO> projects = baseDao.initNewScreenProjectData(customerId, rows <= NumConstant.ZERO ? "" : dateId, dateId);
projects.forEach(project -> { projects.forEach(project -> {
if (ProjectConstant.CLOSED_CASE.equals(project.getProjectStatusCode())) { if (ProjectConstant.CLOSED_CASE.equals(project.getProjectStatusCode())) {

36
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; package com.epmet.service.evaluationindex.extract.toscreen.impl;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.constant.ProjectConstant;
import com.epmet.dto.project.result.ProjectExceedParamsResultDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO; import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.screen.ScreenProjectImgDataDTO; import com.epmet.dto.screen.ScreenProjectImgDataDTO;
import com.epmet.dto.screen.ScreenProjectProcessAttachmentDTO; import com.epmet.dto.screen.ScreenProjectProcessAttachmentDTO;
@ -71,27 +70,9 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
public void extractScreenData(ScreenCentralZoneDataFormDTO param) { public void extractScreenData(ScreenCentralZoneDataFormDTO param) {
//screen_project_data表是否存在此客户数据 //screen_project_data表是否存在此客户数据
int rows = targetDbService.checkIfExisted(param.getCustomerId()); int rows = targetDbService.checkIfExisted(param.getCustomerId());
//查找客户项目超期参数
List<ProjectExceedParamsResultDTO> 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<ScreenProjectDataDTO> metaData = List<ScreenProjectDataDTO> metaData =
originMainService.initNewScreenProjectData(param.getCustomerId(), rows , param.getDateId(),exceedLimit,about2ExceedLimit); originMainService.initNewScreenProjectData(param.getCustomerId(), rows , param.getDateId());
if(!CollectionUtils.isEmpty(metaData)) { if(!CollectionUtils.isEmpty(metaData)) {
// 查询项目信息 // 查询项目信息
@ -101,11 +82,19 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
nature.getId())).map(projectInfo -> { nature.getId())).map(projectInfo -> {
meta.setProjectCreateTime(projectInfo.getCreatedTime()); meta.setProjectCreateTime(projectInfo.getCreatedTime());
meta.setProjectTitle(projectInfo.getTitle()); 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; return meta;
})).collect(Collectors.toList()); })).collect(Collectors.toList());
} }
//设置项目经纬度和项目内容
topicService.fillScreenProjectData(metaData); topicService.fillScreenProjectData(metaData);
//metaData = Optional.ofNullable(topicService.getScreenProjectData(metaData)).orElse(metaData); //metaData = Optional.ofNullable(topicService.getScreenProjectData(metaData)).orElse(metaData);
//设置联系人及电话
userService.fillScreenProjectData(metaData); userService.fillScreenProjectData(metaData);
//metaData = Optional.ofNullable(userService.getScreenProjectData(metaData)).orElse(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 //重新计算orientData的级别 有现成的方法 fact_origin_project_org_period_daily
// originMainService.computerIfExceed(orientData, exceedLimit,about2ExceedLimit); // originMainService.computerIfExceed(orientData, exceedLimit,about2ExceedLimit);
originMainService.setProjectLevel(orientData, param.getCustomerId()); //todo 与上面重复处理 暂时注释掉
//originMainService.setProjectLevel(orientData, param.getCustomerId());
processService.updateProjectCloseTime(metaData); processService.updateProjectCloseTime(metaData);
//更新结案时间和结案状态 //更新结案时间和结案状态
processService.updateProjectStatus(orientData,param.getDateId(),param.getCustomerId()); processService.updateProjectStatus(orientData,param.getDateId(),param.getCustomerId());

2
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 * @author wangc
* @date 2021.03.08 17:16 * @date 2021.03.08 17:16
*/ */
List<ScreenProjectDataDTO> fillScreenProjectData(List<ScreenProjectDataDTO> list); void fillScreenProjectData(List<ScreenProjectDataDTO> list);
/** /**
* 返回每个组织或者每个网格下的网格员数量 * 返回每个组织或者每个网格下的网格员数量

35
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.commons.tools.constant.NumConstant;
import com.epmet.constant.DataSourceConstant; import com.epmet.constant.DataSourceConstant;
import com.epmet.constant.ExtractConstant; import com.epmet.constant.ExtractConstant;
import com.epmet.constant.ProjectConstant;
import com.epmet.dao.user.UserDao; import com.epmet.dao.user.UserDao;
import com.epmet.dto.AgencySubTreeDto; import com.epmet.dto.AgencySubTreeDto;
import com.epmet.dto.extract.form.GridHeartedFormDTO; import com.epmet.dto.extract.form.GridHeartedFormDTO;
@ -744,16 +745,38 @@ public class UserServiceImpl implements UserService {
* @date 2021.03.08 17:16 * @date 2021.03.08 17:16
*/ */
@Override @Override
public List<ScreenProjectDataDTO> fillScreenProjectData(List<ScreenProjectDataDTO> list) { public void fillScreenProjectData(List<ScreenProjectDataDTO> list) {
List<ScreenProjectDataDTO> collection = userDao.selectScreenProjectData(list); List<String> topicUserIdList = list.stream().filter(o -> ProjectConstant.PROJECT_ORIGIN_ISSUE.equals(o.getOrigin()))
if(!CollectionUtils.isEmpty(collection)){ .map(ScreenProjectDataDTO::getLinkName).distinct().collect(Collectors.toList());
list = list.stream().flatMap(target -> collection.stream().filter(res -> StringUtils.equals(target.getLinkName(),res.getTopicId())) if (CollectionUtils.isEmpty(topicUserIdList)){
return;
}
List<ScreenProjectDataDTO> collection = userDao.selectScreenProjectData(topicUserIdList);
Map<String, ScreenProjectDataDTO> 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 -> { .map(merge -> {
target.setLinkName(merge.getLinkName()); target.setLinkName(merge.getLinkName());
target.setLinkMobile(merge.getLinkMobile()); target.setLinkMobile(merge.getLinkMobile());
return target;})).collect(Collectors.toList()); return target;}));
}*/
List<String> 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<ScreenProjectDataDTO> staffList = userDao.selectStaffInfo(staffUserIdList);
Map<String, ScreenProjectDataDTO> 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());
}
});
} }
/** /**

19
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml

@ -528,8 +528,8 @@
user_base_info user_base_info
WHERE WHERE
del_flag = '0' del_flag = '0'
<foreach collection="list" item="project" open="AND (" separator=" OR " close=")"> <foreach collection="list" item="userId" open="AND (" separator=" OR " close=")">
user_id = #{project.linkName} user_id = #{userId}
</foreach> </foreach>
</select> </select>
@ -550,11 +550,24 @@
WHERE WHERE
m.DEL_FLAG = '0' m.DEL_FLAG = '0'
AND m.CUSTOMER_ID = #{customerId} AND m.CUSTOMER_ID = #{customerId}
AND m.ROLE_KEY = 'grid_manager' AND m.ROLE_KEY = 'grid_member'
) )
AND sr.STAFF_ID in AND sr.STAFF_ID in
<foreach collection="staffIds" item="staffId" open="(" close=")" separator=","> <foreach collection="staffIds" item="staffId" open="(" close=")" separator=",">
#{staffId} #{staffId}
</foreach> </foreach>
</select> </select>
<select id="selectStaffInfo" resultType="com.epmet.dto.screen.ScreenProjectDataDTO">
SELECT
USER_ID as ID,
REAL_NAME AS linkName,
MOBILE AS linkMobile
FROM
customer_staff
WHERE
del_flag = '0'
<foreach collection="list" item="userId" open="AND (" separator=" OR " close=")">
user_id = #{userId}
</foreach>
</select>
</mapper> </mapper>

Loading…
Cancel
Save