From 54d4f906f19ddc0e7a1d563301b7d202be7cffbb Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Mon, 16 Aug 2021 16:51:59 +0800 Subject: [PATCH 01/18] =?UTF-8?q?=E6=B2=BB=E7=90=86=E8=83=BD=E5=8A=9B?= =?UTF-8?q?=E6=8E=92=E8=A1=8C=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../commons/tools/constant/EpmetConstant.java | 16 + .../epdc/commons/tools/utils/DateUtils.java | 10 + .../ScreenAgencyGovernDailyResultDTO.java | 141 +++ .../ScreenGovernRankDataDailyResultDTO.java | 106 +++ .../result/ScreenGovernanceResultDTO.java | 14 + .../ScreenGridGovernDailyResultDTO.java | 156 ++++ .../ScreenGovernanceController.java | 70 ++ .../screen/dao/ScreenGovernanceDao.java | 73 ++ .../service/ScreenGovernanceService.java | 44 + .../impl/ScreenGovernanceServiceImpl.java | 150 +++ .../mapper/screen/ScreenGovernanceDao.xml | 874 ++++++++++++++++++ .../epdc/dto/ScreenGovernanceParamDTO.java | 33 + .../esua/epdc/feign/AnalysisFeignClient.java | 34 + .../fallback/AnalysisFeignClientFallback.java | 15 + .../task/screen/ScreenGovernancePushTask.java | 21 + .../screen/ScreenGovernancePushTaskImpl.java | 97 ++ 16 files changed, 1854 insertions(+) create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenAgencyGovernDailyResultDTO.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGovernRankDataDailyResultDTO.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGovernanceResultDTO.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGridGovernDailyResultDTO.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenGovernanceController.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenGovernanceService.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java create mode 100644 esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGovernanceDao.xml create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-client/src/main/java/com/elink/esua/epdc/dto/ScreenGovernanceParamDTO.java create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenGovernancePushTask.java create mode 100644 esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenGovernancePushTaskImpl.java diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/EpmetConstant.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/EpmetConstant.java index 712eb2f8..f8bc5224 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/EpmetConstant.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/constant/EpmetConstant.java @@ -404,4 +404,20 @@ public interface EpmetConstant { */ String EPMET_SCREEN_STATS_USER_GRID_MANAGER_UPLOAD_DATA = "/data/stats/statsuser/gm-uploaddata"; + // 治理能力排行数据 + /** + * 01、治理能力排行数据(按日统计)数据 + */ + String EPMET_SCREEN_GOV_RANK_DATA = "/data/stats/governance/governrankdatadaily"; + + /** + * 02、网格治理指数(天) + */ + String EPMET_SCREEN_GOV_GRID_GOV_DATA = "/data/stats/governance/gridgoverndaily"; + + /** + * 03、组织治理指数(天) + */ + String EPMET_SCREEN_GOV_AGENCY_GOV_DATA = "/data/stats/governance/agencygoverndaily"; + } diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java index b8b64bc6..d29a000a 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/utils/DateUtils.java @@ -34,6 +34,8 @@ public class DateUtils { public final static String DATE_PATTERN_YEAR_MONTH2 = "yyyyMM"; /** 时间格式(yyyy-MM-dd) */ public final static String DATE_PATTERN = "yyyy-MM-dd"; + /** 时间格式(yyyyMMdd) */ + public final static String DATE_PATTERN_NO_SPLIT = "yyyyMMdd"; /** 时间格式(yyyy-MM-dd HH:mm:ss) */ public final static String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; @@ -46,6 +48,14 @@ public class DateUtils { return format(date, DATE_PATTERN); } + /** + * 日期格式化 日期格式为:yyyyMMdd + * @param date 日期 + * @return 返回yyyyMMdd格式日期 + */ + public static String formatNoSplit(Date date) { + return format(date, DATE_PATTERN_NO_SPLIT); + } /** * 日期格式化 日期格式为:yyyy-MM-dd * @param date 日期 diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenAgencyGovernDailyResultDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenAgencyGovernDailyResultDTO.java new file mode 100644 index 00000000..42237e2f --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenAgencyGovernDailyResultDTO.java @@ -0,0 +1,141 @@ +package com.elink.esua.epdc.dto.screen.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 组织治理指数(天) + * + * @author zhy + * @date 2021/6/28 9:28 + */ +@Data +public class ScreenAgencyGovernDailyResultDTO implements Serializable { + private static final long serialVersionUID = -4035893591086943602L; + + /** + * 组织Id + */ + private String agencyId; + + /** + * agency_id所属的机关级别(社区级:community, 乡(镇、街道)级:street, 区县级: district, 市级: city 省级:province) + */ + private String level; + + /** + * 上级组织Id + */ + private String pid; + + /** + * 网格所有上级id + */ + private String pids; + + /** + * 日期ID + */ + private String dateId; + + /** + * 界面展示:问题解决总数=1+2+3+4+5+6+7+8 + */ + private Integer problemResolvedCount; + + /** + * 界面展示:党群自治占比=(9+10)/PROBLEM_RESOLVED_COUNT; 此列存储的是小数 + */ + private String groupSelfGovernRatio; + + /** + * 界面展示:网格自治占比=GRID_SELF_GOVERN_PROJECT_TOTAL/PROBLEM_RESOLVED_COUNT;此列存储的是小数 + */ + private String gridSelfGovernRatio; + + /** + * 界面展示:社区解决占比=COMMUNITY_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数 + */ + private String communityClosedRatio; + + /** + * 界面展示:街道解决占比=STREET_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数 + */ + private String streetClosedRatio; + + /** + * 界面展示:区直部门解决占比=DISTRICT_DEPT_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数 + */ + private String districtDeptClosedRatio; + + /** + * 1、当前组织内,话题关闭已解决数 + */ + private Integer topicResolvedCount; + + /** + * 2、当前组织内,话题关闭无需解决数 + */ + private Integer topicUnResolvedCount; + + /** + * 3、当前组织内,议题关闭已解决数 + */ + private Integer issueResolvedCount; + + /** + * 4、当前组织内,议题关闭无需解决数 + */ + private Integer issueUnResolvedCount; + + /** + * 5、当前组织内:来源于议题的项目:结案已解决数 + */ + private Integer issueProjectResolvedCount; + + /** + * 6、当前组织内:来源于议题的项目:结案无需解决数 + */ + private Integer issueProjectUnResolvedCount; + + /** + * 7、当前组织内:项目立项,结案已解决数;默认为0, + */ + private Integer approvalProjectResolvedCount; + + /** + * 8、当前组织内:项目立项,结案无需解决数;默认为0, + */ + private Integer approvalProjectUnResolvedCount; + + /** + * 9、当前组织内,未出小组即未转议题的:话题关闭已解决数 + */ + private Integer inGroupTopicResolvedCount; + + /** + * 10、当前组织内,未出小组即未转议题的:话题关闭无需解决数 + */ + private Integer inGroupTopicUnResolvedCount; + + /** + * 11、未出当前组织的,结案项目数 + */ + private Integer gridSelfGovernProjectTotal; + + /** + * 当前组织内出来的项目:由社区结案(已解决+未解决)的项目总数 + */ + private Integer communityClosedCount; + + /** + * 当前组织内出来的项目:由街道结案(已解决+未解决)的项目总数 + */ + private Integer streetClosedCount; + + /** + * 当前组织内出来的项目:由区直部门(已解决+未解决)结案的项目总数 + */ + private Integer districtDeptClosedCount; +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGovernRankDataDailyResultDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGovernRankDataDailyResultDTO.java new file mode 100644 index 00000000..782878e7 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGovernRankDataDailyResultDTO.java @@ -0,0 +1,106 @@ +package com.elink.esua.epdc.dto.screen.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 治理能力排行数据(按日统计)数据 + * + * @author zhy + * @date 2021/6/28 9:28 + */ +@Data +public class ScreenGovernRankDataDailyResultDTO implements Serializable { + private static final long serialVersionUID = -4035893591086943602L; + + /** + * 组织Id 可以为网格,机关id + */ + private String orgId; + + /** + * 组织类别 agency:组织;部门:department;网格:grid + */ + private String orgType; + + /** + * 上级组织Id + */ + private String parentId; + + /** + * 组织名称 + */ + private String orgName; + + /** + * 日期ID + */ + private String dateId; + + /** + * 月ID + */ + private String monthId; + + /** + * 年ID + */ + private String yearId; + + /** + * 响应率,最大值100,保留小数点后4位 + */ + private String responseRatio; + + /** + * 响应数 + */ + private Integer responseCount; + + /** + * 项目转入次数 + */ + private Integer transferCount; + + /** + * 解决率 最大值100,保留小数点后4位 + */ + private String resolvedRatio; + + /** + * 解决项目数 + */ + private Integer resolvedCount; + + /** + * 已关闭项目数 + */ + private Integer closedCount; + + /** + * 自治率 最大值100,保留小数点后4位 + */ + private String governRatio; + + /** + * 自治项目数 + */ + private Integer governCount; + + /** + * 满意率,最大值100,保留小数点后四位 + */ + private String satisfactionRatio; + + /** + * 满意项目数 + */ + private Integer satisfactionCount; + + /** + * 已关闭项目(由议题转的项目)数 + */ + private Integer closedProjectCount; +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGovernanceResultDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGovernanceResultDTO.java new file mode 100644 index 00000000..4dbaa842 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGovernanceResultDTO.java @@ -0,0 +1,14 @@ +package com.elink.esua.epdc.dto.screen.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author zhy + * @date 2021/6/28 14:12 + */ +@Data +public class ScreenGovernanceResultDTO implements Serializable { + private static final long serialVersionUID = -4696640703716250973L; +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGridGovernDailyResultDTO.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGridGovernDailyResultDTO.java new file mode 100644 index 00000000..ecb248c7 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-client/src/main/java/com/elink/esua/epdc/dto/screen/result/ScreenGridGovernDailyResultDTO.java @@ -0,0 +1,156 @@ +package com.elink.esua.epdc.dto.screen.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 网格治理指数(天) + * + * @author zhy + * @date 2021/6/28 9:28 + */ +@Data +public class ScreenGridGovernDailyResultDTO implements Serializable { + private static final long serialVersionUID = -4035893591086943602L; + + /** + * 组织Id 可以为网格,机关id + */ + private String gridId; + + /** + * 上级组织Id + */ + private String pid; + + /** + * 网格所有上级id + */ + private String pids; + + /** + * 日期ID + */ + private String dateId; + + /** + * 界面展示:问题解决总数=1+2+3+4+5+6+7+8 + */ + private Integer problemResolvedCount; + + /** + * 界面展示:党群自治占比=(9+10)/PROBLEM_RESOLVED_COUNT; 此列存储的是小数 + */ + private String groupSelfGovernRatio; + + /** + * 界面展示:网格自治占比=GRID_SELF_GOVERN_PROJECT_TOTAL/PROBLEM_RESOLVED_COUNT;此列存储的是小数 + */ + private String gridSelfGovernRatio; + + /** + * 界面展示:社区解决占比=COMMUNITY_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数 + */ + private String communityClosedRatio; + + /** + * 界面展示:街道解决占比=STREET_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数 + */ + private String streetClosedRatio; + + /** + * 界面展示:区直部门解决占比=DISTRICT_DEPT_CLOSED_COUNT/PROBLEM_RESOLVED_COUNT;此列存储的是小数 + */ + private String districtDeptClosedRatio; + + /** + * 1、当前网格内,话题关闭已解决数 + */ + private Integer topicResolvedCount; + + /** + * 2、当前网格内,话题关闭无需解决数 + */ + private Integer topicUnResolvedCount; + + /** + * 3、当前网格内,议题关闭已解决数 + */ + private Integer issueResolvedCount; + + /** + * 4、当前网格内,议题关闭无需解决数 + */ + private Integer issueUnResolvedCount; + + /** + * 5、当前网格内:来源于议题的项目:结案已解决数 + */ + private Integer issueProjectResolvedCount; + + /** + * 6、当前网格内:来源于议题的项目:结案无需解决数 + */ + private Integer issueProjectUnResolvedCount; + + /** + * 7、当前网格内:项目立项,结案已解决数;默认为0, + */ + private Integer approvalProjectResolvedCount; + + /** + * 8、当前网格内:项目立项,结案无需解决数;默认为0, + */ + private Integer approvalProjectUnResolvedCount; + + /** + * 9、当前网格内,未出小组即未转议题的:话题关闭已解决数 + */ + private Integer inGroupTopicResolvedCount; + + /** + * 10、当前网格内,未出小组即未转议题的:话题关闭无需解决数 + */ + private Integer inGroupTopicUnResolvedCount; + + /** + * 11、来源于议题的项目,未出网格结案并且已解决的项目数 + */ + private Integer fromIssueResolvedInGridCount; + + /** + * 12、来源于议题的项目,未出网格结案并且无需解决的项目数 + */ + private Integer fromIssueUnResolvedInGridCount; + + /** + * 13、来源于项目立项的项目,未出网格结案,并且已解决的项目数;因现在网格不能立项,所以此列默认为0 + */ + private Integer fromAgencyResolvedInGridCount; + + /** + * 14、来源于项目立项的项目,未出网格结案,并且无需解决的项目数;因现在网格不能立项,所以此列默认为0 + */ + private Integer fromAgencyUnResolvedInGridCount; + + /** + * 15、未出当前网格的,结案项目数=11+12+13+14 + */ + private Integer gridSelfGovernProjectTotal; + + /** + * 当前网格内出来的项目:由社区结案(已解决+未解决)的项目总数 + */ + private Integer communityClosedCount; + + /** + * 当前网格内出来的项目:由街道结案(已解决+未解决)的项目总数 + */ + private Integer streetClosedCount; + + /** + * 当前网格内出来的项目:由区直部门(已解决+未解决)结案的项目总数 + */ + private Integer districtDeptClosedCount; +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenGovernanceController.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenGovernanceController.java new file mode 100644 index 00000000..0dde5b37 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/controller/ScreenGovernanceController.java @@ -0,0 +1,70 @@ +package com.elink.esua.epdc.modules.screen.controller; + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; +import com.elink.esua.epdc.modules.screen.service.ScreenGovernanceService; +import lombok.extern.slf4j.Slf4j; +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; + +/** + * 治理能力数据推送 + * + * @author zhy + * @date 2021/6/28 11:07 + */ +@Slf4j +@RestController +@RequestMapping("data/stats/governance") +public class ScreenGovernanceController { + + @Autowired + private ScreenGovernanceService screenGovernanceService; + + /** + * 01、治理能力排行数据(按日统计)数据 + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2021/6/28 11:05 + */ + @PostMapping("governrankdatadaily") + public Result governrankdatadaily(@RequestBody ScreenJobFormDTO formDto) { + log.info("定时任务执行"); + return screenGovernanceService.governrankdatadaily(formDto); + } + + /** + * 02、网格治理指数(天) + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2021/6/28 11:05 + */ + @PostMapping("gridgoverndaily") + public Result gridgoverndaily(@RequestBody ScreenJobFormDTO formDto) { + log.info("定时任务执行"); + return screenGovernanceService.gridgoverndaily(formDto); + } + + /** + * 03、组织治理指数(天) + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2021/6/28 11:05 + */ + @PostMapping("agencygoverndaily") + public Result agencygoverndaily(@RequestBody ScreenJobFormDTO formDto) { + log.info("定时任务执行"); + return screenGovernanceService.agencygoverndaily(formDto); + } + + +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java new file mode 100644 index 00000000..5562abb6 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java @@ -0,0 +1,73 @@ +package com.elink.esua.epdc.modules.screen.dao; + +import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.dto.screen.result.ScreenAgencyGovernDailyResultDTO; +import com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO; +import com.elink.esua.epdc.dto.screen.result.ScreenGovernanceResultDTO; +import com.elink.esua.epdc.dto.screen.result.ScreenGridGovernDailyResultDTO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * @author zhy + * @date 2021/6/28 14:04 + */ +@Mapper +public interface ScreenGovernanceDao extends BaseDao { + + /** + * 治理能力排行数据(按日统计)数据 + * 网格统计 + * + * @param + * @return java.util.List + * @author zhy + * @date 2021/6/28 14:06 + */ + List governrankdatadaily(); + + /** + * 治理能力排行数据(按日统计)数据 + * 组织统计 + * + * @param + * @return java.util.List + * @author zhy + * @date 2021/6/28 14:06 + */ + List governrankdatadailyAgency(); + + /** + * 治理能力排行数据(按日统计)数据 + * 未响应数 + * + * @param + * @return java.util.List + * @author zhy + * @date 2021/6/28 14:06 + */ + List governrankdatadailyNoResp(); + + /** + * 网格治理指数(天) + * + * @param + * @return java.util.List + * @author zhy + * @date 2021/8/13 17:55 + */ + List gridgoverndaily(); + + + /** + * 组织治理指数(天) + * + * @param + * @return java.util.List + * @author zhy + * @date 2021/8/13 17:55 + */ + List agencygoverndaily(); + +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenGovernanceService.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenGovernanceService.java new file mode 100644 index 00000000..4b6d62bd --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/ScreenGovernanceService.java @@ -0,0 +1,44 @@ +package com.elink.esua.epdc.modules.screen.service; + +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; + +/** + * 治理能力数据推送 + * + * @author zhy + * @date 2021/6/28 13:51 + */ +public interface ScreenGovernanceService { + + /** + * 01、治理能力排行数据(按日统计)数据 + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2021/6/28 13:47 + */ + Result governrankdatadaily(ScreenJobFormDTO formDto); + + /** + * 02、网格治理指数(天) + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2021/6/28 13:47 + */ + Result gridgoverndaily(ScreenJobFormDTO formDto); + + /** + * 03、组织治理指数(天) + * + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2021/6/28 13:47 + */ + Result agencygoverndaily(ScreenJobFormDTO formDto); + +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java new file mode 100644 index 00000000..2311fb6b --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java @@ -0,0 +1,150 @@ +package com.elink.esua.epdc.modules.screen.service.impl; + +import com.alibaba.fastjson.JSONObject; +import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.constant.EpmetConstant; +import com.elink.esua.epdc.commons.tools.utils.DateUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; +import com.elink.esua.epdc.dto.screen.result.ScreenAgencyGovernDailyResultDTO; +import com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO; +import com.elink.esua.epdc.dto.screen.result.ScreenGovernanceResultDTO; +import com.elink.esua.epdc.dto.screen.result.ScreenGridGovernDailyResultDTO; +import com.elink.esua.epdc.modules.screen.dao.ScreenGovernanceDao; +import com.elink.esua.epdc.modules.screen.service.ScreenGovernanceService; +import com.elink.esua.epdc.utils.EpmetUtils; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.text.DecimalFormat; +import java.util.Date; +import java.util.List; +import java.util.Optional; + + +/** + * 治理能力数据推送 + * + * @author zhy + * @date 2021/6/28 13:51 + */ +@Service +public class ScreenGovernanceServiceImpl extends BaseServiceImpl implements ScreenGovernanceService { + + @Autowired + private EpmetUtils epmetUtils; + + @Value("${epmet.config.customerId}") + private String EPMET_CONFIG_CUSTOMER_ID; + + /** + * 锦水街道DEPT_ID + */ + private final String STREET_ID = "1215437824174608386"; + + @Override + public Result governrankdatadaily(ScreenJobFormDTO formDto) { + String yearMonthDay = DateUtils.formatNoSplit(DateUtils.addDateDays(new Date(), -1)); + if (formDto.getYearMonth() != null && StringUtils.isNotBlank(formDto.getYearMonth())) { + yearMonthDay = formDto.getYearMonth(); + } + List data = baseDao.governrankdatadaily(); + List agencyData = baseDao.governrankdatadailyAgency(); + List noRespData = baseDao.governrankdatadailyNoResp(); + + // 处理未响应和项目转入次数 + noRespHandle(data, noRespData); + noRespHandle(agencyData, noRespData); + + // 社区数据需要在本身基础上再加上网格的合计 + data.forEach(item -> { + Optional agencyOptional = agencyData.stream().filter(agency -> agency.getOrgId().equals(item.getParentId())).findFirst(); + if (agencyOptional.isPresent()) { + ScreenGovernRankDataDailyResultDTO agencyResult = agencyOptional.get(); + agencyResult.setResponseCount(agencyResult.getResponseCount() + item.getResponseCount()); + agencyResult.setTransferCount(agencyResult.getTransferCount() + item.getTransferCount()); + } + }); + // 街道数据需要在本身基础上再加上社区的合计 + Optional agencyOptional = agencyData.stream().filter(agency -> agency.getOrgId().equals(STREET_ID)).findFirst(); + if (agencyOptional.isPresent()) { + ScreenGovernRankDataDailyResultDTO agencyResult = agencyOptional.get(); + Integer responseCount = agencyResult.getResponseCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(STREET_ID)).mapToInt(ScreenGovernRankDataDailyResultDTO::getResponseCount).sum(); + Integer transferCount = agencyResult.getTransferCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(STREET_ID)).mapToInt(ScreenGovernRankDataDailyResultDTO::getTransferCount).sum(); + agencyResult.setResponseCount(responseCount); + agencyResult.setTransferCount(transferCount); + } + // 合并网格社区街道数据 + data.addAll(agencyData); + // 计算响应率 + data.forEach(item -> { + if (0 == item.getTransferCount() || 0 == item.getResponseCount()) { + item.setResponseRatio("0.0000"); + } else { + DecimalFormat df = new DecimalFormat("0.0000"); + item.setResponseRatio(df.format((float) item.getResponseCount() / item.getTransferCount())); + } + }); + + JSONObject jsonObject = new JSONObject(); + jsonObject.put("isFirst", true); + jsonObject.put("dateId", yearMonthDay); + jsonObject.put("dataList", data); + epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_GOV_RANK_DATA, JSONObject.toJSONString(jsonObject)); + return new Result(); + } + + @Override + public Result gridgoverndaily(ScreenJobFormDTO formDto) { + String yearMonthDay = DateUtils.formatNoSplit(DateUtils.addDateDays(new Date(), -1)); + if (formDto.getYearMonth() != null && StringUtils.isNotBlank(formDto.getYearMonth())) { + yearMonthDay = formDto.getYearMonth(); + } + List data = baseDao.gridgoverndaily(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("isFirst", true); + jsonObject.put("dataList", data); + jsonObject.put("dateId", yearMonthDay); + epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_GOV_GRID_GOV_DATA, JSONObject.toJSONString(jsonObject)); + return new Result(); + } + + @Override + public Result agencygoverndaily(ScreenJobFormDTO formDto) { + String yearMonthDay = DateUtils.formatNoSplit(DateUtils.addDateDays(new Date(), -1)); + if (formDto.getYearMonth() != null && StringUtils.isNotBlank(formDto.getYearMonth())) { + yearMonthDay = formDto.getYearMonth(); + } + List data = baseDao.agencygoverndaily(); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("isFirst", true); + jsonObject.put("dateId", yearMonthDay); + jsonObject.put("dataList", data); + epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_GOV_AGENCY_GOV_DATA, JSONObject.toJSONString(jsonObject)); + return new Result(); + } + + /** + * 追加未响应数据 + * + * @param data + * @param noRespData + * @return void + * @author zhy + * @date 2021/8/13 14:48 + */ + private void noRespHandle(List data, List noRespData) { + data.forEach(item -> { + Optional noDataOptional = noRespData.stream().filter(agency -> agency.getOrgId().equals(item.getOrgId())).findFirst(); + // 如果有未响应的,项目转入次数 = 响应数 + 未响应数,否则,项目转入次数 = 响应数 + if (noDataOptional.isPresent()) { + ScreenGovernRankDataDailyResultDTO agencyResult = noDataOptional.get(); + item.setTransferCount(agencyResult.getResponseCount() + item.getResponseCount()); + } else { + item.setTransferCount(item.getResponseCount()); + } + }); + } +} diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGovernanceDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGovernanceDao.xml new file mode 100644 index 00000000..c0a34838 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGovernanceDao.xml @@ -0,0 +1,874 @@ + + + + + + + + + + + + + + + + diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-client/src/main/java/com/elink/esua/epdc/dto/ScreenGovernanceParamDTO.java b/esua-epdc/epdc-module/epdc-job/epdc-job-client/src/main/java/com/elink/esua/epdc/dto/ScreenGovernanceParamDTO.java new file mode 100644 index 00000000..fae30706 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-client/src/main/java/com/elink/esua/epdc/dto/ScreenGovernanceParamDTO.java @@ -0,0 +1,33 @@ +package com.elink.esua.epdc.dto; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 大屏数据采集接口共 (17) 个 + * + * @author zhy + * @date 2021/6/29 14:41 + */ +@Data +public class ScreenGovernanceParamDTO implements Serializable { + private static final long serialVersionUID = -6661828243095315569L; + + + /** + * 01、治理能力排行数据(按日统计)数据 + */ + private String governrankdatadaily; + + /** + * 02、网格治理指数(天) + */ + private String gridgoverndaily; + + /** + * 03、组织治理指数(天) + */ + private String agencygoverndaily; + +} diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java index d530c094..5433c9ee 100644 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/AnalysisFeignClient.java @@ -488,4 +488,38 @@ public interface AnalysisFeignClient { @PostMapping("analysis/girdManager/gridManagerUploadEvent") Result selectGridManagerUploadEvent(ScreenJobFormDTO formDto); + // 治理能力 + + /** + * 01、治理能力排行数据(按日统计)数据 + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2021/6/28 10:57 + */ + @PostMapping("analysis/data/stats/governance/governrankdatadaily") + Result governrankdatadaily(ScreenJobFormDTO formDto); + + /** + * 02、网格治理指数(天) + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2021/6/28 10:57 + */ + @PostMapping("analysis/data/stats/governance/gridgoverndaily") + Result gridgoverndaily(ScreenJobFormDTO formDto); + + /** + * 03、组织治理指数(天) + * + * @param formDto 定时入参 + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author zhy + * @date 2021/6/28 10:57 + */ + @PostMapping("analysis/data/stats/governance/agencygoverndaily") + Result agencygoverndaily(ScreenJobFormDTO formDto); } diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java index b6035a71..844425ed 100644 --- a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/feign/fallback/AnalysisFeignClientFallback.java @@ -249,4 +249,19 @@ public class AnalysisFeignClientFallback implements AnalysisFeignClient { public Result getCategoryOrgDaily(String date) { return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER,"getCategoryOrgDaily", date); } + + @Override + public Result governrankdatadaily(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "governrankdatadaily",formDto); + } + + @Override + public Result gridgoverndaily(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "gridgoverndaily",formDto); + } + + @Override + public Result agencygoverndaily(ScreenJobFormDTO formDto) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ANALYSIS_SERVER, "agencygoverndaily",formDto); + } } diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenGovernancePushTask.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenGovernancePushTask.java new file mode 100644 index 00000000..54aef2f8 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenGovernancePushTask.java @@ -0,0 +1,21 @@ +package com.elink.esua.epdc.task.screen; + +/** + * 治理能力数据推送 + * + * @author zhy + * @date 2021/6/28 10:42 + */ +public interface ScreenGovernancePushTask { + + /** + * 大屏数据推送 + * + * @param param 入参 + * 参数格式:{'gridPartyMemberData':'2020-08','gridPartyAbility':'2020-08','orgPartyAbility':'2020-08','gridServiceAbility':'2020-08','orgServiceAbility':'2020-08','gridGovernAbility':'2020-08','orgGovernAbility':'2020-08','deptGovernAbility':'2020-08','all':'2020-08'} + * @return void + * @author Liuchuang + * @since 2020/9/9 15:21 + */ + void run(String param); +} diff --git a/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenGovernancePushTaskImpl.java b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenGovernancePushTaskImpl.java new file mode 100644 index 00000000..a78a7fdb --- /dev/null +++ b/esua-epdc/epdc-module/epdc-job/epdc-job-server/src/main/java/com/elink/esua/epdc/task/screen/ScreenGovernancePushTaskImpl.java @@ -0,0 +1,97 @@ +package com.elink.esua.epdc.task.screen; + +import com.alibaba.fastjson.JSONObject; +import com.elink.esua.epdc.dto.ScreenGovernanceParamDTO; +import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; +import com.elink.esua.epdc.feign.AnalysisFeignClient; +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.Component; + +/** + * 治理能力数据推送 + * + * @author zhy + * @date 2021/6/28 10:42 + */ +@Component("screenBaseReportPushTask") +public class ScreenGovernancePushTaskImpl implements ScreenGovernancePushTask { + + private final Logger logger = LoggerFactory.getLogger(getClass()); + + @Autowired + private AnalysisFeignClient analysisFeignClient; + + @Override + public void run(String param) { + // 参数处理 + ScreenGovernanceParamDTO paramDto = new ScreenGovernanceParamDTO(); + if (StringUtils.isNotEmpty(param)) { + paramDto = JSONObject.parseObject(param, ScreenGovernanceParamDTO.class); + } + // 01、治理能力排行数据(按日统计)数据 + governrankdatadaily(paramDto.getGovernrankdatadaily()); + // 02、网格治理指数(天) + gridgoverndaily(paramDto.getGridgoverndaily()); + // 03、组织治理指数(天) + agencygoverndaily(paramDto.getAgencygoverndaily()); + + } + + /** + * 01、治理能力排行数据(按日统计)数据 + * + * @param yearMonth 统计月份,格式yyyyMMdd + * @return void + * @author zhy + * @date 2021/6/28 10:47 + */ + public void governrankdatadaily(String yearMonth) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(yearMonth); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|治理能力排行数据(按日统计)数据>定时任务开始执行" + yearMonth); + analysisFeignClient.governrankdatadaily(formDto); + logger.info("<" + methodName + "|治理能力排行数据(按日统计)数据>定时任务执行结束"); + } + + /** + * 02、网格治理指数(天) + * + * @param yearMonth + * @return void + * @author zhy + * @date 2021/6/28 10:47 + */ + public void gridgoverndaily(String yearMonth) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(yearMonth); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|网格治理指数>定时任务开始执行"); + analysisFeignClient.gridgoverndaily(formDto); + logger.info("<" + methodName + "|网格治理指数>定时任务执行结束"); + } + + /** + * 03、组织治理指数(天) + * + * @param yearMonth + * @return void + * @author zhy + * @date 2021/6/28 10:47 + */ + public void agencygoverndaily(String yearMonth) { + ScreenJobFormDTO formDto = new ScreenJobFormDTO(); + formDto.setYearMonth(yearMonth); + // 方法名 + String methodName = Thread.currentThread().getStackTrace()[2].getMethodName(); + logger.info("<" + methodName + "|组织治理指数>定时任务开始执行"); + analysisFeignClient.agencygoverndaily(formDto); + logger.info("<" + methodName + "|组织治理指数>定时任务执行结束"); + } + +} From 32efc4fa320befa79292b9ca62dfe40d0a00c23f Mon Sep 17 00:00:00 2001 From: zhangyuan Date: Mon, 16 Aug 2021 17:28:32 +0800 Subject: [PATCH 02/18] =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=A4=84=E7=90=86?= =?UTF-8?q?=E8=A1=97=E9=81=93=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../screen/dao/ScreenGovernanceDao.java | 11 +++++++ .../impl/ScreenGovernanceServiceImpl.java | 29 ++++++++++--------- .../mapper/screen/ScreenGovernanceDao.xml | 21 ++++++++++++++ 3 files changed, 47 insertions(+), 14 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java index 5562abb6..f8cc158b 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenGovernanceDao.java @@ -1,6 +1,7 @@ package com.elink.esua.epdc.modules.screen.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.dto.SysDeptDTO; import com.elink.esua.epdc.dto.screen.result.ScreenAgencyGovernDailyResultDTO; import com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO; import com.elink.esua.epdc.dto.screen.result.ScreenGovernanceResultDTO; @@ -16,6 +17,16 @@ import java.util.List; @Mapper public interface ScreenGovernanceDao extends BaseDao { + /** + * 获取街道列表 + * + * @param + * @return java.util.List + * @author zhy + * @date 2021/8/16 17:11 + */ + List getStreetList(); + /** * 治理能力排行数据(按日统计)数据 * 网格统计 diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java index 2311fb6b..7c9f0ebc 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenGovernanceServiceImpl.java @@ -5,6 +5,7 @@ import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.tools.constant.EpmetConstant; import com.elink.esua.epdc.commons.tools.utils.DateUtils; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dto.SysDeptDTO; import com.elink.esua.epdc.dto.screen.form.ScreenJobFormDTO; import com.elink.esua.epdc.dto.screen.result.ScreenAgencyGovernDailyResultDTO; import com.elink.esua.epdc.dto.screen.result.ScreenGovernRankDataDailyResultDTO; @@ -39,11 +40,6 @@ public class ScreenGovernanceServiceImpl extends BaseServiceImpl data = baseDao.governrankdatadaily(); List agencyData = baseDao.governrankdatadailyAgency(); List noRespData = baseDao.governrankdatadailyNoResp(); + List streetList = baseDao.getStreetList(); // 处理未响应和项目转入次数 noRespHandle(data, noRespData); @@ -67,15 +64,19 @@ public class ScreenGovernanceServiceImpl extends BaseServiceImpl agencyOptional = agencyData.stream().filter(agency -> agency.getOrgId().equals(STREET_ID)).findFirst(); - if (agencyOptional.isPresent()) { - ScreenGovernRankDataDailyResultDTO agencyResult = agencyOptional.get(); - Integer responseCount = agencyResult.getResponseCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(STREET_ID)).mapToInt(ScreenGovernRankDataDailyResultDTO::getResponseCount).sum(); - Integer transferCount = agencyResult.getTransferCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(STREET_ID)).mapToInt(ScreenGovernRankDataDailyResultDTO::getTransferCount).sum(); - agencyResult.setResponseCount(responseCount); - agencyResult.setTransferCount(transferCount); - } + + streetList.forEach(street -> { + String streetId = street.getId().toString(); + // 街道数据需要在本身基础上再加上社区的合计 + Optional agencyOptional = agencyData.stream().filter(agency -> agency.getOrgId().equals(streetId)).findFirst(); + if (agencyOptional.isPresent()) { + ScreenGovernRankDataDailyResultDTO agencyResult = agencyOptional.get(); + Integer responseCount = agencyResult.getResponseCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(streetId)).mapToInt(ScreenGovernRankDataDailyResultDTO::getResponseCount).sum(); + Integer transferCount = agencyResult.getTransferCount() + agencyData.stream().filter(agency -> agency.getParentId().equals(streetId)).mapToInt(ScreenGovernRankDataDailyResultDTO::getTransferCount).sum(); + agencyResult.setResponseCount(responseCount); + agencyResult.setTransferCount(transferCount); + } + }); // 合并网格社区街道数据 data.addAll(agencyData); // 计算响应率 diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGovernanceDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGovernanceDao.xml index c0a34838..cc62bf6d 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGovernanceDao.xml +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenGovernanceDao.xml @@ -3,6 +3,27 @@ + + + + + SELECT + p.ID + FROM + epdc_act_period p + LEFT JOIN epdc_act_period_user pu ON pu.ACT_PERIOD_ID = p.ID + WHERE + p.DEL_FLAG = '0' + AND pu.DEL_FLAG = '0' + AND ACT_ID = #{actId} + + + + update epdc_act_period set del_flag = '1' where act_id = #{actId} + + + + + diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActPeriodUserDao.xml b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActPeriodUserDao.xml new file mode 100644 index 00000000..7cb63ffd --- /dev/null +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActPeriodUserDao.xml @@ -0,0 +1,40 @@ + + + + + + + + + update epdc_act_period_user set del_flag = '1' where ACT_USER_RELATION_ID = #{actUserRelationId} + + + diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActUserRelationDao.xml b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActUserRelationDao.xml index 58587ffb..874e2def 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActUserRelationDao.xml +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/resources/mapper/activity/ActUserRelationDao.xml @@ -42,6 +42,10 @@ + + + + + SELECT + c.ID, + c.COMPANY_NAME, + c.COMPANY_INTRODUCTION, + c.CONTACT_PERSON, + c.MOBILE, + c.COMPANY_ADDRESS, + c.UNIFORM_SOCIAL_CREDIT_CODE, + c.REGISTERED_CAPITAL, + c.EMPLOYED_POPULATION, + c.LONGITUDE, + c.LATITUDE, + i.IMG_URL + FROM + epdc_screen_company c + LEFT JOIN epdc_custom_img i ON i.REFERENCE_ID = c.ID AND i.DEL_FLAG = '0' + WHERE + c.DEL_FLAG = '0' + AND c.ID = #{id} + + + + + + + + + + + + + + + + + + diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/reportissue/CustomImgDao.xml b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/reportissue/CustomImgDao.xml index 85b98bbc..51190328 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/reportissue/CustomImgDao.xml +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/reportissue/CustomImgDao.xml @@ -19,5 +19,9 @@ delete from epdc_custom_img where REFERENCE_ID = #{id} + + update epdc_custom_img set del_flag = '1' where REFERENCE_ID = #{id} and IMG_TYPE = #{imgType} + - \ No newline at end of file + + From e23766bbd87a2b583b5859e549ee6beaaa627e6c Mon Sep 17 00:00:00 2001 From: liuchuang <123456> Date: Mon, 6 Sep 2021 14:08:41 +0800 Subject: [PATCH 16/18] =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=AE=A1=E7=90=86=E3=80=81=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?=E4=BC=81=E4=B8=9A=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3=20init?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../elink/esua/epdc/dto/ScreenCompanyDTO.java | 3 ++- .../result/ScreenCompanyImagesResultDTO.java | 13 ++++++++++ .../impl/ScreenCompanyServiceImpl.java | 24 +++++++++++++++++-- .../mapper/epidemic/ScreenCompanyDao.xml | 8 ++++--- .../mapper/reportissue/CustomImgDao.xml | 2 +- 5 files changed, 43 insertions(+), 7 deletions(-) create mode 100644 esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/ScreenCompanyImagesResultDTO.java diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/ScreenCompanyDTO.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/ScreenCompanyDTO.java index 3d9a43a0..681c50eb 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/ScreenCompanyDTO.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/ScreenCompanyDTO.java @@ -21,6 +21,7 @@ import java.io.Serializable; import java.util.Date; import java.util.List; +import com.elink.esua.epdc.dto.result.ScreenCompanyImagesResultDTO; import lombok.Data; @@ -123,6 +124,6 @@ public class ScreenCompanyDTO implements Serializable { /** * 企业照片 */ - private List images; + private List images; } diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/ScreenCompanyImagesResultDTO.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/ScreenCompanyImagesResultDTO.java new file mode 100644 index 00000000..1675dac2 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-client/src/main/java/com/elink/esua/epdc/dto/result/ScreenCompanyImagesResultDTO.java @@ -0,0 +1,13 @@ +package com.elink.esua.epdc.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class ScreenCompanyImagesResultDTO implements Serializable { + + private String name; + + private String url; +} diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/impl/ScreenCompanyServiceImpl.java b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/impl/ScreenCompanyServiceImpl.java index fffb15be..425723c4 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/impl/ScreenCompanyServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/java/com/elink/esua/epdc/modules/epidemic/service/impl/ScreenCompanyServiceImpl.java @@ -28,6 +28,7 @@ import com.elink.esua.epdc.constant.CustomImageConstant; import com.elink.esua.epdc.dto.ScreenCompanyDTO; import com.elink.esua.epdc.dto.form.EpdcScreenCompanyListFormDTO; import com.elink.esua.epdc.dto.result.EpdcScreenCompanyListResultDTO; +import com.elink.esua.epdc.dto.result.ScreenCompanyImagesResultDTO; import com.elink.esua.epdc.modules.epidemic.dao.ScreenCompanyDao; import com.elink.esua.epdc.modules.epidemic.entity.ScreenCompanyEntity; import com.elink.esua.epdc.modules.epidemic.service.ScreenCompanyService; @@ -37,6 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -89,7 +91,7 @@ public class ScreenCompanyServiceImpl extends BaseServiceImpl dto, String id) { + List images = new ArrayList<>(); + for (ScreenCompanyImagesResultDTO image: + dto) { + images.add(image.getUrl()); + } + customImgService.saveImages(images, id, CustomImageConstant.SCREEN_COMPANY_IMAGE); + } + } diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/epidemic/ScreenCompanyDao.xml b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/epidemic/ScreenCompanyDao.xml index aa28e077..c220b8bd 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/epidemic/ScreenCompanyDao.xml +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/mapper/epidemic/ScreenCompanyDao.xml @@ -15,8 +15,9 @@ - - + + + + + From c546617d53b2264e793de87a4fd1c0856e5396a9 Mon Sep 17 00:00:00 2001 From: liuchuang <123456> Date: Tue, 7 Sep 2021 10:56:54 +0800 Subject: [PATCH 18/18] =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E7=AE=A1=E7=90=86=E3=80=81=E5=A4=A7=E5=B1=8F?= =?UTF-8?q?=E4=BC=81=E4=B8=9A=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3=20bug?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../epdc/modules/activity/service/impl/ActInfoServiceImpl.java | 1 + 1 file changed, 1 insertion(+) diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java index 600457fa..9982b770 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/activity/service/impl/ActInfoServiceImpl.java @@ -914,6 +914,7 @@ public class ActInfoServiceImpl extends BaseServiceImpl