Browse Source

难点赌点

dev_shibei_match
wangchao 5 years ago
parent
commit
7d22d3d948
  1. 20
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/group/result/TopicContentResultDTO.java
  2. 20
      epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/ProjectSourceMapFormDTO.java
  3. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java
  4. 9
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenDifficultyDataDao.java
  5. 10
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java
  6. 21
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/topic/TopicDao.java
  7. 2
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenDifficultyImgDataEntity.java
  8. 4
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java
  9. 6
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java
  10. 48
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java
  11. 3
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java
  12. 15
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java
  13. 11
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java
  14. 21
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java
  15. 21
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/TopicService.java
  16. 54
      epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java
  17. 12
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml
  18. 117
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenDifficultyDataDao.xml
  19. 13
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/group/GroupDataDao.xml
  20. 17
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml
  21. 26
      epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/topic/TopicDao.xml

20
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/group/result/TopicContentResultDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.group.result;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @ClassName TopicContentResultDTO
* @Auth wangc
* @Date 2020-09-28 16:30
*/
@Data
public class TopicContentResultDTO implements Serializable {
private static final long serialVersionUID = -1720511234376795113L;
private String topicId;
private String content;
}

20
epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/ProjectSourceMapFormDTO.java

@ -0,0 +1,20 @@
package com.epmet.dto.screen.form;
import lombok.Data;
import java.io.Serializable;
/**
* @Description
* @ClassName ProjectSourceMapFormDTO
* @Auth wangc
* @Date 2020-09-28 15:32
*/
@Data
public class ProjectSourceMapFormDTO implements Serializable {
private static final long serialVersionUID = 7796386345197572459L;
private String projectId;
private String sourceId;
}

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectMainDailyDao.java

@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.extract.FactOriginProjectMainDailyDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.extract.result.GridProjectClosedTotalResultDTO;
import com.epmet.dto.screen.form.ProjectSourceMapFormDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity;
import org.apache.ibatis.annotations.Mapper;
@ -183,12 +184,11 @@ public interface FactOriginProjectMainDailyDao extends BaseDao<FactOriginProject
/**
* @Description 查询评价周期内新立的项目是为了增量新增难点赌点的图片库
* @param customerId
* @param dateId
* @return java.util.List<java.lang.String>
* @author wangc
* @date 2020.09.28 11:15
*/
List<String> selectNewProject(@Param("customerId") String customerId, @Param("dateId")String dateId);
List<ProjectSourceMapFormDTO > selectNewProject(@Param("customerId") String customerId, @Param("list")List<String> list);
/**
* 网格解决项目数

9
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenDifficultyDataDao.java

@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.screencoll.form.DifficultyDataDetailFormDTO;
import com.epmet.dto.screencoll.form.DifficultyDataFormDTO;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -82,4 +83,12 @@ public interface ScreenDifficultyDataDao extends BaseDao<ScreenDifficultyDataEnt
* @date 2020.09.28 13:46
*/
int updateTime(@Param("customerId")String customerId,@Param("dateId")String dateId);
int deleteBatchDifficulty(@Param("customerId")String customerId,@Param("list")List<String> list);
int deleteBatchDifficultyImg(@Param("list")List<String> list);
int insertBatch(@Param("list") List<ScreenDifficultyDataEntity> list);
int insertBatchImg(@Param("list") List<ScreenDifficultyImgDataEntity> list);
}

10
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java

@ -20,6 +20,7 @@ package com.epmet.dao.project;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.project.FinishOrgDTO;
import com.epmet.dto.project.ProcessInfoDTO;
import com.epmet.dto.project.result.ProjectLatestOperationResultDTO;
import com.epmet.dto.project.result.ProjectOrgPeriodResultDTO;
import com.epmet.dto.project.result.ProjectOrgRelationWhenResponseResultDTO;
import com.epmet.entity.project.ProjectEntity;
@ -113,4 +114,13 @@ public interface ProjectProcessDao extends BaseDao<ProjectProcessEntity> {
* @return java.util.List<com.epmet.dto.project.FinishOrgDTO>
*/
List<FinishOrgDTO> selectFinishOrg(@Param("customerId") String customerId, @Param("date") String date);
/**
* @Description 查找项目最近一次操作说明
* @param list
* @return java.util.List<com.epmet.dto.project.result.ProjectLatestOperationResultDTO>
* @author wangc
* @date 2020.09.28 14:45
*/
List<ProjectLatestOperationResultDTO> selectLatestOperation(@Param("list") List<String> list);
}

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

