Browse Source

screenProjectData

dev_shibei_match
wangchao 5 years ago
parent
commit
6d09f1f666
  1. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java
  2. 11
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java
  3. 17
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java
  4. 11
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/TopicService.java
  5. 26
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java
  6. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java
  7. 21
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java
  8. 2
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml
  9. 16
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.xml
  10. 14
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/topic/TopicDao.xml
  11. 16
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/user/UserDao.xml

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java

@ -8,6 +8,7 @@ package com.epmet.dao.topic;
*/
import com.epmet.dto.group.result.TopicContentResultDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.screen.form.ProjectSourceMapFormDTO;
import com.epmet.dto.topic.ResiTopicDTO;
import com.epmet.dto.extract.result.TopicInfoResultDTO;
@ -117,4 +118,13 @@ public interface TopicDao {
* @date 2020.09.28 16:28
*/
List<TopicContentResultDTO> selectTopicContent(@Param("list") List<ProjectSourceMapFormDTO> list);
/**
* @Description 根据话题Id查询大屏项目的相关信息
* @param list
* @return java.util.List<com.epmet.dto.screen.ScreenProjectDataDTO>
* @author wangc
* @date 2021.03.08 17:13
*/
List<ScreenProjectDataDTO> selectScreenProjectData(@Param("list") List<ScreenProjectDataDTO> list);
}

11
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/user/UserDao.java

@ -2,6 +2,7 @@ package com.epmet.dao.user;
import com.epmet.dto.extract.form.GridHeartedFormDTO;
import com.epmet.dto.extract.result.UserPartyResultDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO;
import com.epmet.entity.evaluationindex.screen.ScreenPartyUserRankDataEntity;
import org.apache.ibatis.annotations.Mapper;
@ -131,4 +132,14 @@ public interface UserDao {
* @date 2020.09.25 13:54
**/
List<ScreenPartyUserRankDataEntity> selectRegisteredUserByCustomerId(@Param("customerId") String customerId);
/**
* @Description 获取大屏项目相关信息 联系人
* @param list
* @return java.util.List<com.epmet.dto.screen.ScreenProjectDataDTO>
* @author wangc
* @date 2021.03.08 17:16
*/
List<ScreenProjectDataDTO> selectScreenProjectData(@Param("list") List<ScreenProjectDataDTO> list);
}

17
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenProjectSettleServiceImpl.java

@ -10,13 +10,15 @@ import com.epmet.service.evaluationindex.extract.toscreen.ScreenProjectSettleSer
import com.epmet.service.evaluationindex.screen.ScreenProjectDataService;
import com.epmet.service.project.ProjectProcessService;
import com.epmet.service.project.ProjectService;
import com.epmet.service.topic.TopicService;
import com.epmet.service.user.UserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collector;
import java.util.Optional;
import java.util.stream.Collectors;
/**
@ -36,6 +38,10 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
private ProjectService projectService;
@Autowired
private ProjectProcessService processService;
@Autowired
private TopicService topicService;
@Autowired
private UserService userService;
/**
* @Description 抽取项目数据到screen_project_*
@ -65,7 +71,7 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
}
List<ScreenProjectDataDTO> metaData =
originMainService.initNewScreenProjectData(param.getCustomerId(), param.getDateId(),exceedLimit,about2ExceedLimit);
originMainService.initNewScreenProjectData(param.getCustomerId(), rows <= NumConstant.ZERO ? null : param.getDateId(),exceedLimit,about2ExceedLimit);
if(!CollectionUtils.isEmpty(metaData)) {
List<ProjectEntity> info = projectService.getProjectInfo(metaData.stream().map(ScreenProjectDataDTO::getProjectId).collect(Collectors.toList()));
@ -77,7 +83,9 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
return null;
}));
}
metaData = Optional.ofNullable(topicService.getScreenProjectData(metaData)).orElse(metaData);
metaData = Optional.ofNullable(userService.getScreenProjectData(metaData)).orElse(metaData);
}
ScreenProjectDataDTO orientCase = new ScreenProjectDataDTO();
orientCase.setCustomerId(param.getCustomerId());
@ -85,6 +93,11 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic
List<ScreenProjectDataDTO> orientData =
targetDbService.getPending(orientCase);
//TODO 给metaData和orientData赋上分类信息
//TODO 重新计算orientData的级别 有现成的方法 fact_origin_project_org_period_daily
//TODO 更新结案时间和结案状态
}

11
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/TopicService.java

@ -2,6 +2,7 @@ package com.epmet.service.topic;
import com.epmet.dto.AgencySubTreeDto;
import com.epmet.dto.extract.result.TopicInfoResultDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.screen.form.ProjectSourceMapFormDTO;
import com.epmet.dto.stats.DimTopicStatusDTO;
import com.epmet.dto.stats.topic.result.TopicStatisticalData;
@ -83,4 +84,14 @@ public interface TopicService {
* @date 2020.09.28 16:28
*/
Map<String,String> getTopicContent(List<ProjectSourceMapFormDTO> list);
/**
* @Description 获取大屏项目相关信息
*
* @param list
* @return java.util.List<com.epmet.dto.screen.ScreenProjectDataDTO>
* @author wangc
* @date 2021.03.08 17:16
*/
List<ScreenProjectDataDTO> getScreenProjectData(List<ScreenProjectDataDTO> list);
}

