From 97706e0a174b8db1c1636da49ec5eee971725e5f Mon Sep 17 00:00:00 2001 From: wangchao Date: Mon, 16 Nov 2020 17:06:44 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=8A=BD=E5=8F=96=E5=88=B0=E5=A4=A7?= =?UTF-8?q?=E5=B1=8F-=E9=9A=BE=E7=82=B9=E8=B5=8C=E7=82=B9=E3=80=81?= =?UTF-8?q?=E7=83=AD=E5=BF=83=E5=B8=82=E6=B0=91=EF=BC=8C=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E5=9B=A0=E4=B8=BA=E5=88=A0=E9=99=A4=E7=BD=91=E6=A0=BC=E8=80=8C?= =?UTF-8?q?=E9=80=A0=E6=88=90=E5=9E=83=E5=9C=BE=E6=95=B0=E6=8D=AE=E7=9A=84?= =?UTF-8?q?=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProjectLatestOperationResultDTO.java | 4 ++ .../epmet/dao/project/ProjectProcessDao.java | 11 ----- ...srootsGovernDataAbsorptionServiceImpl.java | 45 ++++++++++++++----- .../screen/ScreenDifficultyDataService.java | 2 +- .../impl/ScreenDifficultyDataServiceImpl.java | 7 ++- .../project/ProjectProcessService.java | 15 +------ .../impl/ProjectProcessServiceImpl.java | 25 ++--------- .../extract/FactOriginProjectMainDailyDao.xml | 22 +-------- .../mapper/project/ProjectProcessDao.xml | 22 ++------- 9 files changed, 54 insertions(+), 99 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectLatestOperationResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectLatestOperationResultDTO.java index 12750903d1..f1ee458fa0 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectLatestOperationResultDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ProjectLatestOperationResultDTO.java @@ -17,4 +17,8 @@ public class ProjectLatestOperationResultDTO implements Serializable { private String projectId; private String operationName; + + private Integer costTime; + + private String title; } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java index 79e2f51b48..37e130e678 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/project/ProjectProcessDao.java @@ -153,15 +153,4 @@ public interface ProjectProcessDao extends BaseDao { * @date 2020.09.28 14:45 */ List selectLatestOperation(@Param("list") List list,@Param("customerId") String customerId); - - /** - * @Description 查找项目标题 - * @param list - * @return java.util.List - * @author wangc - * @date 2020.09.28 14:45 - */ - List selectProjectTitle(@Param("list") List list,@Param("customerId") String customerId); - - } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java index 53aebc29cb..8a60c6076b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/toscreen/impl/ScreenGrassrootsGovernDataAbsorptionServiceImpl.java @@ -5,6 +5,7 @@ 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.project.result.ProjectLatestOperationResultDTO; import com.epmet.dto.screen.form.ProjectSourceMapFormDTO; import com.epmet.dto.screen.form.ScreenCentralZoneDataFormDTO; import com.epmet.entity.evaluationindex.screen.ScreenDifficultyDataEntity; @@ -77,8 +78,7 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr //2.查询出客户下网格的相关信息 List gridList = customerGridService.queryGridInfoList(param.getCustomerId()); - Map gridMap = new HashMap<>(); - gridList.forEach(grid -> {gridMap.put(grid.getGridId(),grid);}); + Map gridMap = gridList.stream().collect(Collectors.toMap(GridInfoDTO :: getGridId,a -> a,(o, n) -> o)); //3.查询出客户下用户的累计积分(累计值,没有时间概念,否则需要查询积分明细计算出评价周期末的得分) Map pointMap = userPointService.getUserPointMap(param.getCustomerId()); @@ -99,6 +99,12 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr Map scoreMap = cpcIndexCalculateService.getCpcScore(param.getCustomerId(),dateId); + //剔除垃圾数据 + for(Iterator iter = registeredUsers.iterator(); + iter.hasNext();){ + if(null == gridMap.get(iter.next().getGridId())) iter.remove(); + } + //5.整合数据 if(!CollectionUtils.isEmpty(registeredUsers)){ registeredUsers.forEach(user -> { @@ -154,13 +160,26 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr //查询数据 List difficulties = factOriginProjectMainDailyService.getDifficultyBaseInfo(param.getCustomerId(),projectService.getOvertimeProjectByParameter(param.getCustomerId(),existed)); if(CollectionUtils.isEmpty(difficulties)) return; + //剔除垃圾数据 + //2.查询出客户下网格的相关信息 + List gridList = customerGridService.queryGridInfoList(param.getCustomerId()); + Map gridMap = gridList.stream().collect(Collectors.toMap(GridInfoDTO :: getGridId,a -> a,(o, n) -> o)); + List missing = new LinkedList<>(); + for(Iterator iter = difficulties.iterator(); iter.hasNext();){ + ScreenDifficultyDataEntity pointer = iter.next(); + if(null == gridMap.get(pointer.getOrgId())){ + missing.add(pointer.getEventId()); + iter.remove(); + } + } + + List projectIds = difficulties.stream().map(ScreenDifficultyDataEntity :: getEventId).distinct().collect(Collectors.toList()); //最近一次操作 - Map latestOperationMap = projectProcessService.getLatestOperation(projectIds,param.getCustomerId()); - //标题 - Map titleMap = projectProcessService.getProjectTitle(projectIds,param.getCustomerId()); + Map latestOperationMap = projectProcessService.getLatestOperation(projectIds,param.getCustomerId()); + boolean isOperationNull = CollectionUtils.isEmpty(latestOperationMap) ? true : false; - boolean isTitleNull = CollectionUtils.isEmpty(titleMap) ? true : false; + //图片 List projectSourceMap = factOriginProjectMainDailyService.getNewProject(param.getCustomerId(),projectIds); @@ -178,16 +197,20 @@ public class ScreenGrassrootsGovernDataAbsorptionServiceImpl implements ScreenGr diff.setEventContent(contentMap.get(diff.getEventId())); } if(!isOperationNull){ - diff.setLatestOperateDesc(latestOperationMap.get(diff.getEventId())); - } - if(!isTitleNull){ - diff.setEventTitle(titleMap.get(diff.getEventId())); + ProjectLatestOperationResultDTO oper = latestOperationMap.get(diff.getEventId()); + if(null != oper){ + diff.setLatestOperateDesc(oper.getOperationName()); + diff.setEventTitle(oper.getTitle()); + diff.setEventCostTime(oper.getCostTime()); + } + } + diff.setDataEndTime(DateUtils.getBeforeNDay(NumConstant.ONE)); }); List imgList = new LinkedList<>(); imgMap.values().forEach(list -> {imgList.addAll(list);}); - screenDifficultyDataService.dataClean(param.getCustomerId(),difficulties,imgList); + screenDifficultyDataService.dataClean(param.getCustomerId(),difficulties,imgList,missing); } } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java index 3c6dec0673..c133c88c84 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/ScreenDifficultyDataService.java @@ -49,6 +49,6 @@ public interface ScreenDifficultyDataService extends BaseService difficulties, List imgs); + void dataClean(String customerId,List difficulties, List imgs,List missing); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java index c539114666..a371230024 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenDifficultyDataServiceImpl.java @@ -53,7 +53,11 @@ public class ScreenDifficultyDataServiceImpl extends BaseServiceImpl difficulties, List imgs) { + public void dataClean(String customerId, List difficulties, List imgs,List missing) { + if(!CollectionUtils.isEmpty(missing)){ + baseDao.deleteBatchDifficulty(customerId, missing); + baseDao.deleteBatchDifficultyImg(missing); + } if (!CollectionUtils.isEmpty(difficulties)) { baseDao.deleteBatchDifficulty(customerId, difficulties.stream().map(ScreenDifficultyDataEntity::getEventId).distinct().collect(Collectors.toList())); baseDao.insertBatch(difficulties); @@ -62,7 +66,6 @@ public class ScreenDifficultyDataServiceImpl extends BaseServiceImpl * @Description 获得项目最新操作 * @param list * @param customerId - * @return java.util.Map + * @return * @author wangc * @date 2020.09.28 14:44 */ - Map getLatestOperation(List list, String customerId); - - /** - * @Description 获取项目标题 - * @param list - * @param customerId - * @return java.util.Map - * @author wangc - * @date 2020.10.27 14:34 - */ - Map getProjectTitle(Listlist ,String customerId); - + Map getLatestOperation(List list, String customerId); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java index 13552085b8..09d3d2f652 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/project/impl/ProjectProcessServiceImpl.java @@ -117,36 +117,17 @@ public class ProjectProcessServiceImpl extends BaseServiceImpl + * @return * @author wangc * @date 2020.09.28 14:44 */ @Override - public Map getLatestOperation(List list, String customerId) { + public Map getLatestOperation(List list, String customerId) { List operations = baseDao.selectLatestOperation(list,customerId); if(CollectionUtils.isEmpty(operations)){ return Collections.EMPTY_MAP; }else{ - return operations.stream().collect(Collectors.toMap(ProjectLatestOperationResultDTO :: getProjectId,ProjectLatestOperationResultDTO :: getOperationName)); + return operations.stream().collect(Collectors.toMap(ProjectLatestOperationResultDTO :: getProjectId,o->o,(a,n)-> a)); } } - - /** - * @Description 获取项目标题 - * @param list - * @param customerId - * @return java.util.Map - * @author wangc - * @date 2020.10.27 14:34 - */ - @Override - public Map getProjectTitle(List list, String customerId) { - List titles = baseDao.selectProjectTitle(list,customerId); - if(CollectionUtils.isEmpty(titles)){ - return Collections.EMPTY_MAP; - }else{ - return titles.stream().collect(Collectors.toMap(ProjectLatestOperationResultDTO :: getProjectId,ProjectLatestOperationResultDTO :: getOperationName)); - } - } - } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index baa6a83d25..f5c56529be 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -331,7 +331,7 @@ ( project.PROJECT_STATUS = 'pending', '处理中', '已结案' ) AS eventStatusDesc, IFNULL(relation.reOrg,0) AS eventReOrg, IFNULL(handleCount.HandledCount,0) AS eventHandledCount, - IFNULL(costTime.costTime,0) AS eventCostTime , + gridInfo.allParentIds FROM fact_origin_project_main_daily project @@ -382,26 +382,6 @@ GROUP BY PROJECT_ID ) handleCount ON project.ID = handleCount.PROJECT_ID - LEFT JOIN ( - SELECT - main.ID AS PROJECT_ID, - TIMESTAMPDIFF( - MINUTE, - str_to_date( main.DATE_ID, '%Y%m%d' ), - IF - ( main.IS_RESOLVED = 'resolved', time.HANDLED_DATE, NOW( ) ) - ) AS costTime - FROM - fact_origin_project_main_daily main - LEFT JOIN fact_origin_project_org_period_daily time ON main.ID = time.PROJECT_ID - AND time.DEL_FLAG = '0' - AND time.OPERATION = 'close' - WHERE - main.DEL_FLAG = '0' - AND main.CUSTOMER_ID = #{customerId} - GROUP BY - main.ID - ) costTime ON project.ID = costTime.PROJECT_ID WHERE project.DEL_FLAG = '0' AND project.CUSTOMER_ID = #{customerId} diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml index efa7b82bb4..3236a09bea 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml @@ -268,9 +268,11 @@ - - \ No newline at end of file From 0b4375f87c9c78e40c5ba59f3afccdc75985e4bd Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 16 Nov 2020 17:55:10 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=8E=9F=E5=A7=8B=E6=95=B0=E6=8D=AE=E6=8A=BD=E5=8F=96=20?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=95=B0=E6=8D=AE=E6=8F=90=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../todata/impl/ProjectExtractServiceImpl.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java index 5077794d49..5880abebe8 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java @@ -16,7 +16,6 @@ import com.epmet.dto.issue.IssueDTO; import com.epmet.dto.party.PartyMemberDTO; import com.epmet.dto.project.FinishOrgDTO; import com.epmet.dto.project.ProcessInfoDTO; -import com.epmet.dto.project.ProjectOrgRelationDTO; import com.epmet.dto.project.result.ProjectOrgPeriodResultDTO; import com.epmet.dto.result.WorkDayResultDTO; import com.epmet.dto.topic.ResiTopicDTO; @@ -42,8 +41,10 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; -import java.util.*; -import java.util.stream.Collector; +import java.util.ArrayList; +import java.util.Date; +import java.util.LinkedList; +import java.util.List; import java.util.stream.Collectors; /** @@ -192,8 +193,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setFinishOrgIds(org); })); //插入数据 + factOriginProjectMainDailyService.deleteByDate(customerId, dateString); if (!list.isEmpty()) { - factOriginProjectMainDailyService.deleteByDate(customerId, dateString); factOriginProjectMainDailyService.insertBatch(list); } } @@ -368,8 +369,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { path =path.substring(NumConstant.ZERO,path.length() - NumConstant.ONE); } entity.setPids(path); - }else{ - log.warn("【data-statistical】业务数据抽取模块,ProjectExtractServiceImpl.saveOriginProjectDaily:查询出的项目节点发起人所属的orgIdPath不正确,agencyId->{},orgIdPath->{}",process.getAgencyId(),process.getPids()); + } else { + log.warn("【data-statistical】业务数据抽取模块,ProjectExtractServiceImpl.saveOriginProjectDaily:查询出的项目节点发起人所属的orgIdPath不正确,agencyId->{},orgIdPath->{}", process.getAgencyId(), process.getPids()); entity.setPid(NumConstant.ZERO_STR); entity.setPids(""); } @@ -378,8 +379,8 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { return entity; }).collect(Collectors.toList())); + factOriginProjectLogDailyService.deleteByDate(customerId, dateString); if (!logList.isEmpty()) { - factOriginProjectLogDailyService.deleteByDate(customerId, dateString); factOriginProjectLogDailyService.insertBatch(logList); } From ea4045b37e4f245af3e914ec1152137cffad3bbc Mon Sep 17 00:00:00 2001 From: jianjun Date: Mon, 16 Nov 2020 18:07:09 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=8E=9F=E5=A7=8B=E6=95=B0=E6=8D=AE=E6=8A=BD=E5=8F=96=20?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=95=B0=E6=8D=AE=E6=8F=90=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extract/todata/impl/ProjectExtractServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java index 5880abebe8..452edc9665 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java @@ -124,6 +124,7 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { } //获取项目信息 List projectList = projectService.getProjectInfo(customerId, dateString); + factOriginProjectMainDailyService.deleteByDate(customerId, dateString); if (!CollectionUtils.isEmpty(projectList)) { //提取议题ID List issueIds = projectList.stream().map(ProjectDTO::getOriginId).collect(Collectors.toList()); @@ -193,7 +194,6 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setFinishOrgIds(org); })); //插入数据 - factOriginProjectMainDailyService.deleteByDate(customerId, dateString); if (!list.isEmpty()) { factOriginProjectMainDailyService.insertBatch(list); }