@ -7,11 +7,14 @@ package com.epmet.dao.topic;
* @since v1.0.0 2020-05-11
*/
import com.epmet.dto.group.result.TopicContentResultDTO;
import com.epmet.dto.screen.form.ProjectSourceMapFormDTO;
import com.epmet.dto.topic.ResiTopicDTO;
import com.epmet.dto.extract.result.TopicInfoResultDTO;
import com.epmet.dto.topic.TopicOriginInfoDTO;
import com.epmet.dto.topic.result.ResiGroupTopicResultDTO;
import com.epmet.dto.topic.result.ResiTopicOperationResultDTO;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -96,4 +99,22 @@ public interface TopicDao {
* @Date 2020/9/23 17:52
**/
List<TopicOriginInfoDTO> queryUpdateTopicOriginInfoList(@Param("customerId")String customerId, @Param("dateId")String dateId);
/**
* @Description 查询话题的图片
* @param list
* @return java.util.List<com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity>
* @author wangc
* @date 2020.09.28 15:40
*/
List<ScreenDifficultyImgDataEntity> selectTopicImgs(@Param("list") List<ProjectSourceMapFormDTO> list);
/**
* @Description 得到话题项目内容
* @param list
* @return java.util.Map<java.lang.String,java.lang.String>
* @author wangc
* @date 2020.09.28 16:28
*/
List<TopicContentResultDTO> selectTopicContent(@Param("list") List<ProjectSourceMapFormDTO> list);
}

2
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenDifficultyImgDataEntity.java

@ -2,6 +2,7 @@ package com.epmet.entity.evaluationindex.screen;
import com.baomidou.mybatisplus.annotation.TableName;
import com.epmet.commons.mybatis.entity.BaseEpmetEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
@ -15,6 +16,7 @@ import lombok.EqualsAndHashCode;
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("screen_difficulty_img_data")
@AllArgsConstructor
public class ScreenDifficultyImgDataEntity extends BaseEpmetEntity {
private static final long serialVersionUID = 1L;

4
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectMainDailyService.java

@ -22,6 +22,7 @@ import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.extract.FactOriginProjectMainDailyDTO;
import com.epmet.dto.extract.result.GridProjectClosedTotalResultDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.screen.form.ProjectSourceMapFormDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity;
import com.mysql.cj.x.protobuf.MysqlxDatatypes;
@ -253,10 +254,9 @@ public interface FactOriginProjectMainDailyService extends BaseService<FactOrigi
/**
* @Description 得到评价周期内新立项的id
* @param customerId
* @param dateId
* @return java.util.List<java.lang.String>
* @author wangc
* @date 2020.09.28 14:10
*/
List<String> getNewProjectId(String customerId,String dateId);
List<ProjectSourceMapFormDTO> getNewProject(String customerId, List<String> list);
}

6
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectMainDailyServiceImpl.java