26
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java

@ -7,6 +7,7 @@ import com.epmet.dao.topic.TopicDao;
import com.epmet.dto.AgencySubTreeDto;
import com.epmet.dto.extract.result.TopicInfoResultDTO;
import com.epmet.dto.group.result.TopicContentResultDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.screen.form.ProjectSourceMapFormDTO;
import com.epmet.dto.stats.DimTopicStatusDTO;
import com.epmet.dto.stats.topic.*;
@ -183,6 +184,31 @@ public class TopicServiceImpl implements TopicService {
return result;
}
/**
* @Description 获取大屏项目相关信息
*
* @param list
* @return java.util.List<com.epmet.dto.screen.ScreenProjectDataDTO>
* @author wangc
* @date 2021.03.08 17:16
*/
@Override
public List<ScreenProjectDataDTO> getScreenProjectData(List<ScreenProjectDataDTO> list) {
List<ScreenProjectDataDTO> collection = topicDao.selectScreenProjectData(list);
if(!CollectionUtils.isEmpty(collection)){
list.stream().flatMap(target -> collection.stream().filter(
res -> StringUtils.equals(target.getTopicId(),res.getTopicId())
).map(merge -> {
target.setLatitude(merge.getLatitude());
target.setLongitude(merge.getLongitude());
target.setProjectContent(merge.getProjectContent());
target.setProjectAddress(merge.getProjectAddress());
return null;
}));
}
return collection;
}
/**
* @Description 初始化机关-所有下级网格Map
* @param pid - 固定一个机关Id

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/UserService.java

@ -2,6 +2,7 @@ package com.epmet.service.user;
import com.epmet.dto.AgencySubTreeDto;
import com.epmet.dto.extract.form.GridHeartedFormDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.stats.user.result.UserStatisticalData;
import com.epmet.entity.evaluationindex.screen.ScreenPartyUserRankDataEntity;
import com.epmet.util.DimIdGenerator;
@ -75,4 +76,13 @@ public interface UserService {
* @date 2020.09.25 13:54
**/
List<ScreenPartyUserRankDataEntity> getRegisteredUserList(String customerId);
/**
* @Description 获取大屏项目相关信息 联系人
* @param list
* @return java.util.List<com.epmet.dto.screen.ScreenProjectDataDTO>
* @author wangc
* @date 2021.03.08 17:16
*/
List<ScreenProjectDataDTO> getScreenProjectData(List<ScreenProjectDataDTO> list);
}

21
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/user/impl/UserServiceImpl.java

