From fa02b878511cb50bdd279511d95966b9e5437da5 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 11 Mar 2022 15:12:23 +0800 Subject: [PATCH 01/23] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=BD=91=E6=A0=BC?= =?UTF-8?q?=E6=97=A5=E7=BB=9F=E8=AE=A1=20=E6=9F=A5=E8=AF=A2=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E9=A1=B9=E7=9B=AE=E4=BF=AE=E6=94=B9=EF=BC=8C=E7=BD=91?= =?UTF-8?q?=E6=A0=BC=E7=9A=84=E9=A1=B9=E7=9B=AE=E4=B8=8D=E5=86=8D=E5=8F=AA?= =?UTF-8?q?=E6=98=AF=E6=9D=A5=E6=BA=90=E8=AE=AE=E9=A2=98=EF=BC=8C=E4=B9=9F?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E6=9D=A5=E6=BA=90=E4=BA=8B=E4=BB=B6=E6=88=96?= =?UTF-8?q?=E8=80=85=E7=BD=91=E6=A0=BC=E5=91=98=E4=B8=8A=E6=8A=A5=E4=BA=8B?= =?UTF-8?q?=E4=BB=B6=EF=BC=8C=E6=89=80=E4=BB=A5=E6=94=B9=E6=9F=A5=E9=A1=B9?= =?UTF-8?q?=E7=9B=AEmain=E8=A1=A8=E7=BD=91=E6=A0=BC=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../result/GridProjectToProjectMainDTO.java | 56 ++++++++++++++++ .../dao/stats/FactAgencyProjectDailyDao.java | 8 +++ .../service/impl/StatsProjectServiceImpl.java | 65 +++++++++++-------- .../stats/FactAgencyProjectDailyService.java | 8 +++ .../FactAgencyProjectDailyServiceImpl.java | 12 ++++ .../stats/FactAgencyProjectDailyDao.xml | 17 +++++ 6 files changed, 139 insertions(+), 27 deletions(-) create mode 100644 epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/GridProjectToProjectMainDTO.java diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/GridProjectToProjectMainDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/GridProjectToProjectMainDTO.java new file mode 100644 index 0000000000..7d06186528 --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/result/GridProjectToProjectMainDTO.java @@ -0,0 +1,56 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.epmet.dto.extract.result; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 网格项目main表数据 + */ +@Data +public class GridProjectToProjectMainDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 项目ID + */ + private String projectId; + /** + * 项目的发布日期yyyyMMdd + */ + private String dateId; + /** + * 网格ID + */ + private String gridId; + /** + * 状态 + */ + private String projectStatus; + /** + * resolved unresolved + * */ + private String isResolved; + + +} \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactAgencyProjectDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactAgencyProjectDailyDao.java index 87409a6607..61e8057193 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactAgencyProjectDailyDao.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/stats/FactAgencyProjectDailyDao.java @@ -18,8 +18,10 @@ package com.epmet.dao.stats; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.extract.result.GridProjectToProjectMainDTO; import com.epmet.dto.project.form.MonthProjectListFormDTO; import com.epmet.entity.evaluationindex.screen.ScreenUserTotalDataEntity; +import com.epmet.entity.project.ProjectEntity; import com.epmet.entity.stats.FactAgencyProjectDailyEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -60,4 +62,10 @@ public interface FactAgencyProjectDailyDao extends BaseDao selectProjectCountByOrgLevel(@Param("orgLevel") String orgLevel, @Param("customerId") String customerId, @Param("dateId")String dateId ); + /** + * @Author sun + * @Description 查询客户项目main表里是网格项目的数据 + **/ + List getGridProjectToProjectMain(ProjectEntity projectEntity); + } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java index 852fb8c47d..1891c55e7d 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/impl/StatsProjectServiceImpl.java @@ -5,12 +5,11 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.DateUtils; import com.epmet.constant.PingYinConstant; import com.epmet.constant.ProjectConstant; -import com.epmet.dto.ProjectDTO; import com.epmet.dto.StatsFormDTO; +import com.epmet.dto.extract.result.GridProjectToProjectMainDTO; import com.epmet.dto.project.form.MonthProjectListFormDTO; import com.epmet.dto.stats.DimAgencyDTO; import com.epmet.dto.stats.DimGridDTO; -import com.epmet.entity.issue.IssueEntity; import com.epmet.entity.org.CustomerAgencyEntity; import com.epmet.entity.project.ProjectEntity; import com.epmet.entity.project.ProjectProcessEntity; @@ -677,26 +676,16 @@ public class StatsProjectServiceImpl implements StatsProjectService { } //2022.3.3 end sun - //3:根据客户Id查询项目业务表已结案数据(查询传入日期及之前的数据) - ProjectEntity projectEntity = new ProjectEntity(); - projectEntity.setCustomerId(customerId); - projectEntity.setCreatedTime(date); - projectEntity.setStatus(ProjectConstant.CLOSED); - List projectList = projectService.getProjectList(projectEntity); - - //4:查询项目处理进展表中有效数据(创建日期截取yyyy-mm-dd格式字段值)(查询传入日期及之前的数据) - List processList = projectProcessService.getProcessList(projectEntity); - - //5:网格层级日月统计 + //3:网格层级日月统计 if (null != dimGridList && dimGridList.size() > NumConstant.ZERO) { - //5.1:执行网格日数据统计 + //3-1:执行网格日数据统计 try { - gridDateProjectStats(customerId, dimId, date, dimGridList, projectList, processList); + gridDateProjectStats(customerId, dimId, date, dimGridList); } catch (Exception e) { log.error(String.format(ProjectConstant.STATS_FAILED_PREFIX, "gridDateProjectStats", customerId, dimId.getDateId()), e); } - //5.2:执行网格月数据统计 + //3-2:执行网格月数据统计 try { gridMonthProjectStats(customerId, dimId, dimGridList); } catch (Exception e) { @@ -712,22 +701,44 @@ public class StatsProjectServiceImpl implements StatsProjectService { * @Author sun * @Description 数据-项目-网格日统计 **/ - private String gridDateProjectStats(String customerId, DimIdGenerator.DimIdBean dimId, Date date, List dimGridList, List projectList, List processList) { + private String gridDateProjectStats(String customerId, DimIdGenerator.DimIdBean dimId, Date date, List dimGridList) { //批量网格日统计新增对象 List gridDateEntityList = new ArrayList<>(); //计算百分比使用,保留小数点后两位 NumberFormat numberFormat = NumberFormat.getInstance(); numberFormat.setMaximumFractionDigits(6); - //1:根据客户Id查询议题库已转项目的网格项目关系数据 + /*//1:根据客户Id查询议题库已转项目的网格项目关系数据 IssueEntity issueEntity = new IssueEntity(); issueEntity.setCustomerId(customerId); issueEntity.setCreatedTime(date); - List gridProjectList = issueService.getGridProjectList(issueEntity); + List gridProjectList = issueService.getGridProjectList(issueEntity);*/ - //2:遍历网格维度数据,统计每个网格各项指标数据 + ProjectEntity projectEntity = new ProjectEntity(); + projectEntity.setCustomerId(customerId); + projectEntity.setCreatedTime(date); + //2022.3.11 网格项目数据原先查的是来源议题的项目,现在网格的项目有来源议题、事件上报给网格、网格员在网格内上报事件,所以网格的项目统计改查询项目的main表中网格项目数据 + //1.查询客户项目main表里是网格项目的数据 + List gridProjectList = factAgencyProjectDailyService.getGridProjectToProjectMain(projectEntity); + + //2.筛选出已结案项目,用于后续统计结案项目的已解决未解决数 + List projectList = new ArrayList<>(); + ProjectEntity entity = null; + for (GridProjectToProjectMainDTO gp : gridProjectList){ + if(ProjectConstant.CLOSED.equals(gp.getProjectStatus())){ + entity = new ProjectEntity(); + entity.setId(gp.getProjectId() ); + entity.setClosedStatus(gp.getProjectStatus()); + projectList.add(entity); + } + } + + //3.查询客户下项目节点表数据,用于统计不同状态项目数、日增量数 + List processList = projectProcessService.getProcessList(projectEntity); + + //4:遍历网格维度数据,统计每个网格各项指标数据 for (DimGridEntity grid : dimGridList) { - //2.1:存放网格下的项目Id + //4-1:存放网格下的项目Id Map map = new HashMap<>(); gridProjectList.forEach(gridProject -> { if (grid.getId().equals(gridProject.getGridId())) { @@ -748,7 +759,7 @@ public class StatsProjectServiceImpl implements StatsProjectService { Map closeMap = new HashMap<>(); //存放前一日已结案项目Id,用于统计日增量中已结案项目的已解决、未解决数量 Map closeDateMap = new HashMap<>(); - //2.2:遍历进展数据,统计截止当日的项目总量、处理中总量、已结案总量以及日增量中的项目总量、处理中总量、已结案总量 + //4-2:遍历进展数据,统计截止当日的项目总量、处理中总量、已结案总量以及日增量中的项目总量、处理中总量、已结案总量 //截止当日项目总数 projectTotal.addAndGet(map.size()); processList.forEach(process -> { @@ -771,7 +782,7 @@ public class StatsProjectServiceImpl implements StatsProjectService { } } }); - //2.3:遍历项目业务数据,统计截止当日的已结案已解决总量、已结案未解决总量以及日增量中的已结案已解决总量、已结案未解决总量 + //4-3:遍历项目业务数据,统计截止当日的已结案已解决总量、已结案未解决总量以及日增量中的已结案已解决总量、已结案未解决总量 projectList.forEach(project -> { //当前机关及下级 if (map.containsKey(project.getId())) { @@ -798,7 +809,7 @@ public class StatsProjectServiceImpl implements StatsProjectService { } }); - //2.4:封装日数据对象 + //4-4:封装日数据对象 FactGridProjectDailyEntity gridDailyEntity = new FactGridProjectDailyEntity(); gridDailyEntity.setCustomerId(customerId); gridDailyEntity.setAgencyId(grid.getAgencyId()); @@ -830,16 +841,16 @@ public class StatsProjectServiceImpl implements StatsProjectService { gridDateEntityList.add(gridDailyEntity); } - //3:批量新增数据,先删后增 + //5:批量新增数据,先删后增 if (null != gridDateEntityList && gridDateEntityList.size() > NumConstant.ZERO) { - //3.1:根据客户Id、日维度Id批量物理删除一下可能存在的历史数据 + //5-1:根据客户Id、日维度Id批量物理删除一下可能存在的历史数据 FactAgencyProjectDailyEntity delEntity = new FactAgencyProjectDailyEntity(); delEntity.setCustomerId(customerId); delEntity.setDateId(dimId.getDateId()); log.info("StatsProjectServiceImpl.gridDateProjectStats-根据客户Id、日维度Id批量删除网格项目日统计表数据,对应客户Id:" + customerId + ",日维度Id:" + dimId.getDateId()); factGridProjectDailyService.delDateProject(delEntity); - //3.2:批量保存网格日统计数据 + //5-2:批量保存网格日统计数据 log.info("StatsProjectServiceImpl.gridDateProjectStats-批量新增网格项目日统计表数据,对应客户Id:" + customerId + ",日维度Id:" + dimId.getDateId()); factGridProjectDailyService.insertBatch(gridDateEntityList); } diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactAgencyProjectDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactAgencyProjectDailyService.java index f7df122755..2fc68f316a 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactAgencyProjectDailyService.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/FactAgencyProjectDailyService.java @@ -18,7 +18,9 @@ package com.epmet.service.stats; import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.dto.extract.result.GridProjectToProjectMainDTO; import com.epmet.dto.project.form.MonthProjectListFormDTO; +import com.epmet.entity.project.ProjectEntity; import com.epmet.entity.stats.FactAgencyProjectDailyEntity; import java.util.List; @@ -44,4 +46,10 @@ public interface FactAgencyProjectDailyService extends BaseService getGridProjectToProjectMain(ProjectEntity projectEntity); } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactAgencyProjectDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactAgencyProjectDailyServiceImpl.java index ddf18955ec..a80d9f740b 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactAgencyProjectDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/stats/impl/FactAgencyProjectDailyServiceImpl.java @@ -21,7 +21,9 @@ import com.epmet.commons.dynamic.datasource.annotation.DataSource; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.constant.DataSourceConstant; import com.epmet.dao.stats.FactAgencyProjectDailyDao; +import com.epmet.dto.extract.result.GridProjectToProjectMainDTO; import com.epmet.dto.project.form.MonthProjectListFormDTO; +import com.epmet.entity.project.ProjectEntity; import com.epmet.entity.stats.FactAgencyProjectDailyEntity; import com.epmet.service.stats.FactAgencyProjectDailyService; import org.springframework.stereotype.Service; @@ -58,4 +60,14 @@ public class FactAgencyProjectDailyServiceImpl extends BaseServiceImpl getGridProjectToProjectMain(ProjectEntity projectEntity) { + return baseDao.getGridProjectToProjectMain(projectEntity); + } + } \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactAgencyProjectDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactAgencyProjectDailyDao.xml index b2333a5451..89b2351bd5 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactAgencyProjectDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/stats/FactAgencyProjectDailyDao.xml @@ -44,5 +44,22 @@ AND DATE_ID = #{dateId} + + \ No newline at end of file From 4efd53bb10770b458eaf92349c2609f9e34c729b Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 11 Mar 2022 16:17:02 +0800 Subject: [PATCH 02/23] =?UTF-8?q?=E7=BD=91=E6=A0=BC=E6=B4=BB=E8=B7=83?= =?UTF-8?q?=E5=BA=A6=E7=BB=9F=E8=AE=A1=E6=9F=A5=E8=AF=A2=EF=BC=8C=E6=BA=90?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=94=B9=E6=9F=A5screen=5Fproject=5Fdata?= =?UTF-8?q?=E8=A1=A8=EF=BC=8C=E8=BF=99=E4=B8=AA=E8=A1=A8=E5=B9=B3=E9=98=B4?= =?UTF-8?q?=E7=9A=84=E6=98=AF=E4=B8=89=E4=B8=AA=E8=A1=97=E9=81=93=E5=92=8C?= =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E6=95=B0=E6=8D=AE=E9=83=BD=E6=9C=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/evaluationindex/EvaluationIndexDao.java | 7 +++++++ .../evaluationindex/EvaluationIndexService.java | 8 ++++++++ .../impl/EvaluationIndexServiceImpl.java | 11 +++++++++++ .../service/govorg/impl/GovOrgServiceImpl.java | 9 +++++++-- .../evaluationindex/EvaluationIndexDao.xml | 16 ++++++++++++++++ 5 files changed, 49 insertions(+), 2 deletions(-) diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/evaluationindex/EvaluationIndexDao.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/evaluationindex/EvaluationIndexDao.java index 5afe394900..da7f97b6bf 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/evaluationindex/EvaluationIndexDao.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/dao/evaluationindex/EvaluationIndexDao.java @@ -21,6 +21,8 @@ import com.epmet.dataaggre.dto.datastats.result.GovrnRatioResultDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenGovernRankDataDailyDTO; +import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO; +import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO; import com.epmet.dataaggre.dto.govproject.form.ProjectCategoryTotalFormDTO; import com.epmet.dataaggre.dto.govproject.result.ProjectCategoryTotalResultDTO; import org.apache.ibatis.annotations.Mapper; @@ -111,4 +113,9 @@ public interface EvaluationIndexDao { */ List projectCategoryList(ProjectCategoryTotalFormDTO formDTO); + /** + * @Description 查询直属下级组织下网格在查询时间段内存在创建项目记录,一个网格一天一条 + * @author sun + */ + List getGridProejctToProjectMain(GridLivelyFormDTO formDTO); } \ No newline at end of file diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/EvaluationIndexService.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/EvaluationIndexService.java index bd5cfd6886..381b6f9625 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/EvaluationIndexService.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/EvaluationIndexService.java @@ -6,6 +6,8 @@ import com.epmet.dataaggre.dto.evaluationindex.ScreenAgencyOrGridListDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenGovernRankDataDailyDTO; +import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO; +import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO; import com.epmet.dataaggre.dto.govproject.form.ProjectCategoryTotalFormDTO; import com.epmet.dataaggre.dto.govproject.result.ProjectCategoryTotalResultDTO; @@ -93,4 +95,10 @@ public interface EvaluationIndexService { * @author sun */ List projectCategoryList(ProjectCategoryTotalFormDTO formDTO); + + /** + * @Description 查询直属下级组织下网格在查询时间段内存在创建项目记录,一个网格一天一条 + * @author sun + */ + List getGridProejctToProjectMain(GridLivelyFormDTO formDTO); } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/impl/EvaluationIndexServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/impl/EvaluationIndexServiceImpl.java index e3f1b246af..3e8f60d6a9 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/impl/EvaluationIndexServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/evaluationindex/impl/EvaluationIndexServiceImpl.java @@ -11,6 +11,8 @@ import com.epmet.dataaggre.dto.evaluationindex.ScreenAgencyOrGridListDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerAgencyDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenCustomerGridDTO; import com.epmet.dataaggre.dto.evaluationindex.ScreenGovernRankDataDailyDTO; +import com.epmet.dataaggre.dto.govorg.form.GridLivelyFormDTO; +import com.epmet.dataaggre.dto.govorg.result.GridDateIdResultDTO; import com.epmet.dataaggre.dto.govproject.form.ProjectCategoryTotalFormDTO; import com.epmet.dataaggre.dto.govproject.result.ProjectCategoryTotalResultDTO; import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService; @@ -217,4 +219,13 @@ public class EvaluationIndexServiceImpl implements EvaluationIndexService { return evaluationIndexDao.projectCategoryList(formDTO); } + /** + * @Description 查询直属下级组织下网格在查询时间段内存在创建项目记录,一个网格一天一条 + * @author sun + */ + @Override + public List getGridProejctToProjectMain(GridLivelyFormDTO formDTO) { + return evaluationIndexDao.getGridProejctToProjectMain(formDTO); + } + } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java index 03b3789fb1..13e5507083 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/govorg/impl/GovOrgServiceImpl.java @@ -34,6 +34,7 @@ import com.epmet.dataaggre.excel.GridLivelyExcel; import com.epmet.dataaggre.service.commonservice.AreaCodeService; import com.epmet.dataaggre.service.datastats.DataStatsService; import com.epmet.dataaggre.service.epmetuser.EpmetUserService; +import com.epmet.dataaggre.service.evaluationindex.EvaluationIndexService; import com.epmet.dataaggre.service.govorg.GovOrgService; import com.epmet.dataaggre.service.opercrm.CustomerRelation; import com.epmet.dto.result.UploadImgResultDTO; @@ -88,6 +89,8 @@ public class GovOrgServiceImpl implements GovOrgService { private DataStatsService dataStatsService; @Autowired private OssFeignClient ossFeignClient; + @Autowired + private EvaluationIndexService evaluationIndexService; /** * @param staffId @@ -694,8 +697,10 @@ public class GovOrgServiceImpl implements GovOrgService { List workList = epmetUserService.getGridDateRoutineWorkList(formDTO); /*//3.查询直属下级组织下网格在查询时间段内存在上报事件(直接立项)数的网格,一天一条 List projectList = dataStatsService.getGridDateProjectIncrList(formDTO);*/ - //3.查询直属下级组织下网格在查询时间段内存在创建项目记录,一个网格一天一条 - List projectList = dataStatsService.getGridProejctToProjectMain(formDTO); + /*//3.查询直属下级组织下网格在查询时间段内存在创建项目记录,一个网格一天一条 + List projectList = dataStatsService.getGridProejctToProjectMain(formDTO);*/ + //3.查询直属下级组织下网格在查询时间段内存在创建项目记录,一个网格一天一条[改查screen_project_data表,因为平阴三个街道和小程序的数据都在这个表有] + List projectList = evaluationIndexService.getGridProejctToProjectMain(formDTO); //4.汇总数据,一个网格一天只记录一条数据,这条数据可能是例行工作的也可能是上报事件的,也可能某一天两个数都有,但只记录一条 Set map = workList.stream().map(o -> o.getGridId() + o.getDateId()).collect(Collectors.toSet()); projectList.stream().filter(pro -> !map.contains(pro.getGridId() + pro.getDateId())).forEach(p -> workList.add(p)); diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/evaluationindex/EvaluationIndexDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/evaluationindex/EvaluationIndexDao.xml index c3b45aba0d..37f8d40bd6 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/evaluationindex/EvaluationIndexDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/evaluationindex/EvaluationIndexDao.xml @@ -196,4 +196,20 @@ ORDER BY project_total DESC + + From 588031204c45cff1fc478f61d13aef0de855f644 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 11 Mar 2022 16:19:42 +0800 Subject: [PATCH 03/23] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=A2=9E=E5=8A=A0work?= =?UTF-8?q?=5Fevent=E6=9D=A5=E6=BA=90=EF=BC=8C=E4=B8=BA=E7=BD=91=E6=A0=BC?= =?UTF-8?q?=E5=91=98=E4=B8=8A=E6=8A=A5=E4=BA=8B=E4=BB=B6=EF=BC=8C=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E8=AE=BE=E8=AE=A1=E5=88=B0=E7=9A=84=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FactAgencyGovernDailyEntity.java | 9 ++++++- .../datastats/impl/DataStatsServiceImpl.java | 5 +++- .../mapper/datastats/DatsStatsDao.xml | 10 ++++--- .../dto/extract/FactAgencyGovernDailyDTO.java | 9 +++++++ .../dto/extract/FactGridGovernDailyDTO.java | 9 +++++++ .../com/epmet/constant/ProjectConstant.java | 2 ++ .../extract/FactAgencyGovernDailyEntity.java | 8 ++++++ .../extract/FactGridGovernDailyEntity.java | 11 +++++++- .../FactAgencyGovernDailyServiceImpl.java | 27 +++++++++++++++++++ .../impl/FactGridGovernDailyServiceImpl.java | 16 ++++++++++- .../impl/ProjectExtractServiceImpl.java | 6 ++--- .../impl/ScreenProjectSettleServiceImpl.java | 16 +++++++++++ .../migration/V0.0.30__add_project_origin.sql | 13 +++++++++ .../extract/FactOriginProjectMainDailyDao.xml | 4 +-- .../dto/form/ProjectApprovalFormDTO.java | 11 ++++++++ .../com/epmet/constant/ProjectConstant.java | 5 ++++ .../controller/ProjectTraceController.java | 5 ++++ .../service/impl/ProjectTraceServiceImpl.java | 12 +++++++-- .../db/migration/V0.0.20__project_origin.sql | 2 ++ .../src/main/resources/mapper/ProjectDao.xml | 4 +-- 20 files changed, 168 insertions(+), 16 deletions(-) create mode 100644 epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.30__add_project_origin.sql create mode 100644 epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.20__project_origin.sql diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactAgencyGovernDailyEntity.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactAgencyGovernDailyEntity.java index 77bcd7cc34..a0dc4073d4 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactAgencyGovernDailyEntity.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/entity/datastats/FactAgencyGovernDailyEntity.java @@ -179,6 +179,13 @@ public class FactAgencyGovernDailyEntity extends BaseEpmetEntity { * 当前组织内结案的项目中:由区直部门结案的项目总数 */ private Integer districtDeptClosedCount; - + /** + * 17、当前组织内:来源于工作人员上报事件的项目:结案已解决数 + */ + private Integer workEventResolvedCount; + /** + * 18、当前组织内:来源于工作人员上报事件的项目:结案无需解决数 + */ + private Integer workEventUnResolvedCount; } diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java index 527b6a484b..ce0372f485 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/java/com/epmet/dataaggre/service/datastats/impl/DataStatsServiceImpl.java @@ -1197,8 +1197,11 @@ public class DataStatsServiceImpl implements DataStatsService, ResultDataResolve Integer projectUnResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getApprovalProjectUnResolvedCount).sum(); Integer eventResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getEventResolvedCount).sum(); Integer eventUnResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getEventUnResolvedCount).sum(); + Integer workEventResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getWorkEventResolvedCount).sum(); + Integer workEventUnResolvedCount = list.stream().mapToInt(FactAgencyGovernDailyEntity::getWorkEventUnResolvedCount).sum(); Integer closedProjectTotal = issueResolvedCount + issueUnResolvedCount+projectResolvedCount - + projectUnResolvedCount + eventResolvedCount + eventUnResolvedCount; + + projectUnResolvedCount + eventResolvedCount + eventUnResolvedCount + + workEventResolvedCount + workEventUnResolvedCount; resultDTO.setProblemResolvedCount(closedProjectTotal); resultDTO.setGroupSelfGovernRatio(getPercentage(inGroupTopicResolvedCount + inGroupTopicUnResolvedCount, problemResolvedCount)); resultDTO.setGridSelfGovernRatio(getPercentage(gridSelfGovernProjectTotal, closedProjectTotal)); diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml index 891e6f2cf4..5d3d6577ce 100644 --- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml +++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml @@ -630,7 +630,8 @@ `level` AS level, ISSUE_PROJECT_RESOLVED_COUNT+ISSUE_PROJECT_UN_RESOLVED_COUNT +APPROVAL_PROJECT_RESOLVED_COUNT+APPROVAL_PROJECT_UN_RESOLVED_COUNT - +EVENT_RESOLVED_COUNT+EVENT_UN_RESOLVED_COUNT AS problemResolvedCount, + +EVENT_RESOLVED_COUNT+EVENT_UN_RESOLVED_COUNT + +WORK_EVENT_RESOLVED_COUNT+WORK_EVENT_UN_RESOLVED_COUNT AS problemResolvedCount, concat(ROUND(group_self_govern_ratio*100, 1),'%') AS groupSelfGovernRatio, concat(ROUND(grid_self_govern_ratio*100, 1),'%') AS gridSelfGovernRatio, concat(ROUND(community_closed_ratio*100, 1),'%') AS communityResolvedRatio, @@ -652,7 +653,8 @@ grid_id AS gridId, ISSUE_PROJECT_RESOLVED_COUNT+ISSUE_PROJECT_UN_RESOLVED_COUNT +APPROVAL_PROJECT_RESOLVED_COUNT+APPROVAL_PROJECT_UN_RESOLVED_COUNT - +EVENT_RESOLVED_COUNT+EVENT_UN_RESOLVED_COUNT AS problemResolvedCount, + +EVENT_RESOLVED_COUNT+EVENT_UN_RESOLVED_COUNT + +WORK_EVENT_RESOLVED_COUNT+WORK_EVENT_UN_RESOLVED_COUNT AS problemResolvedCount, concat(ROUND(group_self_govern_ratio*100, 1),'%') AS groupSelfGovernRatio, concat(ROUND(grid_self_govern_ratio*100, 1),'%') AS gridSelfGovernRatio, concat(ROUND(community_closed_ratio*100, 1),'%') AS communityResolvedRatio, @@ -689,7 +691,9 @@ APPROVAL_PROJECT_RESOLVED_COUNT, APPROVAL_PROJECT_UN_RESOLVED_COUNT, EVENT_RESOLVED_COUNT, - EVENT_UN_RESOLVED_COUNT + EVENT_UN_RESOLVED_COUNT, + WORK_EVENT_RESOLVED_COUNT, + WORK_EVENT_UN_RESOLVED_COUNT FROM fact_agency_govern_daily WHERE diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java index a550775779..5767491aa3 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactAgencyGovernDailyDTO.java @@ -138,6 +138,15 @@ public class FactAgencyGovernDailyDTO implements Serializable { */ private Integer eventUnResolvedCount; + /** + * 17、当前组织内:来源于工作人员上报事件的项目:结案已解决数 + */ + private Integer workEventResolvedCount; + /** + * 18、当前组织内:来源于工作人员上报事件的项目:结案无需解决数 + */ + private Integer workEventUnResolvedCount; + /** * 未出当前网格的,结案项目数 */ diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java index b8d585f00f..e1122d933b 100644 --- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java +++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/extract/FactGridGovernDailyDTO.java @@ -149,6 +149,15 @@ public class FactGridGovernDailyDTO implements Serializable { */ private Integer eventUnResolvedCount; + /** + * 21、当前组织内:来源于工作人员上报事件的项目:结案已解决数 + */ + private Integer workEventResolvedCount; + /** + * 22、当前组织内:来源于工作人员上报事件的项目:结案无需解决数 + */ + private Integer workEventUnResolvedCount; + /** * 15、未出当前网格的,结案项目数=11+12+13+14 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java index 1bb5176a49..07cb835339 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -83,6 +83,8 @@ public interface ProjectConstant { String PROJECT_ORIGIN_AGENCY="agency"; String PROJECT_ORIGIN_EVENT="resi_event"; + + String PROJECT_ORIGIN_WORK_EVENT="work_event"; /** * 自办 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java index 95f48fdeee..523f482902 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactAgencyGovernDailyEntity.java @@ -158,6 +158,14 @@ public class FactAgencyGovernDailyEntity extends BaseEpmetEntity { * 12、当前组织内:来源于事件的项目:结案无需解决数 */ private Integer eventUnResolvedCount; + /** + * 17、当前组织内:来源于工作人员上报事件的项目:结案已解决数 + */ + private Integer workEventResolvedCount; + /** + * 18、当前组织内:来源于工作人员上报事件的项目:结案无需解决数 + */ + private Integer workEventUnResolvedCount; /** * 未出当前网格的,结案项目数 */ diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java index 827a6fdf75..204a3591ff 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/extract/FactGridGovernDailyEntity.java @@ -177,6 +177,14 @@ public class FactGridGovernDailyEntity extends BaseEpmetEntity { * 16、当前组织内:来源于事件的项目:结案无需解决数 */ private Integer eventUnResolvedCount; + /** + * 17、当前组织内:来源于工作人员上报事件的项目:结案已解决数 + */ + private Integer workEventResolvedCount; + /** + * 18、当前组织内:来源于工作人员上报事件的项目:结案无需解决数 + */ + private Integer workEventUnResolvedCount; /** @@ -204,7 +212,6 @@ public class FactGridGovernDailyEntity extends BaseEpmetEntity { //界面展示 this.problemResolvedCount = NumConstant.ZERO; this.groupSelfGovernRatio=BigDecimal.ZERO; - this.gridSelfGovernProjectTotal=NumConstant.ZERO; this.communityClosedRatio=BigDecimal.ZERO; this.streetClosedRatio=BigDecimal.ZERO; this.districtDeptClosedRatio=BigDecimal.ZERO; @@ -219,6 +226,8 @@ public class FactGridGovernDailyEntity extends BaseEpmetEntity { this.approvalProjectUnResolvedCount=NumConstant.ZERO; this.eventResolvedCount=NumConstant.ZERO; this.eventUnResolvedCount=NumConstant.ZERO; + this.workEventResolvedCount=NumConstant.ZERO; + this.workEventUnResolvedCount=NumConstant.ZERO; this.inGroupTopicResolvedCount=NumConstant.ZERO; this.inGroupTopicUnResolvedCount=NumConstant.ZERO; this.fromIssueResolvedInGridCount=NumConstant.ZERO; diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java index 52b6310caf..ccf0ee8597 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactAgencyGovernDailyServiceImpl.java @@ -260,6 +260,31 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl workEventProjectResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, + dateId, ProjectConstant.RESOLVED, + ProjectConstant.PROJECT_ORIGIN_WORK_EVENT); + if (!eventProjectResolvedTotal.isEmpty()) { + agencyGovernDailyList.forEach(item -> { + OrgStatisticsResultDTO dto = eventProjectResolvedTotal.get(item.getAgencyId()); + if (null != dto) { + item.setWorkEventResolvedCount(dto.getSum()); + } + }); + } + //2022.03.11 当前组织内:来源于工作人员上报事件的项目:结案无需解决数 + Map workEventProjectUnResolvedTotal = factOriginProjectMainDailyService.getAgencyClosedProjectCount(customerId, + dateId, ProjectConstant.UNRESOLVED, + ProjectConstant.PROJECT_ORIGIN_WORK_EVENT); + if (!eventProjectUnResolvedTotal.isEmpty()) { + agencyGovernDailyList.forEach(item -> { + OrgStatisticsResultDTO dto = eventProjectUnResolvedTotal.get(item.getAgencyId()); + if (null != dto) { + item.setWorkEventUnResolvedCount(dto.getSum()); + } + }); + } + // 2.党群自治占比:当前组织下,所有小组内关闭(已解决+无需解决)的话题数与问题解决总数之比(未出小组:未转议题的) agencyGovernDailyList.forEach(item -> { int count = item.getInGroupTopicResolvedCount() + item.getInGroupTopicUnResolvedCount(); @@ -396,6 +421,8 @@ public class FactAgencyGovernDailyServiceImpl extends BaseServiceImpl approvalProjectUnResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_AGENCY,DimObjectStatusConstant.UNRESOLVED); Map eventProjectResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_EVENT,DimObjectStatusConstant.RESOLVED); Map eventProjectUnResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_EVENT,DimObjectStatusConstant.UNRESOLVED); + Map workEventProjectResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_WORK_EVENT,DimObjectStatusConstant.RESOLVED); + Map workEventProjectUnResolvedMap=getGridProjectMap(customerId,null,ProjectConstant.CLOSED,ProjectConstant.PROJECT_ORIGIN_WORK_EVENT,DimObjectStatusConstant.UNRESOLVED); Map inGroupTopicResolvedMap=getTopicMap(customerId, null,ProjectConstant.CLOSED, DimObjectStatusConstant.RESOLVED,NumConstant.ZERO_STR); Map inGroupTopicUnResolvedMap=getTopicMap(customerId, null,ProjectConstant.CLOSED, DimObjectStatusConstant.UNRESOLVED,NumConstant.ZERO_STR); Map dtoMap=getGovernGridClosedTotalCommonDTOMap(customerId,gridIds); @@ -167,6 +169,16 @@ public class FactGridGovernDailyServiceImpl extends BaseServiceImpl 1) { 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 d4a154acbd..21e456a9dd 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 @@ -119,6 +119,22 @@ public class ScreenProjectSettleServiceImpl implements ScreenProjectSettleServic meta.setLongitude(new BigDecimal(projectInfo.getLocateLongitude())); } meta.setProjectAddress(projectInfo.getLocateAddress()); + } else if (ProjectConstant.PROJECT_ORIGIN_WORK_EVENT.equals(projectInfo.getOrigin())) { + //直接立项的话 项目内容是项目背景 经纬度添加 + meta.setOrgType(OrgTypeConstant.GRID); + meta.setOrgId(projectInfo.getOriginId()); + //上面的initNewScreenProjectData已经赋值了orgName=组织名称 + meta.setProjectContent(projectInfo.getBackGround()); + meta.setLinkUserId(projectInfo.getCreatedBy()); + meta.setLinkName(projectInfo.getCreatedBy()); + if (StringUtils.isNotBlank(projectInfo.getLocateDimension())) { + meta.setLatitude(new BigDecimal(projectInfo.getLocateDimension())); + } + if (StringUtils.isNotBlank(projectInfo.getLocateLongitude())) { + meta.setLongitude(new BigDecimal(projectInfo.getLocateLongitude())); + } + meta.setProjectAddress(projectInfo.getLocateAddress()); + meta.setOrgName(meta.getTempGridName()); } //项目满意度得分 meta.setSatisfactionScore(projectService.calProjectSatisfactionScore(param.getCustomerId(),meta.getProjectId())); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.30__add_project_origin.sql b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.30__add_project_origin.sql new file mode 100644 index 0000000000..2a35d61d5f --- /dev/null +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/db/migration/V0.0.30__add_project_origin.sql @@ -0,0 +1,13 @@ +ALTER TABLE `epmet_data_statistical`.`fact_origin_project_main_daily` + MODIFY COLUMN `ORIGIN` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目来源 来源:议题issue 组织agency,事件resi_event 工作人员上报:work_event' AFTER `PIDS`; +ALTER TABLE `epmet_evaluation_index`.`screen_project_data` + MODIFY COLUMN `ORIGIN` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源:议题issue 项目立项:agency 事件:resi_event; add1015\r\n工作人员上报:work_event' AFTER `ALL_PARENT_IDS`; + + +ALTER TABLE `epmet_data_statistical`.`fact_agency_govern_daily` + ADD COLUMN `WORK_EVENT_RESOLVED_COUNT` int(11) NULL DEFAULT 0 COMMENT '17、当前组织内:来源于工作人员上报事件的项目:结案已解决数' AFTER `EVENT_UN_RESOLVED_COUNT`, + ADD COLUMN `WORK_EVENT_UN_RESOLVED_COUNT` int(11) NULL DEFAULT 0 COMMENT '18、当前组织内:来源于工作人员上报事件的项目:结案无需解决数' AFTER `WORK_EVENT_RESOLVED_COUNT`; + +ALTER TABLE `epmet_data_statistical`.`fact_grid_govern_daily` + ADD COLUMN `WORK_EVENT_RESOLVED_COUNT` int(11) NULL DEFAULT 0 COMMENT '21、当前组织内:来源于工作人员上报事件的项目:结案已解决数' AFTER `EVENT_UN_RESOLVED_COUNT`, + ADD COLUMN `WORK_EVENT_UN_RESOLVED_COUNT` int(11) NULL DEFAULT 0 COMMENT '22、当前组织内:来源于工作人员上报事件的项目:结案无需解决数' AFTER `WORK_EVENT_RESOLVED_COUNT`; \ 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 a6ba0e7a8b..c7a3d015f9 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 @@ -1184,7 +1184,7 @@ FROM fact_origin_project_main_daily WHERE - ORIGIN = 'agency' + ORIGIN = 'work_event' AND CUSTOMER_ID = #{customerId} AND DATE_ID = #{dateId} @@ -1202,7 +1202,7 @@ FROM fact_origin_project_main_daily WHERE - ORIGIN = 'agency' + ORIGIN = 'work_event' AND CUSTOMER_ID = #{customerId} AND DATE_ID <= #{dateId} diff --git a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java index d269a4aeaa..bf00afa2b7 100644 --- a/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java +++ b/epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/ProjectApprovalFormDTO.java @@ -1,5 +1,6 @@ package com.epmet.dto.form; +import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; import lombok.Data; import org.hibernate.validator.constraints.Length; @@ -64,5 +65,15 @@ public class ProjectApprovalFormDTO implements Serializable { private String app; private String client; private String userId; + /** + * 立项类型 直接立项:agency,上报事件:work_event + */ + @NotBlank(message = "立项类型不能为空",groups = {ProjectApprovalFormDTO.ApprovalCategory.class}) + private String type; + /** + * 网格ID + */ + @NotBlank(message = "网格ID不能为空",groups = {AddGroup.class}) + private String gridId; } diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java index 612debd512..77b6b21601 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/constant/ProjectConstant.java @@ -15,6 +15,11 @@ public interface ProjectConstant { */ String AGENCY = "agency"; + /** + * 项目来源-网格员上报事件 + */ + String WORK_EVENT = "work_event"; + String RESI_EVENT="resi_event"; /** * 状态-待处理 diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java index 66074acfa2..5d1cb318ba 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/controller/ProjectTraceController.java @@ -7,6 +7,8 @@ import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.constant.ProjectConstant; import com.epmet.dto.form.*; import com.epmet.dto.result.*; import com.epmet.service.ProjectProcessService; @@ -356,6 +358,9 @@ public class ProjectTraceController { @RequirePermission(requirePermission = RequirePermissionEnum.WORK_PROJECT_APPROVAL) public Result projectApproval(@LoginUser TokenDto tokenDTO, @RequestBody ProjectApprovalFormDTO formDTO) { ValidatorUtils.validateEntity(formDTO,ProjectApprovalFormDTO.ApprovalCategory.class); + if (ProjectConstant.WORK_EVENT.equals(formDTO.getType())) { + ValidatorUtils.validateEntity(formDTO, AddGroup.class); + } formDTO.setCustomerId(tokenDTO.getCustomerId()); formDTO.setApp(tokenDTO.getApp()); formDTO.setClient(tokenDTO.getClient()); diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java index 53e1bd4c6c..d55fb3fa7a 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectTraceServiceImpl.java @@ -382,8 +382,13 @@ public class ProjectTraceServiceImpl implements ProjectTraceS ProjectEntity projectEntity = new ProjectEntity(); projectEntity.setCustomerId(formDTO.getCustomerId()); projectEntity.setAgencyId(loginUser.getAgencyId()); - projectEntity.setOrigin(ProjectConstant.AGENCY); - projectEntity.setOriginId(loginUser.getAgencyId()); + if (ProjectConstant.WORK_EVENT.equals(formDTO.getType())) { + projectEntity.setOrigin(ProjectConstant.WORK_EVENT); + projectEntity.setOriginId(formDTO.getGridId()); + } else { + projectEntity.setOrigin(ProjectConstant.AGENCY); + projectEntity.setOriginId(loginUser.getAgencyId()); + } projectEntity.setTitle(formDTO.getTitle()); projectEntity.setBackGround(formDTO.getBackGround()); projectEntity.setStatus(ProjectConstant.PENDING); @@ -413,6 +418,9 @@ public class ProjectTraceServiceImpl implements ProjectTraceS } } }); + if (ProjectConstant.WORK_EVENT.equals(formDTO.getType())) { + processEntity.setGridId(formDTO.getGridId()); + } projectProcessService.insert(processEntity); //3-3.项目人员表批量新增数据 diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.20__project_origin.sql b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.20__project_origin.sql new file mode 100644 index 0000000000..2e490baa26 --- /dev/null +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/db/migration/V0.0.20__project_origin.sql @@ -0,0 +1,2 @@ +ALTER TABLE `epmet_gov_project`.`project` + MODIFY COLUMN `ORIGIN` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '来源:议题issue 项目立项:agency 事件:resi_event 工作人员上报:work_event' AFTER `AGENCY_ID`; \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml index 0ce0ccba89..3d6dc43b7f 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml @@ -313,7 +313,7 @@ project WHERE DEL_FLAG = '0' AND CREATED_TIME BETWEEN #{patrolStartTime} AND #{patrolEndTime} - AND ORIGIN = 'agency' + AND ORIGIN = 'work_event' AND CREATED_BY = #{userId} + + + UPDATE + screen_project_data + SET + ORIGIN = 'work_event', + ORG_TYPE = 'grid', + ORG_ID = #{gridId}, + ORG_NAME = #{gridName} + WHERE + PROJECT_CREATOR = #{staffId} + AND CUSTOMER_ID = #{customerId} + AND ORG_ID = #{agencyId} + AND ORIGIN = 'agency' + diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml index adcaf8e50d..e6cd7f3321 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/org/CustomerGridDao.xml @@ -120,6 +120,7 @@ ca.PID, cg.PIDS, csg.GRID_ID, + cg.GRID_NAME, csg.USER_ID AS staffId FROM customer_staff_grid csg diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml index 7b92a7b440..f309d79bf4 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectDao.xml @@ -268,4 +268,16 @@ and rero.CUSTOMER_ID = #{customerId} + + UPDATE + project + SET + ORIGIN = 'work_event', + ORIGIN_ID = #{gridId} + WHERE + CREATED_BY = #{staffId} + AND CUSTOMER_ID = #{customerId} + AND AGENCY_ID = #{agencyId} + AND ORIGIN = 'agency' + From d46e8e11545409a288616322038239026429984a Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 16 Mar 2022 17:20:52 +0800 Subject: [PATCH 22/23] =?UTF-8?q?=E8=8F=9C=E5=8D=95=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E5=BF=85=E9=A1=BB=E5=85=A8=E5=B9=B2=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/epmet/commons/tools/redis/RedisKeys.java | 10 +++++++++- .../java/com/epmet/redis/GovCustomerMenuRedis.java | 12 ++++-------- .../service/impl/GovCustomerMenuServiceImpl.java | 5 ++--- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java index 0798627046..e09d7c1615 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/redis/RedisKeys.java @@ -734,6 +734,14 @@ public class RedisKeys { } public static String getCustomerMenuList(String customerId, Integer type) { - return rootPrefix.concat("oper:access:nav:customerId:").concat(customerId).concat(":type:")+type; + return getCustomerMenuListPrefix().concat(customerId).concat(":type:")+type; + } + + /** + * desc:菜单缓存前缀 + * @return + */ + public static String getCustomerMenuListPrefix() { + return rootPrefix.concat("oper:access:nav:customerId:"); } } diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/GovCustomerMenuRedis.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/GovCustomerMenuRedis.java index 3cc19b8ae2..6d2ec60e64 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/GovCustomerMenuRedis.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/GovCustomerMenuRedis.java @@ -17,6 +17,7 @@ package com.epmet.redis; +import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.redis.RedisKeys; import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.dto.GovMenuDTO; @@ -66,16 +67,11 @@ public class GovCustomerMenuRedis { /** * desc:删除客户菜单缓存 - * @param customerId - * @param type * @see com.epmet.enums.MenuTypeEnum */ - public void delCustomerMenu(String customerId, Integer type) { - if (checkParam(customerId, type)) { - String key = RedisKeys.getCustomerMenuList(customerId, type); - redisUtils.delete(key); - } - + public void delAllCustomerMenu() { + String key = RedisKeys.getCustomerMenuListPrefix().concat(StrConstant.STAR); + redisUtils.delete(key); } private boolean checkParam(String customerId, Integer type) { diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovCustomerMenuServiceImpl.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovCustomerMenuServiceImpl.java index 95e4f2f8d2..a5933f8e58 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovCustomerMenuServiceImpl.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/GovCustomerMenuServiceImpl.java @@ -28,7 +28,6 @@ import com.epmet.dao.GovCustomerMenuDao; import com.epmet.dto.GovCustomerMenuDTO; import com.epmet.dto.form.MenuConfigFormDTO; import com.epmet.entity.GovCustomerMenuEntity; -import com.epmet.enums.MenuTypeEnum; import com.epmet.redis.GovCustomerMenuRedis; import com.epmet.service.GovCustomerMenuService; import org.apache.commons.lang3.StringUtils; @@ -119,8 +118,8 @@ public class GovCustomerMenuServiceImpl extends BaseServiceImpl govCustomerMenuRedis.delCustomerMenu(customerId, MenuTypeEnum.MENU.value())); + //删除全部客户缓存 + govCustomerMenuRedis.delAllCustomerMenu(); } @Override From 303703a316f6a93b497c7e4875c364bf11e22bd9 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 16 Mar 2022 17:45:08 +0800 Subject: [PATCH 23/23] =?UTF-8?q?=E8=8F=9C=E5=8D=95=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E5=BF=85=E9=A1=BB=E5=85=A8=E5=B9=B2=E6=8E=89=20*?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/epmet/redis/GovCustomerMenuRedis.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/GovCustomerMenuRedis.java b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/GovCustomerMenuRedis.java index 6d2ec60e64..6190a7c4c0 100644 --- a/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/GovCustomerMenuRedis.java +++ b/epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/redis/GovCustomerMenuRedis.java @@ -71,7 +71,7 @@ public class GovCustomerMenuRedis { */ public void delAllCustomerMenu() { String key = RedisKeys.getCustomerMenuListPrefix().concat(StrConstant.STAR); - redisUtils.delete(key); + redisUtils.deleteByPattern(key); } private boolean checkParam(String customerId, Integer type) {