@ -30,6 +30,7 @@ import com.epmet.dao.evaluationindex.extract.FactOriginProjectMainDailyDao;
import com.epmet.dto.extract.FactOriginProjectMainDailyDTO;
import com.epmet.dto.extract.result.GridProjectClosedTotalResultDTO;
import com.epmet.dto.extract.result.OrgStatisticsResultDTO;
import com.epmet.dto.screen.form.ProjectSourceMapFormDTO;
import com.epmet.entity.evaluationindex.extract.FactOriginProjectMainDailyEntity;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity;
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService;
@ -241,13 +242,12 @@ public class FactOriginProjectMainDailyServiceImpl extends BaseServiceImpl<FactO
/**
* @Description 得到评价周期内新立项的id
* @param customerId
* @param dateId
* @return java.util.List<java.lang.String>
* @author wangc
* @date 2020.09.28 14:10
*/
@Override
public List<String> getNewProjectId(String customerId, String dateId) {
return baseDao.selectNewProject(customerId,dateId);
public List<ProjectSourceMapFormDTO > getNewProject(String customerId, List<String> list) {
return baseDao.selectNewProject(customerId,list);
}
}

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

@ -4,9 +4,11 @@ import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.StrConstant;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.dto.org.GridInfoDTO;
import com.epmet.dto.screen.form.ProjectSourceMapFormDTO;
import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO;
import com.epmet.dto.screen.result.DifficultyIfExistedResultDTO;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity;
import com.epmet.entity.evaluationindex.screen.ScreenPartyUserRankDataEntity;
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService;
import com.epmet.service.evaluationindex.extract.toscreen.ScreenGrassrootsGovernDataAbsorptionService;
@ -15,6 +17,8 @@ import com.epmet.service.evaluationindex.screen.ScreenDifficultyDataService;
import com.epmet.service.evaluationindex.screen.ScreenPartyUserRankDataService;
import com.epmet.service.org.CustomerGridService;
import com.epmet.service.point.UserPointService;
import com.epmet.service.project.ProjectProcessService;
import com.epmet.service.topic.TopicService;
import com.epmet.service.user.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -24,8 +28,10 @@ import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -53,6 +59,10 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr
private ScreenDifficultyDataService screenDifficultyDataService;
@Autowired
private FactOriginProjectMainDailyService factOriginProjectMainDailyService;
@Autowired
private ProjectProcessService projectProcessService;
@Autowired
private TopicService topicService;
/**
* @Description 用户积分党员分值数据中转站
* @param param
@ -128,14 +138,36 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr
DifficultyIfExistedResultDTO existedMap = screenDifficultyDataService.selectExistedInfo(param.getCustomerId());
//查询数据
List<ScreenDifficultyDataEntity> difficulties = factOriginProjectMainDailyService.getDifficultyBaseInfo(param.getCustomerId(),existedMap.getClosedIds());
if(CollectionUtils.isEmpty(difficulties)) return;
List<String> projectIds = difficulties.stream().map(ScreenDifficultyDataEntity :: getEventId).distinct().collect(Collectors.toList());
//最近一次操作
Map<String,String> latestOperationMap = projectProcessService.selectLatestOperation(projectIds,param.getCustomerId());
boolean isOperationNull = CollectionUtils.isEmpty(latestOperationMap) ? true : false;
//图片
List<ProjectSourceMapFormDTO> projectSourceMap;
projectSourceMap = factOriginProjectMainDailyService.getNewProject(param.getCustomerId(),projectIds);
Map<String,List<ScreenDifficultyImgDataEntity>> imgMap =
topicService.getTopicImgs(projectSourceMap);
boolean isImgNull = CollectionUtils.isEmpty(imgMap) ? true : false;
Map<String,String> contentMap = topicService.getTopicContent(projectSourceMap);
boolean isContentNull = CollectionUtils.isEmpty(contentMap) ? true : false;
difficulties.forEach( diff -> {
if(!isImgNull) {
List<ScreenDifficultyImgDataEntity> figureList = imgMap.get(diff.getEventId());
diff.setEventImgUrl(CollectionUtils.isEmpty(figureList) ? "" : figureList.get(NumConstant.ZERO).getEventImgUrl());
}
if(!isContentNull) {
diff.setEventContent(contentMap.get(diff.getEventId()));
}
if(!isOperationNull){
diff.setLatestOperateDesc(latestOperationMap.get(diff.getEventId()));
}
});
List<ScreenDifficultyImgDataEntity> imgList = new LinkedList<>();
imgMap.values().forEach(list -> {imgList.addAll(list);});
if(existedMap.isIfExisted()){
//查询全部项目的图片
}else{
//查询增量项目的图片
List<String> newProjectIds = factOriginProjectMainDailyService.getNewProjectId(param.getCustomerId(),param.getDateId());
}
screenDifficultyDataService.dataClean(param.getCustomerId(),difficulties,imgList);
}
}

3
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java

@ -44,11 +44,12 @@ public interface ScreenDifficultyDataService extends BaseService<ScreenDifficult
/**
* @Description 数据清洗
* @param customerId
* @param difficulties
* @return void
* @author wangc
* @date 2020.09.28 11:04
*/
void dataClean(List<ScreenDifficultyDataEntity> difficulties, List<ScreenDifficultyImgDataEntity> imgs);
void dataClean(String customerId,List<ScreenDifficultyDataEntity> difficulties, List<ScreenDifficultyImgDataEntity> imgs);
}

