().ok(screenProjectService.projectDetail(projectDetailFormDTO));
+ }
+
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/controller/topic/TopicController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/topic/TopicController.java
similarity index 96%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/controller/topic/TopicController.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/topic/TopicController.java
index 233f31dc27..91edf636dd 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/controller/topic/TopicController.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/topic/TopicController.java
@@ -1,10 +1,10 @@
-package com.epmet.controller.topic;
+package com.epmet.datareport.controller.topic;
import com.epmet.commons.tools.annotation.LoginUser;
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.service.topic.TopicService;
+import com.epmet.datareport.service.topic.TopicService;
import com.epmet.topic.dto.form.TopicIncrTrendFormDTO;
import com.epmet.topic.dto.result.*;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/controller/user/UserAnalysisController.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/user/UserAnalysisController.java
similarity index 97%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/controller/user/UserAnalysisController.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/user/UserAnalysisController.java
index cceebbef37..dda6b177cf 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/controller/user/UserAnalysisController.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/controller/user/UserAnalysisController.java
@@ -1,4 +1,4 @@
-package com.epmet.controller.user;
+package com.epmet.datareport.controller.user;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
@@ -7,7 +7,7 @@ import com.epmet.dto.form.user.UserSubAgencyFormDTO;
import com.epmet.dto.form.user.UserSubGridFormDTO;
import com.epmet.dto.form.user.UserSummaryInfoFormDTO;
import com.epmet.dto.result.user.*;
-import com.epmet.service.user.UserAnalysisService;
+import com.epmet.datareport.service.user.UserAnalysisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/.gitignore b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/.gitignore
similarity index 100%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/.gitignore
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/.gitignore
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCpcBaseDataDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCpcBaseDataDao.java
new file mode 100644
index 0000000000..e752fe40dd
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCpcBaseDataDao.java
@@ -0,0 +1,44 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.result.PartymemberAgeDistributionResultDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * 基层党建-党员基本情况
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenCpcBaseDataDao{
+
+ /**
+ * @Description 查询党员年龄分布情况
+ * @param agencyId
+ * @return
+ * @author wangc
+ * @date 2020.08.18 17:47
+ **/
+ PartymemberAgeDistributionResultDTO selectPartymemberAgeDistribution(@Param("agencyId") String agencyId);
+
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java
new file mode 100644
index 0000000000..17c48ae989
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerAgencyDao.java
@@ -0,0 +1,83 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.result.*;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 组织机构信息
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenCustomerAgencyDao {
+
+ /**
+ * @Description 查询客户根组织ID
+ * @param customerId
+ * @author zxc
+ * @date 2020/8/18 2:44 下午
+ */
+ TreeResultDTO selectRootAgencyId(@Param("customerId")String customerId);
+
+ /**
+ * @Description 查询下级机关的 名称和id
+ * @param subAgencyPids
+ * @author zxc
+ * @date 2020/8/18 4:48 下午
+ */
+ List selectSubAgencyList(@Param("subAgencyPids") String subAgencyPids);
+
+ /**
+ * @Description 查询当前机关的区域信息
+ * @param agencyId
+ * @author zxc
+ * @date 2020/8/18 4:51 下午
+ */
+ CompartmentResultDTO getAgencyAreaInfo(@Param("agencyId")String agencyId);
+
+ /**
+ * @Description 查询子级区域分布信息【机关级别】
+ * @param agencyId
+ * @author zxc
+ * @date 2020/8/18 5:12 下午
+ */
+ List selectSubDistribution(@Param("agencyId")String agencyId);
+
+ /**
+ * @Description 查询子级用户分布【机关级别】
+ * @param parentId
+ * @author zxc
+ * @date 2020/8/19 9:33 上午
+ */
+ List selectUserDistributionAgency(@Param("parentId")String parentId);
+
+ /**
+ * @Description 查询子级党员分布【机关级别】
+ * @param parentId
+ * @author zxc
+ * @date 2020/8/19 10:30 上午
+ */
+ List selectParymemberDistribution(@Param("parentId")String parentId);
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerDeptDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerDeptDao.java
new file mode 100644
index 0000000000..15ed670395
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerDeptDao.java
@@ -0,0 +1,31 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 部门信息
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenCustomerDeptDao {
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerGridDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerGridDao.java
new file mode 100644
index 0000000000..b6196411f8
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenCustomerGridDao.java
@@ -0,0 +1,75 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.result.*;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 网格(党支部)信息
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenCustomerGridDao {
+
+ /**
+ * @Description 查询子级区域分布信息【网格级别】
+ * @param agencyId
+ * @author zxc
+ * @date 2020/8/18 5:12 下午
+ */
+ List selectSubDistribution(@Param("agencyId")String agencyId);
+
+ /**
+ * @Description 查询党支部信息
+ * @param agencyId
+ * @author zxc
+ * @date 2020/8/19 9:13 上午
+ */
+ List selectBranch(@Param("agencyId")String agencyId);
+
+ /**
+ * @Description 查询子级用户分布【网格级别】
+ * @param parentId
+ * @author zxc
+ * @date 2020/8/19 9:33 上午
+ */
+ List selectUserDistribution(@Param("parentId")String parentId);
+
+ /**
+ * @Description 查询子级党员分布【网格级别】
+ * @param parentId
+ * @author zxc
+ * @date 2020/8/19 10:30 上午
+ */
+ List selectParymemberDistribution(@Param("parentId")String parentId);
+
+ /**
+ * @Description 查询机关下的网格
+ * @param agencyId
+ * @author zxc
+ * @date 2020/8/26 5:29 下午
+ */
+ List selectGridInfo(@Param("agencyId")String agencyId);
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenDifficultyDataDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenDifficultyDataDao.java
new file mode 100644
index 0000000000..8697ba9adf
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenDifficultyDataDao.java
@@ -0,0 +1,44 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.result.DifficultProjectResultDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 基层治理-难点堵点(耗时最长|设计部门最多|处理次数)
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenDifficultyDataDao {
+
+ /**
+ * @Description 查询难点赌点-耗时最长|涉及部门最多|处理次数
+ * @param
+ * @return
+ * @author wangc
+ * @date 2020.08.20 14:26
+ **/
+ List selectDifficulty(@Param("agencyId")String agencyId,@Param("type")String type);
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenEventDataDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenEventDataDao.java
new file mode 100644
index 0000000000..16e023adff
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenEventDataDao.java
@@ -0,0 +1,52 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.result.ProjectDetailResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.ProjectResultDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 中央区-事件数据
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenEventDataDao{
+
+ /**
+ * @Description 查询事件
+ * @param parentId
+ * @author zxc
+ * @date 2020/8/19 2:09 下午
+ */
+ List selectEvent(@Param("parentId")String parentId);
+
+ /**
+ * @Description 3、项目详情
+ * @param projectId
+ * @author zxc
+ * @date 2020/8/19 4:36 下午
+ */
+ ProjectDetailResultDTO selectEventDetail(@Param("projectId")String projectId,@Param("agencyId")String agencyId);
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenEventImgDataDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenEventImgDataDao.java
new file mode 100644
index 0000000000..f0da56ccd9
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenEventImgDataDao.java
@@ -0,0 +1,42 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 中央区-事件数据图片数据
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenEventImgDataDao {
+
+ /**
+ * @Description 查询事件imgUrl集合
+ * @param projectId
+ * @author zxc
+ * @date 2020/8/19 5:11 下午
+ */
+ List selectEventImgList(@Param("projectId")String projectId);
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenGovernRankDataDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenGovernRankDataDao.java
new file mode 100644
index 0000000000..e973aa85f3
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenGovernRankDataDao.java
@@ -0,0 +1,44 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.result.GovernCapacityResultDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 基层治理-治理能力排行数据
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenGovernRankDataDao{
+
+ /**
+ * @Description 查询政府治理能力各项指标
+ * @param monthId
+ * @param agencyId
+ * @return
+ * @author wangc
+ * @date 2020.08.20 17:34
+ **/
+ List selectGovernCapacityRatio(@Param("monthId") String monthId,@Param("agencyId") String agencyId);
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenIndexDataMonthlyDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenIndexDataMonthlyDao.java
new file mode 100644
index 0000000000..372dacf9dd
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenIndexDataMonthlyDao.java
@@ -0,0 +1,62 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.form.SubAgencyIndexRankFormDTO;
+import com.epmet.evaluationindex.screen.dto.result.MonthBarchartResult;
+import com.epmet.evaluationindex.screen.dto.result.MonthPieChartResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.SubAgencyIndexRankResultDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 指数-指数数据
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenIndexDataMonthlyDao{
+
+ /**
+ * @Description 2、月度指数分析-饼状图
+ * @param agencyId
+ * @author zxc
+ * @date 2020/8/19 3:43 下午
+ */
+ MonthPieChartResultDTO selectMonthPieChart(@Param("agencyId")String agencyId,@Param("monthId")String monthId);
+
+ /**
+ * @Description 查询近一年的指数值【不包括本月】
+ * @param agencyId
+ * @author zxc
+ * @date 2020/8/20 9:02 上午
+ */
+ List selectMonthBarchart(@Param("agencyId")String agencyId);
+
+ /**
+ * @Description 4、下级部门指数排行
+ * @param subAgencyIndexRankFormDTO
+ * @author zxc
+ * @date 2020/8/20 10:04 上午
+ */
+ List selectSubAgencyIndexRank(SubAgencyIndexRankFormDTO subAgencyIndexRankFormDTO);
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenIndexDataYearlyDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenIndexDataYearlyDao.java
new file mode 100644
index 0000000000..c63c17fa57
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenIndexDataYearlyDao.java
@@ -0,0 +1,41 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.result.YearAverageIndexResultDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 指数-指数数据(按年统计)
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-19
+ */
+@Mapper
+public interface ScreenIndexDataYearlyDao{
+
+ /**
+ * @Description 1、年度平均指数
+ * @param agencyId
+ * @author zxc
+ * @date 2020/8/19 3:43 下午
+ */
+ YearAverageIndexResultDTO selectYearAverageIndex(@Param("agencyId")String agencyId);
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenOrgRankDataDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenOrgRankDataDao.java
new file mode 100644
index 0000000000..2b9bdba497
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenOrgRankDataDao.java
@@ -0,0 +1,45 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.result.OrgRankDataResultDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 党建引领-组织排行榜
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenOrgRankDataDao{
+
+ /**
+ * @Description 查询指定机关的直属网格月度数据
+ * @param agencyId
+ * @param monthId
+ * @return
+ * @author wangc
+ * @date 2020.08.21 13:58
+ **/
+ List selectGridDataMonthly(@Param("agencyId") String agencyId, @Param("monthId") String monthId);
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPartyBranchDataDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPartyBranchDataDao.java
new file mode 100644
index 0000000000..fa2836e4fb
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPartyBranchDataDao.java
@@ -0,0 +1,83 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.result.BranchBuildOrderByCountResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.BranchIssueDataResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.VolunteerServiceResult;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 基层党建-建设情况数据(支部,联建)
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenPartyBranchDataDao {
+
+ /**
+ * @Description 根据agencyTd、type(数据类别 party:支部建设;union:联合建设)查出共有多少议题主题
+ * @param agencyId
+ * @param type
+ * @return List
+ * @author wangc
+ * @date 2020.08.19 10:44
+ **/
+ List selectIssueGroup(@Param("agencyId") String agencyId , @Param("type") String type);
+
+ /**
+ * @Description 根据议题名称查找近12个月的数据
+ * @param agencyId ..
+ * @return List
+ * @author wangc
+ * @date 2020.08.19 10:59
+ **/
+ List selectBranchDataByTypeAndTimeZone(@Param("agencyId") String agencyId , @Param("type") String type, @Param("category") String category, @Param("bottomMonthId") String bottomMonthId);
+
+ /**
+ * @Description 查询党员志愿服务
+ * @param agencyId
+ * @author zxc
+ * @date 2020/8/20 3:30 下午
+ */
+ List selectVolunteerServiceResult(@Param("agencyId")String agencyId);
+ /**
+ * @Description 查找指定组织的下一级组织的数据排行
+ * @param agencyId ..
+ * @return List
+ * @author wangc
+ * @date 2020.08.20 09:46
+ **/
+ List selectBranchDataByTypeOrder(@Param("agencyId")String agencyId,@Param("category")String category,@Param("monthId")String monthId,@Param("bottomMonthId")String bottomMonthId);
+
+ /**
+ * @Description 查询组织总数或者总参与人数
+ * @param category
+ * @param type
+ * @param agencyId
+ * @param monthId
+ * @return
+ * @author wangc
+ * @date 2020.08.28 17:56
+ **/
+ Integer selectTotalOrganizationCount(@Param("category") String category,@Param("type") String type, @Param("agencyId") String agencyId,@Param("monthId") String monthId);
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPartyLinkMassesDataDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPartyLinkMassesDataDao.java
new file mode 100644
index 0000000000..1ca974982f
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPartyLinkMassesDataDao.java
@@ -0,0 +1,43 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.result.ContactMassLineChartResult;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 党建引领-党员联系群众数据
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenPartyLinkMassesDataDao {
+
+ /**
+ * @Description 查询党员联系群众
+ * @param agencyId
+ * @author zxc
+ * @date 2020/8/20 2:48 下午
+ */
+ List selectContactMassLineChart(@Param("agencyId")String agencyId);
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPartyUserRankDataDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPartyUserRankDataDao.java
new file mode 100644
index 0000000000..2c4358ce15
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPartyUserRankDataDao.java
@@ -0,0 +1,54 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.result.PartyUserPointResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.UserPointResultDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 党建引领|基层治理-市民(党员)积分排行榜
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenPartyUserRankDataDao{
+
+ /**
+ * @Description 查询指定机关下的用户积分排名
+ * @param agencyId
+ * @return
+ * @author wangc
+ * @date 2020.08.20 11:11
+ **/
+ List selectUserPointOrder(@Param("agencyId")String agencyId);
+
+ /**
+ * @Description 查询指定机关所属网格的党员积分排名
+ * @param agencyId
+ * @return
+ * @author wangc
+ * @date 2020.08.21 14:32
+ **/
+ List selectPartymemberPointOrder(@Param("agencyId")String agencyId);
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPioneerDataDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPioneerDataDao.java
new file mode 100644
index 0000000000..92177ec52c
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPioneerDataDao.java
@@ -0,0 +1,41 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.result.FineExampleResultDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 党建引领-先锋模范数据
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenPioneerDataDao{
+
+ /**
+ * @Description 查询先锋模范
+ * @param agencyId
+ * @author zxc
+ * @date 2020/8/20 5:22 下午
+ */
+ FineExampleResultDTO selectFineExample(@Param("agencyId")String agencyId);
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPublicPartiTotalDataDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPublicPartiTotalDataDao.java
new file mode 100644
index 0000000000..88c2aa0e77
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenPublicPartiTotalDataDao.java
@@ -0,0 +1,42 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.result.PublicPartiRankResultDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 公众参与-各类(话题|议题|项目|注册人数|参与人数)总数
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-24
+ */
+@Mapper
+public interface ScreenPublicPartiTotalDataDao{
+ /**
+ * @Description 查询公众参与各类总数
+ * @param agencyId
+ * @return
+ * @author wangc
+ * @date 2020.08.20 16:00
+ **/
+ List selectPublicPartiTotal(@Param("agencyId") String agencyId);
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenUserJoinDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenUserJoinDao.java
new file mode 100644
index 0000000000..962691f625
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenUserJoinDao.java
@@ -0,0 +1,54 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.result.UserJoinIndicatorGrowthRateResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.UserJoinMonthlyResultDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 基层治理-公众参与
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenUserJoinDao {
+
+ /**
+ * @Description 查询用户参与数据
+ * @param agencyId
+ * @return
+ * @author wangc
+ * @date 2020.08.20 15:07
+ **/
+ UserJoinIndicatorGrowthRateResultDTO selectUserJoinData(@Param("agencyId") String agencyId, @Param("monthId")String monthId);
+
+ /**
+ * @Description 查询月度用户参与数据
+ * @param agencyId
+ * @param monthId
+ * @return
+ * @author wangc
+ * @date 2020.08.21 09:54
+ **/
+ List selectUserJoinDataMonthly(@Param("agencyId")String agencyId,@Param("monthId") String monthId);
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenUserTotalDataDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenUserTotalDataDao.java
new file mode 100644
index 0000000000..653cf3f606
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/evaluationindex/screen/ScreenUserTotalDataDao.java
@@ -0,0 +1,60 @@
+/**
+ * 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.datareport.dao.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.result.PartymemberPercentResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.TopProfileResultDTO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 中央区-各类(用户|党员|党群|话题|议题|项目|注册人数|参与人数)总数
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-18
+ */
+@Mapper
+public interface ScreenUserTotalDataDao {
+
+ /**
+ * @Description 党员基本情况-饼状图概况
+ * @param agencyId
+ * @return
+ * @author wangc
+ * @date 2020.08.18 15:17
+ **/
+ PartymemberPercentResultDTO selectAgencyPartymemberPercent(@Param("agencyId")String agencyId);
+
+ /**
+ * @Description 查询top区概况
+ * @param agencyId
+ * @author zxc
+ * @date 2020/8/19 2:13 下午
+ */
+ TopProfileResultDTO selectTopProfile(@Param("agencyId")String agencyId);
+
+ /**
+ * @Description 求出人均议题
+ * @param agencyId
+ * @return
+ * @author wangc
+ * @date 2020.08.20 14:54
+ **/
+ int selectAvgIssue(@Param("agencyId")String agencyId);
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/group/GroupDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/group/GroupDao.java
similarity index 97%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/group/GroupDao.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/group/GroupDao.java
index e2a8410272..975b49ba5a 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/group/GroupDao.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/group/GroupDao.java
@@ -1,4 +1,4 @@
-package com.epmet.dao.group;
+package com.epmet.datareport.dao.group;
import com.epmet.group.dto.result.*;
import org.apache.ibatis.annotations.Mapper;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/issue/IssueDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/issue/IssueDao.java
similarity index 97%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/issue/IssueDao.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/issue/IssueDao.java
index abf2c4d350..53cab40c92 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/issue/IssueDao.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/issue/IssueDao.java
@@ -1,4 +1,4 @@
-package com.epmet.dao.issue;
+package com.epmet.datareport.dao.issue;
import com.epmet.issue.dto.result.IssueDataDTO;
import org.apache.ibatis.annotations.Mapper;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/project/ProjectDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java
similarity index 97%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/project/ProjectDao.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java
index 3ae53720f7..b8920580bf 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/project/ProjectDao.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/project/ProjectDao.java
@@ -1,4 +1,4 @@
-package com.epmet.dao.project;
+package com.epmet.datareport.dao.project;
import com.epmet.project.dto.FactAgencyProjectDailyDTO;
import com.epmet.project.dto.result.*;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/publicity/PublicityDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/publicity/PublicityDao.java
similarity index 99%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/publicity/PublicityDao.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/publicity/PublicityDao.java
index a4babe6039..b65c16b9a1 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/publicity/PublicityDao.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/publicity/PublicityDao.java
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package com.epmet.dao.publicity;
+package com.epmet.datareport.dao.publicity;
import com.epmet.publicity.dto.result.*;
import org.apache.ibatis.annotations.Mapper;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/topic/TopicDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/topic/TopicDao.java
similarity index 97%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/topic/TopicDao.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/topic/TopicDao.java
index 2ab863ab78..4c0fb9d377 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/topic/TopicDao.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/topic/TopicDao.java
@@ -1,6 +1,5 @@
-package com.epmet.dao.topic;
+package com.epmet.datareport.dao.topic;
-import com.epmet.group.dto.result.GroupIncrTrendResultDTO;
import com.epmet.topic.dto.result.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/user/UserAnalysisDao.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/user/UserAnalysisDao.java
similarity index 99%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/user/UserAnalysisDao.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/user/UserAnalysisDao.java
index 2df268feb2..c0a69f82fc 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/dao/user/UserAnalysisDao.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/dao/user/UserAnalysisDao.java
@@ -1,4 +1,4 @@
-package com.epmet.dao.user;
+package com.epmet.datareport.dao.user;
import com.epmet.dto.DimAgencyDTO;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/.gitignore b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/.gitignore
similarity index 100%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/.gitignore
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/.gitignore
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/AgencyService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/AgencyService.java
new file mode 100644
index 0000000000..d633b94ea2
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/AgencyService.java
@@ -0,0 +1,32 @@
+package com.epmet.datareport.service.evaluationindex.screen;
+
+import com.epmet.commons.extappauth.bean.ExternalAppRequestParam;
+import com.epmet.evaluationindex.screen.dto.form.CompartmentFormDTO;
+import com.epmet.evaluationindex.screen.dto.result.CompartmentResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.TreeResultDTO;
+
+/**
+ * 组织相关api
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/18 10:18
+ */
+public interface AgencyService {
+
+ /**
+ * @Description 1、组织机构树
+ * @param
+ * @author zxc
+ * @date 2020/8/18 2:04 下午
+ */
+ TreeResultDTO tree(ExternalAppRequestParam externalAppRequestParam);
+
+ /**
+ * @Description 2、组织区域查询
+ * @param compartmentFormDTO
+ * @author zxc
+ * @date 2020/8/18 2:33 下午
+ */
+ CompartmentResultDTO compartment(CompartmentFormDTO compartmentFormDTO);
+
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/DistributionService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/DistributionService.java
new file mode 100644
index 0000000000..a73d1ccfcd
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/DistributionService.java
@@ -0,0 +1,56 @@
+package com.epmet.datareport.service.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.form.*;
+import com.epmet.evaluationindex.screen.dto.result.*;
+
+import java.util.List;
+
+/**
+ * 中央区相关各指标查询
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/18 10:19
+ */
+public interface DistributionService {
+
+ /**
+ * @Description 1、党支部
+ * @param formDTO
+ * @author zxc
+ * @date 2020/8/18 10:59 上午
+ */
+ List branch(BranchFormDTO formDTO);
+
+ /**
+ * @Description 2、用户分布
+ * @param userFormDTO
+ * @author zxc
+ * @date 2020/8/18 11:10 上午
+ */
+ UserResultDTO user(UserFormDTO userFormDTO);
+
+ /**
+ * @Description 3、党员分布
+ * @param parymemberFormDTO
+ * @author zxc
+ * @date 2020/8/18 11:20 上午
+ */
+ ParymemberResultDTO parymember(ParymemberFormDTO parymemberFormDTO);
+
+ /**
+ * @Description 4、事件
+ * @param projectFormDTO
+ * @author zxc
+ * @date 2020/8/19 1:29 下午
+ */
+ List project(ProjectFormDTO projectFormDTO);
+
+ /**
+ * @Description 5、top区概况
+ * @param topProfileFormDTO
+ * @author zxc
+ * @date 2020/8/19 1:52 下午
+ */
+ TopProfileResultDTO topProfile(TopProfileFormDTO topProfileFormDTO);
+
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/GrassRootsGovernService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/GrassRootsGovernService.java
new file mode 100644
index 0000000000..fecde12a9f
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/GrassRootsGovernService.java
@@ -0,0 +1,77 @@
+package com.epmet.datareport.service.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.form.AgencyAndNumFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.AgencyFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.AgencyNumTypeParamFormDTO;
+import com.epmet.evaluationindex.screen.dto.result.*;
+
+import java.util.List;
+
+/**
+ * 基层治理相关各指标查询
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/18 10:20
+ */
+public interface GrassRootsGovernService {
+
+ /**
+ * @Description 1、热心市民积分排行
+ * @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321544
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.20 11:16
+ **/
+ UserPointRankResultDTO userPointRank(AgencyAndNumFormDTO param);
+
+ /**
+ * @Description 2、难点赌点-耗时最长|涉及部门最多|处理次数
+ * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.20 13:55
+ **/
+ List difficultProject(AgencyNumTypeParamFormDTO param);
+
+ /**
+ * @Description 3、公众参与概况
+ * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321975
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.20 14:37
+ **/
+ PublicPartiProfileResultDTO publicPartiProfile(AgencyFormDTO param);
+
+ /**
+ * @Description 4、公众参与-排行榜
+ * @NEI https://nei.netease.com/interface/detail/?pid=57068&id=321978
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.20 15:32
+ **/
+ List publicPartiRank(AgencyAndNumFormDTO param);
+
+ /**
+ * @Description 5、治理能力榜单
+ * @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321627
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.20 17:46
+ **/
+ List governCapacityRank(AgencyAndNumFormDTO param);
+
+ /**
+ * @Description 6、公众参与-柱状折线图
+ * @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=322434
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.21 09:58
+ **/
+ PublicPartiChartResultDTO publicPartiChart(AgencyFormDTO param);
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/GrassrootsPartyDevService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/GrassrootsPartyDevService.java
new file mode 100644
index 0000000000..41c8fafc28
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/GrassrootsPartyDevService.java
@@ -0,0 +1,58 @@
+package com.epmet.datareport.service.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.form.BranchBuildRankFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.BranchBuildTrendFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.ParymemberFormDTO;
+import com.epmet.evaluationindex.screen.dto.result.BranchBuildRankResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.BranchBuildTrendResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.PartymemberAgeDistributionResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.PartymemberPercentResultDTO;
+
+/**
+ * 基层党建相关各指标查询
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/18 10:21
+ */
+public interface GrassrootsPartyDevService {
+
+ /**
+ * @Description 1、党员基本情况-饼状图概况
+ * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321324
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.18 14:58
+ **/
+ PartymemberPercentResultDTO partymemberBaseInfo(ParymemberFormDTO param);
+
+ /**
+ * @Description 2、党员基本情况-年龄分布
+ * @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321980
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.18 17:54
+ **/
+ PartymemberAgeDistributionResultDTO partymemberAgeDistribution(ParymemberFormDTO param);
+
+ /**
+ * @Description 3、支部建设情况|联建共建情况-折线图
+ * @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321981
+ * @param param
+ * @return BranchBuildTrendResultDTO
+ * @author wangc
+ * @date 2020.08.19 11:02
+ **/
+ BranchBuildTrendResultDTO branchBuildTrend(BranchBuildTrendFormDTO param);
+
+ /**
+ * @Description 4、支部建设情况|联建共建情况-排行
+ * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321982
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.19 15:25
+ **/
+ BranchBuildRankResultDTO branchBuildRank(BranchBuildRankFormDTO param);
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/IndexService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/IndexService.java
new file mode 100644
index 0000000000..266898530d
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/IndexService.java
@@ -0,0 +1,54 @@
+package com.epmet.datareport.service.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.form.MonthBarchartFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.MonthPieChartFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.SubAgencyIndexRankFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.YearAverageIndexFormDTO;
+import com.epmet.evaluationindex.screen.dto.result.MonthBarchartResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.MonthPieChartResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.SubAgencyIndexRankResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.YearAverageIndexResultDTO;
+
+import java.util.List;
+
+/**
+ * 指数相关相关各指标查询
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/18 10:21
+ */
+public interface IndexService {
+
+ /**
+ * @Description 1、年度平均指数
+ * @param yearAverageIndexFormDTO
+ * @author zxc
+ * @date 2020/8/19 2:53 下午
+ */
+ YearAverageIndexResultDTO yearAverageIndex(YearAverageIndexFormDTO yearAverageIndexFormDTO);
+
+ /**
+ * @Description 2、月度指数分析-饼状图
+ * @param monthPieChartFormDTO
+ * @author zxc
+ * @date 2020/8/19 3:17 下午
+ */
+ MonthPieChartResultDTO monthPieChart(MonthPieChartFormDTO monthPieChartFormDTO);
+
+ /**
+ * @Description 3、月度指数分析-柱状图
+ * @param monthBarchartFormDTO
+ * @author zxc
+ * @date 2020/8/19 5:27 下午
+ */
+ MonthBarchartResultDTO monthBarchart(MonthBarchartFormDTO monthBarchartFormDTO);
+
+ /**
+ * @Description 4、下级部门指数排行
+ * @param subAgencyIndexRankFormDTO
+ * @author zxc
+ * @date 2020/8/20 10:04 上午
+ */
+ List subAgencyIndexRank(SubAgencyIndexRankFormDTO subAgencyIndexRankFormDTO);
+
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/PartyMemberLeadService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/PartyMemberLeadService.java
new file mode 100644
index 0000000000..5e75a3946c
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/PartyMemberLeadService.java
@@ -0,0 +1,63 @@
+package com.epmet.datareport.service.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.form.AgencyAndNumFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.ContactMassLineChartFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.FineExampleFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.VolunteerServiceFormDTO;
+import com.epmet.evaluationindex.screen.dto.result.*;
+
+import java.util.List;
+
+/**
+ * 党建引领相关各指标查询
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/18 10:22
+ */
+public interface PartyMemberLeadService {
+
+ /**
+ * @Description 1、先锋模范
+ * @param fineExampleFormDTO
+ * @author zxc
+ * @date 2020/8/20 1:56 下午
+ */
+ FineExampleResultDTO fineExample(FineExampleFormDTO fineExampleFormDTO);
+
+ /**
+ * @Description 2、党员联系群众
+ * @param contactMassLineChartFormDTO
+ * @author zxc
+ * @date 2020/8/20 2:35 下午
+ */
+ ContactMassLineChartResultDTO contactMassLineChart(ContactMassLineChartFormDTO contactMassLineChartFormDTO);
+
+ /**
+ * @Description 3、党员志愿服务
+ * @param volunteerServiceFormDTO
+ * @author zxc
+ * @date 2020/8/20 3:19 下午
+ */
+ VolunteerServiceResultDTO volunteerService(VolunteerServiceFormDTO volunteerServiceFormDTO);
+
+ /**
+ * @Description 4、先进排行榜单-先进支部排行
+ * @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321539
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.21 11:05
+ **/
+ List advancedBranchRank(AgencyAndNumFormDTO param);
+
+ /**
+ * @Description 5、先进排行榜单-先进党员排行
+ * @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321624
+ * @param param
+ * @return List
+ * @author wangc
+ * @date 2020.08.21 14:22
+ **/
+ List advancedPartymemberRank(AgencyAndNumFormDTO param);
+
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/ScreenProjectService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/ScreenProjectService.java
new file mode 100644
index 0000000000..aea908ff15
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/ScreenProjectService.java
@@ -0,0 +1,22 @@
+package com.epmet.datareport.service.evaluationindex.screen;
+
+import com.epmet.evaluationindex.screen.dto.form.ProjectDetailFormDTO;
+import com.epmet.evaluationindex.screen.dto.result.ProjectDetailResultDTO;
+
+/**
+ * 项目
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/18 10:22
+ */
+public interface ScreenProjectService {
+
+ /**
+ * @Description 3、项目详情
+ * @param projectDetailFormDTO
+ * @author zxc
+ * @date 2020/8/19 4:36 下午
+ */
+ ProjectDetailResultDTO projectDetail(ProjectDetailFormDTO projectDetailFormDTO);
+
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java
new file mode 100644
index 0000000000..6eef8b2387
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/AgencyServiceImpl.java
@@ -0,0 +1,139 @@
+package com.epmet.datareport.service.evaluationindex.screen.impl;
+
+import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.commons.extappauth.bean.ExternalAppRequestParam;
+import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.constant.DataSourceConstant;
+import com.epmet.datareport.dao.evaluationindex.screen.ScreenCustomerAgencyDao;
+import com.epmet.datareport.dao.evaluationindex.screen.ScreenCustomerGridDao;
+import com.epmet.datareport.service.evaluationindex.screen.AgencyService;
+import com.epmet.evaluationindex.screen.constant.ScreenConstant;
+import com.epmet.evaluationindex.screen.dto.form.CompartmentFormDTO;
+import com.epmet.evaluationindex.screen.dto.result.AgencyDistributionResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.CompartmentResultDTO;
+import com.epmet.evaluationindex.screen.dto.result.TreeResultDTO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 组织相关api
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/18 10:18
+ */
+@Service
+@DataSource(DataSourceConstant.EVALUATION_INDEX)
+public class AgencyServiceImpl implements AgencyService {
+
+ @Autowired
+ private ScreenCustomerAgencyDao screenCustomerAgencyDao;
+ @Autowired
+ private ScreenCustomerGridDao screenCustomerGridDao;
+
+ /**
+ * @Description 1、组织机构树
+ * @param
+ * @author zxc
+ * @date 2020/8/18 2:04 下午
+ */
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public TreeResultDTO tree(ExternalAppRequestParam externalAppRequestParam) {
+ // 1. 查询客户根组织ID
+// String customerId = externalAppRequestParam.getCustomerId();
+
+
+ // 验签关闭,customerId无法获取,暂时写死
+ String customerId = "b09527201c4409e19d1dbc5e3c3429a1";
+
+
+ TreeResultDTO rootAgency = screenCustomerAgencyDao.selectRootAgencyId(customerId);
+ if (null == rootAgency){
+ return new TreeResultDTO();
+ }
+ List centerMark = this.getCenterMark(rootAgency.getCenterMarkA());
+ rootAgency.setCenterMark(centerMark.size() == NumConstant.ZERO ? new ArrayList<>() : centerMark);
+ if (rootAgency.getLevel().equals(ScreenConstant.COMMUNITY)){
+ List treeResultDTOS = screenCustomerGridDao.selectGridInfo(rootAgency.getValue());
+ rootAgency.setChildren(treeResultDTOS);
+ }else {
+ List departmentList = this.getDepartmentList(("".equals(rootAgency.getPids()) || rootAgency.getPids().equals(NumConstant.ZERO_STR)) ? rootAgency.getValue() : rootAgency.getPids().concat(",").concat(rootAgency.getValue()));
+ rootAgency.setChildren(departmentList);
+ }
+ return rootAgency;
+ }
+
+ /**
+ * @Description 处理centerMark
+ * @param centerMark
+ * @author zxc
+ * @date 2020/8/26 5:18 下午
+ */
+ public List getCenterMark(String centerMark){
+ if (centerMark.length() == NumConstant.ZERO || centerMark.equals(ScreenConstant.SQUARE_BRACKETS)) {
+ return new ArrayList<>();
+ }
+ List result = new ArrayList<>();
+ String substring = centerMark.substring(NumConstant.TWO, centerMark.length() - NumConstant.TWO);
+ String[] split = substring.split(ScreenConstant.COMMA);
+ for (String s : split) {
+ result.add(Double.valueOf(s));
+ }
+ return result;
+ }
+
+ /**
+ * @Description 递归查询填充下级
+ * @param subAgencyPids
+ * @author zxc
+ * @date 2020/8/18 4:42 下午
+ */
+ private List getDepartmentList(String subAgencyPids) {
+ List subAgencyList = screenCustomerAgencyDao.selectSubAgencyList(subAgencyPids);
+ if (subAgencyList.size() > NumConstant.ZERO) {
+ subAgencyList.forEach(sub -> {
+ List centerMark = this.getCenterMark(sub.getCenterMarkA());
+ sub.setCenterMark(centerMark.size() == NumConstant.ZERO ? new ArrayList<>() : centerMark);
+ if (sub.getLevel().equals(ScreenConstant.COMMUNITY)){
+ List treeResultDTOS = screenCustomerGridDao.selectGridInfo(sub.getValue());
+ treeResultDTOS.forEach(tree -> {
+ List centerMarkTree = this.getCenterMark(tree.getCenterMarkA());
+ tree.setCenterMark(centerMarkTree.size() == NumConstant.ZERO ? new ArrayList<>() : centerMarkTree);
+ });
+ sub.setChildren(treeResultDTOS);
+ }else {
+ List subAgency = getDepartmentList(sub.getPids() + "," + sub.getValue());
+ sub.setChildren(subAgency);
+ }
+ });
+ }
+ return subAgencyList;
+ }
+
+ /**
+ * @Description 2、组织区域查询
+ * @param compartmentFormDTO
+ * @author zxc
+ * @date 2020/8/18 2:33 下午
+ */
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public CompartmentResultDTO compartment(CompartmentFormDTO compartmentFormDTO) {
+ CompartmentResultDTO agencyAreaInfo = screenCustomerAgencyDao.getAgencyAreaInfo(compartmentFormDTO.getAgencyId());
+ if (null == agencyAreaInfo){
+ return new CompartmentResultDTO();
+ }
+ if (agencyAreaInfo.getLevel().equals(ScreenConstant.COMMUNITY)){
+ // 当level为"community"时,查询screen_customer_grid表
+ List agencyDistributionResultDTOS = screenCustomerGridDao.selectSubDistribution(compartmentFormDTO.getAgencyId());
+ agencyAreaInfo.setAgencyDistribution(agencyDistributionResultDTOS);
+ }else {
+ List agencyDistributionResultDTOS = screenCustomerAgencyDao.selectSubDistribution(compartmentFormDTO.getAgencyId());
+ agencyAreaInfo.setAgencyDistribution(agencyDistributionResultDTOS);
+ }
+ return agencyAreaInfo;
+ }
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/DistributionServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/DistributionServiceImpl.java
new file mode 100644
index 0000000000..b65c0fe059
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/DistributionServiceImpl.java
@@ -0,0 +1,134 @@
+package com.epmet.datareport.service.evaluationindex.screen.impl;
+
+import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.constant.DataSourceConstant;
+import com.epmet.datareport.dao.evaluationindex.screen.ScreenCustomerAgencyDao;
+import com.epmet.datareport.dao.evaluationindex.screen.ScreenCustomerGridDao;
+import com.epmet.datareport.dao.evaluationindex.screen.ScreenEventDataDao;
+import com.epmet.datareport.dao.evaluationindex.screen.ScreenUserTotalDataDao;
+import com.epmet.datareport.service.evaluationindex.screen.DistributionService;
+import com.epmet.evaluationindex.screen.constant.ScreenConstant;
+import com.epmet.evaluationindex.screen.dto.form.*;
+import com.epmet.evaluationindex.screen.dto.result.*;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 中央区相关各指标查询
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/18 10:19
+ */
+@Service
+@DataSource(DataSourceConstant.EVALUATION_INDEX)
+public class DistributionServiceImpl implements DistributionService {
+
+ @Autowired
+ private ScreenCustomerGridDao screenCustomerGridDao;
+ @Autowired
+ private ScreenCustomerAgencyDao screenCustomerAgencyDao;
+ @Autowired
+ private ScreenEventDataDao screenEventDataDao;
+ @Autowired
+ private ScreenUserTotalDataDao screenUserTotalDataDao;
+
+ /**
+ * @Description 1、党支部
+ * @param formDTO
+ * @author zxc
+ * @date 2020/8/18 10:59 上午
+ */
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public List branch(BranchFormDTO formDTO) {
+ List branchResultDTOS = screenCustomerGridDao.selectBranch(formDTO.getAgencyId());
+ return branchResultDTOS;
+ }
+
+ /**
+ * @Description 2、用户分布
+ * @param userFormDTO
+ * @author zxc
+ * @date 2020/8/18 11:10 上午
+ */
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public UserResultDTO user(UserFormDTO userFormDTO) {
+ UserResultDTO userResult = new UserResultDTO();
+ CompartmentResultDTO agencyAreaInfo = screenCustomerAgencyDao.getAgencyAreaInfo(userFormDTO.getAgencyId());
+ if (null == agencyAreaInfo){
+ return userResult;
+ }
+ BeanUtils.copyProperties(agencyAreaInfo,userResult);
+ if (userResult.getLevel().equals(ScreenConstant.COMMUNITY)){
+ List userDistributionResultDTOS = screenCustomerGridDao.selectUserDistribution(userFormDTO.getAgencyId());
+ userResult.setUserDistribution(userDistributionResultDTOS);
+ }else {
+ List userDistributionResultDTOS = screenCustomerAgencyDao.selectUserDistributionAgency(userFormDTO.getAgencyId());
+ userResult.setUserDistribution(userDistributionResultDTOS);
+ }
+ return userResult;
+ }
+
+ /**
+ * @Description 3、党员分布
+ * @param parymemberFormDTO
+ * @author zxc
+ * @date 2020/8/18 11:20 上午
+ */
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public ParymemberResultDTO parymember(ParymemberFormDTO parymemberFormDTO) {
+ ParymemberResultDTO parymemberResult = new ParymemberResultDTO();
+ CompartmentResultDTO agencyAreaInfo = screenCustomerAgencyDao.getAgencyAreaInfo(parymemberFormDTO.getAgencyId());
+ if (null == agencyAreaInfo){
+ return parymemberResult;
+ }
+ BeanUtils.copyProperties(agencyAreaInfo,parymemberResult);
+ if (parymemberResult.getLevel().equals(ScreenConstant.COMMUNITY)){
+ List parymemberDistributionResultDTOS = screenCustomerGridDao.selectParymemberDistribution(parymemberFormDTO.getAgencyId());
+ parymemberResult.setUserDistribution(parymemberDistributionResultDTOS);
+ }else {
+ List parymemberDistributionResultDTOS = screenCustomerAgencyDao.selectParymemberDistribution(parymemberFormDTO.getAgencyId());
+ parymemberResult.setUserDistribution(parymemberDistributionResultDTOS);
+ }
+ return parymemberResult;
+ }
+
+ /**
+ * @Description 4、事件
+ * @param projectFormDTO
+ * @author zxc
+ * @date 2020/8/19 1:29 下午
+ */
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public List project(ProjectFormDTO projectFormDTO) {
+ List projectResultDTOS = screenEventDataDao.selectEvent(projectFormDTO.getAgencyId());
+ if (projectResultDTOS.size() == NumConstant.ZERO){
+ return new ArrayList<>();
+ }
+ return projectResultDTOS;
+ }
+
+ /**
+ * @Description 5、top区概况
+ * @param topProfileFormDTO
+ * @author zxc
+ * @date 2020/8/19 1:52 下午
+ */
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public TopProfileResultDTO topProfile(TopProfileFormDTO topProfileFormDTO) {
+ TopProfileResultDTO topProfileResultDTO = screenUserTotalDataDao.selectTopProfile(topProfileFormDTO.getAgencyId());
+ if (null == topProfileResultDTO){
+ return new TopProfileResultDTO();
+ }
+ return topProfileResultDTO;
+ }
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassRootsGovernServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassRootsGovernServiceImpl.java
new file mode 100644
index 0000000000..d750c1ee03
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassRootsGovernServiceImpl.java
@@ -0,0 +1,252 @@
+package com.epmet.datareport.service.evaluationindex.screen.impl;
+
+import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.constant.DataSourceConstant;
+import com.epmet.datareport.dao.evaluationindex.screen.*;
+import com.epmet.datareport.service.evaluationindex.screen.GrassRootsGovernService;
+import com.epmet.datareport.utils.DateUtils;
+import com.epmet.datareport.utils.ModuleConstant;
+import com.epmet.evaluationindex.screen.dto.form.AgencyAndNumFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.AgencyFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.AgencyNumTypeParamFormDTO;
+import com.epmet.evaluationindex.screen.dto.result.*;
+import com.github.pagehelper.PageHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * 基层治理相关各指标查询
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/18 10:20
+ */
+@Service
+@DataSource(DataSourceConstant.EVALUATION_INDEX)
+public class GrassRootsGovernServiceImpl implements GrassRootsGovernService {
+
+ @Autowired
+ private ScreenPartyUserRankDataDao screenPartyUserRankDataDao;
+ @Autowired
+ private ScreenDifficultyDataDao screenDifficultyDataDao;
+ @Autowired
+ private ScreenUserJoinDao screenUserJoinDao;
+ @Autowired
+ private DateUtils dateUtils;
+ @Autowired
+ private ScreenGovernRankDataDao screenGovernRankDataDao;
+ @Autowired
+ private ScreenPublicPartiTotalDataDao screenPublicPartiTotalDataDao;
+
+ /**
+ * @Description 1、热心市民积分排行
+ * @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321544
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.20 11:16
+ **/
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public UserPointRankResultDTO userPointRank(AgencyAndNumFormDTO param) {
+ //默认5
+ if(null == param.getTopNum()){
+ param.setTopNum(NumConstant.FIVE);
+ }
+ PageHelper.startPage(NumConstant.ONE,param.getTopNum());
+ List userPointList = screenPartyUserRankDataDao.selectUserPointOrder(param.getAgencyId());
+ UserPointRankResultDTO result = new UserPointRankResultDTO();
+ result.setNameData(userPointList.stream().map(UserPointResultDTO::getName).collect(Collectors.toList()));
+ result.setPointsData(userPointList.stream().map(UserPointResultDTO::getPoint).collect(Collectors.toList()));
+ return result;
+ }
+
+
+ /**
+ * @Description 2、难点赌点-耗时最长|涉及部门最多|处理次数
+ * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321614
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.20 13:55
+ **/
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public List difficultProject(AgencyNumTypeParamFormDTO param) {
+ if(null == param.getTopNum()){
+ param.setTopNum(NumConstant.TWO);
+ }
+ PageHelper.startPage(NumConstant.ONE,param.getTopNum());
+ List result = screenDifficultyDataDao.selectDifficulty(param.getAgencyId(),param.getType());
+ if(null == result) return new ArrayList<>();
+ return result;
+ }
+
+
+ /**
+ * @Description 3、公众参与概况
+ * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321975
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.20 14:37
+ **/
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public PublicPartiProfileResultDTO publicPartiProfile(AgencyFormDTO param) {
+
+ String monthId = dateUtils.getCurrentMonthId();
+ UserJoinIndicatorGrowthRateResultDTO latest = screenUserJoinDao.selectUserJoinData(param.getAgencyId(), monthId);
+ //保证获取公众参与概率数据的最大可能性
+ int time = NumConstant.TWELVE;
+ while(null == latest && time > NumConstant.ONE)
+ {
+ time --;
+ monthId = dateUtils.getPreviousMonthIdByDest(null,monthId);
+ latest = screenUserJoinDao.selectUserJoinData(param.getAgencyId(), monthId);
+ }
+
+ if(null == latest) return new PublicPartiProfileResultDTO();
+ PublicPartiProfileResultDTO result = ConvertUtils.sourceToTarget(latest,PublicPartiProfileResultDTO.class);
+ result.setMonthIncr(convertPercentStr(latest.getMonthIncr(),NumConstant.ZERO));
+ result.setJoinCompareLatestMonth(convertPercentStr(latest.getJoinCompareLatestMonth(),NumConstant.ZERO));
+ result.setIssueCompareLatestMonth(convertPercentStr(latest.getIssueCompareLatestMonth(),NumConstant.ZERO));
+ return result;
+ }
+
+ /**
+ * @Description 4、公众参与-排行榜
+ * @NEI https://nei.netease.com/interface/detail/?pid=57068&id=321978
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.20 15:32
+ **/
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public List publicPartiRank(AgencyAndNumFormDTO param) {
+ if(null == param.getTopNum()){
+ param.setTopNum(NumConstant.TWO);
+ }
+ if(NumConstant.ZERO == param.getTopNum()){
+ param.setTopNum(NumConstant.MAX);
+ }
+ PageHelper.startPage(NumConstant.ONE,param.getTopNum());
+ List result = screenPublicPartiTotalDataDao.selectPublicPartiTotal(param.getAgencyId());
+ if(null == result) {
+ return new ArrayList<>();
+ }
+ return result;
+ }
+
+ /**
+ * @Description 5、治理能力榜单
+ * @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321627
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.20 17:46
+ **/
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public List governCapacityRank(AgencyAndNumFormDTO param) {
+ if(null == param.getTopNum()) param.setTopNum(NumConstant.FIVE);
+ if(NumConstant.ZERO == param.getTopNum()) param.setTopNum(NumConstant.MAX);
+ PageHelper.startPage(NumConstant.ONE,param.getTopNum());
+ String monthId = dateUtils.getCurrentMonthId();
+ List orderList =
+ screenGovernRankDataDao.selectGovernCapacityRatio(monthId,param.getAgencyId());
+ int time = NumConstant.TWELVE;
+ while(CollectionUtils.isEmpty(orderList) && time > NumConstant.ONE){
+ time--;
+ monthId = dateUtils.getPreviousMonthIdByDest(null ,monthId);
+ PageHelper.startPage(NumConstant.ONE,param.getTopNum());
+ orderList =
+ screenGovernRankDataDao.selectGovernCapacityRatio(monthId,param.getAgencyId());
+ }
+ if(null == orderList || orderList.isEmpty()) return new ArrayList<>();
+ List result = new LinkedList<>();
+ orderList.forEach(o -> {
+ GovernCapacityRankResultDTO rank = new GovernCapacityRankResultDTO();
+ rank.setAgencyName(o.getAgencyName());
+ rank.setGovernRatio(convertPercentStr(o.getGovernRatio(),NumConstant.ONE));
+ rank.setResolvedRatio(convertPercentStr(o.getResolvedRatio(),NumConstant.ONE));
+ rank.setResponseRatio(convertPercentStr(o.getResponseRatio(),NumConstant.ONE));
+ rank.setSatisfactionRatio(convertPercentStr(o.getSatisfactionRatio(),NumConstant.ONE));
+ result.add(rank);
+ });
+ return result;
+ }
+
+ /**
+ * @Description 6、公众参与-柱状折线图
+ * @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=322434
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.21 09:58
+ **/
+ @Override
+ public PublicPartiChartResultDTO publicPartiChart(AgencyFormDTO param) {
+ Map Xaxis = dateUtils.getXpro();
+ List monthlyData = screenUserJoinDao.selectUserJoinDataMonthly(param.getAgencyId(),Xaxis.keySet().iterator().next());
+ PublicPartiChartResultDTO result = new PublicPartiChartResultDTO();
+ result.setXAxis(Xaxis.values().stream().collect(Collectors.toList()));
+ List defaultData = new LinkedList<>();
+ for(int i = NumConstant.ZERO ; i < NumConstant.TWELVE ; i++){
+ defaultData.add(NumConstant.ZERO);
+ }
+ if(null == monthlyData || monthlyData.isEmpty()){
+ result.setAverageJoinNumList(defaultData);
+ result.setJoinUserNumList(defaultData);
+ result.setOrganizeNumList(defaultData);
+ return result;
+ }
+ result.setOrganizeNumList(new ArrayList<>());
+ result.setJoinUserNumList(new ArrayList<>());
+ result.setAverageJoinNumList(new ArrayList<>());
+ Map> dataMap = monthlyData.stream().collect(Collectors.groupingBy(UserJoinMonthlyResultDTO :: getMonthId));
+ Xaxis.keySet().stream().forEach(monthId -> {
+ List data = dataMap.get(monthId);
+ if(null == data || data.isEmpty()){
+ result.getOrganizeNumList().add(NumConstant.ZERO);
+ result.getJoinUserNumList().add(NumConstant.ZERO);
+ result.getAverageJoinNumList().add(NumConstant.ZERO);
+ }else{
+ Integer o = NumConstant.ZERO;
+ Integer j = NumConstant.ZERO;
+ Integer a = NumConstant.ZERO;
+ for(UserJoinMonthlyResultDTO unit : data){
+ o = null == unit.getOrganizeNum() ? NumConstant.ZERO : o + unit.getOrganizeNum();
+ j = null == unit.getJoinUserNum() ? NumConstant.ZERO : o + unit.getJoinUserNum();
+ a = null == unit.getAverageJoinNum() ? NumConstant.ZERO : o + unit.getAverageJoinNum();
+ }
+ result.getOrganizeNumList().add(o);
+ result.getJoinUserNumList().add(j);
+ result.getAverageJoinNumList().add(a);
+ }
+ });
+
+ return result;
+ }
+
+
+
+ private String convertPercentStr(BigDecimal percent,Integer digits){
+ if(null == percent) percent = BigDecimal.ZERO;
+ String percentStr = percent.setScale(digits, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
+ return percentStr.concat(ModuleConstant.SYMBOL_PERCENT);
+ }
+
+
+
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassrootsPartyDevServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassrootsPartyDevServiceImpl.java
new file mode 100644
index 0000000000..619eba4625
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/GrassrootsPartyDevServiceImpl.java
@@ -0,0 +1,237 @@
+package com.epmet.datareport.service.evaluationindex.screen.impl;
+
+import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.constant.DataSourceConstant;
+import com.epmet.datareport.dao.evaluationindex.screen.ScreenCpcBaseDataDao;
+import com.epmet.datareport.dao.evaluationindex.screen.ScreenPartyBranchDataDao;
+import com.epmet.datareport.dao.evaluationindex.screen.ScreenUserTotalDataDao;
+import com.epmet.datareport.service.evaluationindex.screen.GrassrootsPartyDevService;
+import com.epmet.datareport.utils.DateUtils;
+import com.epmet.datareport.utils.ModuleConstant;
+import com.epmet.evaluationindex.screen.dto.form.BranchBuildRankFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.BranchBuildTrendFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.ParymemberFormDTO;
+import com.epmet.evaluationindex.screen.dto.result.*;
+import com.github.pagehelper.PageHelper;
+import org.apache.commons.lang3.StringUtils;
+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.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * 基层党建相关各指标查询
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/18 10:21
+ */
+@Service
+@DataSource(DataSourceConstant.EVALUATION_INDEX)
+public class GrassrootsPartyDevServiceImpl implements GrassrootsPartyDevService {
+
+ private static final Logger logger = LoggerFactory.getLogger(GrassrootsPartyDevServiceImpl.class);
+
+ @Autowired
+ private ScreenUserTotalDataDao screenUserTotalDataDao;
+ @Autowired
+ private ScreenCpcBaseDataDao screenCpcBaseDataDao;
+ @Autowired
+ private ScreenPartyBranchDataDao screenPartyBranchDataDao;
+ @Autowired
+ private DateUtils dateUtils;
+
+ /**
+ * @Description 1、党员基本情况-饼状图概况
+ * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321324
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.18 14:58
+ **/
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public PartymemberPercentResultDTO partymemberBaseInfo(ParymemberFormDTO param) {
+
+ PartymemberPercentResultDTO result = screenUserTotalDataDao.selectAgencyPartymemberPercent(param.getAgencyId());
+ if(null == result){
+ result = new PartymemberPercentResultDTO();
+ logger.warn("com.epmet.datareport.service.screen.impl.GrassrootsPartyDevServiceImpl.partymemberBaseInfo:未查询出指定agencyId下的党员基础信息数据,agencyId :: {}",param.getAgencyId());
+ result = new PartymemberPercentResultDTO();
+ result.setPercentInPlatForm(convertPercentStr(BigDecimal.ZERO));
+ return result;
+ }
+ //partymember / platform
+ if(null == result.getPlatFormTotal() || NumConstant.ZERO == result.getPlatFormTotal()){
+ result.setPercentInPlatForm(convertPercentStr(BigDecimal.ZERO));
+ }else{
+ result.setPercentInPlatForm(convertPercentStr(new BigDecimal((result.getPartyMemberTotal().doubleValue()/result.getPlatFormTotal().doubleValue()))));
+ }
+ return result;
+ }
+
+ /**
+ * @Description 2、党员基本情况-年龄分布
+ * @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321980
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.18 17:54
+ **/
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public PartymemberAgeDistributionResultDTO partymemberAgeDistribution(ParymemberFormDTO param) {
+ return screenCpcBaseDataDao.selectPartymemberAgeDistribution(param.getAgencyId());
+ }
+
+ /**
+ * @Description 3、支部建设情况|联建共建情况-折线图
+ * @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321981
+ * @param param
+ * @return BranchBuildTrendResultDTO
+ * @author wangc
+ * @date 2020.08.19 11:02
+ **/
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public BranchBuildTrendResultDTO branchBuildTrend(BranchBuildTrendFormDTO param) {
+ if(StringUtils.equals(ModuleConstant.PARAM_BRANCH_CATEGORY_UNION,param.getCategory())){
+ //联建共建情况
+ param.setCategory(ModuleConstant.KEY_BRANCH_CATEGORY_UNION);
+ }else if(StringUtils.equals(ModuleConstant.PARAM_BRANCH_CATEGORY_VOLUNTARY_SERVICE,param.getCategory())){
+ //联建党员志愿服务情况
+ param.setCategory(ModuleConstant.KEY_BRANCH_CATEGORY_VOLUNTARY_SERVICE);
+ }else{
+ //默认支部建设
+ param.setCategory(ModuleConstant.KEY_BRANCH_CATEGORY_PARTY);
+ }
+ BranchBuildTrendResultDTO result = new BranchBuildTrendResultDTO();
+ //生成近十二个月的横坐标数组
+ Map monthMap = dateUtils.getXpro();
+ result.setXAxis(monthMap.values().stream().collect(Collectors.toList()));
+
+ List dataArray = new LinkedList<>();
+ List yearlyDataList =
+ screenPartyBranchDataDao.selectBranchDataByTypeAndTimeZone(param.getAgencyId(),param.getType(),param.getCategory(),monthMap.keySet().iterator().next());
+
+
+ if(null != yearlyDataList && !yearlyDataList.isEmpty()){
+
+ Map> dataMapByIssue =
+ yearlyDataList.stream().collect(Collectors.groupingBy(BranchIssueDataResultDTO::getIssue));
+
+
+ result.setLegend(new LinkedList<>(dataMapByIssue.keySet()));
+
+ dataMapByIssue.forEach((issue,val) ->{
+ List issueYearlyDataList = val;
+ List numArray = new LinkedList<>();
+ BranchTrendSeriesDataResultDTO data = new BranchTrendSeriesDataResultDTO();
+ data.setName(issue);
+ if(null != issueYearlyDataList && !issueYearlyDataList.isEmpty()){
+ monthMap.keySet().forEach( monthId ->{
+ Optional optional
+ = issueYearlyDataList.stream().filter(yearly -> StringUtils.equals(monthId,yearly.getMonthId())).findAny();
+ if(optional.isPresent()){
+ numArray.add(optional.get().getData());
+ }else{
+ numArray.add(NumConstant.ZERO);
+ }
+ });
+ }else{
+ for(int i = NumConstant.ZERO ; i < NumConstant.TWELVE ; i++){
+ numArray.add(NumConstant.ZERO);
+ }
+ }
+ data.setData(numArray);
+ dataArray.add(data);
+ });
+ }
+
+ result.setSeriesData(dataArray);
+ result.setLegend(null == result.getLegend() ? new ArrayList<>() : result.getLegend());
+ List _ymList = monthMap.keySet().stream().collect(Collectors.toList());
+ //总组织次数
+ Integer totalOrganizationCount = screenPartyBranchDataDao.selectTotalOrganizationCount(param.getCategory(),ModuleConstant.PARAM_BRANCH_DATA_TYPE_ORGAN,param.getAgencyId(),monthMap.keySet().iterator().next());
+ //自旋一次
+ totalOrganizationCount = Optional.ofNullable(totalOrganizationCount).orElse(
+ screenPartyBranchDataDao.selectTotalOrganizationCount(param.getCategory(),ModuleConstant.PARAM_BRANCH_DATA_TYPE_ORGAN,param.getAgencyId(),_ymList.get(NumConstant.ONE))
+ );
+ //总参与人数
+ Integer totalJoinUserCount = screenPartyBranchDataDao.selectTotalOrganizationCount(param.getCategory(),ModuleConstant.PARAM_BRANCH_DATA_TYPE_JOIN,param.getAgencyId(),monthMap.keySet().iterator().next());
+ //自旋一次
+ totalJoinUserCount = Optional.ofNullable(totalJoinUserCount).orElse(
+ screenPartyBranchDataDao.selectTotalOrganizationCount(param.getCategory(),ModuleConstant.PARAM_BRANCH_DATA_TYPE_JOIN,param.getAgencyId(),_ymList.get(NumConstant.ONE))
+ );
+
+ result.setTotalOrganizationCount(Optional.ofNullable(totalOrganizationCount).orElse(NumConstant.ZERO));
+ result.setTotalJoinUserCount(Optional.ofNullable(totalJoinUserCount).orElse(NumConstant.ZERO));
+ return result;
+ }
+
+ /**
+ * @Description 4、支部建设情况|联建共建情况-排行
+ * @NEI https://nei.netease.com/interface/detail/res/?pid=57068&id=321982
+ * @param param
+ * @return BranchBuildRankResultDTO
+ * @author wangc
+ * @date 2020.08.19 15:25
+ **/
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public BranchBuildRankResultDTO branchBuildRank(BranchBuildRankFormDTO param) {
+ if(StringUtils.equals(ModuleConstant.PARAM_BRANCH_CATEGORY_UNION,param.getCategory())){
+ //联建共建情况
+ param.setCategory(ModuleConstant.KEY_BRANCH_CATEGORY_UNION);
+ }else if(StringUtils.equals(ModuleConstant.PARAM_BRANCH_CATEGORY_VOLUNTARY_SERVICE,param.getCategory())){
+ //联建党员志愿服务情况
+ param.setCategory(ModuleConstant.KEY_BRANCH_CATEGORY_VOLUNTARY_SERVICE);
+ }else{
+ //默认支部建设
+ param.setCategory(ModuleConstant.KEY_BRANCH_CATEGORY_PARTY);
+ }
+ if(StringUtils.isBlank(param.getMonthId())){
+ param.setMonthId(dateUtils.getCurrentMonthId());
+ }
+ if(NumConstant.ZERO == param.getTopNum()) param.setTopNum(NumConstant.MAX);
+ PageHelper.startPage(NumConstant.ONE,param.getTopNum());
+ List orderList =
+ screenPartyBranchDataDao.selectBranchDataByTypeOrder(param.getAgencyId(),param.getCategory(),param.getMonthId(),param.getBottomMonthId());
+
+ int time = NumConstant.TWELVE;
+ while(CollectionUtils.isEmpty(orderList) && time > NumConstant.ONE){
+ time --;
+ param.setMonthId(dateUtils.getPreviousMonthIdByDest(null,param.getMonthId()));
+ PageHelper.startPage(NumConstant.ONE,param.getTopNum());
+ orderList =
+ screenPartyBranchDataDao.selectBranchDataByTypeOrder(param.getAgencyId(),param.getCategory(),param.getMonthId(),param.getBottomMonthId());
+ }
+
+
+ BranchBuildRankResultDTO result = new BranchBuildRankResultDTO();
+ result.setJoinData(new LinkedList<>());
+ result.setOrganizeData(new LinkedList<>());
+ result.setXAxis(new LinkedList<>());
+ for(BranchBuildOrderByCountResultDTO data : orderList){
+ result.getXAxis().add(data.getOrgName());
+ result.getOrganizeData().add(data.getOrganizeData());
+ result.getJoinData().add(data.getJoinData());
+ }
+ return result;
+ }
+
+
+ private String convertPercentStr(BigDecimal percent){
+ if(null == percent || BigDecimal.ZERO == percent) return "0.00%";
+ String percentStr = percent.setScale(NumConstant.TWO, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
+ return percentStr.concat(ModuleConstant.SYMBOL_PERCENT);
+ }
+
+
+
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java
new file mode 100644
index 0000000000..22f6aa376b
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/IndexServiceImpl.java
@@ -0,0 +1,185 @@
+package com.epmet.datareport.service.evaluationindex.screen.impl;
+
+import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.constant.DataSourceConstant;
+import com.epmet.datareport.dao.evaluationindex.screen.ScreenIndexDataMonthlyDao;
+import com.epmet.datareport.dao.evaluationindex.screen.ScreenIndexDataYearlyDao;
+import com.epmet.datareport.service.evaluationindex.screen.IndexService;
+import com.epmet.datareport.utils.DateUtils;
+import com.epmet.evaluationindex.screen.dto.form.MonthBarchartFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.MonthPieChartFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.SubAgencyIndexRankFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.YearAverageIndexFormDTO;
+import com.epmet.evaluationindex.screen.dto.result.*;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.time.LocalDate;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * 指数相关相关各指标查询
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/18 10:21
+ */
+@Service
+@DataSource(DataSourceConstant.EVALUATION_INDEX)
+public class IndexServiceImpl implements IndexService {
+
+ @Autowired
+ private ScreenIndexDataYearlyDao screenIndexDataYearlyDao;
+ @Autowired
+ private ScreenIndexDataMonthlyDao screenIndexDataMonthlyDao;
+ @Autowired
+ private PartyMemberLeadServiceImpl partyMemberLeadServiceImpl;
+ @Autowired
+ private DateUtils dateUtils;
+
+ /**
+ * @Description 1、年度平均指数
+ * @param yearAverageIndexFormDTO
+ * @author zxc
+ * @date 2020/8/19 2:53 下午
+ */
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public YearAverageIndexResultDTO yearAverageIndex(YearAverageIndexFormDTO yearAverageIndexFormDTO) {
+ YearAverageIndexResultDTO yearAverageIndexResultDTO = screenIndexDataYearlyDao.selectYearAverageIndex(yearAverageIndexFormDTO.getAgencyId());
+ if (null == yearAverageIndexResultDTO){
+ return new YearAverageIndexResultDTO();
+ }
+ return yearAverageIndexResultDTO;
+ }
+
+ /**
+ * @Description 2、月度指数分析-饼状图
+ * @param monthPieChartFormDTO
+ * @author zxc
+ * @date 2020/8/19 3:17 下午
+ */
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public MonthPieChartResultDTO monthPieChart(MonthPieChartFormDTO monthPieChartFormDTO) {
+
+ MonthPieChartResultDTO monthPieChartResultDTO = screenIndexDataMonthlyDao.selectMonthPieChart(monthPieChartFormDTO.getAgencyId(),null);
+ String monthId = dateUtils.getCurrentMonthId();
+ int time = NumConstant.TWELVE;
+ //保证获取月度指数数据的最大可能性
+ while(null == monthPieChartResultDTO && time > NumConstant.ONE){
+ time--;
+ monthId = dateUtils.getPreviousMonthIdByDest(null,monthId);
+ monthPieChartResultDTO = screenIndexDataMonthlyDao.selectMonthPieChart(monthPieChartFormDTO.getAgencyId(),monthId);
+ }
+ if (null == monthPieChartResultDTO){
+ return new MonthPieChartResultDTO();
+ }
+ return monthPieChartResultDTO;
+ }
+
+ /**
+ * @Description 3、月度指数分析-柱状图
+ * @param monthBarchartFormDTO
+ * @author zxc
+ * @date 2020/8/19 5:27 下午
+ */
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public MonthBarchartResultDTO monthBarchart(MonthBarchartFormDTO monthBarchartFormDTO) {
+ MonthBarchartResultDTO result = new MonthBarchartResultDTO();
+ List serviceAbilityData = new ArrayList<>();
+ List partyDevAbilityData = new ArrayList<>();
+ List governAbilityData = new ArrayList<>();
+ List totalIndexData = new ArrayList<>();
+ // 1. x轴
+ result.setXAxis(partyMemberLeadServiceImpl.getXPro());
+ // 2. 查询近一年的指数值【包括本月】
+ List monthBarchartResults = screenIndexDataMonthlyDao.selectMonthBarchart(monthBarchartFormDTO.getAgencyId());
+ if (monthBarchartResults.size() == NumConstant.ZERO){
+ for (int i = NumConstant.ZERO; i <= NumConstant.TWELVE; i++) {
+ serviceAbilityData.add(NumConstant.ZERO_DOT_ZERO);
+ partyDevAbilityData.add(NumConstant.ZERO_DOT_ZERO);
+ governAbilityData.add(NumConstant.ZERO_DOT_ZERO);
+ totalIndexData.add(NumConstant.ZERO_DOT_ZERO);
+ }
+ result.setServiceAbilityData(serviceAbilityData);
+ result.setPartyDevAbilityData(partyDevAbilityData);
+ result.setGovernAbilityData(governAbilityData);
+ result.setTotalIndexData(totalIndexData);
+ return result;
+ }
+ List collect = monthBarchartResults.stream().sorted(Comparator.comparing(MonthBarchartResult::getMonthId)).collect(Collectors.toList());
+ //升序 当前月份在队尾
+ List _ymList = dateUtils.getXpro().keySet().stream().collect(Collectors.toList());
+ //针对集合collect的游标
+ int cursor = NumConstant.ZERO;
+ //针对X轴,数据集合不全则进行数据填充
+ a:for(int i = NumConstant.ZERO; i < _ymList.size(); i++){
+ //这里的collect必须是有序且升序的
+ if(cursor >= collect.size()) break a;
+ //如果存在过期数据,即从数据库中查询出超出横坐标左边界的月份值
+ if(Integer.parseInt(collect.get(cursor).getMonthId()) < Integer.parseInt(_ymList.get(NumConstant.ZERO))) {
+ //控制当前循环重复进行
+ i--;
+ //忽略过期数据
+ cursor++;
+ continue ;
+ }
+ if(!StringUtils.equals(collect.get(cursor).getMonthId(),_ymList.get(i))){
+ //SET DEFAULT
+ serviceAbilityData.add(NumConstant.ZERO_DOT_ZERO);
+ partyDevAbilityData.add(NumConstant.ZERO_DOT_ZERO);
+ governAbilityData.add(NumConstant.ZERO_DOT_ZERO);
+ totalIndexData.add(NumConstant.ZERO_DOT_ZERO);
+ //保持cursor不变
+ }else{
+ MonthBarchartResult data = collect.get(cursor);
+ //SET DATA
+ serviceAbilityData.add(null == data.getServiceAbility() ? NumConstant.ZERO_DOT_ZERO : data.getServiceAbility());
+ partyDevAbilityData.add(null == data.getPartyDevAbility() ? NumConstant.ZERO_DOT_ZERO : data.getPartyDevAbility());
+ governAbilityData.add(null == data.getGovernAbility() ? NumConstant.ZERO_DOT_ZERO : data.getGovernAbility());
+ totalIndexData.add(null == data.getIndexTotal() ? NumConstant.ZERO_DOT_ZERO : data.getIndexTotal());
+ //统计日期一致后移动游标
+ cursor++;
+ }
+
+ }
+
+ /*collect.forEach(month -> {
+ serviceAbilityData.add(null == month.getServiceAbility() ? NumConstant.ZERO_DOT_ZERO : month.getServiceAbility());
+ partyDevAbilityData.add(null == month.getPartyDevAbility() ? NumConstant.ZERO_DOT_ZERO : month.getPartyDevAbility());
+ governAbilityData.add(null == month.getGovernAbility() ? NumConstant.ZERO_DOT_ZERO : month.getGovernAbility());
+ totalIndexData.add(null == month.getIndexTotal() ? NumConstant.ZERO_DOT_ZERO : month.getIndexTotal());
+ });*/
+ result.setServiceAbilityData(serviceAbilityData);
+ result.setPartyDevAbilityData(partyDevAbilityData);
+ result.setGovernAbilityData(governAbilityData);
+ result.setTotalIndexData(totalIndexData);
+ return result;
+ }
+
+ /**
+ * @Description 4、下级部门指数排行
+ * @param subAgencyIndexRankFormDTO
+ * @author zxc
+ * @date 2020/8/20 10:04 上午
+ */
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public List subAgencyIndexRank(SubAgencyIndexRankFormDTO subAgencyIndexRankFormDTO) {
+ LocalDate now = LocalDate.now().minusMonths(NumConstant.ONE);
+ int yearId = now.getYear();
+ subAgencyIndexRankFormDTO.setYearId(String.valueOf(yearId));
+ List subAgencyIndexRankResultDTOS = screenIndexDataMonthlyDao.selectSubAgencyIndexRank(subAgencyIndexRankFormDTO);
+ if (CollectionUtils.isEmpty(subAgencyIndexRankResultDTOS)){
+ return new ArrayList<>();
+ }
+ return subAgencyIndexRankResultDTOS;
+ }
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/PartyMemberLeadServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/PartyMemberLeadServiceImpl.java
new file mode 100644
index 0000000000..203b5cb456
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/PartyMemberLeadServiceImpl.java
@@ -0,0 +1,261 @@
+package com.epmet.datareport.service.evaluationindex.screen.impl;
+
+import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.commons.tools.utils.ConvertUtils;
+import com.epmet.constant.DataSourceConstant;
+import com.epmet.datareport.dao.evaluationindex.screen.*;
+import com.epmet.datareport.service.evaluationindex.screen.PartyMemberLeadService;
+import com.epmet.datareport.utils.DateUtils;
+import com.epmet.datareport.utils.ModuleConstant;
+import com.epmet.evaluationindex.screen.constant.ScreenConstant;
+import com.epmet.evaluationindex.screen.dto.form.AgencyAndNumFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.ContactMassLineChartFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.FineExampleFormDTO;
+import com.epmet.evaluationindex.screen.dto.form.VolunteerServiceFormDTO;
+import com.epmet.evaluationindex.screen.dto.result.*;
+import com.github.pagehelper.PageHelper;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.*;
+
+/**
+ * 党建引领相关各指标查询
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/18 10:22
+ */
+@Service
+@DataSource(DataSourceConstant.EVALUATION_INDEX)
+public class PartyMemberLeadServiceImpl implements PartyMemberLeadService {
+
+ @Autowired
+ private ScreenPartyLinkMassesDataDao screenPartyLinkMassesDataDao;
+ @Autowired
+ private ScreenPartyBranchDataDao screenPartyBranchDataDao;
+ @Autowired
+ private ScreenPioneerDataDao screenPioneerDataDao;
+ @Autowired
+ private ScreenOrgRankDataDao screenOrgRankDataDao;
+ @Autowired
+ private DateUtils dateUtils;
+ @Autowired
+ private ScreenPartyUserRankDataDao screenPartyUserRankDataDao;
+
+ /**
+ * @Description 1、先锋模范
+ * @param fineExampleFormDTO
+ * @author zxc
+ * @date 2020/8/20 1:56 下午
+ */
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public FineExampleResultDTO fineExample(FineExampleFormDTO fineExampleFormDTO) {
+ FineExampleResultDTO fineExampleResultDTO = screenPioneerDataDao.selectFineExample(fineExampleFormDTO.getAgencyId());
+ if (null == fineExampleResultDTO){
+ return new FineExampleResultDTO();
+ }
+ fineExampleResultDTO.setIssueRatio(this.getRatio(fineExampleResultDTO.getIssueRatioA()));
+ fineExampleResultDTO.setPublishIssueRatio(this.getRatio(fineExampleResultDTO.getPublishIssueRatioA()));
+ fineExampleResultDTO.setResolvedProjectRatio(this.getRatio(fineExampleResultDTO.getResolvedProjectRatioA()));
+ fineExampleResultDTO.setTopicRatio(this.getRatio(fineExampleResultDTO.getTopicRatioA()));
+ fineExampleResultDTO.setShiftProjectRatio(this.getRatio(fineExampleResultDTO.getShiftProjectRatioA()));
+ return fineExampleResultDTO;
+ }
+
+ /**
+ * @Description 小数转换百分比
+ * @param d
+ * @author zxc
+ * @date 2020/8/20 6:06 下午
+ */
+ public String getRatio(Double d){
+ BigDecimal bigDecimal = new BigDecimal(d);
+ return bigDecimal.setScale(NumConstant.TWO, BigDecimal.ROUND_HALF_UP).toPlainString().concat(ScreenConstant.RATIO);
+ }
+
+ /**
+ * @Description 2、党员联系群众
+ * @param contactMassLineChartFormDTO
+ * @author zxc
+ * @date 2020/8/20 2:35 下午
+ */
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public ContactMassLineChartResultDTO contactMassLineChart(ContactMassLineChartFormDTO contactMassLineChartFormDTO) {
+ ContactMassLineChartResultDTO result = new ContactMassLineChartResultDTO();
+ List contactMassLineChartResults = screenPartyLinkMassesDataDao.selectContactMassLineChart(contactMassLineChartFormDTO.getAgencyId());
+ if (contactMassLineChartResults.size() == NumConstant.ZERO){
+ result.setXAxis(new ArrayList<>());
+ result.setGroupMemberData(new ArrayList<>());
+ result.setGroupData(new ArrayList<>());
+ return result;
+ }
+ List xAxis = new ArrayList<>();
+ List groupData = new ArrayList<>();
+ List groupMemberData = new ArrayList<>();
+ contactMassLineChartResults.forEach(contact -> {
+ xAxis.add(contact.getOrgName());
+ groupData.add(contact.getGroupTotal());
+ groupMemberData.add(contact.getUserTotal());
+ });
+ result.setXAxis(xAxis);
+ result.setGroupData(groupData);
+ result.setGroupMemberData(groupMemberData);
+ result.setGroupTotal(groupData.stream().mapToInt(Integer :: intValue).sum());
+ result.setGroupMemberTotal(groupMemberData.stream().mapToInt(Integer :: intValue).sum());
+ return result;
+ }
+
+ /**
+ * @Description 3、党员志愿服务
+ * @param volunteerServiceFormDTO
+ * @author zxc
+ * @date 2020/8/20 3:19 下午
+ */
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public VolunteerServiceResultDTO volunteerService(VolunteerServiceFormDTO volunteerServiceFormDTO) {
+ VolunteerServiceResultDTO result = new VolunteerServiceResultDTO();
+ List organizeData = new ArrayList<>();
+ List joinData = new ArrayList<>();
+ List averageJoinUserData = new ArrayList<>();
+ result.setXAxis(this.getXPro());
+ //创建缺省值对象
+ VolunteerServiceResult defaultObj = new VolunteerServiceResult();
+ defaultObj.setAverageJoinUserData(NumConstant.ZERO);
+ defaultObj.setJoinData(NumConstant.ZERO);
+ defaultObj.setOrganizeData(NumConstant.ZERO);
+
+ //倒叙取十二个月的数据,从本月开始,有可能取不到十二条,要对X轴空白的缺口进行填补
+ List volunteerServiceResults = screenPartyBranchDataDao.selectVolunteerServiceResult(volunteerServiceFormDTO.getAgencyId());
+ if (volunteerServiceResults.size() == NumConstant.ZERO){
+ for (int i = NumConstant.ZERO; i <= NumConstant.TWELVE; i++) {
+ organizeData.add(NumConstant.ZERO);
+ joinData.add(NumConstant.ZERO);
+ averageJoinUserData.add(NumConstant.ZERO);
+ }
+ result.setOrganizeData(organizeData);
+ result.setJoinData(joinData);
+ result.setAverageJoinUserData(averageJoinUserData);
+ return result;
+ }
+
+ Set yyyyMMList = dateUtils.getXpro().keySet();
+ yyyyMMList.forEach(mm -> {
+ Optional opt = volunteerServiceResults.stream()
+ .filter(obj -> StringUtils.equals(mm,obj.getMonthId())).findAny();
+ VolunteerServiceResult find = opt.isPresent() ? opt.get() : defaultObj;
+ organizeData.add(find.getOrganizeData());
+ joinData.add(find.getJoinData());
+ averageJoinUserData.add(find.getAverageJoinUserData());
+ });
+
+
+ result.setOrganizeData(organizeData);
+ result.setJoinData(joinData);
+ result.setAverageJoinUserData(averageJoinUserData);
+ String bottomMonthId = yyyyMMList.iterator().next();
+ //总组织次数
+ Integer totalOrganizationCount = screenPartyBranchDataDao.selectTotalOrganizationCount(ModuleConstant.KEY_BRANCH_CATEGORY_VOLUNTARY_SERVICE,ModuleConstant.PARAM_BRANCH_DATA_TYPE_ORGAN,volunteerServiceFormDTO.getAgencyId(),bottomMonthId);
+ //自旋一次
+ totalOrganizationCount = Optional.ofNullable(totalOrganizationCount).orElse(
+ screenPartyBranchDataDao.selectTotalOrganizationCount(ModuleConstant.KEY_BRANCH_CATEGORY_VOLUNTARY_SERVICE,ModuleConstant.PARAM_BRANCH_DATA_TYPE_ORGAN,volunteerServiceFormDTO.getAgencyId(),dateUtils.getPreviousMonthIdByDest(null,bottomMonthId))
+ );
+ //总参与人数
+ Integer totalJoinUserCount = screenPartyBranchDataDao.selectTotalOrganizationCount(ModuleConstant.KEY_BRANCH_CATEGORY_VOLUNTARY_SERVICE,ModuleConstant.PARAM_BRANCH_DATA_TYPE_JOIN,volunteerServiceFormDTO.getAgencyId(),bottomMonthId);
+ //自旋一次
+ totalJoinUserCount = Optional.ofNullable(totalJoinUserCount).orElse(
+ screenPartyBranchDataDao.selectTotalOrganizationCount(ModuleConstant.KEY_BRANCH_CATEGORY_VOLUNTARY_SERVICE,ModuleConstant.PARAM_BRANCH_DATA_TYPE_JOIN,volunteerServiceFormDTO.getAgencyId(),dateUtils.getPreviousMonthIdByDest(null,bottomMonthId))
+ );
+ result.setTotalOrganizationCount(null == totalOrganizationCount ? NumConstant.ZERO : totalOrganizationCount);
+ result.setTotalJoinUserCount(null == totalJoinUserCount ? NumConstant.ZERO : totalJoinUserCount);
+ return result;
+ }
+
+ /**
+ * @Description 获取之前的12个月份【包括当前月】
+ * @author zxc
+ * @date 2020/8/21 10:19 上午
+ */
+ public List getXPro(){
+ List xAxis = new ArrayList<>();
+ LocalDate today = LocalDate.now();
+ for(int i = NumConstant.ELEVEN;i >= NumConstant.ZERO; i--){
+ LocalDate localDate = today.minusMonths(i);
+ String s = localDate.getMonth().getValue() + ScreenConstant.MONTH;
+ xAxis.add(s);
+ }
+ return xAxis;
+ }
+
+
+ /**
+ * @Description 4、先进排行榜单-先进支部排行
+ * @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321539
+ * @param param
+ * @return
+ * @author wangc
+ * @date 2020.08.21 11:05
+ **/
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public List advancedBranchRank(AgencyAndNumFormDTO param) {
+ if(null == param.getTopNum()){
+ param.setTopNum(NumConstant.FIVE);
+ }else if(NumConstant.ZERO == param.getTopNum()){
+ param.setTopNum(NumConstant.MAX);
+ }
+ PageHelper.startPage(NumConstant.ONE,param.getTopNum());
+ String monthId = dateUtils.getCurrentMonthId();
+ List gridData =
+ screenOrgRankDataDao.selectGridDataMonthly(param.getAgencyId(),monthId);
+ int time = NumConstant.TWELVE;
+ while(CollectionUtils.isEmpty(gridData) && time > NumConstant.ONE){
+ time--;
+ monthId = dateUtils.getPreviousMonthIdByDest(null,monthId);
+ PageHelper.startPage(NumConstant.ONE,param.getTopNum());
+ gridData = screenOrgRankDataDao.selectGridDataMonthly(param.getAgencyId(),monthId);
+ }
+ List result = new LinkedList<>();
+ if(null == gridData || gridData.isEmpty()) return result;
+ gridData.forEach( data -> {
+ AdvanceBranchRankResultDTO o = ConvertUtils.sourceToTarget(data,AdvanceBranchRankResultDTO.class);
+ o.setClosedProjectRatio(convertPercentStr(data.getClosedProjectRatio()));
+ o.setSatisfactionRatio(convertPercentStr(data.getSatisfactionRatio()));
+ result.add(o);
+ });
+
+ return result;
+ }
+
+ /**
+ * @Description 5、先进排行榜单-先进党员排行
+ * @NEI https://nei.netease.com/interface/detail/req/?pid=57068&id=321624
+ * @param param
+ * @return List
+ * @author wangc
+ * @date 2020.08.21 14:22
+ **/
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX,datasourceNameFromArg = true)
+ @Override
+ public List advancedPartymemberRank(AgencyAndNumFormDTO param) {
+ if(null == param.getTopNum()) param.setTopNum(NumConstant.TEN);
+ PageHelper.startPage(NumConstant.ONE,param.getTopNum());
+ List result = screenPartyUserRankDataDao.selectPartymemberPointOrder(param.getAgencyId());
+ if(null == result) return new ArrayList<>();
+ return result;
+ }
+
+
+ private String convertPercentStr(BigDecimal percent){
+ if(null == percent || BigDecimal.ZERO == percent) return "0.0%";
+ String percentStr = percent.setScale(NumConstant.ONE, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
+ return percentStr.concat(ModuleConstant.SYMBOL_PERCENT);
+ }
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java
new file mode 100644
index 0000000000..2cf288cae9
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/evaluationindex/screen/impl/ScreenProjectServiceImpl.java
@@ -0,0 +1,47 @@
+package com.epmet.datareport.service.evaluationindex.screen.impl;
+
+import com.epmet.commons.dynamic.datasource.annotation.DataSource;
+import com.epmet.constant.DataSourceConstant;
+import com.epmet.datareport.dao.evaluationindex.screen.ScreenEventDataDao;
+import com.epmet.datareport.dao.evaluationindex.screen.ScreenEventImgDataDao;
+import com.epmet.datareport.service.evaluationindex.screen.ScreenProjectService;
+import com.epmet.evaluationindex.screen.dto.form.ProjectDetailFormDTO;
+import com.epmet.evaluationindex.screen.dto.result.ProjectDetailResultDTO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 项目
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/18 10:23
+ */
+@Service
+@DataSource(DataSourceConstant.EVALUATION_INDEX)
+public class ScreenProjectServiceImpl implements ScreenProjectService {
+
+ @Autowired
+ private ScreenEventDataDao screenEventDataDao;
+ @Autowired
+ private ScreenEventImgDataDao screenEventImgDataDao;
+
+ /**
+ * @Description 3、项目详情
+ * @param projectDetailFormDTO
+ * @author zxc
+ * @date 2020/8/19 4:36 下午
+ */
+ @DataSource(value = DataSourceConstant.EVALUATION_INDEX, datasourceNameFromArg = true)
+ @Override
+ public ProjectDetailResultDTO projectDetail(ProjectDetailFormDTO projectDetailFormDTO) {
+ ProjectDetailResultDTO projectDetailResultDTO = screenEventDataDao.selectEventDetail(projectDetailFormDTO.getProjectId(),projectDetailFormDTO.getAgencyId());
+ if (null == projectDetailResultDTO){
+ return new ProjectDetailResultDTO();
+ }
+ List imgList = screenEventImgDataDao.selectEventImgList(projectDetailFormDTO.getProjectId());
+ projectDetailResultDTO.setImgList(imgList);
+ return projectDetailResultDTO;
+ }
+}
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/group/GroupService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/group/GroupService.java
similarity index 96%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/group/GroupService.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/group/GroupService.java
index d644029bcf..66d57fc92c 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/group/GroupService.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/group/GroupService.java
@@ -1,4 +1,4 @@
-package com.epmet.service.group;
+package com.epmet.datareport.service.group;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.group.dto.form.GroupIncrTrendFormDTO;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/group/impl/GroupServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/group/impl/GroupServiceImpl.java
similarity index 96%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/group/impl/GroupServiceImpl.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/group/impl/GroupServiceImpl.java
index d1be53ee85..be4faf115d 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/group/impl/GroupServiceImpl.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/group/impl/GroupServiceImpl.java
@@ -1,15 +1,15 @@
-package com.epmet.service.group.impl;
+package com.epmet.datareport.service.group.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.security.dto.TokenDto;
-import com.epmet.dao.group.GroupDao;
+import com.epmet.datareport.dao.group.GroupDao;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.group.constant.GroupConstant;
import com.epmet.group.dto.form.GroupIncrTrendFormDTO;
import com.epmet.group.dto.result.*;
-import com.epmet.service.group.GroupService;
+import com.epmet.datareport.service.group.GroupService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/issue/IssueService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/issue/IssueService.java
similarity index 97%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/issue/IssueService.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/issue/IssueService.java
index c0d33b2a3b..d0b3b6156d 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/issue/IssueService.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/issue/IssueService.java
@@ -1,4 +1,4 @@
-package com.epmet.service.issue;
+package com.epmet.datareport.service.issue;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.issue.dto.form.IssueIncrtrendFormDTO;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/issue/impl/IssueServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/issue/impl/IssueServiceImpl.java
similarity index 97%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/issue/impl/IssueServiceImpl.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/issue/impl/IssueServiceImpl.java
index d44576202e..86953616b1 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/issue/impl/IssueServiceImpl.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/issue/impl/IssueServiceImpl.java
@@ -1,22 +1,20 @@
-package com.epmet.service.issue.impl;
+package com.epmet.datareport.service.issue.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.DateUtils;
-import com.epmet.dao.issue.IssueDao;
+import com.epmet.datareport.dao.issue.IssueDao;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.issue.constant.IssueConstant;
import com.epmet.issue.dto.form.IssueIncrtrendFormDTO;
import com.epmet.issue.dto.result.*;
-import com.epmet.service.issue.IssueService;
+import com.epmet.datareport.service.issue.IssueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/project/ProjectService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java
similarity index 100%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/project/ProjectService.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/ProjectService.java
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java
similarity index 98%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java
index 6e5366827f..41af9351ac 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/project/impl/ProjectServiceImpl.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/project/impl/ProjectServiceImpl.java
@@ -1,10 +1,10 @@
-package com.epmet.service.project.impl;
+package com.epmet.datareport.service.project.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.exception.RenException;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.DateUtils;
-import com.epmet.dao.project.ProjectDao;
+import com.epmet.datareport.dao.project.ProjectDao;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/publicity/PublicityService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/publicity/PublicityService.java
similarity index 97%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/publicity/PublicityService.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/publicity/PublicityService.java
index bec823066c..35b6fff93b 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/publicity/PublicityService.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/publicity/PublicityService.java
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package com.epmet.service.publicity;
+package com.epmet.datareport.service.publicity;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.publicity.dto.result.*;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/publicity/impl/PublicityServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/publicity/impl/PublicityServiceImpl.java
similarity index 98%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/publicity/impl/PublicityServiceImpl.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/publicity/impl/PublicityServiceImpl.java
index b01f9339bc..9a8ceaca2f 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/publicity/impl/PublicityServiceImpl.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/publicity/impl/PublicityServiceImpl.java
@@ -15,16 +15,16 @@
* along with this program. If not, see .
*/
-package com.epmet.service.publicity.impl;
+package com.epmet.datareport.service.publicity.impl;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.commons.tools.utils.DateUtils;
-import com.epmet.dao.publicity.PublicityDao;
+import com.epmet.datareport.dao.publicity.PublicityDao;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
import com.epmet.publicity.dto.result.*;
-import com.epmet.service.publicity.PublicityService;
+import com.epmet.datareport.service.publicity.PublicityService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/topic/TopicService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/topic/TopicService.java
similarity index 96%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/topic/TopicService.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/topic/TopicService.java
index 584ac1b1dc..f0dd505cb4 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/topic/TopicService.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/topic/TopicService.java
@@ -1,4 +1,4 @@
-package com.epmet.service.topic;
+package com.epmet.datareport.service.topic;
import com.epmet.commons.tools.security.dto.TokenDto;
import com.epmet.topic.dto.form.TopicIncrTrendFormDTO;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/topic/impl/TopicServiceImpl.java
similarity index 97%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/topic/impl/TopicServiceImpl.java
index 298dcae7a3..12889caaae 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/topic/impl/TopicServiceImpl.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/topic/impl/TopicServiceImpl.java
@@ -1,13 +1,12 @@
-package com.epmet.service.topic.impl;
+package com.epmet.datareport.service.topic.impl;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.security.dto.TokenDto;
-import com.epmet.dao.topic.TopicDao;
+import com.epmet.datareport.dao.topic.TopicDao;
import com.epmet.dto.form.LoginUserDetailsFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.feign.EpmetUserOpenFeignClient;
-import com.epmet.group.constant.GroupConstant;
-import com.epmet.service.topic.TopicService;
+import com.epmet.datareport.service.topic.TopicService;
import com.epmet.topic.constant.TopicConstant;
import com.epmet.topic.dto.form.TopicIncrTrendFormDTO;
import com.epmet.topic.dto.result.*;
@@ -16,8 +15,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
-import java.text.DecimalFormat;
-import java.text.NumberFormat;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/user/UserAnalysisService.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/UserAnalysisService.java
similarity index 98%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/user/UserAnalysisService.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/UserAnalysisService.java
index 2c658fc1da..47c304f1b2 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/user/UserAnalysisService.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/UserAnalysisService.java
@@ -1,4 +1,4 @@
-package com.epmet.service.user;
+package com.epmet.datareport.service.user;
import com.epmet.dto.form.user.UserIncrTrendFormDTO;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/user/impl/UserAnalysisServiceImpl.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/impl/UserAnalysisServiceImpl.java
similarity index 99%
rename from epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/user/impl/UserAnalysisServiceImpl.java
rename to epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/impl/UserAnalysisServiceImpl.java
index 3244076896..88e39067b4 100644
--- a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/service/user/impl/UserAnalysisServiceImpl.java
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/service/user/impl/UserAnalysisServiceImpl.java
@@ -1,4 +1,4 @@
-package com.epmet.service.user.impl;
+package com.epmet.datareport.service.user.impl;
import com.alibaba.fastjson.JSON;
import com.epmet.commons.tools.constant.NumConstant;
@@ -7,7 +7,7 @@ import com.epmet.commons.tools.security.user.LoginUserUtil;
import com.epmet.commons.tools.utils.DateUtils;
import com.epmet.commons.tools.utils.Result;
import com.epmet.constant.UserAnalysisConstant;
-import com.epmet.dao.user.UserAnalysisDao;
+import com.epmet.datareport.dao.user.UserAnalysisDao;
import com.epmet.dto.DimAgencyDTO;
import com.epmet.dto.DimDepartmentDTO;
import com.epmet.dto.DimGridDTO;
@@ -19,7 +19,7 @@ import com.epmet.dto.form.user.UserSummaryInfoFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.dto.result.user.*;
import com.epmet.feign.EpmetUserOpenFeignClient;
-import com.epmet.service.user.UserAnalysisService;
+import com.epmet.datareport.service.user.UserAnalysisService;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/utils/DateUtils.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/utils/DateUtils.java
new file mode 100644
index 0000000000..b2d99c00f1
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/utils/DateUtils.java
@@ -0,0 +1,141 @@
+package com.epmet.datareport.utils;
+
+import com.epmet.commons.tools.constant.NumConstant;
+import com.google.common.collect.Maps;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @Description
+ * @ClassName DateUtils
+ * @Auth wangc
+ * @Date 2020-08-20 10:56
+ */
+@Component
+public class DateUtils {
+ private static SimpleDateFormat defaultFormat = new SimpleDateFormat("yyyyMM");
+ private static DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyyMM");
+ /**
+ * @Description 返回当前月以及前十一个月,升序
+ * @param
+ * @return Map key:202001 value:1月
+ * @author wangc
+ * @date 2020.08.19 12:46
+ **/
+ public Map getX(){
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(new Date()); // 设置为当前时间
+ //calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1); // 设置为上一个月
+ String currentMonth = defaultFormat.format(calendar.getTime());
+ Integer monthCounter = Integer.parseInt(currentMonth);
+ Map monthMap = new HashMap<>();
+ int i = NumConstant.ONE;
+ while(i <= NumConstant.TWELVE){
+
+ if(monthCounter.toString().endsWith("00")){
+ monthCounter -= NumConstant.EIGHTY_EIGHT;
+ }
+
+ String abscissa = monthCounter.toString().substring(monthCounter.toString().length() - NumConstant.TWO);
+ if(abscissa.startsWith("0")) {
+ abscissa = abscissa.replace("0","").concat("月");
+ }else{
+ abscissa = abscissa.concat("月");
+ }
+ monthMap.put(monthCounter.toString(),abscissa);
+ monthCounter-- ;
+ i++;
+ }
+
+ Map result = Maps.newLinkedHashMap();
+ monthMap.entrySet().stream().sorted(Map.Entry.comparingByKey())
+ .forEachOrdered((e -> result.put(e.getKey(),e.getValue())));
+
+ return result;
+ }
+
+ public Map getXpro(){
+ Map xAxis = new HashMap<>();
+ LocalDate today = LocalDate.now();
+
+ for(int i = NumConstant.ELEVEN;i >= NumConstant.ZERO; i--){
+ LocalDate localDate = today.minusMonths(i);
+ String s = localDate.getMonth().getValue() + "月";
+ xAxis.put(localDate.format(fmt),s);
+ }
+ Map result = Maps.newLinkedHashMap();
+ xAxis.entrySet().stream().sorted(Map.Entry.comparingByKey())
+ .forEachOrdered((e -> result.put(e.getKey(),e.getValue())));
+ return result;
+ }
+
+ /**
+ * @Description 得到上个月的monthId
+ * @param
+ * @return
+ * @author wangc
+ * @date 2020.08.20 10:19
+ **/
+ public String getPreviousMonthId(){
+ SimpleDateFormat format = new SimpleDateFormat("yyyyMM");
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(new Date()); // 设置为当前时间
+ calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1); // 设置为上一个月
+ return format.format(calendar.getTime());
+ }
+
+ public String getPreviousMonthIdByDest(Date date,String dateStr){
+ SimpleDateFormat format = new SimpleDateFormat("yyyyMM");
+ Calendar c = Calendar.getInstance();
+ if(null == date && StringUtils.isNotBlank(dateStr)){
+ try{
+ date = format.parse(dateStr);
+
+ }catch(Exception e){
+ e.printStackTrace();
+ }
+ }else{
+ return null;
+ }
+ c.setTime(date);
+ c.add(Calendar.MONTH, NumConstant.ONE_NEG);
+ return format.format(c.getTime());
+ }
+
+ /**
+ * @Description 得到当前月份的monthId
+ * @param
+ * @return
+ * @author wangc
+ * @date 2020.08.27 13:43
+ **/
+ public String getCurrentMonthId(){
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(new Date()); // 设置为当前时间
+ return defaultFormat.format(calendar.getTime());
+ }
+
+ public static void main(String[] args) {
+ DateUtils util = new DateUtils();
+ Map result = util.getXpro();
+ result.forEach((k,v) -> {
+ System.out.print(k);
+ System.out.print(" -> ");
+ System.out.print(v);
+ System.out.println();
+ });
+
+ List xLine = result.values().stream().collect(Collectors.toList());
+ xLine.forEach(x -> {
+ System.out.println(x);
+ });
+
+ result.keySet().forEach(key -> System.out.println(key));
+ }
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/utils/ModuleConstant.java b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/utils/ModuleConstant.java
new file mode 100644
index 0000000000..7e3af9f112
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/java/com/epmet/datareport/utils/ModuleConstant.java
@@ -0,0 +1,34 @@
+package com.epmet.datareport.utils;
+
+public interface ModuleConstant {
+
+ String PARAM_BRANCH_CATEGORY_UNION = "ljgj";
+
+ String PARAM_BRANCH_CATEGORY_VOLUNTARY_SERVICE = "ljdyzy";
+
+ String PARAM_BRANCH_CATEGORY_PARTY = "zbjs";
+
+ String KEY_BRANCH_CATEGORY_UNION = "union";
+
+ String KEY_BRANCH_CATEGORY_VOLUNTARY_SERVICE = "voluntaryservice";
+
+ String KEY_BRANCH_CATEGORY_PARTY = "party";
+
+ String SYMBOL_PERCENT = "%";
+
+ String PARAM_DIFFICULTY_TYPE_TIME_LONGEST = "timelongest";
+
+ String PARAM_DIFFICULTY_TYPE_MOST_DEPTS = "mostdepts";
+
+ String PARAM_DIFFICULTY_TYPE_MOST_HANDLED = "mosthandled";
+
+ /**
+ * 支部建设情况折线图 查询数据类型 组织次数
+ * */
+ String PARAM_BRANCH_DATA_TYPE_ORGAN = "organize";
+
+ /**
+ * 支部建设情况折线图 查询数据类型 参与人数
+ * */
+ String PARAM_BRANCH_DATA_TYPE_JOIN = "joinuser";
+}
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/bootstrap.yml b/epmet-module/data-report/data-report-server/src/main/resources/bootstrap.yml
index 19e6e4b584..5899ead6dd 100644
--- a/epmet-module/data-report/data-report-server/src/main/resources/bootstrap.yml
+++ b/epmet-module/data-report/data-report-server/src/main/resources/bootstrap.yml
@@ -24,9 +24,9 @@ spring:
druid:
#MySQL
driver-class-name: com.mysql.cj.jdbc.Driver
- url: @datasource.druid.url@
- username: @datasource.druid.username@
- password: @datasource.druid.password@
+ url: @datasource.druid.stats.url@
+ username: @datasource.druid.stats.username@
+ password: @datasource.druid.stats.password@
cloud:
nacos:
discovery:
@@ -53,11 +53,11 @@ spring:
# 数据迁移工具flyway
flyway:
- enabled: false
+ enabled: @spring.flyway.enabled@
locations: classpath:db/migration
- url: @datasource.druid.url@
- user: @datasource.druid.username@
- password: @datasource.druid.password@
+ url: @datasource.druid.stats.url@
+ user: @datasource.druid.stats.username@
+ password: @datasource.druid.stats.password@
baseline-on-migrate: true
baseline-version: 0
@@ -91,6 +91,25 @@ mybatis-plus:
call-setters-on-nulls: true
jdbc-type-for-null: 'null'
+#动态数据源
+dynamic:
+ datasource:
+ stats:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: @datasource.druid.stats.url@
+ username: @datasource.druid.stats.username@
+ password: @datasource.druid.stats.password@
+ statsDisplay:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: @datasource.druid.statsdisplay.url@
+ username: @datasource.druid.statsdisplay.username@
+ password: @datasource.druid.statsdisplay.password@
+ evaluationIndex:
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: @datasource.druid.evaluationIndex.url@
+ username: @datasource.druid.evaluationIndex.username@
+ password: @datasource.druid.evaluationIndex.password@
+
feign:
hystrix:
enabled: true
@@ -116,4 +135,9 @@ ribbon:
#pageHelper分页插件
pagehelper:
helper-dialect: mysql
- reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1
\ No newline at end of file
+ reasonable: false #分页合理化配置,例如输入页码为-1,则自动转化为最小页码1
+
+dingTalk:
+ robot:
+ webHook: @dingTalk.robot.webHook@
+ secret: @dingTalk.robot.secret@
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/db/migration/V0.0.1__demo.sql b/epmet-module/data-report/data-report-server/src/main/resources/db/migration/V0.0.1__demo.sql
new file mode 100644
index 0000000000..7a51a3f595
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/db/migration/V0.0.1__demo.sql
@@ -0,0 +1 @@
+select 0;
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml b/epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml
index ad10364cb5..793be083a1 100644
--- a/epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml
+++ b/epmet-module/data-report/data-report-server/src/main/resources/logback-spring.xml
@@ -5,6 +5,8 @@
+
+
${appname}
@@ -125,11 +127,14 @@
15
-
-
+
+
ERROR
ACCEPT
DENY
+ ${webHook}
+ ${secret}
+ ${appname}
@@ -137,13 +142,14 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
@@ -156,13 +162,13 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/group/GroupDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/group/GroupDao.xml
index b3b1faecd7..159a814a61 100644
--- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/group/GroupDao.xml
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/group/GroupDao.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/issue/IssueDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/issue/IssueDao.xml
index 49333cc3e4..02266e7884 100644
--- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/issue/IssueDao.xml
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/issue/IssueDao.xml
@@ -1,7 +1,7 @@
-
+
SELECT AGENCY_ID,
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml
index 9ea5c548d6..21b472e4de 100644
--- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/project/ProjectDao.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/PublicityDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/PublicityDao.xml
index 165aab88fa..1c0c5700d4 100644
--- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/PublicityDao.xml
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/publicity/PublicityDao.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCpcBaseDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCpcBaseDataDao.xml
new file mode 100644
index 0000000000..fa89221e37
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCpcBaseDataDao.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+ SELECT
+ SUM( AGE_LEVEL_1 ) + SUM( AGE_LEVEL_2 ) AS under30Count,
+ SUM( AGE_LEVEL_3 ) + SUM( AGE_LEVEL_4 ) AS between31And50Count,
+ SUM( AGE_LEVEL_5 ) AS between51And60Count,
+ SUM( AGE_LEVEL_6 ) AS above61Count,
+ SUM( PARTY_MEMBER_COUNT) AS partyTotal
+ FROM
+ screen_cpc_base_data
+ WHERE
+ DEL_FLAG = '0'
+ AND PARENT_ID = #{agencyId}
+
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml
new file mode 100644
index 0000000000..22a62be6d0
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerAgencyDao.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+ SELECT
+ agency_name AS label,
+ agency_id AS value,
+ pids AS pids,
+ IFNULL(center_mark,'') AS centerMarkA,
+ level AS level
+ FROM
+ screen_customer_agency
+ WHERE
+ del_flag = 0
+ AND pid = '0'
+ AND customer_id = #{customerId}
+
+
+
+
+ SELECT
+ agency_id AS value,
+ agency_name AS label,
+ pids AS pids,
+ IFNULL(center_mark,'') AS centerMarkA,
+ level AS level
+ FROM
+ screen_customer_agency
+ WHERE
+ del_flag = '0'
+ AND pids = #{subAgencyPids}
+ ORDER BY
+ created_time DESC
+
+
+
+
+ SELECT
+ agency_id AS agencyId,
+ agency_name AS name,
+ area_marks AS areaMarks,
+ level AS level
+ FROM
+ screen_customer_agency
+ WHERE
+ del_flag = 0
+ AND agency_id = #{agencyId}
+
+
+
+
+ SELECT
+ agency_id AS subId,
+ agency_name AS subName,
+ area_marks AS subAreaMarks,
+ center_mark AS subCenterMark,
+ 'agency' AS type
+ FROM
+ screen_customer_agency
+ WHERE
+ del_flag = 0
+ AND pid = #{agencyId}
+
+
+
+
+ SELECT
+ sutd.org_id AS subId,
+ sca.center_mark AS centerMark,
+ sutd.user_total AS totalNum,
+ sca.area_marks AS areaMarks,
+ sca.agency_name AS subName,
+ sutd.org_type AS type
+ FROM
+ screen_user_total_data sutd
+ LEFT JOIN screen_customer_agency sca ON sca.agency_id = sutd.org_id
+ WHERE
+ sutd.del_flag = '0'
+ AND sca.del_flag = 0
+ AND sutd.parent_id = #{parentId}
+
+
+
+
+ SELECT
+ sutd.org_id AS subId,
+ sca.center_mark AS centerMark,
+ sutd.party_total AS totalNum,
+ sca.area_marks AS areaMarks,
+ sca.agency_name AS subName,
+ sutd.org_type AS type
+ FROM
+ screen_user_total_data sutd
+ LEFT JOIN screen_customer_agency sca ON sca.agency_id = sutd.org_id
+ WHERE
+ sutd.del_flag = '0'
+ AND sca.del_flag = 0
+ AND sutd.parent_id = #{parentId}
+
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerDeptDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerDeptDao.xml
new file mode 100644
index 0000000000..cf939d024a
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerDeptDao.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerGridDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerGridDao.xml
new file mode 100644
index 0000000000..6cafd96036
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenCustomerGridDao.xml
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+ SELECT
+ grid_id AS subId,
+ grid_name AS subName,
+ area_marks AS subAreaMarks,
+ center_mark AS subCenterMark,
+ 'grid' AS type
+ FROM
+ screen_customer_grid
+ WHERE
+ del_flag = 0
+ AND parent_agency_id = #{agencyId}
+
+
+
+
+ SELECT
+ grid_id AS gridId,
+ grid_name AS gridName,
+ party_mark AS partyMark
+ FROM
+ screen_customer_grid
+ WHERE
+ del_flag = 0
+ AND all_parent_ids LIKE concat('%', #{agencyId}, '%')
+
+
+
+
+ SELECT
+ sutd.org_id AS subId,
+ scg.center_mark AS centerMark,
+ sutd.user_total AS totalNum,
+ scg.area_marks AS areaMarks,
+ scg.grid_name AS subName,
+ sutd.org_type AS type
+ FROM
+ screen_user_total_data sutd
+ LEFT JOIN screen_customer_grid scg ON scg.grid_id = sutd.org_id
+ WHERE
+ sutd.del_flag = '0'
+ AND scg.del_flag = 0
+ AND sutd.parent_id = #{parentId}
+
+
+
+
+ SELECT
+ sutd.org_id AS subId,
+ scg.center_mark AS centerMark,
+ sutd.party_total AS totalNum,
+ scg.area_marks AS areaMarks,
+ scg.grid_name AS subName,
+ sutd.org_type AS type
+ FROM
+ screen_user_total_data sutd
+ LEFT JOIN screen_customer_grid scg ON scg.grid_id = sutd.org_id
+ WHERE
+ sutd.del_flag = '0'
+ AND scg.del_flag = 0
+ AND sutd.parent_id = #{parentId}
+
+
+
+
+ SELECT
+ grid_id AS value,
+ grid_name AS label,
+ IFNULL(center_mark,'') AS centerMarkA
+ FROM
+ screen_customer_grid
+ WHERE
+ del_flag = '0'
+ AND parent_agency_id = #{agencyId}
+ ORDER BY
+ created_time DESC
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenDifficultyDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenDifficultyDataDao.xml
new file mode 100644
index 0000000000..0bb479ed65
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenDifficultyDataDao.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+ SELECT
+ diff.EVENT_ID AS projectId,
+ diff.EVENT_CONTENT AS title,
+ diff.EVENT_STATUS_CODE AS STATUS,
+ ROUND(diff.EVENT_COST_TIME/60,0) AS totalHours,
+ DATE_FORMAT( eve.EVENT_CREATE_TIME, '%Y-%m-%d %H:%i' ) AS createDateTime,
+ diff.EVENT_SOURCE AS gridName,
+ diff.EVENT_IMG_URL AS imgUrl,
+ diff.EVENT_CATEGORY_NAME AS categoryName,
+ diff.EVENT_RE_ORG AS handleDepts,
+ diff.EVENT_RE_ORG AS handleCount
+ FROM
+ screen_difficulty_data diff
+ LEFT JOIN screen_event_data eve ON diff.EVENT_ID = eve.EVENT_ID
+ AND eve.DEL_FLAG = '0'
+ WHERE
+ diff.DEL_FLAG = '0'
+ AND diff.ALL_PARENT_IDS LIKE CONCAT('%',#{agencyId},'%')
+ ORDER BY
+ CASE #{type} WHEN 'timelongest' THEN diff.EVENT_COST_TIME
+ WHEN 'mosthandled' THEN diff.EVENT_HANDLED_COUNT
+ ELSE diff.EVENT_RE_ORG END
+ DESC
+
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenEventDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenEventDataDao.xml
new file mode 100644
index 0000000000..b877ad611d
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenEventDataDao.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+ SELECT
+ IFNULL(event_title,'') AS projectTitle,
+ event_level AS color,
+ event_id AS projectId,
+ org_name AS orgName,
+ longitude AS longitude,
+ latitude AS latitude
+ FROM
+ screen_event_data
+ WHERE
+ del_flag = '0'
+ AND all_parent_ids LIKE concat('%', #{parentId}, '%')
+
+
+
+
+ SELECT
+ event_content AS projectContent,
+ event_status_desc AS STATUS,
+ last_process_dept AS latestHandleDept,
+ last_process_date AS latestHandleTime,
+ latest_operate_desc AS operDesc
+ FROM
+ screen_event_data
+ WHERE
+ del_flag = '0'
+ AND event_id = #{projectId}
+ AND all_parent_ids LIKE concat('%', #{agencyId}, '%')
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenEventImgDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenEventImgDataDao.xml
new file mode 100644
index 0000000000..ef20677ece
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenEventImgDataDao.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+ SELECT
+ event_img_url AS eventImgUrl
+ FROM
+ screen_event_img_data
+ WHERE
+ del_flag = '0'
+ AND event_id = #{projectId}
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml
new file mode 100644
index 0000000000..7976de7ff1
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenGovernRankDataDao.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+ SELECT
+ ORG_NAME AS agencyName,
+ RESPONSE_RATIO,
+ RESOLVED_RATIO,
+ GOVERN_RATIO,
+ SATISFACTION_RATIO
+ FROM
+ screen_govern_rank_data
+ WHERE
+ DEL_FLAG = '0'
+ AND PARENT_ID = #{agencyId}
+ AND MONTH_ID = #{monthId}
+ ORDER BY
+ (RESPONSE_RATIO + RESOLVED_RATIO + GOVERN_RATIO + SATISFACTION_RATIO) DESC,RESPONSE_RATIO DESC,RESOLVED_RATIO DESC,GOVERN_RATIO DESC,SATISFACTION_RATIO DESC
+
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml
new file mode 100644
index 0000000000..37f45b8084
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataMonthlyDao.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+ SELECT
+ service_ablity AS serviceAbility,
+ party_dev_ablity AS partyDevAbility,
+ govern_ablity AS governAbility
+ FROM
+ screen_index_data_monthly
+ WHERE
+ del_flag = '0'
+ AND org_type = 'agency'
+ AND org_id = #{agencyId}
+
+
+ AND month_id = DATE_FORMAT(NOW(),'%Y%m')
+
+
+ AND month_id = #{monthId}
+
+
+
+
+
+
+
+ SELECT
+ month_id AS monthId,
+ service_ablity AS serviceAbility,
+ party_dev_ablity AS partyDevAbility,
+ govern_ablity AS governAbility,
+ index_total AS indexTotal
+ FROM
+ screen_index_data_monthly
+ WHERE
+ del_flag = '0'
+ AND org_id = #{agencyId}
+ ORDER BY MONTH_ID DESC
+ LIMIT 12
+
+
+
+
+ SELECT
+ org_name AS NAME,
+ index_total AS totalIndex,
+ govern_ablity AS governAbility,
+ party_dev_ablity AS partyDevAbility,
+ service_ablity AS serviceAbility
+ FROM
+ screen_index_data_yearly
+ WHERE
+ del_flag = '0'
+ AND parent_id = #{agencyId}
+ AND year_id = #{yearId}
+ ORDER BY index_total DESC
+ LIMIT #{topNum}
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataYearlyDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataYearlyDao.xml
new file mode 100644
index 0000000000..d224b92d4e
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenIndexDataYearlyDao.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+ SELECT
+ index_total AS yearAverageIndex,
+ service_ablity AS serviceAbility,
+ party_dev_ablity AS partyDevAbility,
+ govern_ablity AS governAbility
+ FROM
+ screen_index_data_yearly
+ WHERE
+ del_flag = '0'
+ AND org_type = 'agency'
+ AND org_id = #{agencyId}
+ AND year_id = DATE_FORMAT(NOW(),'%Y')
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenOrgRankDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenOrgRankDataDao.xml
new file mode 100644
index 0000000000..310320029e
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenOrgRankDataDao.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+ SELECT
+ ORG_NAME AS NAME,
+ PARTY_TOTAL AS partyMemberNum,
+ GROUP_TOTAL AS branchNum,
+ ISSUE_TOTAL AS issueNum,
+ PROJECT_TOTAL AS projectNum,
+ CLOSE_PROJECT_RATIO AS closedProjectRatio,
+ SATISFACTION_RATIO AS satisfactionRatio
+ FROM
+ screen_org_rank_data
+ WHERE
+ DEL_FLAG = '0'
+ AND ORG_TYPE = 'grid'
+ AND ALL_PARENT_IDS LIKE CONCAT('%',#{agencyId},'%')
+ AND MONTH_ID = #{monthId}
+ ORDER BY
+ (PARTY_TOTAL + GROUP_TOTAL + ISSUE_TOTAL + PROJECT_TOTAL + CLOSE_PROJECT_RATIO + SATISFACTION_RATIO) DESC,
+ PARTY_TOTAL DESC,
+ GROUP_TOTAL DESC,
+ ISSUE_TOTAL DESC,
+ PROJECT_TOTAL DESC,
+ CLOSE_PROJECT_RATIO DESC,
+ SATISFACTION_RATIO DESC
+
+
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyBranchDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyBranchDataDao.xml
new file mode 100644
index 0000000000..0ee2a6a315
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyBranchDataDao.xml
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+ SELECT DISTINCT
+ MEET_CATEGORY_NAME
+ FROM
+ screen_party_branch_data
+ WHERE
+ DEL_FLAG = '0'
+ AND ORG_TYPE = 'agency'
+ AND ORG_ID = #{agencyId}
+ AND TYPE = #{type}
+
+
+
+
+ SELECT
+ MONTH_ID,
+ MEET_CATEGORY_NAME AS issue,
+ CASE #{type} WHEN 'organize' THEN ORGANIZE_COUNT
+ WHEN 'joinuser' THEN JOIN_USER_COUNT
+ WHEN 'averagejoinuser' THEN AVERAGE_JOIN_USER_COUNT
+ END AS data
+ FROM
+ screen_party_branch_data
+ WHERE
+ DEL_FLAG = '0'
+ AND ORG_ID = #{agencyId}
+ AND TYPE = #{category}
+ AND MONTH_ID = ]]> #{bottomMonthId}
+ ORDER BY
+ MONTH_ID DESC ,
+ MEET_CATEGORY_NAME
+
+
+
+
+ SELECT
+ ORG_NAME,
+ SUM( ORGANIZE_COUNT ) AS organizeData ,
+ SUM( JOIN_USER_COUNT ) AS joinData ,
+ SUM( ORGANIZE_COUNT + JOIN_USER_COUNT) AS total
+ FROM
+ screen_party_branch_data
+
+ DEL_FLAG = '0'
+
+ AND PARENT_ID = #{agencyId}
+ AND TYPE = #{category}
+
+
+ AND MONTH_ID = #{monthId}
+
+
+
+ AND MONTH_ID = ]]> #{bottomMonthId}
+
+
+
+ GROUP BY ORG_NAME
+ ORDER BY
+ total DESC,
+ organizeData DESC,
+ joinData DESC
+
+
+
+
+ SELECT
+ month_id AS monthId,
+ SUM(organize_count) AS organizeData,
+ SUM(join_user_count) AS joinData,
+ SUM(average_join_user_count) AS averageJoinUserData
+ FROM
+ screen_party_branch_data
+ WHERE
+ del_flag = '0'
+ AND org_id = #{agencyId}
+ AND type = 'voluntaryservice'
+ GROUP BY MONTH_ID
+ ORDER BY MONTH_ID DESC
+ LIMIT 12
+
+
+
+
+ SELECT
+
+ CASE #{type} WHEN 'organize' THEN SUM(ORGANIZE_COUNT)
+ ELSE SUM(JOIN_USER_COUNT)
+ END AS data
+ FROM
+ screen_party_branch_data
+ WHERE
+ DEL_FLAG = '0'
+ AND ORG_ID = #{agencyId}
+ AND TYPE = #{category}
+ AND MONTH_ID = ]]> #{monthId}
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml
new file mode 100644
index 0000000000..2bbdece16c
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyLinkMassesDataDao.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+ SELECT
+ org_name AS orgName,
+ create_group_total AS groupTotal,
+ group_user_total AS userTotal
+ FROM
+ screen_party_link_masses_data
+ WHERE
+ del_flag = '0'
+ AND parent_id = #{agencyId}
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyUserRankDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyUserRankDataDao.xml
new file mode 100644
index 0000000000..8d865b6341
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPartyUserRankDataDao.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+ SELECT
+ concat( surname, CASE char_length( NAME ) WHEN 1 THEN '*' WHEN 2 THEN '**' ELSE '***' END ) AS name,
+ point_total AS point
+ FROM
+ screen_party_user_rank_data
+ WHERE
+ del_flag = '0'
+ AND all_parent_ids LIKE CONCAT('%',#{agencyId},'%')
+ ORDER BY
+ point_total DESC,
+ user_name
+
+
+
+
+
+
+ SELECT
+ USER_ID,
+ concat( surname, CASE char_length( NAME ) WHEN 1 THEN '*' WHEN 2 THEN '**' ELSE '***' END ) AS name,
+ POINT_TOTAL AS point
+ FROM
+ screen_party_user_rank_data
+ WHERE
+ DEL_FLAG = '0'
+ AND ALL_PARENT_IDS LIKE CONCAT('%',#{agencyId},'%')
+ AND PARTY_FLAG = '1'
+ ORDER BY
+ POINT_TOTAL DESC
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPioneerDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPioneerDataDao.xml
new file mode 100644
index 0000000000..992c347f9b
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPioneerDataDao.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+ SELECT
+ issue_total AS issueTotal,
+ issue_ratio AS issueRatioA,
+ topic_total AS topicTotal,
+ topic_ratio AS topicRatioA,
+ shift_project_total AS shiftProjectTotal,
+ shift_project_Ratio AS shiftProjectRatioA,
+ resolved_project_total AS resolvedProjectTotal,
+ resolved_project_ratio AS resolvedProjectRatioA,
+ publish_issue_total AS publishIssueTotal,
+ publish_issue_ratio AS publishIssueRatioA
+ FROM
+ screen_pioneer_data
+ WHERE
+ del_flag = '0'
+ AND org_id = #{agencyId}
+ ORDER BY data_end_time DESC
+ LIMIT 1
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPublicPartiTotalDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPublicPartiTotalDataDao.xml
new file mode 100644
index 0000000000..1a94210725
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenPublicPartiTotalDataDao.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+ SELECT
+ ORG_NAME AS NAME,
+ REG_USER_TOTAL AS regNum,
+ JOIN_USER_TOTAL AS joinNum,
+ TOPIC_TOTAL AS topicNum,
+ ISSUE_TOTAL AS issueNum,
+ PROJECT_TOTAL AS projectNum
+ FROM
+ screen_public_parti_total_data
+ WHERE
+ DEL_FLAG = '0'
+ AND PARENT_ID = #{agencyId}
+ ORDER BY
+ (REG_USER_TOTAL + JOIN_USER_TOTAL + TOPIC_TOTAL + ISSUE_TOTAL + PROJECT_TOTAL) DESC,
+ REG_USER_TOTAL desc,
+ JOIN_USER_TOTAL desc,
+ TOPIC_TOTAL desc,
+ ISSUE_TOTAL desc,
+ PROJECT_TOTAL desc
+
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenUserJoinDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenUserJoinDao.xml
new file mode 100644
index 0000000000..cbbc5fe211
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenUserJoinDao.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+ SELECT
+ JOIN_TOTAL AS total,
+ AVG_JOIN AS averageJoin,
+ JOIN_TOTAL_UP_RATE AS monthIncr,
+ JOIN_TOTAL_UP_FLAG AS monthTrend,
+ AVG_ISSUE AS averageIssue,
+ AVG_ISSUE_UP_RATE AS issueCompareLatestMonth,
+ AVG_ISSUE_UP_FLAG AS issueCompareLatestTrend,
+ AGVG_JOIN_UP_RATE AS joinCompareLatestMonth,
+ AGVG_JOIN_UP_FLAG AS joinCompareLatestTrend
+ FROM
+ screen_user_join
+ WHERE
+ DEL_FLAG = '0'
+
+ AND ORG_ID = #{agencyId}
+ AND MONTH_ID = #{monthId}
+
+
+
+
+
+ /* SELECT
+ MONTH_ID,
+ ORGANIZE_TOTAL AS organizeNum,
+ JOIN_TOTAL AS joinUserNum,
+ AVG_JOIN_USER AS averageJoinNum
+ FROM
+ screen_user_join
+ WHERE
+ DEL_FLAG = '0'
+ AND ORG_TYPE = 'agency'
+ AND ORG_ID = #{agencyId}
+ AND MONTH_ID = ]]> #{monthId}*/
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenUserTotalDataDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenUserTotalDataDao.xml
new file mode 100644
index 0000000000..57b2959430
--- /dev/null
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/screen/ScreenUserTotalDataDao.xml
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+ SELECT
+ SUM( PARTY_TOTAL ) AS partyMemberTotal,
+ SUM( USER_TOTAL ) AS platFormTotal
+ FROM
+ screen_user_total_data
+ WHERE
+ DEL_FLAG = '0'
+ AND PARENT_ID = #{agencyId}
+
+
+
+
+ SELECT
+ user_total AS userNum,
+ party_total AS partyMemberNum,
+ group_total AS groupNum,
+ topic_total AS topicNum,
+ issue_total AS issueNum,
+ project_total AS projectNum
+ FROM
+ screen_user_total_data
+ WHERE
+ del_flag = '0'
+ AND org_type = 'agency'
+ AND org_id = #{agencyId}
+
+
+
+
+ SELECT
+ ROUND( ISSUE_TOTAL / USER_TOTAL, 2 )
+ FROM
+ screen_user_total_data
+ WHERE
+ DEL_FLAG = '0'
+ AND ORG_TYPE = 'agency'
+ AND ORG_ID = #{agencyId}
+
+
+
+
+
+ SELECT
+ ORG_NAME AS NAME,
+ REG_USER_TOTAL AS regNum,
+ JOIN_USER_TOTAL AS joinNum,
+ TOPIC_TOTAL AS topicNum,
+ ISSUE_TOTAL AS issueNum,
+ PROJECT_TOTAL AS projectNum
+ FROM
+ screen_user_total_data
+ WHERE
+ DEL_FLAG = '0'
+ AND PARENT_ID = #{agencyId}
+ ORDER BY
+ (REG_USER_TOTAL + JOIN_USER_TOTAL + TOPIC_TOTAL + ISSUE_TOTAL + PROJECT_TOTAL) DESC,
+ REG_USER_TOTAL desc,
+ JOIN_USER_TOTAL desc,
+ TOPIC_TOTAL desc,
+ ISSUE_TOTAL desc,
+ PROJECT_TOTAL desc
+
+
\ No newline at end of file
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/topic/TopicDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/topic/TopicDao.xml
index 01d4a5d335..3b96ffc150 100644
--- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/topic/TopicDao.xml
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/topic/TopicDao.xml
@@ -1,7 +1,7 @@
-
+
diff --git a/epmet-module/data-report/data-report-server/src/main/resources/mapper/user/UserAnalysisDao.xml b/epmet-module/data-report/data-report-server/src/main/resources/mapper/user/UserAnalysisDao.xml
index 29e482c554..8b967fa17d 100644
--- a/epmet-module/data-report/data-report-server/src/main/resources/mapper/user/UserAnalysisDao.xml
+++ b/epmet-module/data-report/data-report-server/src/main/resources/mapper/user/UserAnalysisDao.xml
@@ -1,7 +1,7 @@
-
+
SELECT
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/CompareConstant.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/CompareConstant.java
new file mode 100644
index 0000000000..119cd1ca31
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/CompareConstant.java
@@ -0,0 +1,26 @@
+package com.epmet.constant;
+
+/**
+ * 比较结果常量
+ *
+ * @author yujintao
+ * @email yujintao@elink-cn.com
+ * @date 2019/8/19 10:28
+ */
+public interface CompareConstant {
+
+ /**
+ * 增加
+ */
+ String INCR_STR = "incr";
+
+ /**
+ * 下降
+ */
+ String DECR_STR = "decr";
+
+ /**
+ * 相等
+ */
+ String EQ_STR = "eq";
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/DataSourceConstant.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/DataSourceConstant.java
index 920fc14e14..f89ede1ba6 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/DataSourceConstant.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/DataSourceConstant.java
@@ -4,11 +4,13 @@ public interface DataSourceConstant {
String GOV_ORG = "govOrg";
String STATS = "stats";
+ String STATS_DISPLAY = "statsDisplay";
String GOV_ISSUE = "govIssue";
String GOV_PROJECT = "govProject";
String GOV_VOICE = "govVoice";
String OPER_CRM = "operCrm";
String RESI_GROUP = "resiGroup";
String EPMET_USER = "epmetuser";
+ String EVALUATION_INDEX = "evaluationIndex";
}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/IndexCalConstant.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/IndexCalConstant.java
new file mode 100644
index 0000000000..f02185071f
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/constant/IndexCalConstant.java
@@ -0,0 +1,69 @@
+package com.epmet.constant;
+
+/**
+ * 描述一下
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/27 15:20
+ */
+public interface IndexCalConstant {
+
+ Integer PAGE_SIZE = 10;
+
+ String GRID_ID="GRID_ID";
+
+ String DEPT_ID="DEPT_ID";
+
+ String AGENCY_ID="AGENCY_ID";
+
+ String PARENT_AGENCY_ID = "parentAgencyId";
+
+ String PARENT_ID = "PARENT_ID";
+
+ String CUSTOMER_ID="CUSTOMER_ID";
+
+ String MONTH_ID="MONTH_ID";
+
+ String USER_ID="USER_ID";
+ String YEAR_ID = "YEAR_ID";
+
+ String COMMUNITY_LEVEL = "community";
+
+ String STREET_LEVEL = "street";
+
+ String DISTRICT_LEVEL = "district";
+
+ String COMMUNITY_RELATE = "shequxiangguan";
+
+
+
+
+ // 测试插入数据用
+ String customerId="b09527201c4409e19d1dbc5e3c3429a1";
+ //社区S1-C1
+ String SHE_QU_S1_C1="S1-C1";
+ //社区S1-C2
+ String SHE_QU_S1_C2="S1-C2";
+ //网格S1-C1-G1
+ String S1_C1_G1="S1-C1-G1";
+ //网格S1-C1-G2
+ String S1_C1_G2="S1-C1-G2";
+ //网格S1-C2-G1
+ String S1_C2_G1="S1-C2-G1";
+
+ String monthId="202008";
+ String insertUser="yinzuomei";
+
+ String INDEX_DETAIL_LIST_NULL = "指标明细查询集合为空";
+ String COMMUNITY_PARTY_AVG_NULL = "查询下属所有【社区】的党建能力平均值集合为空";
+ String GRID_PARTY_AVG_NULL = "查询下属所有【网格】的党建能力平均值集合为空";
+ String DISTRICT_PARTY_AVG_NULL = "查询【区县】的党建能力平均值集合为空";
+ String STREET_PUBLISH_ARTICLE_LIST_NULL = "查询【街道】名义发文数量集合为空";
+ String DISTRICT_PUBLISH_ARTICLE_LIST_NULL = "查询【区/县】名义发文数量集合为空";
+ String COMMUNITY_PUBLISH_ARTICLE_LIST_NULL = "查询【社区】名义发文数量集合为空";
+ String INDEX_CODE_NULL = "指标Code未查询出对应字段 【 %s 】";
+ String STREET_GOVERN_ABILITY_NULL = "查询【街道】治理能力的六个五级指标集合为空";
+ String COMMUNITY_GOVERN_ABILITY_NULL = "查询【社区】治理能力的六个五级指标集合为空";
+ String STREET_SERVICE_ABILITY_NULL = "查询街道活动组织次数集合为空";
+ String COMMUNITY_SERVICE_ABILITY_NULL = "查询社区活动组织次数集合为空";
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/AgencyScoreDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/AgencyScoreDTO.java
new file mode 100644
index 0000000000..a9abd3411f
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/AgencyScoreDTO.java
@@ -0,0 +1,135 @@
+/**
+ * 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.indexcal;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import com.epmet.commons.tools.constant.NumConstant;
+import com.epmet.constant.IndexCalConstant;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 区/街道相关分数表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-09-02
+ */
+@Data
+public class AgencyScoreDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID 主键
+ */
+ private String id;
+
+ /**
+ * 客户Id
+ */
+ private String customerId;
+
+ /**
+ * 组织id(eg:社区或者街道id)
+ */
+ private String agencyId;
+
+ /**
+ * 上级组织id
+ */
+ private String parentAgencyId;
+
+ /**
+ * 年度ID: yyyy
+ */
+ private String yearId;
+
+ /**
+ * 季度id: yyyyQ1、yyyyQ2、yyyyQ3、yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * 月维度Id: yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * 1:总分;0不是;默认0
+ */
+ private String isTotal;
+
+ /**
+ * 分值
+ */
+ private BigDecimal score;
+
+ /**
+ * 党建能力:dangjiannengli;治理能力:zhilinengli;服务能力:fuwunengli;街道相关:jiedaoxiangguan;全区相关:quanquxiangguan
+ */
+ private String indexCode;
+
+ /**
+ * 数据类型 district :全区;street:街道
+ */
+ private String dataType;
+
+ /**
+ *
+ */
+ private Integer delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+ public AgencyScoreDTO() {
+ this.isTotal = NumConstant.ZERO_STR;
+ this.score = new BigDecimal(NumConstant.ZERO);
+ this.indexCode = "";
+ this.dataType = IndexCalConstant.STREET_LEVEL;
+ this.delFlag = 0;
+ this.revision = 0;
+ this.createdBy = "APP_USER";
+ this.updatedBy = "APP_USER";
+ }
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/CalculateCommonFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/CalculateCommonFormDTO.java
new file mode 100644
index 0000000000..187f69c960
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/CalculateCommonFormDTO.java
@@ -0,0 +1,34 @@
+package com.epmet.dto.indexcal;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 指标计算通用入参DTO
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/26 10:49
+ */
+@Data
+public class CalculateCommonFormDTO implements Serializable {
+ private static final long serialVersionUID = -5689788391963427717L;
+ /**
+ * 月份id: yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ public CalculateCommonFormDTO() {
+ super();
+ }
+
+ public CalculateCommonFormDTO(String customerId, String monthId) {
+ this.monthId=monthId;
+ this.customerId=customerId;
+ }
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/CustomerGridInfoDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/CustomerGridInfoDTO.java
new file mode 100644
index 0000000000..16ede875bb
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/CustomerGridInfoDTO.java
@@ -0,0 +1,28 @@
+package com.epmet.dto.indexcal;
+
+import com.epmet.dto.ScreenCustomerGridDTO;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 客户下所有网格
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/26 13:45
+ */
+@Data
+public class CustomerGridInfoDTO implements Serializable {
+ private static final long serialVersionUID = -3211409107659568304L;
+
+ /**
+ * 网格总数
+ */
+ private Integer total;
+
+ /**
+ * 网格列表
+ */
+ private List gridList;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/DeptScoreDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/DeptScoreDTO.java
new file mode 100644
index 0000000000..5051aa3d82
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/DeptScoreDTO.java
@@ -0,0 +1,117 @@
+/**
+ * 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.indexcal;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 区直部门分值表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-09-02
+ */
+@Data
+public class DeptScoreDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID 主键
+ */
+ private String id;
+
+ /**
+ * 客户Id
+ */
+ private String customerId;
+
+ /**
+ * 部门id
+ */
+ private String deptId;
+
+ /**
+ * 所有上级ID,用英文逗号分开
+ */
+ private String allParentIds;
+
+ /**
+ * 季度id: yyyyQ1、yyyyQ2、yyyyQ3、yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * 年度ID: yyyy
+ */
+ private String yearId;
+
+ /**
+ * 月维度Id: yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * 1:总分;0不是;默认0
+ */
+ private String isTotal;
+
+ /**
+ * 分值
+ */
+ private BigDecimal score;
+
+ /**
+ * 治理能力:zhilinengli;
+ */
+ private String indexCode;
+
+ /**
+ *
+ */
+ private Integer delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/ExtremeValueCommonDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/ExtremeValueCommonDTO.java
new file mode 100644
index 0000000000..fd383a61dd
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/ExtremeValueCommonDTO.java
@@ -0,0 +1,27 @@
+package com.epmet.dto.indexcal;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 最值通用DTO
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/26 10:39
+ */
+@Data
+public class ExtremeValueCommonDTO implements Serializable {
+
+ private static final long serialVersionUID = -6295067080250068024L;
+ /**
+ * 最小值
+ */
+ private BigDecimal minValue;
+
+ /**
+ * 最小值
+ */
+ private BigDecimal maxValue;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/ExtremeValueDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/ExtremeValueDTO.java
new file mode 100644
index 0000000000..4dbabbf958
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/ExtremeValueDTO.java
@@ -0,0 +1,43 @@
+package com.epmet.dto.indexcal;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 最值通用DTO
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/26 10:39
+ */
+@Data
+public class ExtremeValueDTO implements Serializable {
+
+ private static final long serialVersionUID = -2227402439857459667L;
+
+ /**
+ * 最小值
+ */
+ private BigDecimal minValue1;
+ private BigDecimal minValue2;
+ private BigDecimal minValue3;
+ private BigDecimal minValue4;
+ private BigDecimal minValue5;
+ private BigDecimal minValue6;
+ private BigDecimal minValue7;
+ private BigDecimal minValue8;
+ private BigDecimal minValue9;
+ private BigDecimal minValue10;
+
+ private BigDecimal maxValue1;
+ private BigDecimal maxValue2;
+ private BigDecimal maxValue3;
+ private BigDecimal maxValue4;
+ private BigDecimal maxValue5;
+ private BigDecimal maxValue6;
+ private BigDecimal maxValue7;
+ private BigDecimal maxValue8;
+ private BigDecimal maxValue9;
+ private BigDecimal maxValue10;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/GridScoreDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/GridScoreDTO.java
new file mode 100644
index 0000000000..5e3b4096f2
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/GridScoreDTO.java
@@ -0,0 +1,52 @@
+package com.epmet.dto.indexcal;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 网格相关分值
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/31 16:38
+ */
+@Data
+public class GridScoreDTO implements Serializable {
+ /**
+ * 网格Id
+ */
+ private String gridId;
+
+ /**
+ * 客户Id
+ */
+ private String customerId;
+
+ /**
+ * 网格所属的机关Id
+ */
+ private String agencyId;
+
+ /**
+ * 所有上级ID,用英文逗号分开
+ */
+ private String allParentIds;
+
+ /**
+ * 季度id: yyyyQ1、yyyyQ2、yyyyQ3、yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * 年度ID: yyyy
+ */
+ private String yearId;
+
+ /**
+ * 月维度Id: yyyyMM
+ */
+ private String monthId;
+
+ private List detailList;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/GridScoreDetailDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/GridScoreDetailDTO.java
new file mode 100644
index 0000000000..e2573fbfd9
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/GridScoreDetailDTO.java
@@ -0,0 +1,30 @@
+package com.epmet.dto.indexcal;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 网格相关分值
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/31 16:39
+ */
+@Data
+public class GridScoreDetailDTO implements Serializable {
+ /**
+ * 1:总分;0不是
+ */
+ private String isTotal;
+
+ /**
+ * 分值
+ */
+ private BigDecimal score;
+
+ /**
+ * 党建能力:dangjiannengli;治理能力:zhilinengli;服务能力:fuwunengli;网格相关:wanggexiangguan
+ */
+ private String indexCode;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/PageQueryGridFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/PageQueryGridFormDTO.java
new file mode 100644
index 0000000000..3db0986065
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/PageQueryGridFormDTO.java
@@ -0,0 +1,48 @@
+package com.epmet.dto.indexcal;
+
+import lombok.Data;
+
+import javax.validation.constraints.Min;
+import java.io.Serializable;
+
+/**
+ * 分页查询网格列表
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/27 14:37
+ */
+@Data
+public class PageQueryGridFormDTO implements Serializable {
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * 页码
+ * */
+ @Min(1)
+ private Integer pageNo;
+
+ /**
+ * 每页多少条
+ * */
+ private Integer pageSize;
+
+ private Integer pageIndex;
+
+
+ public PageQueryGridFormDTO(String customerId,String monthId,int pageIndex,int pageNo,int pageSize){
+ this.customerId=customerId;
+ this.monthId=monthId;
+ this.pageIndex=pageIndex;
+ this.pageNo=pageNo;
+ this.pageSize=pageSize;
+ }
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/SubAgencyScoreAvgResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/SubAgencyScoreAvgResultDTO.java
new file mode 100644
index 0000000000..f88e035b7b
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/SubAgencyScoreAvgResultDTO.java
@@ -0,0 +1,51 @@
+package com.epmet.dto.indexcal;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/9/4 9:32 上午
+ */
+@Data
+public class SubAgencyScoreAvgResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 6913351504675726385L;
+
+ /**
+ *
+ */
+ private String customerId;
+
+ /**
+ * 机关ID
+ */
+ private String agencyId;
+
+ /**
+ * 上级组织ID
+ */
+ private String parentId;
+
+ /**
+ * 月度ID
+ */
+ private String monthId;
+
+ /**
+ * 季度ID
+ */
+ private String quarterId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 分数
+ */
+ private BigDecimal score;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/SubCommunityAvgResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/SubCommunityAvgResultDTO.java
new file mode 100644
index 0000000000..06b06109f1
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/SubCommunityAvgResultDTO.java
@@ -0,0 +1,51 @@
+package com.epmet.dto.indexcal;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/9/2 6:01 下午
+ */
+@Data
+public class SubCommunityAvgResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 7681907923515081626L;
+
+ /**
+ *
+ */
+ private String customerId;
+
+ /**
+ * 机关ID
+ */
+ private String agencyId;
+
+ /**
+ * 上级组织ID
+ */
+ private String parentId;
+
+ /**
+ * 月度ID
+ */
+ private String monthId;
+
+ /**
+ * 季度ID
+ */
+ private String quarterId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 分数
+ */
+ private BigDecimal score;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/SubCommunityGovernAvgResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/SubCommunityGovernAvgResultDTO.java
new file mode 100644
index 0000000000..013d8c02dc
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/SubCommunityGovernAvgResultDTO.java
@@ -0,0 +1,46 @@
+package com.epmet.dto.indexcal;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/9/2 5:54 下午
+ */
+@Data
+public class SubCommunityGovernAvgResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 4591964909777753497L;
+
+ /**
+ * 机关ID
+ */
+ private String agencyId;
+
+ /**
+ * 上级组织ID
+ */
+ private String parentId;
+
+ /**
+ * 月度ID
+ */
+ private String monthId;
+
+ /**
+ * 季度ID
+ */
+ private String quarterId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 分数
+ */
+ private BigDecimal score;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/SubCommunityPartyAvgResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/SubCommunityPartyAvgResultDTO.java
new file mode 100644
index 0000000000..997b9fed0b
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcal/SubCommunityPartyAvgResultDTO.java
@@ -0,0 +1,51 @@
+package com.epmet.dto.indexcal;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/9/2 4:28 下午
+ */
+@Data
+public class SubCommunityPartyAvgResultDTO implements Serializable {
+
+ private static final long serialVersionUID = -6439835738195045820L;
+
+ /**
+ * 机关ID
+ */
+ private String agencyId;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+ /**
+ * 上级组织ID
+ */
+ private String parentId;
+
+ /**
+ * 月度ID
+ */
+ private String monthId;
+
+ /**
+ * 季度ID
+ */
+ private String quarterId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 分数
+ */
+ private BigDecimal score;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/FactIndexGovrnAblityGridMonthlyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/FactIndexGovrnAblityGridMonthlyDTO.java
new file mode 100644
index 0000000000..80ec8c7100
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/FactIndexGovrnAblityGridMonthlyDTO.java
@@ -0,0 +1,142 @@
+/**
+ * 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.indexcollect;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 治理能力-网格相关事实表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-26
+ */
+@Data
+public class FactIndexGovrnAblityGridMonthlyDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID 主键
+ */
+ private String id;
+
+ /**
+ * 客户Id
+ */
+ private String customerId;
+
+ /**
+ * 网格所属机关Id
+ */
+ private String agencyId;
+
+ /**
+ * 网格Id
+ */
+ private String gridId;
+
+ /**
+ * 月维度Id:yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * 季度Id:yyyyQ1,yyyyQ2,yyyyQ3,yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * 年Id:yyyy
+ */
+ private String yearId;
+
+ /**
+ * 网格总议题数
+ */
+ private Integer issueTotal;
+
+ /**
+ * 网格人均议题数目
+ */
+ private Integer avgIssueCount;
+
+ /**
+ * 网格议题转项目率
+ */
+ private BigDecimal avgShiftProjectRatio;
+
+ /**
+ * 网格总项目数
+ */
+ private Integer projectTotal;
+
+ /**
+ * 网格自治项目数 统计期网格自身内办结的项目数目
+ */
+ private Integer selfSolveProjectCount;
+
+ /**
+ * 网格办结项目数 统计期内办结的项目数目
+ */
+ private Integer resolveProjectCount;
+
+ /**
+ * 网格吹哨部门准确率
+ */
+ private BigDecimal transferRightRatio;
+
+ /**
+ * 网格内解决的项目的满意度
+ */
+ private BigDecimal satisfactionRatio;
+
+ /**
+ * 删除标识 0未删除;1已删除
+ */
+ private String delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/FactIndexPartyAblityGridMonthlyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/FactIndexPartyAblityGridMonthlyDTO.java
new file mode 100644
index 0000000000..901ff46b9e
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/FactIndexPartyAblityGridMonthlyDTO.java
@@ -0,0 +1,167 @@
+/**
+ * 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.indexcollect;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 党建能力-网格相关事实表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-26
+ */
+@Data
+public class FactIndexPartyAblityGridMonthlyDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID 主键
+ */
+ private String id;
+
+ /**
+ * 客户Id
+ */
+ private String customerId;
+
+ /**
+ * 机关Id
+ */
+ private String agencyId;
+
+ /**
+ * 网格Id
+ */
+ private String gridId;
+
+ /**
+ * 月维度Id:yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * 季度Id yyyyQ1,yyyyQ2,yyyyQ3,yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * 年Idyyyy
+ */
+ private String yearId;
+
+ /**
+ * 网格群众用户数
+ */
+ private Integer userCount;
+
+ /**
+ * 网格党员用户数
+ */
+ private Integer partyCount;
+
+ /**
+ * 网格活跃群众用户数
+ */
+ private Integer activeUserCount;
+
+ /**
+ * 网格活跃党员用户数
+ */
+ private Integer activePartyCount;
+
+ /**
+ * 网格党员人均提出话题数
+ */
+ private Integer partyAvgTopicCount;
+
+ /**
+ * 网格群众人均提出话题数
+ */
+ private Integer userAvgTopicCount;
+
+ /**
+ * 网格党员人均提出的议题转项目数
+ */
+ private Integer partyAvgShiftProjectCount;
+
+ /**
+ * 网格群众人均提出的议题转项目数
+ */
+ private Integer userAvgShiftProjectCount;
+
+ /**
+ * 建群党员数(累计值) 去重
+ */
+ private Integer createGroupPartyCount;
+
+ /**
+ * 网格发文数
+ */
+ private Integer publishArticleCount;
+
+ /**
+ * 网格议题转项目率
+ */
+ private BigDecimal issueToProjectRatio;
+
+ /**
+ * 组织三会一课次数
+ */
+ private Integer createThreeMeetsCount;
+
+ /**
+ * 党员参加三会一课人次
+ */
+ private Integer joinThreeMeetsCount;
+
+ /**
+ * 删除标识 0未删除;1已删除
+ */
+ private String delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/FactIndexServiceAblityGridMonthlyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/FactIndexServiceAblityGridMonthlyDTO.java
new file mode 100644
index 0000000000..decd896d03
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/FactIndexServiceAblityGridMonthlyDTO.java
@@ -0,0 +1,117 @@
+/**
+ * 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.indexcollect;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 服务能力-网格相关事实表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-26
+ */
+@Data
+public class FactIndexServiceAblityGridMonthlyDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID 主键
+ */
+ private String id;
+
+ /**
+ * 客户Id
+ */
+ private String customerId;
+
+ /**
+ * 网格所属组织Id
+ */
+ private String agencyId;
+
+ /**
+ * 网格Id
+ */
+ private String gridId;
+
+ /**
+ * 月维度Id:yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * 季度Id:yyyyQ1,yyyyQ2,yyyyQ3,yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * 年Id: yyyy
+ */
+ private String yearId;
+
+ /**
+ * 网格活动组织次数 爱心活动
+ */
+ private Integer activityCount;
+
+ /**
+ * 网格志愿者占比
+ */
+ private BigDecimal volunteerRatio;
+
+ /**
+ * 网格党员志愿者率
+ */
+ private BigDecimal partyVolunteerRatio;
+
+ /**
+ * 删除标识 0未删除;1已删除
+ */
+ private String delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/DeptGovrnAbilityFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/DeptGovrnAbilityFormDTO.java
new file mode 100644
index 0000000000..b35ca1537a
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/DeptGovrnAbilityFormDTO.java
@@ -0,0 +1,72 @@
+package com.epmet.dto.indexcollect.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 8、治理能力-部门相关指标 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class DeptGovrnAbilityFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 机关id:网格所属的组织id
+ */
+ private String agencyId;
+
+ /**
+ * 上级组织id
+ */
+ private String deptId;
+
+ /**
+ * yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * yyyy
+ */
+ private String yearId;
+
+ /**
+ * 区直部门被吹哨次数
+ */
+ private Integer transferedCount;
+
+ /**
+ * 区直部门办结项目数
+ */
+ private Integer closedProjectCount;
+
+ /**
+ * 区直部门项目响应度 所有被吹哨后的滞留时间除以项目数
+ */
+ private BigDecimal respProjectRatio;
+
+ /**
+ * 区直部门办结项目的处理效率
+ */
+ private BigDecimal handleProjectRatio;
+
+ /**
+ * 区直部门项目办结率
+ */
+ private BigDecimal closedProjectRatio;
+
+ /**
+ * 办结项目满意度
+ */
+ private BigDecimal satisfactionRatio;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/GridGovrnAbilityFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/GridGovrnAbilityFormDTO.java
new file mode 100644
index 0000000000..021533fe59
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/GridGovrnAbilityFormDTO.java
@@ -0,0 +1,82 @@
+package com.epmet.dto.indexcollect.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 6、治理能力-网格相关指标 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class GridGovrnAbilityFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 机关id:网格所属的组织id
+ */
+ private String agencyId;
+
+ /**
+ * 网格id
+ */
+ private String gridId;
+
+ /**
+ * yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * yyyy
+ */
+ private String yearId;
+
+ /**
+ * 网格总议题数
+ */
+ private Integer issueTotal;
+
+ /**
+ * 网格人均议题数目
+ */
+ private Integer avgIssueCount;
+
+ /**
+ * 网格总项目数
+ */
+ private Integer projectTotal;
+
+ /**
+ * 网格办结项目数
+ */
+ private Integer resolveProjectCount;
+
+ /**
+ * 网格吹哨部门准确率
+ */
+ private BigDecimal transferRightRatio;
+
+ /**
+ * 网格内解决的项目的满意度
+ */
+ private BigDecimal satisfactionRatio;
+
+ /**
+ * 网格议题转项目率
+ */
+ private BigDecimal issueToProjectRatio;
+
+ /**
+ * 网格自治项目数 统计期网格自身内办结的项目数目
+ */
+ private Integer selfSolveProjectCount;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/GridPartyAbilityFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/GridPartyAbilityFormDTO.java
new file mode 100644
index 0000000000..8738c5c3f2
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/GridPartyAbilityFormDTO.java
@@ -0,0 +1,107 @@
+package com.epmet.dto.indexcollect.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 2、党建能力-网格相关指标上报(按照月份) 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class GridPartyAbilityFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 机关id:网格所属的组织id
+ */
+ private String agencyId;
+
+ /**
+ * 网格id
+ */
+ private String gridId;
+
+ /**
+ * yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * yyyy
+ */
+ private String yearId;
+
+ /**
+ * 网格党员用户数
+ */
+ private Integer partyCount;
+
+ /**
+ * 网格党员人均提出的议题转项目数
+ */
+ private Integer partyAvgShiftProjectCount;
+
+ /**
+ * 网格活跃群众用户数
+ */
+ private Integer activeUserCount;
+
+ /**
+ * 网格活跃党员用户数
+ */
+ private Integer activePartyCount;
+
+ /**
+ * 网格党员人均提出话题数
+ */
+ private Integer partyAvgTopicCount;
+
+ /**
+ * 网格群众人均提出话题数
+ */
+ private Integer userAvgTopicCount;
+
+ /**
+ * 网格群众用户数
+ */
+ private Integer userCount;
+
+ /**
+ * 网格群众人均提出的议题转项目数
+ */
+ private Integer userAvgShiftProjectCount;
+
+ /**
+ * 建群党员数(累计值)
+ */
+ private Integer createGroupPartyCount;
+
+ /**
+ * 网格发文数
+ */
+ private Integer publishArticleCount;
+
+ /**
+ * 网格议题转项目率
+ */
+ private BigDecimal issueToProjectRatio;
+
+ /**
+ * 组织三会一课次数
+ */
+ private Integer createThreeMeetsCount;
+
+ /**
+ * 党员参加三会一课人次
+ */
+ private Integer joinThreeMeetsCount;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/GridPartyMemberDataDetailFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/GridPartyMemberDataDetailFormDTO.java
new file mode 100644
index 0000000000..364b19c34f
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/GridPartyMemberDataDetailFormDTO.java
@@ -0,0 +1,96 @@
+package com.epmet.dto.indexcollect.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 1、党建能力-党员相关指标上报(按照月份) 入参
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/9/4 16:04
+ */
+@Data
+public class GridPartyMemberDataDetailFormDTO implements Serializable {
+ private static final long serialVersionUID = 2923515319015973995L;
+ /**
+ * 机关id:网格所属的组织id
+ */
+ private String agencyId;
+
+ /**
+ * 网格id
+ */
+ private String gridId;
+
+ /**
+ * yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * yyyy
+ */
+ private String yearId;
+
+ /**
+ * 党员提出的话题数
+ */
+ private Integer createTopicCount;
+
+ /**
+ * 党员参与话题数(支持,反对,评论,浏览)
+ */
+ private Integer joinTopicCount;
+
+ /**
+ * 话题转议题数
+ */
+ private Integer shiftIssueCount;
+
+ /**
+ * 议题转项目数
+ */
+ private Integer shiftProjectCount;
+
+ /**
+ * 参加三会一课次数
+ */
+ private Integer joinThreeMeetsCount;
+
+ /**
+ * 自建群群众人数
+ */
+ private Integer groupUserCount;
+
+ /**
+ * 自建群活跃度-话题数
+ */
+ private Integer groupTopicCount;
+
+ /**
+ * 议题转项目率
+ */
+ private BigDecimal topicToIssueRatio;
+
+ /**
+ * 上级组织Id
+ */
+ private String parentId;
+
+ /**
+ * 党员自建群活跃群众人数(08-24)
+ */
+ private Integer groupActiveUserCount;
+
+ /**
+ * 用户id
+ */
+ private String userId;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/GridPartyMemberDataFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/GridPartyMemberDataFormDTO.java
new file mode 100644
index 0000000000..5a0a9fb3c8
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/GridPartyMemberDataFormDTO.java
@@ -0,0 +1,33 @@
+package com.epmet.dto.indexcollect.form;
+
+import lombok.Data;
+import org.apache.poi.hpsf.Decimal;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 1、党建能力-党员相关指标上报(按照月份) 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class GridPartyMemberDataFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 当为true时后台将删除本月数据
+ */
+ private Boolean isFirst;
+
+ /**
+ * yyyyMM
+ */
+ private String monthId;
+
+ private List partyMemberDataList;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/GridServiceAbilityFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/GridServiceAbilityFormDTO.java
new file mode 100644
index 0000000000..02b7906a36
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/GridServiceAbilityFormDTO.java
@@ -0,0 +1,58 @@
+package com.epmet.dto.indexcollect.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 4、服务能力-网格相关指标 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class GridServiceAbilityFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 机关id:网格所属的组织id
+ */
+ private String agencyId;
+
+ /**
+ * 网格id
+ */
+ private String gridId;
+
+ /**
+ * yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * yyyy
+ */
+ private String yearId;
+
+ /**
+ * 网格活动组织次数 爱心活动
+ */
+ private Integer activityCount;
+
+ /**
+ * 网格志愿者占比
+ */
+ private Integer volunteerRatio;
+
+ /**
+ * 网格党员志愿者率
+ */
+ private BigDecimal partyVolunteerRatio;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/OrgGovrnAbilityFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/OrgGovrnAbilityFormDTO.java
new file mode 100644
index 0000000000..c2eadf4dc7
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/OrgGovrnAbilityFormDTO.java
@@ -0,0 +1,83 @@
+package com.epmet.dto.indexcollect.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 7、治理能力-街道及社区相关指标 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class OrgGovrnAbilityFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 机关id:网格所属的组织id
+ */
+ private String agencyId;
+
+ /**
+ * 上级组织id
+ */
+ private String parentId;
+
+ /**
+ * yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * yyyy
+ */
+ private String yearId;
+
+ /**
+ * district:全区;community:社区;street:街道
+ */
+ private String dataType;
+
+ /**
+ * 被吹哨次数
+ */
+ private Integer transferedCount;
+
+ /**
+ * 办结项目数
+ */
+ private Integer closedProjectCount;
+
+ /**
+ * 项目响应度 所有被吹哨后的滞留时间除以项目数
+ */
+ private BigDecimal respProjectRatio;
+
+ /**
+ * 办结项目率
+ */
+ private BigDecimal closedProjectRatio;
+
+ /**
+ * 办结项目满意度
+ */
+ private BigDecimal satisfactionRatio;
+
+ /**
+ * 社区超期项目率,dataTyp=commnuity有值
+ */
+ private BigDecimal overdueProjectRatio;
+
+
+ /**
+ * 街道办结项目的处理效率, data_type=street时有值
+ */
+ private BigDecimal handleProjectRatio;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/OrgPartyAbilityFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/OrgPartyAbilityFormDTO.java
new file mode 100644
index 0000000000..cc1401d424
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/OrgPartyAbilityFormDTO.java
@@ -0,0 +1,53 @@
+package com.epmet.dto.indexcollect.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 3、党建能力-街道及社区相关指标 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class OrgPartyAbilityFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 机关id:网格所属的组织id
+ */
+ private String agencyId;
+
+ /**
+ * 上级组织id
+ */
+ private String parentId;
+
+ /**
+ * yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * yyyy
+ */
+ private String yearId;
+
+ /**
+ * district:全区;community:社区;street:街道
+ */
+ private String dataType;
+
+ /**
+ * 发文数
+ */
+ private Integer publishArticleCount;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/OrgServiceAbilityFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/OrgServiceAbilityFormDTO.java
new file mode 100644
index 0000000000..59050bced2
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/indexcollect/form/OrgServiceAbilityFormDTO.java
@@ -0,0 +1,53 @@
+package com.epmet.dto.indexcollect.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 5、服务能力-组织(街道|社区|全区)相关指标 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class OrgServiceAbilityFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 机关id:网格所属的组织id
+ */
+ private String agencyId;
+
+ /**
+ * 上级组织id
+ */
+ private String parentId;
+
+ /**
+ * yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * yyyyQ1, yyyyQ2, yyyyQ3, yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * yyyy
+ */
+ private String yearId;
+
+ /**
+ * district:全区;community:社区;street:街道
+ */
+ private String dataType;
+
+ /**
+ * 社区/街道活动组织次数 爱心活动
+ */
+ private Integer activityCount;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/FactIndexCommunityScoreDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/FactIndexCommunityScoreDTO.java
new file mode 100644
index 0000000000..8ad2ec6658
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/FactIndexCommunityScoreDTO.java
@@ -0,0 +1,132 @@
+/**
+ * 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.screen;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 社区相关分数表
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-31
+ */
+@Data
+public class FactIndexCommunityScoreDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID 主键
+ */
+ private String id;
+
+ /**
+ * 客户Id
+ */
+ private String customerId;
+
+ /**
+ * 组织id
+ */
+ private String agencyId;
+
+ /**
+ * 社区上一级组织id
+ */
+ private String parentAgencyId;
+
+ /**
+ * 年度ID: yyyy
+ */
+ private String yearId;
+
+ /**
+ * 季度id: yyyyQ1、yyyyQ2、yyyyQ3、yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * 月维度Id: yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * 1:总分;0不是;默认0
+ */
+ private String isTotal;
+
+ /**
+ * 分值
+ */
+ private BigDecimal score;
+
+ /**
+ * 党建能力:dangjiannengli;治理能力:zhilinengli;服务能力:fuwunengli;社区相关:shequxiangguan
+ */
+ private String indexCode;
+
+ /**
+ * 删除状态
+ */
+ private Integer delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+ public FactIndexCommunityScoreDTO() {
+ this.customerId = "";
+ this.agencyId = "";
+ this.parentAgencyId = "";
+ this.yearId = "";
+ this.quarterId = "";
+ this.monthId = "";
+ this.isTotal = "0";
+ this.score = new BigDecimal(0);
+ this.indexCode = "";
+ this.delFlag = 0;
+ this.revision = 0;
+ this.createdBy = "APP_USER";
+ this.updatedBy = "APP_USER";
+ }
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/FactIndexGridScoreDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/FactIndexGridScoreDTO.java
new file mode 100644
index 0000000000..d5be2db6e9
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/FactIndexGridScoreDTO.java
@@ -0,0 +1,122 @@
+/**
+ * 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.screen;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 网格相关分值
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-28
+ */
+@Data
+public class FactIndexGridScoreDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ID 主键
+ */
+ private String id;
+
+ /**
+ * 客户Id
+ */
+ private String customerId;
+
+ /**
+ * 网格所属的机关Id
+ */
+ private String agencyId;
+
+ /**
+ * 网格Id
+ */
+ private String gridId;
+
+ /**
+ * 所有上级ID,用英文逗号分开
+ */
+ private String allParentIds;
+
+ /**
+ * 季度id: yyyyQ1、yyyyQ2、yyyyQ3、yyyyQ4
+ */
+ private String quarterId;
+
+ /**
+ * 月维度Id: yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * 年维度Id: yyyy
+ */
+ private String yearId;
+
+ /**
+ * 1:总分;0不是;默认0
+ */
+ private String isTotal;
+
+ /**
+ * 分值
+ */
+ private BigDecimal score;
+
+ /**
+ * 党建能力:dangjiannengli;治理能力:zhilinengli;服务能力:fuwunengli;网格相关(前三者之和):wanggexiangguan
+ */
+ private String indexCode;
+
+ /**
+ * 删除标识 0未删除;1已删除
+ */
+ private String delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/IndexGroupDetailDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/IndexGroupDetailDTO.java
new file mode 100644
index 0000000000..efe372f027
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/IndexGroupDetailDTO.java
@@ -0,0 +1,60 @@
+/**
+ * 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.screen;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 客户指标详情
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-19
+ */
+@Data
+public class IndexGroupDetailDTO {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * index_group.id
+ */
+ private String indexGroupId;
+
+ /**
+ * 指标id
+ */
+ private String indexId;
+
+ /**
+ * 权重(同一组权重总和=1)
+ */
+ private BigDecimal weight;
+
+ /**
+ * 是否启用:启用:enable 禁用:disabled
+ */
+ private String status;
+
+ /**
+ * 阈值 如果是百分比 则为除以100以后的值
+ */
+ private BigDecimal threshold;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenCustomerGridDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenCustomerGridDTO.java
new file mode 100644
index 0000000000..ee7863d40b
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenCustomerGridDTO.java
@@ -0,0 +1,116 @@
+/**
+ * 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;
+
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+
+/**
+ * 网格(党支部)信息
+ *
+ * @author generator generator@elink-cn.com
+ * @since v1.0.0 2020-08-26
+ */
+@Data
+public class ScreenCustomerGridDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键ID 主键ID
+ */
+ private String id;
+
+ /**
+ * 客户id
+ */
+ private String customerId;
+
+ /**
+ * 网格id
+ */
+ private String gridId;
+
+ /**
+ * 组织名称
+ */
+ private String gridName;
+
+ /**
+ * 网格所属组织id
+ */
+ private String parentAgencyId;
+
+ /**
+ * 坐标区域
+ */
+ private String areaMarks;
+
+ /**
+ * 中心点位
+ */
+ private String centerMark;
+
+ /**
+ * 党支部(=网格)的位置
+ */
+ private String partyMark;
+
+ /**
+ * 删除标识 0.未删除 1.已删除
+ */
+ private Integer delFlag;
+
+ /**
+ * 乐观锁
+ */
+ private Integer revision;
+
+ /**
+ * 创建人
+ */
+ private String createdBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createdTime;
+
+ /**
+ * 更新人
+ */
+ private String updatedBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updatedTime;
+
+ /**
+ * 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增)
+ */
+ private String dataEndTime;
+
+ /**
+ * 所有上级ID,用英文逗号分开
+ */
+ private String allParentIds;
+
+}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/IndexCalculateForm.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/IndexCalculateForm.java
new file mode 100644
index 0000000000..af11109fa3
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/IndexCalculateForm.java
@@ -0,0 +1,24 @@
+package com.epmet.dto.screen.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * desc:初始化客户指标权重参数实体类
+ * @author liujianjun
+ */
+@Data
+public class IndexCalculateForm implements Serializable {
+ private static final long serialVersionUID = 3280392511156378209L;
+ /**
+ * desc:客户ids
+ */
+ private List customerIds;
+
+ /**
+ * desc:月份id
+ */
+ private String monthId;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/InitCustomerIndexForm.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/InitCustomerIndexForm.java
new file mode 100644
index 0000000000..4016a9656e
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/form/InitCustomerIndexForm.java
@@ -0,0 +1,18 @@
+package com.epmet.dto.screen.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * desc:初始化客户指标权重参数实体类
+ * @author liujianjun
+ */
+@Data
+public class InitCustomerIndexForm implements Serializable {
+ private static final long serialVersionUID = 3280392511156378209L;
+ /**
+ * desc:客户id
+ */
+ private String customerId;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CommunityActivityCountResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CommunityActivityCountResultDTO.java
new file mode 100644
index 0000000000..ec3b17f615
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CommunityActivityCountResultDTO.java
@@ -0,0 +1,59 @@
+package com.epmet.dto.screen.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/8/31 2:12 下午
+ */
+@Data
+public class CommunityActivityCountResultDTO implements Serializable {
+
+ private static final long serialVersionUID = -6623426101220283941L;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+ /**
+ * 机关ID
+ */
+ private String agencyId;
+
+ /**
+ * 上级组织ID
+ */
+ private String parentId;
+
+ /**
+ * 月度ID
+ */
+ private String monthId;
+
+ /**
+ * 季度ID
+ */
+ private String quarterId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 发文数
+ */
+ public Integer activityCount;
+
+ public CommunityActivityCountResultDTO() {
+ this.agencyId = "";
+ this.parentId = "";
+ this.monthId = "";
+ this.quarterId = "";
+ this.yearId = "";
+ this.activityCount = 0;
+ }
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CommunityGovernAbilityCalculateResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CommunityGovernAbilityCalculateResultDTO.java
new file mode 100644
index 0000000000..84ab47503d
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CommunityGovernAbilityCalculateResultDTO.java
@@ -0,0 +1,45 @@
+package com.epmet.dto.screen.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/8/26 1:21 下午
+ */
+@Data
+public class CommunityGovernAbilityCalculateResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 3766218681545581100L;
+
+ /**
+ * 机关ID
+ */
+ private String agencyId;
+
+ /**
+ * 上级组织ID
+ */
+ private String parentId;
+
+ /**
+ * 月度ID
+ */
+ private String monthId;
+
+ /**
+ * 季度ID
+ */
+ private String quarterId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 分数
+ */
+ private Double score;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CommunityGovernAbilityResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CommunityGovernAbilityResultDTO.java
new file mode 100644
index 0000000000..92b80e3ecf
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CommunityGovernAbilityResultDTO.java
@@ -0,0 +1,68 @@
+package com.epmet.dto.screen.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/8/26 11:20 上午
+ */
+@Data
+public class CommunityGovernAbilityResultDTO implements Serializable {
+
+ /**
+ * 机关ID
+ */
+ private String agencyId;
+
+ /**
+ * 上级组织ID
+ */
+ private String parentId;
+
+ /**
+ * 月度ID
+ */
+ private String monthId;
+
+ /**
+ * 季度ID
+ */
+ private String quarterId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 社区被吹哨次数
+ */
+ private Integer transferedCount;
+
+ /**
+ * 社区办结项目数
+ */
+ private Integer closedProjectCount;
+
+ /**
+ * 社区项目响应度
+ */
+ private Double respProjectRatio;
+
+ /**
+ * 社区项目超期率
+ */
+ private Double overDueProjectRatio;
+
+ /**
+ * 社区办结项目率
+ */
+ private Double closedProjectRatio;
+
+ /**
+ * 社区办结项目满意度
+ */
+ private Double satisfactionRatio;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CommunityPublishArticleCountCalculateResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CommunityPublishArticleCountCalculateResultDTO.java
new file mode 100644
index 0000000000..148d6abd80
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CommunityPublishArticleCountCalculateResultDTO.java
@@ -0,0 +1,45 @@
+package com.epmet.dto.screen.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/8/26 10:43 上午
+ */
+@Data
+public class CommunityPublishArticleCountCalculateResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 3527690541253204132L;
+
+ /**
+ * 机关ID
+ */
+ private String agencyId;
+
+ /**
+ * 上级组织ID
+ */
+ private String parentId;
+
+ /**
+ * 月度ID
+ */
+ private String monthId;
+
+ /**
+ * 季度ID
+ */
+ private String quarterId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 分数
+ */
+ private Double score;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CommunityPublishArticleCountResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CommunityPublishArticleCountResultDTO.java
new file mode 100644
index 0000000000..cf29133001
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CommunityPublishArticleCountResultDTO.java
@@ -0,0 +1,59 @@
+package com.epmet.dto.screen.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/8/26 10:37 上午
+ */
+@Data
+public class CommunityPublishArticleCountResultDTO implements Serializable {
+
+ private static final long serialVersionUID = -8260746179353253237L;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+ /**
+ * 机关ID
+ */
+ private String agencyId;
+
+ /**
+ * 上级组织ID
+ */
+ private String parentId;
+
+ /**
+ * 月度ID
+ */
+ private String monthId;
+
+ /**
+ * 季度ID
+ */
+ private String quarterId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 发文数
+ */
+ public Integer publishArticleCount;
+
+ public CommunityPublishArticleCountResultDTO() {
+ this.agencyId = "";
+ this.parentId = "";
+ this.monthId = "";
+ this.quarterId = "";
+ this.yearId = "";
+ this.publishArticleCount = 0;
+ }
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/IndexGroupDetailResult.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/IndexGroupDetailResult.java
new file mode 100644
index 0000000000..0d6cea89c8
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/IndexGroupDetailResult.java
@@ -0,0 +1,28 @@
+package com.epmet.dto.screen.result;
+
+import com.epmet.dto.screen.IndexGroupDetailDTO;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * desc:计算指标时 获取要计算的组的指标
+ *
+ * @author liujianjun
+ */
+@Data
+public class IndexGroupDetailResult implements Serializable {
+ private static final long serialVersionUID = 3937041236261115759L;
+
+ /**
+ * 是否有下一组
+ */
+ private Boolean hasNextGroup;
+
+ /**
+ * desc:指标详情列表 如果hasNextGroup是true则返回的是明细,否则返回的是上级的分组的指标明细
+ * 例如:网格的三大能力上次已经返回完毕,下一次调用时返回的是网格相关的三大能力的 指标明细
+ */
+ private List indexGroupDetailList;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/MaxAndMinBigDecimalResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/MaxAndMinBigDecimalResultDTO.java
new file mode 100644
index 0000000000..aa9f471405
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/MaxAndMinBigDecimalResultDTO.java
@@ -0,0 +1,21 @@
+package com.epmet.dto.screen.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/8/30 8:11 下午
+ */
+@Data
+public class MaxAndMinBigDecimalResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 76227645470470839L;
+
+ private BigDecimal min;
+
+ private BigDecimal max;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/MaxAndMinDoubleResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/MaxAndMinDoubleResultDTO.java
new file mode 100644
index 0000000000..32b429f188
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/MaxAndMinDoubleResultDTO.java
@@ -0,0 +1,25 @@
+package com.epmet.dto.screen.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/8/28 9:51 上午
+ */
+@Data
+public class MaxAndMinDoubleResultDTO implements Serializable {
+
+ private static final long serialVersionUID = -3927045097012156582L;
+
+ /**
+ * 最小值
+ */
+ private Double min;
+
+ /**
+ * 最大值
+ */
+ private Double max;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/MaxAndMinIntegerResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/MaxAndMinIntegerResultDTO.java
new file mode 100644
index 0000000000..d807e42344
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/MaxAndMinIntegerResultDTO.java
@@ -0,0 +1,25 @@
+package com.epmet.dto.screen.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/8/28 9:49 上午
+ */
+@Data
+public class MaxAndMinIntegerResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 5845694081181431599L;
+
+ /**
+ * 最小值
+ */
+ private Integer min;
+
+ /**
+ * 最大值
+ */
+ private Integer max;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/SubGridAvgResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/SubGridAvgResultDTO.java
new file mode 100644
index 0000000000..460eb12640
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/SubGridAvgResultDTO.java
@@ -0,0 +1,52 @@
+package com.epmet.dto.screen.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/8/28 3:15 下午
+ */
+@Data
+public class SubGridAvgResultDTO implements Serializable {
+
+ private static final long serialVersionUID = 1592381327492545907L;
+
+ /**
+ * 机关ID
+ */
+ private String agencyId;
+
+ /**
+ * 客户ID
+ */
+ private String customerId;
+
+ /**
+ * 上级组织ID
+ */
+ private String parentId;
+
+ /**
+ * 月度ID
+ */
+ private String monthId;
+
+ /**
+ * 季度ID
+ */
+ private String quarterId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 分数
+ */
+ private BigDecimal score;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/SubGridGovernAvgResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/SubGridGovernAvgResultDTO.java
new file mode 100644
index 0000000000..64f3cc7319
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/SubGridGovernAvgResultDTO.java
@@ -0,0 +1,46 @@
+package com.epmet.dto.screen.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/8/31 9:11 上午
+ */
+@Data
+public class SubGridGovernAvgResultDTO implements Serializable {
+
+ private static final long serialVersionUID = -1354963771895272899L;
+
+ /**
+ * 机关ID
+ */
+ private String agencyId;
+
+ /**
+ * 上级组织ID
+ */
+ private String parentId;
+
+ /**
+ * 月度ID
+ */
+ private String monthId;
+
+ /**
+ * 季度ID
+ */
+ private String quarterId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 分数
+ */
+ private BigDecimal score;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/SubGridServiceAvgResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/SubGridServiceAvgResultDTO.java
new file mode 100644
index 0000000000..ba6329aef1
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/SubGridServiceAvgResultDTO.java
@@ -0,0 +1,51 @@
+package com.epmet.dto.screen.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @Author zxc
+ * @DateTime 2020/8/31 1:53 下午
+ */
+@Data
+public class SubGridServiceAvgResultDTO implements Serializable {
+
+ private static final long serialVersionUID = -405197363477213644L;
+
+ /**
+ *
+ */
+ private String customerId;
+
+ /**
+ * 机关ID
+ */
+ private String agencyId;
+
+ /**
+ * 上级组织ID
+ */
+ private String parentId;
+
+ /**
+ * 月度ID
+ */
+ private String monthId;
+
+ /**
+ * 季度ID
+ */
+ private String quarterId;
+
+ /**
+ * 年度ID
+ */
+ private String yearId;
+
+ /**
+ * 分数
+ */
+ private BigDecimal score;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/ImgDataListDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/ImgDataListDTO.java
new file mode 100644
index 0000000000..fb63116850
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/ImgDataListDTO.java
@@ -0,0 +1,31 @@
+package com.epmet.dto.screencoll;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 图片列表
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class ImgDataListDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 原始事件id
+ */
+ private String eventId;
+
+ /**
+ * 图片地址
+ */
+ private String imgUrl;
+
+ /**
+ * 排序
+ */
+ private Integer sort;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/CpcBaseDataFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/CpcBaseDataFormDTO.java
new file mode 100644
index 0000000000..ee1674ce96
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/CpcBaseDataFormDTO.java
@@ -0,0 +1,86 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 2、党员基本情况 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class CpcBaseDataFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 组织类别 agency:组织;部门:department;网格:grid
+ */
+ private String orgType;
+
+ /**
+ * 组织Id 可以为网格,机关id
+ */
+ private String orgId;
+
+ /**
+ * 上级组织Id
+ */
+ private String parentId;
+
+ /**
+ * 组织名称
+ */
+ private String orgName;
+
+ /**
+ * 注册用户数
+ */
+ private Integer registerUserCount;
+
+ /**
+ * 群众用户数
+ */
+ private Integer resiTotal;
+
+ /**
+ * 注册党员数
+ */
+ private Integer partyMemberCount;
+
+ /**
+ * 小于20岁
+ */
+ private Integer ageLevel1;
+
+ /**
+ * 20-30岁
+ */
+ private Integer ageLevel2;
+
+ /**
+ * 31-40岁
+ */
+ private Integer ageLevel3;
+
+ /**
+ * 41-50岁
+ */
+ private Integer ageLevel4;
+
+ /**
+ * 51-60岁
+ */
+ private Integer ageLevel5;
+
+ /**
+ * 60+岁
+ */
+ private Integer ageLevel6;
+
+ /**
+ * 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增)
+ */
+ private String dataEndTime;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/CustomerAgencyFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/CustomerAgencyFormDTO.java
new file mode 100644
index 0000000000..cebf258d31
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/CustomerAgencyFormDTO.java
@@ -0,0 +1,71 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 14、组织层级 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class CustomerAgencyFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 组织id
+ */
+ private String agencyId;
+
+ /**
+ * 组织名称
+ */
+ private String agencyName;
+
+ /**
+ * 父级id ,顶级,此列为0
+ */
+ private String pid;
+
+ /**
+ * 所有上级ID,用逗号分开
+ */
+ private String pids;
+
+ /**
+ * 所有组织名称以-链接
+ */
+ private String allParentNames;
+
+ /**
+ * 坐标区域
+ */
+ private String areaMarks;
+
+ /**
+ * 中心点位
+ */
+ private String centerMark;
+
+ /**
+ * 党工委|街道党委的位置,预留字段
+ */
+ private String partyMark;
+
+ /**
+ * 机关级别(社区级:community, 乡(镇、街道)级:street, 区县级: district, 市级: city 省级:province)
+ */
+ private String level;
+
+ /**
+ * 行政地区编码
+ */
+ private String areaCode;
+
+ /**
+ * 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增)
+ */
+ private String dataEndTime;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/CustomerDeptFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/CustomerDeptFormDTO.java
new file mode 100644
index 0000000000..a99713701a
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/CustomerDeptFormDTO.java
@@ -0,0 +1,51 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 16、部门信息上传 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class CustomerDeptFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 部门id
+ */
+ private String deptId;
+
+ /**
+ * 部门名称
+ */
+ private String deptName;
+
+ /**
+ * 部门所属组织id
+ */
+ private String parentAgencyId;
+
+ /**
+ * 坐标区域可空
+ */
+ private String areaMarks;
+
+ /**
+ * 中心点位
+ */
+ private String centerMark;
+
+ /**
+ * 部门所在位置
+ */
+ private String deptMark;
+
+ /**
+ * 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增)
+ */
+ private String dataEndTime;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/CustomerGridFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/CustomerGridFormDTO.java
new file mode 100644
index 0000000000..75eb13a0fa
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/CustomerGridFormDTO.java
@@ -0,0 +1,56 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 15、网格信息上传 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class CustomerGridFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 网格id
+ */
+ private String gridId;
+
+ /**
+ * 网格名称
+ */
+ private String gridName;
+
+ /**
+ * 网格所属组织id
+ */
+ private String parentAgencyId;
+
+ /**
+ * 坐标区域可空
+ */
+ private String areaMarks;
+
+ /**
+ * 中心点位
+ */
+ private String centerMark;
+
+ /**
+ * 党支部的位置!!!
+ */
+ private String partyMark;
+
+ /**
+ * 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增)
+ */
+ private String dataEndTime;
+
+ /**
+ * 所有上级ID,用英文逗号分开(8.26新增)
+ */
+ private String allParentIds;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/DifficultyDataDetailFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/DifficultyDataDetailFormDTO.java
new file mode 100644
index 0000000000..ab77a2363c
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/DifficultyDataDetailFormDTO.java
@@ -0,0 +1,105 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 描述一下
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/9/4 15:43
+ */
+@Data
+public class DifficultyDataDetailFormDTO implements Serializable {
+ private static final long serialVersionUID = 4893795146396420078L;
+ /**
+ * 组织类别 agency:组织;部门:department;网格:grid
+ */
+ private String orgType;
+
+ /**
+ * 组织Id 可以为网格,机关id
+ */
+ private String orgId;
+
+ /**
+ * 上级组织Id
+ */
+ private String parentId;
+
+ /**
+ * 组织名称
+ */
+ private String orgName;
+
+ /**
+ * 事件原Id
+ */
+ private String eventId;
+
+ /**
+ * 事件图片 URL
+ */
+ private String eventImgUrl;
+
+ /**
+ * 事件来源 eg: XXX街道-xx社区-网格
+ */
+ private String eventSource;
+
+ /**
+ * 事件内容
+ */
+ private String eventContent;
+
+ /**
+ * 事件耗时单位:分钟
+ */
+ private Integer eventCostTime;
+
+ /**
+ * 事件设计部门数
+ */
+ private Integer eventReOrg;
+
+ /**
+ * 事件类别编码
+ */
+ private String eventCategoryCode;
+
+ /**
+ * 事件状态编码
+ */
+ private String eventStatusCode;
+
+ /**
+ * 事件类别名称
+ */
+ private String eventCategoryName;
+
+ /**
+ * 事件状态描述
+ */
+ private String eventStatusDesc;
+
+ /**
+ * 最近一次操作说明 eg: 转项目,结案,流转
+ */
+ private String latestOperateDesc;
+
+ /**
+ * 事件被处理次数(08-21新增)
+ */
+ private Integer eventHandledCount;
+
+ /**
+ * 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增)
+ */
+ private String dataEndTime;
+
+ /**
+ * 所有上级ID,用英文逗号分开(8.26新增)
+ */
+ private String allParentIds;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/DifficultyDataFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/DifficultyDataFormDTO.java
new file mode 100644
index 0000000000..a0de181acb
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/DifficultyDataFormDTO.java
@@ -0,0 +1,26 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 3、难点赌点 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class DifficultyDataFormDTO implements Serializable {
+ private static final long serialVersionUID = 1L;
+ /**
+ * 当为true时后台将删除本月数据
+ */
+ private Boolean isFirst;
+
+ /**
+ * 难点堵点数据
+ */
+ private List diffcultyDataList;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/EventDataFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/EventDataFormDTO.java
new file mode 100644
index 0000000000..6c2cbe43a5
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/EventDataFormDTO.java
@@ -0,0 +1,129 @@
+package com.epmet.dto.screencoll.form;
+
+import com.epmet.dto.screencoll.ImgDataListDTO;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * 4、事件数据(中央区-事件数据) 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class EventDataFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 组织类别 agency:组织;部门:department;网格:grid
+ */
+ private String orgType;
+
+ /**
+ * 组织Id 可以为网格,机关id
+ */
+ private String orgId;
+
+ /**
+ * 上级组织Id
+ */
+ private String parentId;
+
+ /**
+ * 组织名称
+ */
+ private String orgName;
+
+ /**
+ * 原始事件Id
+ */
+ private String eventId;
+
+ /**
+ * 事件名称
+ */
+ private String eventTitle;
+
+ /**
+ * yyyy-MM-dd HH:mm:ss事件时间
+ */
+ private String eventCreateTime;
+
+ /**
+ * 联系人
+ */
+ private String linkMobile;
+
+ /**
+ * 事件内容
+ */
+ private String eventContent;
+
+ /**
+ * 事件图片(如果有图片,此列为第一张图片)
+ */
+ private String eventImgUrl;
+
+ /**
+ * 事件待处理级别 red:红;yellow:黄 , green绿色
+ */
+ private String eventLevel;
+
+ /**
+ * 事件发生的地址
+ */
+ private String eventAddress;
+
+ /**
+ * 经度
+ */
+ private BigDecimal longitude;
+
+ /**
+ * 维度
+ */
+ private BigDecimal latitude;
+
+ /**
+ * 最后处理的组织名称
+ */
+ private String lastProcessDept;
+
+ /**
+ * 最后处理的时间
+ */
+ private String lastProcessDate;
+
+ /**
+ * 图片列表
+ */
+ private List imgDataList;
+
+ /**
+ * 事件状态描述
+ */
+ private String eventStatusDesc;
+
+ /**
+ * 事件状态key
+ */
+ private String eventStatusCode;
+
+ /**
+ * 最近一次操作说明 eg: 转项目,结案,流转
+ */
+ private String latestOperateDesc;
+
+ /**
+ * 数据更新至: yyyy|yyyMM|yyyyMMdd 8.21增加字段
+ */
+ private String dataEndTime;
+
+ /**
+ * 所有上级ID,用英文逗号分开(8.26新增)
+ */
+ private String allParentIds;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/GovernRankDataFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/GovernRankDataFormDTO.java
new file mode 100644
index 0000000000..f12e196ab7
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/GovernRankDataFormDTO.java
@@ -0,0 +1,67 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 5、基层治理-治理能力数据 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class GovernRankDataFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 年Id :yyyy
+ */
+ private String yearId;
+
+ /**
+ * 月份Id :yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * 组织类别 agency:组织;部门:department;网格:grid
+ */
+ private String orgType;
+
+ /**
+ * 组织Id 可以为网格,机关id
+ */
+ private String orgId;
+
+ /**
+ * 上级组织Id
+ */
+ private String parentId;
+
+ /**
+ * 组织名称
+ */
+ private String orgName;
+
+ /**
+ * 响应率,最大值100,保留小数点后4位
+ */
+ private BigDecimal responseRatio;
+
+ /**
+ * 解决率 最大值100,保留小数点后4位
+ */
+ private BigDecimal resolvedRatio;
+
+ /**
+ * 自治率 最大值100,保留小数点后4位
+ */
+ private BigDecimal governRatio;
+
+ /**
+ * 满意率,最大值100,保留小数点后四位
+ */
+ private BigDecimal satisfactionRatio;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/IndexDataMonthlyFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/IndexDataMonthlyFormDTO.java
new file mode 100644
index 0000000000..c27f75db87
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/IndexDataMonthlyFormDTO.java
@@ -0,0 +1,67 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 1、指数_按月统计 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class IndexDataMonthlyFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * yyyy
+ */
+ private String yearId;
+
+ /**
+ * yyyyMM eg :202007
+ */
+ private String monthId;
+
+ /**
+ * 组织类别 agency:组织;部门:department;网格:grid
+ */
+ private String orgType;
+
+ /**
+ * 组织Id 可以为网格,机关id
+ */
+ private String orgId;
+
+ /**
+ * 上级组织Id
+ */
+ private String parentId;
+
+ /**
+ * 组织名称
+ */
+ private String orgName;
+
+ /**
+ * 总指数
+ */
+ private BigDecimal indexTotal;
+
+ /**
+ * 党建能力指数
+ */
+ private BigDecimal partyDevAblity;
+
+ /**
+ * 服务能力指数
+ */
+ private BigDecimal serviceAblity;
+
+ /**
+ * 治理能力指数
+ */
+ private BigDecimal governAblity;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/IndexDataYearlyFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/IndexDataYearlyFormDTO.java
new file mode 100644
index 0000000000..4eafd27be7
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/IndexDataYearlyFormDTO.java
@@ -0,0 +1,62 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 17、指数_按年统计 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class IndexDataYearlyFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * yyyy
+ */
+ private String yearId;
+
+ /**
+ * 组织类别 agency:组织;部门:department;网格:grid
+ */
+ private String orgType;
+
+ /**
+ * 组织Id 可以为网格,机关id
+ */
+ private String orgId;
+
+ /**
+ * 上级组织Id
+ */
+ private String parentId;
+
+ /**
+ * 组织名称
+ */
+ private String orgName;
+
+ /**
+ * 总指数
+ */
+ private BigDecimal indexTotal;
+
+ /**
+ * 党建能力指数
+ */
+ private BigDecimal partyDevAblity;
+
+ /**
+ * 服务能力指数
+ */
+ private BigDecimal serviceAblity;
+
+ /**
+ * 治理能力指数
+ */
+ private BigDecimal governAblity;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/OrgRankDataFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/OrgRankDataFormDTO.java
new file mode 100644
index 0000000000..5e962e47bb
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/OrgRankDataFormDTO.java
@@ -0,0 +1,87 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 6、党建引领-组织排行 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class OrgRankDataFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 年Id :yyyy
+ */
+ private String yearId;
+
+ /**
+ * 月份Id :yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * 组织类别 agency:组织;部门:department;网格:grid
+ */
+ private String orgType;
+
+ /**
+ * 组织Id 可以为网格,机关id
+ */
+ private String orgId;
+
+ /**
+ * 上级组织Id
+ */
+ private String parentId;
+
+ /**
+ * 组织名称
+ */
+ private String orgName;
+
+ /**
+ * 党员总数
+ */
+ private Integer partyTotal;
+
+ /**
+ * 小组(支部建设总数)
+ */
+ private Integer groupTotal;
+
+ /**
+ * 话题总数
+ */
+ private Integer topicTotal;
+
+ /**
+ * 议题总数
+ */
+ private Integer issueTotal;
+
+ /**
+ * 项目总数
+ */
+ private Integer projectTotal;
+
+ /**
+ * 结案率,最大值100,保留小数点后四位
+ */
+ private BigDecimal closeProjectRatio;
+
+ /**
+ * 满意率,最大值100,保留小数点后四位
+ */
+ private BigDecimal satisfactionRatio;
+
+ /**
+ * 所有上级ID,用英文逗号分开(8.26新增)
+ */
+ private String allParentIds;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/PartyBranchDataFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/PartyBranchDataFormDTO.java
new file mode 100644
index 0000000000..21144c89ab
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/PartyBranchDataFormDTO.java
@@ -0,0 +1,76 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 7、基层党建-建设情况数据(支部、联建、志愿) 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class PartyBranchDataFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 年Id :yyyy
+ */
+ private String yearId;
+
+ /**
+ * 月份Id :yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * 数据类别 party:支部建设;union:联合建设党员志愿服务:voluntaryservice
+ */
+ private String type;
+
+ /**
+ * 组织类别 agency:组织;部门:department;网格:grid
+ */
+ private String orgType;
+
+ /**
+ * 组织Id 可以为网格,机关id
+ */
+ private String orgId;
+
+ /**
+ * 上级组织Id
+ */
+ private String parentId;
+
+ /**
+ * 组织名称
+ */
+ private String orgName;
+
+ /**
+ * 会议分类名称
+ */
+ private String meetCategoryName;
+
+ /**
+ * 会议分类id
+ */
+ private String meetCategoryId;
+
+ /**
+ * 组织次数
+ */
+ private Integer organizeCount;
+
+ /**
+ * 参加人数
+ */
+ private Integer joinUserCount;
+
+ /**
+ * 平均参加人数
+ */
+ private Integer averageJoinUserCount;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/PartyLinkMassesDataFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/PartyLinkMassesDataFormDTO.java
new file mode 100644
index 0000000000..c57728d3fc
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/PartyLinkMassesDataFormDTO.java
@@ -0,0 +1,52 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 8、党建引领-党员联系群众数据 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class PartyLinkMassesDataFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 组织类别 agency:组织;部门:department;网格:grid
+ */
+ private String orgType;
+
+ /**
+ * 组织Id 可以为网格,机关id
+ */
+ private String orgId;
+
+ /**
+ * 上级组织Id
+ */
+ private String parentId;
+
+ /**
+ * 组织名称
+ */
+ private String orgName;
+
+ /**
+ * 建群总数
+ */
+ private Integer createGroupTotal;
+
+ /**
+ * 群成员总数
+ */
+ private Integer groupUserTotal;
+
+ /**
+ * 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增)
+ */
+ private String dataEndTime;
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/PartyUserRankDataFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/PartyUserRankDataFormDTO.java
new file mode 100644
index 0000000000..5d9f5da32b
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/PartyUserRankDataFormDTO.java
@@ -0,0 +1,81 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 9、党建引领|基层治理-居民(党员)积分排行榜 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-21 09:59
+ */
+@Data
+public class PartyUserRankDataFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 数据更新至: yyyy|yyyyMM|yyyyMMdd
+ */
+ private String dataEndTime;
+
+ /**
+ * 组织类别 agency:组织;部门:department;网格:grid
+ */
+ private String orgType;
+
+ /**
+ * 用户所属网格id
+ */
+ private String gridId;
+
+ /**
+ * 用户所属网格名称
+ */
+ private String gridName;
+
+ /**
+ * 网格所属的组织id
+ */
+ private String orgId;
+
+ /**
+ * 网格所属的组织名称
+ */
+ private String orgName;
+
+ /**
+ * 是否是党员标志:1是。0不是党员
+ */
+ private String partyFlag;
+
+ /**
+ * 用户Id
+ */
+ private String userId;
+
+ /**
+ * 用户名称
+ */
+ private String userName;
+
+ /**
+ * 用户积分
+ */
+ private Integer pointTotal;
+
+ /**
+ * 姓
+ */
+ private String surname;
+
+ /**
+ * 名
+ */
+ private String name;
+
+ /**
+ * 所有上级ID,用英文逗号分开(8.26新增)
+ */
+ private String allParentIds;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/PioneerDataFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/PioneerDataFormDTO.java
new file mode 100644
index 0000000000..7e79fce0b8
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/PioneerDataFormDTO.java
@@ -0,0 +1,93 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * 10、党建引领-先锋模范数据
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class PioneerDataFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 组织类别 agency:组织;部门:department;网格:grid
+ */
+ private String orgType;
+
+ /**
+ * 组织Id 可以为网格,机关id
+ */
+ private String orgId;
+
+ /**
+ * 上级组织Id
+ */
+ private String parentId;
+
+ /**
+ * 组织名称
+ */
+ private String orgName;
+
+ /**
+ * 党员发布议题
+ */
+ private Integer publishIssueTotal;
+
+ /**
+ * 议事数
+ */
+ private Integer issueTotal;
+
+ /**
+ * 话题总数
+ */
+ private Integer topicTotal;
+
+ /**
+ * 议题转项目数
+ */
+ private Integer shiftProjectTotal;
+
+ /**
+ * 解决项目总数
+ */
+ private Integer resolvedProjectTotal;
+
+
+ /**
+ * 议事占比
+ */
+ private BigDecimal issueRatio;
+
+ /**
+ * 话题占比
+ */
+ private BigDecimal topicRatio;
+
+ /**
+ * 议题转项目占比
+ */
+ private BigDecimal shiftProjectRatio;
+
+ /**
+ * 解决项目占比
+ */
+ private BigDecimal resolvedProjectRatio;
+
+ /**
+ * 党员发布议题占比
+ */
+ private BigDecimal publishIssueRatio;
+
+ /**
+ * 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增)
+ */
+ private String dataEndTime;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/PublicPartiTotalDataFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/PublicPartiTotalDataFormDTO.java
new file mode 100644
index 0000000000..df902a06a2
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/PublicPartiTotalDataFormDTO.java
@@ -0,0 +1,67 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 18、公众参与各类总数 入参
+ * 公众参与-各类(用户|党员|党群|话题|议题|项目|注册人数|参与人数)总数
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class PublicPartiTotalDataFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 组织类别 agency:组织;网格:grid
+ */
+ private String orgType;
+
+ /**
+ * 组织Id 可以为网格,机关id
+ */
+ private String orgId;
+
+ /**
+ * 上级组织Id,如果是网格,传入网格所属的组织id
+ */
+ private String parentId;
+
+ /**
+ * 组织名称(可以是网格名称,也可以是组织名称)
+ */
+ private String orgName;
+
+ /**
+ * 话题总数
+ */
+ private Integer topicTotal;
+
+ /**
+ * 议题总数
+ */
+ private Integer issueTotal;
+
+ /**
+ * 注册人数
+ */
+ private Integer regUserTotal;
+
+ /**
+ * 项目总数
+ */
+ private Integer projectTotal;
+
+ /**
+ * 参与人数
+ */
+ private Integer joinUserTotal;
+
+ /**
+ * 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增)
+ */
+ private String dataEndTime;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/UserJoinFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/UserJoinFormDTO.java
new file mode 100644
index 0000000000..9abd6012d6
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/UserJoinFormDTO.java
@@ -0,0 +1,61 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 11、基层治理-公众参与 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class UserJoinFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 组织类别 agency:组织;部门:department;网格:grid
+ */
+ private String orgType;
+
+ /**
+ * 组织Id 可以为网格,机关id
+ */
+ private String orgId;
+
+ /**
+ * 上级组织Id
+ */
+ private String parentId;
+
+ /**
+ * 组织名称
+ */
+ private String orgName;
+
+ /**
+ * 年Id :yyyy
+ */
+ private String yearId;
+
+ /**
+ * 月份Id :yyyyMM
+ */
+ private String monthId;
+
+ /**
+ * 人均议题
+ */
+ private Integer avgIssue;
+
+ /**
+ * 总的参与次数
+ */
+ private Integer joinTotal;
+
+ /**
+ * 平均参与度
+ */
+ private Integer avgJoin;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/UserTotalDataFormDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/UserTotalDataFormDTO.java
new file mode 100644
index 0000000000..3111d5136d
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screencoll/form/UserTotalDataFormDTO.java
@@ -0,0 +1,71 @@
+package com.epmet.dto.screencoll.form;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 12、中央区各类总数 入参
+ * @Auther: zhangyong
+ * @Date: 2020-08-18 09:59
+ */
+@Data
+public class UserTotalDataFormDTO implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 组织类别 agency:组织;部门:department;网格:grid
+ */
+ private String orgType;
+
+ /**
+ * 组织Id 可以为网格,机关id
+ */
+ private String orgId;
+
+ /**
+ * 上级组织Id
+ */
+ private String parentId;
+
+ /**
+ * 组织名称
+ */
+ private String orgName;
+
+ /**
+ * 用户总数
+ */
+ private Integer userTotal;
+
+ /**
+ * 注册党员数
+ */
+ private Integer partyTotal;
+
+ /**
+ * 小组(党群)总数
+ */
+ private Integer groupTotal;
+
+ /**
+ * 话题总数
+ */
+ private Integer topicTotal;
+
+ /**
+ * 议题总数
+ */
+ private Integer issueTotal;
+
+ /**
+ * 项目总数
+ */
+ private Integer projectTotal;
+
+ /**
+ * 数据更新至: yyyy|yyyyMM|yyyyMMdd(08-21新增)
+ */
+ private String dataEndTime;
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-dev.yml b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-dev.yml
index 0d7479b1ec..36afabff51 100644
--- a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-dev.yml
+++ b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-dev.yml
@@ -2,7 +2,7 @@ version: "3.7"
services:
data-statistical-server:
container_name: data-statistical-server-dev
- image: 192.168.1.130:10080/epmet-cloud-dev/data-statistical-server:0.3.42
+ image: 192.168.1.130:10080/epmet-cloud-dev/data-statistical-server:0.3.48
ports:
- "8108:8108"
network_mode: host # 使用现有网络
diff --git a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml
index 029e37c343..b62847d615 100644
--- a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml
+++ b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-prod.yml
@@ -2,7 +2,7 @@ version: "3.7"
services:
data-statistical-server:
container_name: data-statistical-server-prod
- image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:0.3.42
+ image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-master/data-statistical-server:0.3.48
ports:
- "8108:8108"
network_mode: host # 使用现有网络
diff --git a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-test.yml b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-test.yml
index 2e5a7af0e8..075a43a0af 100644
--- a/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-test.yml
+++ b/epmet-module/data-statistical/data-statistical-server/deploy/docker-compose-test.yml
@@ -2,7 +2,7 @@ version: "3.7"
services:
data-statistical-server:
container_name: data-statistical-server-test
- image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/data-statistical-server:0.3.42
+ image: registry-vpc.cn-qingdao.aliyuncs.com/epmet-cloud-release/data-statistical-server:0.3.47
ports:
- "8108:8108"
network_mode: host # 使用现有网络
diff --git a/epmet-module/data-statistical/data-statistical-server/pom.xml b/epmet-module/data-statistical/data-statistical-server/pom.xml
index 543f5dc3f9..d930651a68 100644
--- a/epmet-module/data-statistical/data-statistical-server/pom.xml
+++ b/epmet-module/data-statistical/data-statistical-server/pom.xml
@@ -2,7 +2,7 @@
- 0.3.42
+ 0.3.48
data-statistical
com.epmet
@@ -68,6 +68,36 @@
2.0.0
compile
+
+ com.epmet
+ epmet-commons-extapp-auth
+ 2.0.0
+ compile
+
+
+
+
+
+ org.apache.poi
+ poi
+ 3.17
+
+
+
+ org.apache.poi
+ poi-ooxml
+ 3.17
+
+
+ com.alibaba
+ easyexcel
+ 2.2.6
+
+
+ io.github.wnjustdoit
+ pinyin4j
+ 2.6.0
+
@@ -97,12 +127,107 @@
dev
+
+ 8108
+ dev
+
+
+
+
+
+ epmet_data_statistical_user
+ EpmEt-db-UsEr
+
+
+
+
+ epmet_gov_org_user
+ EpmEt-db-UsEr
+
+
+
+
+ epmet_gov_issue_user
+ EpmEt-db-UsEr
+
+
+
+
+ epmet_gov_project_user
+ EpmEt-db-UsEr
+
+
+
+
+ epmet_gov_voice_user
+ EpmEt-db-UsEr
+
+
+
+
+ epmet_oper_crm_user
+ EpmEt-db-UsEr
+
+
+
+
+ epmet_resi_group_user
+ EpmEt-db-UsEr
+
+
+
+
+ epmet_user_user
+ EpmEt-db-UsEr
+
+
+
+
+ epmet_data_stats_display_user
+ EpmEt-db-UsEr
+
+
+
+
+ epmet_evaluation_index_user
+ EpmEt-db-UsEr
+
+
+ 0
+ 192.168.1.130
+ 6379
+ 123456
+
+ true
+ 192.168.1.130:8848
+ 6ceab336-d004-4acf-89c6-e121d06f4988
+
+
+ false
+
+
+
+ false
+
+
+ 5
+ 8
+ 10
+ 30
+
+
+ https://oapi.dingtalk.com/robot/send?access_token=90782b119f82a5b6bb8e0f819b6a77bbc2102b53aa2d7d2e24fa10b66d580b1c
+ SEC080aac67ff78e79fdaba132aa51e3fb3f6060dec99492feaac82cabf9f8b6a19
+
+
+
+ local
true
8108
- dev
+ local
@@ -153,13 +278,25 @@
epmet_user_user
EpmEt-db-UsEr
+
+
+
+ epmet_data_stats_display_user
+ EpmEt-db-UsEr
+
+
+
+
+ epmet_evaluation_index_user
+ EpmEt-db-UsEr
+
0
192.168.1.130
6379
123456
- true
+ false
192.168.1.130:8848
6ceab336-d004-4acf-89c6-e121d06f4988
@@ -239,6 +376,18 @@
epmet
elink@833066
+
+
+
+ epmet
+ elink@833066
+
+
+
+
+ epmet
+ elink@833066
+
0
r-m5eoz5b6tkx09y6bpz.redis.rds.aliyuncs.com
@@ -321,6 +470,18 @@
epmet_user_user
EpmEt-db-UsEr
+
+
+
+ epmet_data_stats_display_user
+ EpmEt-db-UsEr
+
+
+
+
+ epmet_evaluation_index_user
+ EpmEt-db-UsEr
+
0
r-m5ez3n1j0qc3ykq2ut.redis.rds.aliyuncs.com
@@ -350,4 +511,4 @@
-
\ No newline at end of file
+
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/DataStatsApplication.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/DataStatsApplication.java
index ad4e2110fa..eee1f3bca7 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/DataStatsApplication.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/DataStatsApplication.java
@@ -1,15 +1,22 @@
package com.epmet;
+import com.epmet.commons.tools.enums.EnvEnum;
+import com.epmet.commons.tools.utils.HttpClientManager;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableAsync;
+@EnableDiscoveryClient
+@EnableFeignClients
@SpringBootApplication (exclude = {DataSourceAutoConfiguration.class})
@EnableAsync
public class DataStatsApplication {
public static void main(String[] args) {
SpringApplication.run(DataStatsApplication.class ,args);
+ HttpClientManager.getInstance().sendAlarmMsg(EnvEnum.getCurrentEnv().getName() +" DataStatsApplication started!");
}
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/OrgTypeConstant.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/OrgTypeConstant.java
new file mode 100644
index 0000000000..7c88be956c
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/constant/OrgTypeConstant.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2018 人人开源 All rights reserved.
+ *
+ * https://www.renren.io
+ *
+ * 版权所有,侵权必究!
+ */
+
+package com.epmet.constant;
+
+/**
+ * 组织类别/机关级别 常量
+ *
+ * @author sun
+ * @since 1.0.0
+ */
+public interface OrgTypeConstant {
+
+ /**
+ * 部门
+ */
+ String DEPARTMENT = "department";
+
+ /**
+ * 网格
+ */
+ String GRID = "grid";
+
+ /**
+ * 组织
+ */
+ String AGENCY = "agency";
+
+ /**
+ * 乡(镇、街道)级
+ */
+ String STREET = "street";
+
+ /**
+ * 区县级
+ */
+ String DISTRICT = "district";
+
+ /**
+ * 社区级
+ */
+ String COMMUNITY = "community";
+
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
index b8f7c3e3d2..bf2e750a65 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/DemoController.java
@@ -1,14 +1,34 @@
package com.epmet.controller;
+import com.epmet.commons.dynamic.datasource.annotation.DataSource;
import com.epmet.commons.tools.exception.RenException;
+import com.epmet.commons.tools.utils.DateUtils;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.constant.DataSourceConstant;
+import com.epmet.constant.IndexCalConstant;
+import com.epmet.dao.evaluationindex.indexcal.GridScoreDao;
+import com.epmet.dao.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyDao;
+import com.epmet.dao.evaluationindex.indexcoll.FactIndexPartyAblityGridMonthlyDao;
+import com.epmet.dao.evaluationindex.indexcoll.FactIndexServiceAblityGridMonthlyDao;
+import com.epmet.dao.evaluationindex.screen.ScreenCustomerGridDao;
import com.epmet.dto.AgencySubTreeDto;
+import com.epmet.dto.indexcal.CalculateCommonFormDTO;
+import com.epmet.entity.evaluationindex.indexcoll.FactIndexGovrnAblityGridMonthlyEntity;
+import com.epmet.entity.evaluationindex.indexcoll.FactIndexPartyAblityGridMonthlyEntity;
+import com.epmet.entity.evaluationindex.indexcoll.FactIndexServiceAblityGridMonthlyEntity;
+import com.epmet.entity.evaluationindex.screen.ScreenCustomerGridEntity;
+import com.epmet.entity.stats.DimAgencyEntity;
import com.epmet.service.StatsDemoService;
+import com.epmet.service.evaluationindex.indexcal.*;
+import com.epmet.service.stats.DimAgencyService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import java.util.concurrent.ExecutionException;
@@ -19,13 +39,25 @@ import java.util.concurrent.Future;
@RestController
@Slf4j
public class DemoController {
-
@Autowired
private StatsDemoService demoService;
@Autowired
private ExecutorService executorService;
+ @Autowired
+ private DimAgencyService dimAgencyService;
+ @Autowired
+ private IndexCalculateCommunityService indexCalculateCommunityService;
+ @Autowired
+ private GridCorreLationService gridCorreLationService;
+ @Autowired
+ private IndexCalculateStreetService indexCalculateStreetService;
+ @Autowired
+ private DeptScoreService deptScoreService;
+ @Autowired
+ private IndexCalculateDistrictService indexCalculateDistrictService;
+
@GetMapping("testAlarm")
public void testAlarm() {
//for (int i = 0; i < 20; i++) {
@@ -91,4 +123,364 @@ public class DemoController {
List result = demoService.getAllAgency();
return result;
}
+
+ /**
+ * 参数指定数据源
+ * @return
+ */
+ @PostMapping("paramDataSource")
+ public Result paramDataSource() {
+ List list = dimAgencyService.getAgencyListByCustomerId("ba7c0b5b21e882b263ee8456e2cfb63e");
+ return new Result().ok(list);
+ }
+
+ @PostMapping("zxc2")
+ public Result getZxc2(){
+ indexCalculateCommunityService.calCommunityAll("b09527201c4409e19d1dbc5e3c3429a1","202008");
+ return new Result();
+ }
+
+ @PostMapping("testcalculategridcorrelation")
+ public Result testcalculateGridCorreLation(){
+ CalculateCommonFormDTO formDTO=new CalculateCommonFormDTO("b09527201c4409e19d1dbc5e3c3429a1","202008");
+ gridCorreLationService.calculateGridCorreLation(formDTO);
+ return new Result();
+ }
+
+ @Autowired
+ private GridScoreDao gridScoreDao;
+ @Autowired
+ private FactIndexPartyAblityGridMonthlyDao factIndexPartyAblityGridMonthlyDao;
+ @Autowired
+ private FactIndexGovrnAblityGridMonthlyDao factIndexGovrnAblityGridMonthlyDao;
+ @Autowired
+ private FactIndexServiceAblityGridMonthlyDao factIndexServiceAblityGridMonthlyDao;
+ @Autowired
+ private ScreenCustomerGridDao screenCustomerGridDao;
+// private static Integer testcal=100;
+
+ @PostMapping("testcal")
+ public Result testCal(){
+ CalculateCommonFormDTO formDTO=new CalculateCommonFormDTO("b09527201c4409e19d1dbc5e3c3429a1","202008");
+// //查询总记录数
+// List gridScoreDTOList=gridScoreDao.selectList(formDTO);
+// return new Result>().ok(gridScoreDTOList);
+ gridCorreLationService.calculateGridCorreLation(formDTO);
+// deptScoreService.calculateDeptCorreLation(formDTO);
+ return new Result();
+ }
+ @DataSource(DataSourceConstant.EVALUATION_INDEX)
+ @PostMapping("insertgridinfo")
+ public Result insertScreenCustomerGrid(){
+ ScreenCustomerGridEntity entity1=new ScreenCustomerGridEntity();
+ entity1.setCustomerId(IndexCalConstant.customerId);
+ entity1.setGridId(IndexCalConstant.S1_C1_G1);
+ entity1.setGridName("网格S1-C1-G1");
+ entity1.setParentAgencyId(IndexCalConstant.SHE_QU_S1_C1);
+ entity1.setAllParentIds("S1,C1");
+ entity1.setCreatedBy(IndexCalConstant.insertUser);
+ entity1.setUpdatedBy(IndexCalConstant.insertUser);
+ entity1.setDataEndTime("20200901");
+ screenCustomerGridDao.insert(entity1);
+
+ ScreenCustomerGridEntity entity2=new ScreenCustomerGridEntity();
+ entity2.setCustomerId(IndexCalConstant.customerId);
+ entity2.setGridId(IndexCalConstant.S1_C1_G2);
+ entity2.setGridName("网格S1-C1-G2");
+ entity2.setParentAgencyId(IndexCalConstant.SHE_QU_S1_C1);
+ entity2.setAllParentIds("S1,C1");
+ entity2.setCreatedBy(IndexCalConstant.insertUser);
+ entity2.setUpdatedBy(IndexCalConstant.insertUser);
+ entity2.setDataEndTime("20200901");
+ screenCustomerGridDao.insert(entity2);
+
+ ScreenCustomerGridEntity entity3=new ScreenCustomerGridEntity();
+ entity3.setCustomerId(IndexCalConstant.customerId);
+ entity3.setGridId(IndexCalConstant.S1_C2_G1);
+ entity3.setGridName("网格S1-C2-G1");
+ entity3.setParentAgencyId(IndexCalConstant.SHE_QU_S1_C2);
+ entity3.setAllParentIds("S1,C2");
+ entity3.setCreatedBy(IndexCalConstant.insertUser);
+ entity3.setUpdatedBy(IndexCalConstant.insertUser);
+ entity3.setDataEndTime("20200901");
+ screenCustomerGridDao.insert(entity3);
+
+ return new Result();
+ }
+ @DataSource(DataSourceConstant.EVALUATION_INDEX)
+ @PostMapping("inserttestdata")
+ public Result test(){
+ //网格相关-党建能力
+ FactIndexPartyAblityGridMonthlyEntity entity1=this.getPartyAblityGridMonthlyEntity1();
+ factIndexPartyAblityGridMonthlyDao.insert(entity1);
+ FactIndexPartyAblityGridMonthlyEntity entity2=this.getPartyAblityGridMonthlyEntity2();
+ factIndexPartyAblityGridMonthlyDao.insert(entity2);
+ FactIndexPartyAblityGridMonthlyEntity entity3=this.getPartyAblityGridMonthlyEntity3();
+ factIndexPartyAblityGridMonthlyDao.insert(entity3);
+
+ //网格相关-治理能力
+ FactIndexGovrnAblityGridMonthlyEntity zhiliEntity1=this.getGovrnAblityGridMonthlyEntity1();
+ factIndexGovrnAblityGridMonthlyDao.insert(zhiliEntity1);
+ FactIndexGovrnAblityGridMonthlyEntity zhiliEntity2=this.getGovrnAblityGridMonthlyEntity2();
+ factIndexGovrnAblityGridMonthlyDao.insert(zhiliEntity2);
+ FactIndexGovrnAblityGridMonthlyEntity zhiliEntity3=this.getGovrnAblityGridMonthlyEntity3();
+ factIndexGovrnAblityGridMonthlyDao.insert(zhiliEntity3);
+
+ //网格相关-服务能力
+ FactIndexServiceAblityGridMonthlyEntity fuwuEntity1=this.getServiceAblityGridMonthlyEntity1();
+ factIndexServiceAblityGridMonthlyDao.insert(fuwuEntity1);
+ FactIndexServiceAblityGridMonthlyEntity fuwuEntity2=this.getServiceAblityGridMonthlyEntity2();
+ factIndexServiceAblityGridMonthlyDao.insert(fuwuEntity2);
+ FactIndexServiceAblityGridMonthlyEntity fuwuEntity3=this.getServiceAblityGridMonthlyEntity3();
+ factIndexServiceAblityGridMonthlyDao.insert(fuwuEntity3);
+
+ return new Result();
+ }
+
+ //网格相关-党建能力-网格1
+ private FactIndexPartyAblityGridMonthlyEntity getPartyAblityGridMonthlyEntity1() {
+ FactIndexPartyAblityGridMonthlyEntity entity1=new FactIndexPartyAblityGridMonthlyEntity();
+ entity1.setCustomerId(IndexCalConstant.customerId);
+ entity1.setAgencyId(IndexCalConstant.SHE_QU_S1_C1);
+ entity1.setGridId(IndexCalConstant.S1_C1_G1);
+ entity1.setMonthId(IndexCalConstant.monthId);
+ entity1.setQuarterId(DateUtils.getQuarterId(IndexCalConstant.monthId));
+ entity1.setYearId(DateUtils.getYearId(IndexCalConstant.monthId));
+
+ entity1.setUserCount(10); // 网格群众用户数
+ entity1.setPartyCount(50); // 网格党员用户数
+ entity1.setActiveUserCount(100); // 网格活跃群众用户数
+ entity1.setActivePartyCount(80); //网格活跃党员用户数
+ entity1.setPartyAvgTopicCount(30); //网格党员人均提出话题数
+ entity1.setUserAvgTopicCount(10); //网格群众人均提出话题数
+ entity1.setPartyAvgShiftProjectCount(50); //网格党员人均提出的议题转项目数
+ entity1.setUserAvgShiftProjectCount(50); //网格群众人均提出的议题转项目数
+ entity1.setCreateGroupPartyCount(35); //建群党员数(累计值) 去重
+ entity1.setPublishArticleCount(50); //网格发文数
+ entity1.setIssueToProjectRatio(new BigDecimal("50")); //网格议题转项目率
+ entity1.setCreateThreeMeetsCount(10); //组织三会一课次数
+ entity1.setJoinThreeMeetsCount(30); //党员参加三会一课人次
+
+ entity1.setCreatedBy(IndexCalConstant.insertUser);
+ entity1.setUpdatedBy(IndexCalConstant.insertUser);
+ return entity1;
+ }
+
+ //网格相关-党建能力-网格2
+ private FactIndexPartyAblityGridMonthlyEntity getPartyAblityGridMonthlyEntity2() {
+ FactIndexPartyAblityGridMonthlyEntity entity2=new FactIndexPartyAblityGridMonthlyEntity();
+ entity2.setCustomerId(IndexCalConstant.customerId);
+ entity2.setAgencyId(IndexCalConstant.SHE_QU_S1_C1);
+ entity2.setGridId(IndexCalConstant.S1_C1_G2);
+ entity2.setMonthId(IndexCalConstant.monthId);
+ entity2.setQuarterId(DateUtils.getQuarterId(IndexCalConstant.monthId));
+ entity2.setYearId(DateUtils.getYearId(IndexCalConstant.monthId));
+
+ entity2.setUserCount(20); // 网格群众用户数
+ entity2.setPartyCount(30); // 网格党员用户数
+ entity2.setActiveUserCount(20); // 网格活跃群众用户数
+ entity2.setActivePartyCount(20); //网格活跃党员用户数
+ entity2.setPartyAvgTopicCount(10); //网格党员人均提出话题数
+ entity2.setUserAvgTopicCount(50); //网格群众人均提出话题数
+ entity2.setPartyAvgShiftProjectCount(35); //网格党员人均提出的议题转项目数
+ entity2.setUserAvgShiftProjectCount(55); //网格群众人均提出的议题转项目数
+ entity2.setCreateGroupPartyCount(30); //建群党员数(累计值) 去重
+ entity2.setPublishArticleCount(30); //网格发文数
+ entity2.setIssueToProjectRatio(new BigDecimal("30")); //网格议题转项目率
+ entity2.setCreateThreeMeetsCount(35); //组织三会一课次数
+ entity2.setJoinThreeMeetsCount(20); //党员参加三会一课人次
+
+ entity2.setCreatedBy(IndexCalConstant.insertUser);
+ entity2.setUpdatedBy(IndexCalConstant.insertUser);
+ return entity2;
+ }
+ //网格相关-党建能力-网格3
+ private FactIndexPartyAblityGridMonthlyEntity getPartyAblityGridMonthlyEntity3() {
+ FactIndexPartyAblityGridMonthlyEntity entity3=new FactIndexPartyAblityGridMonthlyEntity();
+ entity3.setCustomerId(IndexCalConstant.customerId);
+ entity3.setAgencyId(IndexCalConstant.SHE_QU_S1_C2);
+ entity3.setGridId(IndexCalConstant.S1_C2_G1);
+ entity3.setMonthId(IndexCalConstant.monthId);
+ entity3.setQuarterId(DateUtils.getQuarterId(IndexCalConstant.monthId));
+ entity3.setYearId(DateUtils.getYearId(IndexCalConstant.monthId));
+
+ entity3.setUserCount(60); // 网格群众用户数
+ entity3.setPartyCount(80); // 网格党员用户数
+ entity3.setActiveUserCount(70); // 网格活跃群众用户数
+ entity3.setActivePartyCount(70); //网格活跃党员用户数
+ entity3.setPartyAvgTopicCount(40); //网格党员人均提出话题数
+ entity3.setUserAvgTopicCount(20); //网格群众人均提出话题数
+ entity3.setPartyAvgShiftProjectCount(30); //网格党员人均提出的议题转项目数
+ entity3.setUserAvgShiftProjectCount(30); //网格群众人均提出的议题转项目数
+ entity3.setCreateGroupPartyCount(20); //建群党员数(累计值) 去重
+ entity3.setPublishArticleCount(80); //网格发文数
+ entity3.setIssueToProjectRatio(new BigDecimal("80")); //网格议题转项目率
+ entity3.setCreateThreeMeetsCount(100); //组织三会一课次数
+ entity3.setJoinThreeMeetsCount(100); //党员参加三会一课人次
+
+ entity3.setCreatedBy(IndexCalConstant.insertUser);
+ entity3.setUpdatedBy(IndexCalConstant.insertUser);
+ return entity3;
+ }
+ //网格相关-治理能力-网格1
+ private FactIndexGovrnAblityGridMonthlyEntity getGovrnAblityGridMonthlyEntity1() {
+ FactIndexGovrnAblityGridMonthlyEntity entity=new FactIndexGovrnAblityGridMonthlyEntity();
+ entity.setCustomerId(IndexCalConstant.customerId);
+ entity.setAgencyId(IndexCalConstant.SHE_QU_S1_C1);
+ entity.setGridId(IndexCalConstant.S1_C1_G1);
+ entity.setMonthId(IndexCalConstant.monthId);
+ entity.setQuarterId(DateUtils.getQuarterId(IndexCalConstant.monthId));
+ entity.setYearId(DateUtils.getYearId(IndexCalConstant.monthId));
+
+ entity.setIssueTotal(100); //网格总议题数
+ entity.setAvgIssueCount(100); //网格人均议题数目
+ entity.setIssueToProjectRatio(new BigDecimal("20")); //网格议题转项目率
+ entity.setProjectTotal(20);// 网格总项目数
+ entity.setSelfSolveProjectCount(10); // 网格自治项目数 统计期网格自身内办结的项目数目
+ entity.setResolveProjectCount(100);//网格办结项目数 统计期内办结的项目数目
+ entity.setTransferRightRatio(new BigDecimal("100"));//网格吹哨部门准确率
+ entity.setSatisfactionRatio(new BigDecimal("100"));//网格内解决的项目的满意度
+
+ entity.setCreatedBy(IndexCalConstant.insertUser);
+ entity.setUpdatedBy(IndexCalConstant.insertUser);
+ return entity;
+ }
+
+ //网格相关-治理能力-网格2
+ private FactIndexGovrnAblityGridMonthlyEntity getGovrnAblityGridMonthlyEntity2() {
+ FactIndexGovrnAblityGridMonthlyEntity entity=new FactIndexGovrnAblityGridMonthlyEntity();
+ entity.setCustomerId(IndexCalConstant.customerId);
+ entity.setAgencyId(IndexCalConstant.SHE_QU_S1_C1);
+ entity.setGridId(IndexCalConstant.S1_C1_G2);
+ entity.setMonthId(IndexCalConstant.monthId);
+ entity.setQuarterId(DateUtils.getQuarterId(IndexCalConstant.monthId));
+ entity.setYearId(DateUtils.getYearId(IndexCalConstant.monthId));
+
+ entity.setIssueTotal(70); //网格总议题数
+ entity.setAvgIssueCount(10); //网格人均议题数目
+ entity.setIssueToProjectRatio(new BigDecimal("20")); //网格议题转项目率
+ entity.setProjectTotal(40);// 网格总项目数
+ entity.setSelfSolveProjectCount(15); // 网格自治项目数 统计期网格自身内办结的项目数目
+ entity.setResolveProjectCount(20);//网格办结项目数 统计期内办结的项目数目
+ entity.setTransferRightRatio(new BigDecimal("10"));//网格吹哨部门准确率
+ entity.setSatisfactionRatio(new BigDecimal("70"));//网格内解决的项目的满意度
+
+ entity.setCreatedBy(IndexCalConstant.insertUser);
+ entity.setUpdatedBy(IndexCalConstant.insertUser);
+
+ return entity;
+ }
+ //网格相关-治理能力-网格3
+ private FactIndexGovrnAblityGridMonthlyEntity getGovrnAblityGridMonthlyEntity3() {
+ FactIndexGovrnAblityGridMonthlyEntity entity=new FactIndexGovrnAblityGridMonthlyEntity();
+ entity.setCustomerId(IndexCalConstant.customerId);
+ entity.setAgencyId(IndexCalConstant.SHE_QU_S1_C2);
+ entity.setGridId(IndexCalConstant.S1_C2_G1);
+ entity.setMonthId(IndexCalConstant.monthId);
+ entity.setQuarterId(DateUtils.getQuarterId(IndexCalConstant.monthId));
+ entity.setYearId(DateUtils.getYearId(IndexCalConstant.monthId));
+
+ entity.setIssueTotal(80); //网格总议题数
+ entity.setAvgIssueCount(70); //网格人均议题数目
+ entity.setIssueToProjectRatio(new BigDecimal("100")); //网格议题转项目率
+ entity.setProjectTotal(100);// 网格总项目数
+ entity.setSelfSolveProjectCount(20); // 网格自治项目数 统计期网格自身内办结的项目数目
+ entity.setResolveProjectCount(20);//网格办结项目数 统计期内办结的项目数目
+ entity.setTransferRightRatio(new BigDecimal("70"));//网格吹哨部门准确率
+ entity.setSatisfactionRatio(new BigDecimal("10"));//网格内解决的项目的满意度
+
+ entity.setCreatedBy(IndexCalConstant.insertUser);
+ entity.setUpdatedBy(IndexCalConstant.insertUser);
+
+ return entity;
+ }
+
+ //网格相关-服务能力-网格1
+ private FactIndexServiceAblityGridMonthlyEntity getServiceAblityGridMonthlyEntity1() {
+ FactIndexServiceAblityGridMonthlyEntity entity=new FactIndexServiceAblityGridMonthlyEntity();
+ entity.setCustomerId(IndexCalConstant.customerId);
+ entity.setAgencyId(IndexCalConstant.SHE_QU_S1_C1);
+ entity.setGridId(IndexCalConstant.S1_C1_G1);
+ entity.setMonthId(IndexCalConstant.monthId);
+ entity.setQuarterId(DateUtils.getQuarterId(IndexCalConstant.monthId));
+ entity.setYearId(DateUtils.getYearId(IndexCalConstant.monthId));
+
+ entity.setActivityCount(80);//网格活动组织次数 爱心活动
+ entity.setVolunteerRatio(new BigDecimal("70"));//网格志愿者占比
+ entity.setPartyVolunteerRatio(new BigDecimal("60"));// 网格党员志愿者率
+
+ entity.setCreatedBy(IndexCalConstant.insertUser);
+ entity.setUpdatedBy(IndexCalConstant.insertUser);
+ return entity;
+ }
+
+ //网格相关-服务能力-网格2
+ private FactIndexServiceAblityGridMonthlyEntity getServiceAblityGridMonthlyEntity2() {
+ FactIndexServiceAblityGridMonthlyEntity entity=new FactIndexServiceAblityGridMonthlyEntity();
+ entity.setCustomerId(IndexCalConstant.customerId);
+ entity.setAgencyId(IndexCalConstant.SHE_QU_S1_C1);
+ entity.setGridId(IndexCalConstant.S1_C1_G2);
+ entity.setMonthId(IndexCalConstant.monthId);
+ entity.setQuarterId(DateUtils.getQuarterId(IndexCalConstant.monthId));
+ entity.setYearId(DateUtils.getYearId(IndexCalConstant.monthId));
+
+ entity.setActivityCount(40);//网格活动组织次数 爱心活动
+ entity.setVolunteerRatio(new BigDecimal("30"));//网格志愿者占比
+ entity.setPartyVolunteerRatio(new BigDecimal("80"));// 网格党员志愿者率
+
+ entity.setCreatedBy(IndexCalConstant.insertUser);
+ entity.setUpdatedBy(IndexCalConstant.insertUser);
+ return entity;
+ }
+
+ //网格相关-服务能力-网格3
+ private FactIndexServiceAblityGridMonthlyEntity getServiceAblityGridMonthlyEntity3() {
+ FactIndexServiceAblityGridMonthlyEntity entity=new FactIndexServiceAblityGridMonthlyEntity();
+ entity.setCustomerId(IndexCalConstant.customerId);
+ entity.setAgencyId(IndexCalConstant.SHE_QU_S1_C2);
+ entity.setGridId(IndexCalConstant.S1_C2_G1);
+ entity.setMonthId(IndexCalConstant.monthId);
+ entity.setQuarterId(DateUtils.getQuarterId(IndexCalConstant.monthId));
+ entity.setYearId(DateUtils.getYearId(IndexCalConstant.monthId));
+
+ entity.setActivityCount(20);//网格活动组织次数 爱心活动
+ entity.setVolunteerRatio(new BigDecimal("80"));//网格志愿者占比
+ entity.setPartyVolunteerRatio(new BigDecimal("20"));// 网格党员志愿者率
+
+ entity.setCreatedBy(IndexCalConstant.insertUser);
+ entity.setUpdatedBy(IndexCalConstant.insertUser);
+ return entity;
+ }
+
+ @PostMapping("streetZxc")
+ public void getStreet(){
+ String customerId = "b09527201c4409e19d1dbc5e3c3429a1";
+ String monthId = "202008";
+ indexCalculateStreetService.calStreetAll(customerId,monthId);
+ }
+
+ @PostMapping("districtZxc")
+ public void getDistrict(){
+ String customerId = "b09527201c4409e19d1dbc5e3c3429a1";
+ String monthId = "202008";
+ indexCalculateDistrictService.calDistrictAll(customerId,monthId);
+ }
+ @PostMapping("gridZxc")
+ public void getGrid(){
+ String customerId = "b09527201c4409e19d1dbc5e3c3429a1";
+ String monthId = "202008";
+ CalculateCommonFormDTO c = new CalculateCommonFormDTO();
+ c.setCustomerId(customerId);
+ c.setMonthId(monthId);
+ gridCorreLationService.calculateGridCorreLation(c);
+ }
+ @PostMapping("deptZxc")
+ public void getDept(){
+ String customerId = "b09527201c4409e19d1dbc5e3c3429a1";
+ String monthId = "202008";
+ CalculateCommonFormDTO c = new CalculateCommonFormDTO();
+ c.setCustomerId(customerId);
+ c.setMonthId(monthId);
+ deptScoreService.calculateDeptCorreLation(c);
+ }
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactIndexCollectController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactIndexCollectController.java
new file mode 100644
index 0000000000..138ab5cbb7
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactIndexCollectController.java
@@ -0,0 +1,154 @@
+package com.epmet.controller;
+
+import com.epmet.commons.extappauth.annotation.ExternalAppRequestAuth;
+import com.epmet.commons.extappauth.bean.ExternalAppRequestParam;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.indexcollect.form.*;
+import com.epmet.dto.screencoll.form.IndexDataMonthlyFormDTO;
+import com.epmet.service.evaluationindex.indexcoll.FactIndexCollectService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 指标采集相关api
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/20 9:38
+ */
+@RestController
+@RequestMapping("indexcollect")
+public class FactIndexCollectController {
+
+ @Autowired
+ private FactIndexCollectService factIndexCollectService;
+
+ /**
+ * 1、党建能力-党员相关指标上报(按照月份)
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("gridpartymemberdata")
+ public Result gridPartyMemberData(ExternalAppRequestParam externalAppRequestParam, @RequestBody GridPartyMemberDataFormDTO formDTO) {
+ factIndexCollectService.insertGridPartyMemberData(formDTO,externalAppRequestParam.getCustomerId() );
+ return new Result();
+ }
+
+ /**
+ * 2、党建能力-网格相关指标上报(按照月份)
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("gridpartyability")
+ public Result gridPartyAbility(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ factIndexCollectService.insertGridPartyAbility(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 3、党建能力-街道及社区相关指标
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("orgpartyability")
+ public Result orgPartyAbility(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ factIndexCollectService.insertOrgPartyAbility(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 4、服务能力-网格相关指标
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("gridserviceability")
+ public Result gridServiceAbility(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ factIndexCollectService.insertGridServiceAbility(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 5、服务能力-组织(街道|社区|全区)相关指标
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("orgserviceability")
+ public Result orgServiceAbility(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ factIndexCollectService.insertOrgServiceAbility(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 6、治理能力-网格相关指标
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("gridgovrnability")
+ public Result gridGovrnAbility(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ factIndexCollectService.insertGridGovrnAbility(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 7、治理能力-街道及社区相关指标
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("orggovrnability")
+ public Result orgGovrnAbility(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ factIndexCollectService.insertOrgGovrnAbility(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 8、治理能力-部门相关指标
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("deptgovrnability")
+ public Result deptGovrnAbility(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ factIndexCollectService.insertDeptGovrnAbility(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexCalculateController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexCalculateController.java
new file mode 100644
index 0000000000..978181b3a4
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexCalculateController.java
@@ -0,0 +1,177 @@
+package com.epmet.controller;
+
+import com.epmet.commons.tools.utils.DateUtils;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.indexcal.CalculateCommonFormDTO;
+import com.epmet.dto.screen.form.IndexCalculateForm;
+import com.epmet.service.evaluationindex.indexcal.CpcIndexCalculateService;
+import com.epmet.service.evaluationindex.indexcal.IndexCalculateService;
+import com.epmet.util.DimIdGenerator;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+
+/**
+ * 指标计算controller
+ *
+ * @author liujianjun@elink-cn.com
+ * @date 2020/8/24 14:38
+ */
+@RestController
+@RequestMapping("indexcalculate")
+public class IndexCalculateController {
+
+ @Autowired
+ private IndexCalculateService indexCalculateService;
+
+ @Autowired
+ private CpcIndexCalculateService cpcIndexCalculateService;
+
+ /**
+ * 按照客户计算所有指标(按照月份)
+ *
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **/
+ @PostMapping("all")
+ public Result indexCalculate(@RequestBody IndexCalculateForm formDTO) {
+ Boolean aBoolean = indexCalculateService.indexCalculate(formDTO);
+ if (aBoolean){
+ return new Result().ok(true);
+ }
+ return new Result().error("指标计算失败");
+ }
+
+ /**
+ * desc:计算党员指标分数
+ *
+ * @return
+ */
+ @PostMapping("cpc")
+ public Result cpc(@RequestBody CalculateCommonFormDTO formDTO) {
+ if (StringUtils.isBlank(formDTO.getMonthId())) {
+ //默认 当前月份-1
+ formDTO.setMonthId(DimIdGenerator.getMonthDimId(DateUtils.addDateMonths(new Date(), -1)));
+ }
+ return new Result().ok(cpcIndexCalculateService.cpcIndexCalculate(formDTO));
+ }
+
+ /* *//**
+ * 2、党建能力-网格相关指标上报(按照月份)
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **//*
+ @ExternalAppRequestAuth
+ @PostMapping("gridpartyability")
+ public Result gridPartyAbility(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ factIndexCollectService.insertGridPartyAbility(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ *//**
+ * 3、党建能力-街道及社区相关指标
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **//*
+ @ExternalAppRequestAuth
+ @PostMapping("orgpartyability")
+ public Result orgPartyAbility(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ factIndexCollectService.insertOrgPartyAbility(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ *//**
+ * 4、服务能力-网格相关指标
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **//*
+ @ExternalAppRequestAuth
+ @PostMapping("gridserviceability")
+ public Result gridServiceAbility(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ factIndexCollectService.insertGridServiceAbility(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ *//**
+ * 5、服务能力-组织(街道|社区|全区)相关指标
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **//*
+ @ExternalAppRequestAuth
+ @PostMapping("orgserviceability")
+ public Result orgServiceAbility(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ factIndexCollectService.insertOrgServiceAbility(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ *//**
+ * 6、治理能力-网格相关指标
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **//*
+ @ExternalAppRequestAuth
+ @PostMapping("gridgovrnability")
+ public Result gridGovrnAbility(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ factIndexCollectService.insertGridGovrnAbility(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ *//**
+ * 7、治理能力-街道及社区相关指标
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **//*
+ @ExternalAppRequestAuth
+ @PostMapping("orggovrnability")
+ public Result orgGovrnAbility(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ factIndexCollectService.insertOrgGovrnAbility(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ *//**
+ * 8、治理能力-部门相关指标
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-20
+ **//*
+ @ExternalAppRequestAuth
+ @PostMapping("deptgovrnability")
+ public Result deptGovrnAbility(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ factIndexCollectService.insertDeptGovrnAbility(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }*/
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexDictController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexDictController.java
new file mode 100644
index 0000000000..03deff604d
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/IndexDictController.java
@@ -0,0 +1,86 @@
+package com.epmet.controller;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.ExcelReader;
+import com.alibaba.excel.read.metadata.ReadSheet;
+import com.epmet.commons.tools.exception.RenException;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.screen.form.InitCustomerIndexForm;
+import com.epmet.model.IndexExcelDataListener;
+import com.epmet.model.IndexModel;
+import com.epmet.service.evaluationindex.screen.IndexDictService;
+import com.epmet.service.evaluationindex.screen.IndexGroupDetailTemplateService;
+import com.epmet.service.evaluationindex.screen.IndexGroupService;
+import com.epmet.service.evaluationindex.screen.IndexGroupTemplateService;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * @author liujianjun
+ */
+@RequestMapping("indexdict")
+@RestController
+@Slf4j
+public class IndexDictController {
+
+ @Autowired
+ private IndexDictService indexDictService;
+ @Autowired
+ private IndexGroupTemplateService indexGroupTemplateService;
+ @Autowired
+ private IndexGroupService indexGroupService;
+ @Autowired
+ private IndexGroupDetailTemplateService indexGroupDetailTemplateService;
+
+ /**
+ * url:http://localhost:8108/data/stats/indexdict/initFromExcel
+ * desc:从excel初始化指标,分组,权重
+ *
+ * @param file
+ * @return
+ */
+ @PostMapping("initFromExcel")
+ public Result testTx(@RequestPart("file") MultipartFile file) {
+ ExcelReader excelReader = null;
+ try {
+ InputStream inputStream = null;
+ try {
+ inputStream = file.getInputStream();
+ } catch (IOException e) {
+ return new Result().error("读取文件失败");
+ }
+ excelReader = EasyExcel.read(inputStream).build();
+ // 这里为了简单 所以注册了 同样的head 和Listener 自己使用功能必须不同的Listener
+ ReadSheet readSheet = EasyExcel.readSheet(1).head(IndexModel.class)
+ .registerReadListener(new IndexExcelDataListener(indexDictService, indexGroupTemplateService, indexGroupDetailTemplateService))
+ .build();
+ excelReader.read(readSheet);
+ } finally {
+ if (excelReader != null) {
+ excelReader.finish();
+ }
+ }
+ return new Result<>();
+ }
+
+ /**
+ * url:http://localhost:8108/data/stats/indexdict/initCustomerIndex
+ * desc: 初始化客户的评价指标数据
+ * @param formDTO customerId
+ * @return
+ */
+ @PostMapping("initCustomerIndex")
+ public Result initCustomerIndex(@RequestBody InitCustomerIndexForm formDTO){
+ if (StringUtils.isBlank(formDTO.getCustomerId())){
+ throw new RenException("参数错误");
+ }
+ Boolean aBoolean = indexGroupService.initCustomerIndexGroup(formDTO.getCustomerId());
+ return new Result().ok(aBoolean);
+ }
+}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenCollController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenCollController.java
new file mode 100644
index 0000000000..d83f8df3c5
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/ScreenCollController.java
@@ -0,0 +1,303 @@
+package com.epmet.controller;
+
+import com.epmet.commons.extappauth.annotation.ExternalAppRequestAuth;
+import com.epmet.commons.extappauth.bean.ExternalAppRequestParam;
+import com.epmet.commons.tools.utils.Result;
+import com.epmet.dto.screencoll.form.*;
+import com.epmet.service.evaluationindex.screen.ScreenCollService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 大屏数据采集api
+ *
+ * @author yinzuomei@elink-cn.com
+ * @date 2020/8/18 10:25
+ */
+@RestController
+@RequestMapping("screencoll")
+public class ScreenCollController {
+
+ @Autowired
+ private ScreenCollService screenCollService;
+
+ /**
+ * 9、党建引领|基层治理-居民(党员)积分排行榜
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-18
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("partyuserrankdata")
+ public Result partyUserRankData(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ screenCollService.insertPartyUserRankData(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 8、党建引领-党员联系群众数据
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-18
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("partylinkmassesdata")
+ public Result partyLinkMassesData(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ screenCollService.insertPartyLinkMassesData(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 7、基层党建-建设情况数据(支部、联建、志愿)
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-18
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("meetdata")
+ public Result meetData(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ screenCollService.insertPartyBranchData(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 6、党建引领-组织排行
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-18
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("orgrankdata")
+ public Result orgRankData(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ screenCollService.insertOrgRankData(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 5、基层治理-治理能力数据
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-18
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("governrankdata")
+ public Result governRankData(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ screenCollService.insertGovernRankData(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 4、事件数据
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-18
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("eventdata")
+ public Result eventData(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ screenCollService.insertEventData(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 3、难点赌点
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-18
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("difficultydata")
+ public Result difficultyData(ExternalAppRequestParam externalAppRequestParam, @RequestBody DifficultyDataFormDTO formDTO) {
+ screenCollService.insertDifficultyData(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 2、党员基本情况
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-18
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("cpcbasedata")
+ public Result cpcbaseData(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ screenCollService.insertCpcbaseData(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 1、指数_按月统计
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-18
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("indexdatamonthly")
+ public Result indexDataMonthly(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ screenCollService.insertIndexDataMonthly(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ // --
+
+ /**
+ * 17、指数_按年统计
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-18
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("indexdatayearly")
+ public Result indexDataYearly(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ screenCollService.insertIndexDataYearly(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 16、部门信息上传
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-18
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("customerdept")
+ public Result customerDept(ExternalAppRequestParam externalAppRequestParam, @RequestBody List formDTO) {
+ screenCollService.insertCustomerDept(formDTO, externalAppRequestParam.getCustomerId());
+ return new Result();
+ }
+
+ /**
+ * 15、网格信息上传
+ *
+ * @param externalAppRequestParam
+ * @param formDTO
+ * @return com.epmet.commons.tools.utils.Result
+ * @Author zhangyong
+ * @Date 10:52 2020-08-18
+ **/
+ @ExternalAppRequestAuth
+ @PostMapping("customergrid")
+ public Result customerGrid(ExternalAppRequestParam externalAppRequestParam, @RequestBody List