@ -8,6 +8,7 @@ import com.epmet.dao.user.UserDao;
import com.epmet.dto.AgencySubTreeDto;
import com.epmet.dto.extract.form.GridHeartedFormDTO;
import com.epmet.dto.extract.result.UserPartyResultDTO;
import com.epmet.dto.screen.ScreenProjectDataDTO;
import com.epmet.dto.stats.user.*;
import com.epmet.dto.stats.user.result.UserStatisticalData;
import com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO;
@ -728,4 +729,24 @@ public class UserServiceImpl implements UserService {
return userList;
}
/**
* @Description 获取大屏项目相关信息 联系人
* @param list
* @return java.util.List<com.epmet.dto.screen.ScreenProjectDataDTO>
* @author wangc
* @date 2021.03.08 17:16
*/
@Override
public List<ScreenProjectDataDTO> getScreenProjectData(List<ScreenProjectDataDTO> list) {
List<ScreenProjectDataDTO> collection = userDao.selectScreenProjectData(list);
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 null;}));
}
return collection;
}
}

2
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml

@ -546,7 +546,7 @@
data.AGENCY_ID as parentId,
agency.AGENCY_NAME as orgName,
data.ID as projectId,
data.TOPIC_CREATOR_ID as linkMan,
data.TOPIC_CREATOR_ID as linkName,
IF(data.PROJECT_STATUS = 'closed','closed_case',data.PROJECT_STATUS) as projectStatusCode,
3 as projectLevel,
IF(data.PIDS IS NULL || TRIM(data.PIDS) = '',data.AGENCY_ID,CONCAT(REPLACE(data.PIDS,':',','),',',data.AGENCY_ID)) as allParentIds,

16
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectOrgPeriodDailyDao.xml

@ -144,16 +144,20 @@
<select id="selectProjectNodeStartStopTime" resultType="com.epmet.dto.form.CostDayFormDTO">
SELECT
PROJECT_ID AS id,
period.PROJECT_ID AS id,
INFORMED_DATE AS startDate,
IFNULL( HANDLED_DATE, NOW( ) ) AS endDate
period.INFORMED_DATE AS startDate,
IFNULL( period.HANDLED_DATE, IFNULL(STR_TO_DATE(node.DATE_ID,'%Y%m%d'),NOW( )) ) AS endDate
FROM
`fact_origin_project_org_period_daily`
`fact_origin_project_org_period_daily` period
LEFT JOIN
`fact_origin_project_log_daily` node
ON period.PROJECT_ID = node.PROJECT_ID AND node.DEL_FLAG = '0'
AND node.ACTION_CODE = 'close' AND node.IS_ACTIVE = 1
WHERE
DEL_FLAG = '0'
period.DEL_FLAG = '0'
<foreach collection="list" item="projectId" open="AND (" separator=" or " close=" )">
PROJECT_ID = #{projectId}
period.PROJECT_ID = #{projectId}
</foreach>
</select>
</mapper>

14
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/topic/TopicDao.xml

@ -242,4 +242,18 @@
ID = #{item.sourceId}
</foreach>
</select>
<select id="selectScreenProjectData" resultType="com.epmet.dto.screen.ScreenProjectDataDTO">
SELECT
ID as topicId,
TOPIC_CONTENT as projectContent,
ADDRESS as projectAddress,
LONGITUDE,
DIMENSION as latitude
FROM RESI_TOPIC
WHERE DEL_FLAG = '0'
<foreach collection="list" item="project" open="AND (" separator=" OR " close=" )">
ID = #{project.topicId}
</foreach>
</select>
</mapper>

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

@ -514,4 +514,20 @@
AND register.CUSTOMER_ID = #{customerId}
AND register.FIRST_REGISTER = '1'
</select>
<select id="selectScreenProjectData" resultType="com.epmet.dto.screen.ScreenProjectDataDTO">
SELECT
CONCAT( STREET, '-', SURNAME, CASE WHEN GENDER = '1' THEN '先生' WHEN GENDER = '2' THEN '女士' ELSE '先生/女士' END ) AS linkName,
MOBILE AS linkMobile,
USER_ID as topicId
FROM
user_base_info
WHERE
del_flag = '0'
<foreach collection="list" item="project" open="AND (" separator=" OR " close=")">
user_id = #{project.linkName}
</foreach>
</select>
</mapper>

Loading…
Cancel
Save