15
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java

@ -28,8 +28,11 @@ import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity;
import com.epmet.service.evaluationindex.screen.ScreenDifficultyDataService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
/**
* 基层治理-难点堵点(耗时最长|设计部门最多|处理次数)
@ -53,7 +56,15 @@ public class ScreenDifficultyDataServiceImpl extends BaseServiceImpl<ScreenDiffi
}
@Override
public void dataClean(List<ScreenDifficultyDataEntity> difficulties,List<ScreenDifficultyImgDataEntity> imgs) {
@Transactional(rollbackFor = Exception.class)
public void dataClean(String customerId,List<ScreenDifficultyDataEntity> difficulties,List<ScreenDifficultyImgDataEntity> imgs) {
if(!CollectionUtils.isEmpty(difficulties)){
baseDao.deleteBatchDifficulty(customerId,difficulties.stream().map(ScreenDifficultyDataEntity :: getEventId).distinct().collect(Collectors.toList()));
baseDao.insertBatch(difficulties);
}
if(!CollectionUtils.isEmpty(imgs)){
baseDao.deleteBatchDifficultyImg(imgs.stream().map(ScreenDifficultyImgDataEntity::getEventId).distinct().collect(Collectors.toList()));
baseDao.insertBatchImg(imgs);
}
}
}

11
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/ProjectProcessService.java

@ -20,11 +20,13 @@ package com.epmet.service.project;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.dto.project.FinishOrgDTO;
import com.epmet.dto.project.ProcessInfoDTO;
import com.epmet.dto.project.result.ProjectLatestOperationResultDTO;
import com.epmet.dto.project.result.ProjectOrgPeriodResultDTO;
import com.epmet.entity.project.ProjectEntity;
import com.epmet.entity.project.ProjectProcessEntity;
import java.util.List;
import java.util.Map;
/**
* 项目处理进展表
@ -102,5 +104,14 @@ public interface ProjectProcessService extends BaseService<ProjectProcessEntity>
*/
List<FinishOrgDTO> getFinishOrg(String customerId, String date);
/**
* @Description 获得项目最新操作
* @param list
* @param customerId
* @return java.util.Map<java.lang.String,java.lang.String>
* @author wangc
* @date 2020.09.28 14:44
*/
Map<String,String> selectLatestOperation(List<String> list, String customerId);
}

21
epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java

@ -25,6 +25,7 @@ import com.epmet.dao.project.ProjectProcessDao;
import com.epmet.dto.form.CommonStaffIdFormDTO;
import com.epmet.dto.project.FinishOrgDTO;
import com.epmet.dto.project.ProcessInfoDTO;
import com.epmet.dto.project.result.ProjectLatestOperationResultDTO;
import com.epmet.dto.project.result.ProjectOrgPeriodResultDTO;
import com.epmet.dto.project.result.ProjectOrgRelationWhenResponseResultDTO;
import com.epmet.entity.project.ProjectEntity;
@ -36,6 +37,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.stream.Collector;
import java.util.stream.Collectors;
/**
@ -123,6 +125,25 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl<ProjectProcessDao
return baseDao.selectFinishOrg(customerId, date);
}
/**
* @Description 获得项目最新操作
* @param list
* @param customerId
* @return java.util.Map<java.lang.String,java.lang.String>
* @author wangc
* @date 2020.09.28 14:44
*/
@Override
public Map<String, String> selectLatestOperation(List<String> list, String customerId) {
List<ProjectLatestOperationResultDTO> operations = baseDao.selectLatestOperation(list);
if(CollectionUtils.isEmpty(operations)){
return Collections.EMPTY_MAP;
}else{
return operations.stream().collect(Collectors.toMap(ProjectLatestOperationResultDTO :: getProjectId,ProjectLatestOperationResultDTO :: getOperationName));
}
}
/**
* @Description 跨级分组 eg -> transfer ; response response transfer ; return ; response close.
* @param dest - Map<String,List<ProjectOrgPeriodResultDTO>> 需要填充的数据

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

@ -2,14 +2,17 @@ package com.epmet.service.topic;
import com.epmet.dto.AgencySubTreeDto;
import com.epmet.dto.extract.result.TopicInfoResultDTO;
import com.epmet.dto.screen.form.ProjectSourceMapFormDTO;
import com.epmet.dto.stats.DimTopicStatusDTO;
import com.epmet.dto.stats.topic.result.TopicStatisticalData;
import com.epmet.dto.topic.ResiTopicDTO;
import com.epmet.dto.topic.TopicOriginInfoDTO;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity;
import com.epmet.util.DimIdGenerator;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @Author wangc
@ -62,4 +65,22 @@ public interface TopicService {
* @Date 2020/9/23 17:51
**/
List<TopicOriginInfoDTO> queryUpdateTopicOriginInfoList(String customerId, String updateDateId);
/**
* @Description 查询话题项目的图片
* @param list
* @return java.util.Map<java.lang.String,java.util.List<com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity>>
* @author wangc
* @date 2020.09.28 15:57
*/
Map<String,List<ScreenDifficultyImgDataEntity>> getTopicImgs(List<ProjectSourceMapFormDTO> list);
/**
* @Description 得到话题项目内容
* @param list
* @return java.util.Map<java.lang.String,java.lang.String>
* @author wangc
* @date 2020.09.28 16:28
*/
Map<String,String> getTopicContent(List<ProjectSourceMapFormDTO> list);
}

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

@ -6,6 +6,8 @@ import com.epmet.constant.DataSourceConstant;
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.form.ProjectSourceMapFormDTO;
import com.epmet.dto.stats.DimTopicStatusDTO;
import com.epmet.dto.stats.topic.*;
import com.epmet.dto.stats.topic.result.GroupTopicData;
@ -15,6 +17,7 @@ import com.epmet.dto.topic.TopicOriginInfoDTO;
import com.epmet.dto.topic.result.ResiGroupTopicResultDTO;
import com.epmet.dto.topic.result.ResiTopicOperationResultDTO;
import com.epmet.dto.topic.result.ResiTopicResultDTO;
import com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity;
import com.epmet.service.topic.TopicService;
import com.epmet.service.user.impl.UserServiceImpl;
import com.epmet.util.DimIdGenerator;
@ -24,10 +27,12 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
import java.text.NumberFormat;
import java.util.*;
import java.util.stream.Collector;
import java.util.stream.Collectors;
/**
@ -126,6 +131,55 @@ public class TopicServiceImpl implements TopicService {
return topicDao.queryUpdateTopicOriginInfoList(customerId,updateDateId);
}
/**
* @Description 查询话题的图片
* @param list
* @return java.util.Map<java.lang.String,java.util.List<com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity>>
* @author wangc
* @date 2020.09.28 15:57
*/
@Override
public Map<String,List<ScreenDifficultyImgDataEntity>> getTopicImgs(List<ProjectSourceMapFormDTO> list) {
if(CollectionUtils.isEmpty(list)) return Collections.EMPTY_MAP;
List<ScreenDifficultyImgDataEntity> imgs = topicDao.selectTopicImgs(list);
if(CollectionUtils.isEmpty(imgs)) return Collections.EMPTY_MAP;
//key -> topicId | value -> projectId
Map<String,String> projectTopicMap = list.stream().collect(Collectors.toMap(ProjectSourceMapFormDTO :: getSourceId,ProjectSourceMapFormDTO :: getProjectId));
//key -> topicId
Map<String,List<ScreenDifficultyImgDataEntity>> result
= imgs.stream().collect(Collectors.groupingBy(ScreenDifficultyImgDataEntity :: getEventId));
Map<String,List<ScreenDifficultyImgDataEntity>> projectResult = new HashMap<>();
projectTopicMap.forEach((topic,project) -> {
result.get(topic).forEach( dest -> {
dest.setEventId(project);
});
projectResult.put(project,result.get(topic));
});
return projectResult;
}
/**
* @Description 得到话题项目内容
* @param list
* @return java.util.Map<java.lang.String,java.lang.String>
* @author wangc
* @date 2020.09.28 16:28
*/
@Override
public Map<String, String> getTopicContent(List<ProjectSourceMapFormDTO> list) {
if(CollectionUtils.isEmpty(list)) return Collections.EMPTY_MAP;
List<TopicContentResultDTO> contents = topicDao.selectTopicContent(list);
if(CollectionUtils.isEmpty(contents)) return Collections.EMPTY_MAP;
Map<String,String> topicContentMap = contents.stream().collect(Collectors.toMap(TopicContentResultDTO :: getTopicId,TopicContentResultDTO::getContent));
//key -> topicId | value -> projectId
Map<String,String> projectTopicMap = list.stream().collect(Collectors.toMap(ProjectSourceMapFormDTO :: getSourceId,ProjectSourceMapFormDTO :: getProjectId));
Map<String,String> result = new HashMap<>();
projectTopicMap.forEach((topic,project) -> {
result.put(project,topicContentMap.get(topic));
});
return result;
}
/**
* @Description 初始化机关-所有下级网格Map

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

@ -405,14 +405,18 @@
</select>
<!-- 查询当天新立的项目,是为了增量新增难点赌点的图片库 -->
<select id="selectNewProject" resultType="string">
<select id="selectNewProject" resultType="com.epmet.dto.screen.form.ProjectSourceMapFormDTO">
SELECT
ID
ID as projectId,
TOPIC_ID as gridId
FROM
fact_origin_project_main_daily
WHERE
CUSTOMER_ID = #{customerId}
AND
DATE_ID = #{dateId}
<if test='null != list and "" != list.size() > 0'>
<foreach collection="list" item="projectId" open="AND ( " separator=" OR " close=" )">
ID = #{projectId}
</foreach>
</if>
</select>
</mapper>

117
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenDifficultyDataDao.xml

@ -98,4 +98,121 @@
AND
CUSTOMER_ID = #{customerId}
</update>
<delete id="deleteBatchDifficulty" parameterType="java.util.List">
DELETE
FROM screen_difficulty_data
WHERE
CUSTOMER_ID = #{customerId}
<if test="null != list and list.size() > 0">
<foreach collection="list" item="projectId" open="AND( " separator=" OR " close=")">
EVENT_ID = #{projectId}
</foreach>
</if>
</delete>
<delete id="deleteBatchDifficultyImg" parameterType="java.util.List">
DELETE
FROM screen_difficulty_img_data
<where>
<foreach collection="list" item="projectId" separator=" OR ">
EVENT_ID = #{projectId}
</foreach>
</where>
</delete>
<insert id="insertBatch" parameterType="list">
insert into screen_difficulty_data
(
ID,
CUSTOMER_ID,
ORG_TYPE,
ORG_ID,
PARENT_ID,
ORG_NAME,
EVENT_ID,
EVENT_IMG_URL,
EVENT_SOURCE,
EVENT_CONTENT,
EVENT_COST_TIME,
EVENT_RE_ORG,
EVENT_HANDLED_COUNT,
EVENT_CATEGORY_CODE,
EVENT_CATEGORY_NAME,
EVENT_STATUS_CODE,
EVENT_STATUS_DESC,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME,
LATEST_OPERATE_DESC,
DATA_END_TIME,
ALL_PARENT_IDS
) values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{item.customerId},
#{item.orgType},
#{item.orgId},
#{item.parentId},
#{item.orgName},
#{item.eventId},
#{item.eventImgUrl},
#{item.eventSource},
#{item.eventContent},
#{item.eventCostTime},
#{item.eventReOrg},
#{item.eventHandledCount},
#{item.eventCategoryCode},
#{item.eventCategoryName},
#{item.eventStatusCode},
#{item.eventStatusDesc},
0,
0,
'CRAWLER_ROBOT',
now(),
'CRAWLER_ROBOT',
now(),
#{item.latestOperateDesc},
#{item.dataEndTime},
#{item.allParentIds}
)
</foreach>
</insert>
<insert id="insertBatchImg" parameterType="list">
insert into screen_difficulty_img_data
(
ID,
EVENT_ID,
EVENT_IMG_URL,
SORT,
DEL_FLAG,
REVISION,
CREATED_BY,
CREATED_TIME,
UPDATED_BY,
UPDATED_TIME
) values
<foreach collection="list" item="item" index="index" separator=",">
(
(SELECT REPLACE(UUID(), '-', '') AS id),
#{item.eventId},
#{item.eventImgUrl},
#{item.sort},
0,
0,
'CRAWLER_ROBOT',
now(),
'CRAWLER_ROBOT',
now()
)
</foreach>
</insert>
</mapper>

13
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/group/GroupDataDao.xml

@ -211,6 +211,19 @@
)
</if>
</select>
<select id="selectTopicAttachments" resultType="com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity">
SELECT
ATTACHMENT_URL AS eventImgUrl,
SORT
FROM
resi_topic_attachment
WHERE
DEL_FLAG = '0'
</select>
</mapper>

17
epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml

@ -189,8 +189,21 @@
) b ON a.PROJECT_ID = b.PROJECT_ID
</select>
<!-- 查找项目最近一次操作说明 -->
<select id="selectLatestOperation" resultType="com.epmet.dto.project.result.ProjectLatestOperationResultDTO">
SELECT
process.PROJECT_ID,
process.OPERATION_NAME
FROM
project_process process
WHERE
process.DEL_FLAG = '0'
<if test="null != list and list.size() > 0">
<foreach collection="list" item="projectId" open="AND (" separator=" OR " close=" )">
process.PROJECT_ID = #{projectId}
</foreach>
</if>
GROUP BY process.PROJECT_ID
ORDER BY process.CREATED_TIME DESC
</select>
</mapper>

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

@ -215,4 +215,30 @@
where rt.del_flag='0'
and DATE_FORMAT( rt.UPDATED_TIME, '%Y%m%d' )=#{dateId}
</select>
<select id="selectTopicImgs" resultType="com.epmet.entity.evaluationindex.screen.ScreenDifficultyImgDataEntity">
SELECT
TOPIC_ID AS eventId
ATTACHMENT_URL AS eventImgUrl,
SORT
FROM
resi_topic_attachment
WHERE
DEL_FLAG = '0'
<foreach collection="list" item="item" open="AND (" separator=" OR " close=")">
TOPIC_ID = {item.topicId}
</foreach>
ORDER BY TOPIC_ID , SORT ASC
</select>
<select id="selectTopicContent" resultType="com.epmet.dto.group.result.TopicContentResultDTO">
SELECT
TOPIC_ID,
TOPIC_CONTENT AS content
FROM RESI_TOPIC
WHERE DEL_FLAG = '0'
<foreach collection="list" item="item" open="AND (" separator=" OR " close=")">
TOPIC_ID = {item.topicId}
</foreach>
</select>
</mapper>
Loading…
Cancel
Save