diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenBaseReportDataDao.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenBaseReportDataDao.java index 4feb09b6..438a02ec 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenBaseReportDataDao.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/dao/ScreenBaseReportDataDao.java @@ -120,6 +120,15 @@ public interface ScreenBaseReportDataDao extends BaseDao selectGridIssue(@Param("customId")String customId); +/** + * @Description 网格议题数据 - 当日新增议题转项目数 + * @Author songyunpeng + * @Date 2021/6/25 + * @Param [customId] + * @return java.util.List + **/ + List selectGridIssueShiftProjectIncr(); + /** * @Description 组织议题数据 @@ -130,6 +139,15 @@ public interface ScreenBaseReportDataDao extends BaseDao selectAgencyIssue(@Param("customId")String customId); + /** + * @Description 组织议题数据 - 当日新增议题转项目数 + * @Author songyunpeng + * @Date 2021/6/25 + * @Param [customId] + * @return java.util.List + **/ + List selectAgencyIssueShiftProjectIncr(); + /** * @Description 网格注册用户数据 diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenBaseReportDataServiceImpl.java b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenBaseReportDataServiceImpl.java index 1266c1c0..5a7722e8 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenBaseReportDataServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/java/com/elink/esua/epdc/modules/screen/service/impl/ScreenBaseReportDataServiceImpl.java @@ -115,6 +115,15 @@ public class ScreenBaseReportDataServiceImpl extends BaseServiceImpl gridIssueResultDTOS = baseDao.selectGridIssue(customerId); + //由于数据量大,字段单独处理 + List shiftProjectIncrs = baseDao.selectGridIssueShiftProjectIncr(); + for (GridIssueResultDTO gridIssueResultDTO : gridIssueResultDTOS) { + for (GridIssueResultDTO shiftProjectIncr : shiftProjectIncrs) { + if(gridIssueResultDTO.getGridId().equals(shiftProjectIncr.getGridId()) ){ + gridIssueResultDTO.setShiftProjectIncr(shiftProjectIncr.getShiftProjectIncr()); + } + } + } String dataJson = ScreenDataUtils.getScreenDateJson(gridIssueResultDTOS,true); // 数据上报 epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_BASE_REPORT_GRID_ISSUE, dataJson); @@ -123,6 +132,15 @@ public class ScreenBaseReportDataServiceImpl extends BaseServiceImpl communityIssueResultDTOS = baseDao.selectAgencyIssue(customerId); + //由于数据量大,字段单独处理 + List shiftProjectIncrs = baseDao.selectAgencyIssueShiftProjectIncr(); + for (CommunityIssueResultDTO gridIssueResultDTO : communityIssueResultDTOS) { + for (CommunityIssueResultDTO shiftProjectIncr : shiftProjectIncrs) { + if(gridIssueResultDTO.getAgencyId().equals(shiftProjectIncr.getAgencyId()) ){ + gridIssueResultDTO.setShiftProjectIncr(shiftProjectIncr.getShiftProjectIncr()); + } + } + } String dataJson = ScreenDataUtils.getScreenDateJson(communityIssueResultDTOS,true); // 数据上报 epmetUtils.httpPost(EpmetConstant.EPMET_SCREEN_BASE_REPORT_AGENCY_ISSUE, dataJson); diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenBaseReportDataDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenBaseReportDataDao.xml index c06566a7..1ffc0a79 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenBaseReportDataDao.xml +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenBaseReportDataDao.xml @@ -96,69 +96,56 @@ ( select - community.id as agencyId, - community.pid as pid, - 'discussi' as topicStatusId, - count(et.STATE = 0 or null) as topicCount, - ifnull(round(ifnull(count(et.STATE = 0 or null), 0) / ifnull(count(et.ID), 0),2),0) as topicProportion, - ifnull(count(et.STATE = 0 and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as topicIncrement - from esua_epdc_admin.sys_dept grid - left join esua_epdc_admin.sys_dept community on grid.pid = community.id - left join `esua_epdc_party_group`.epdc_party_topic et on et.GRID_ID = grid.ID and et.DEL_FLAG = '0' - and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') <= DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') - where grid.del_flag = '0' - and grid.type_key = 'grid_party' - and community.del_flag = '0' - and community.type_key = 'community_party' - and grid.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0') - and community.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0') - group by community.id - + sd.id as agencyId, + sd.pid as pid, + 'discussi' as topicStatusId, + count(et.STATE = 0 or null) as topicCount, + ifnull(round(ifnull(count(et.STATE = 0 or null), 0) / ifnull(count(et.ID), 0),2),0) as topicProportion, + ifnull(count(et.STATE = 0 and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as topicIncrement + from esua_epdc_admin.sys_dept sd + left join `esua_epdc_party_group`.epdc_party_topic et on find_in_set(sd.id,et.ALL_DEPT_IDS) and et.DEL_FLAG = '0' + and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') <= DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') + where sd.del_flag = '0' + and sd.type_key in( 'community_party','street_party') + and sd.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0') + group by sd.id union all select - community.id as agencyId, - community.pid as pid, - 'hidden' as topicStatusId, - count(et.SHIELD_FLAG = 1 or null) as topicCount, - ifnull(round(ifnull(count(et.SHIELD_FLAG = 1 or null), 0) / ifnull(count(et.ID), 0),2),0) as topicProportion, - ifnull(count(et.SHIELD_FLAG = 1 and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as topicIncrement - from esua_epdc_admin.sys_dept grid - left join esua_epdc_admin.sys_dept community on grid.pid = community.id - left join `esua_epdc_party_group`.epdc_party_topic et on et.GRID_ID = grid.ID and et.DEL_FLAG = '0' - and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') <= DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') - where grid.del_flag = '0' - and grid.type_key = 'grid_party' - and community.del_flag = '0' - and community.type_key = 'community_party' - and grid.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0') - and community.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0') - group by community.id + sd.id as agencyId, + sd.pid as pid, + 'hidden' as topicStatusId, + count(et.SHIELD_FLAG = 1 or null) as topicCount, + ifnull(round(ifnull(count(et.SHIELD_FLAG = 1 or null), 0) / ifnull(count(et.ID), 0),2),0) as topicProportion, + ifnull(count(et.SHIELD_FLAG = 1 and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as topicIncrement + from esua_epdc_admin.sys_dept sd + left join `esua_epdc_party_group`.epdc_party_topic et on find_in_set(sd.id,et.ALL_DEPT_IDS) and et.DEL_FLAG = '0' + and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') <= DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') + where sd.del_flag = '0' + and sd.type_key in( 'community_party','street_party') + and sd.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0') + group by sd.id union all select - community.id as agencyId, - community.pid as pid, - 'closed' as topicStatusId, - count(et.STATE = 20 or null) as topicCount, - ifnull(round(ifnull(count(et.STATE = 20 or null), 0) / ifnull(count(et.ID), 0),2),0) as topicProportion, - ifnull(count(et.STATE = 20 and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as topicIncrement - from esua_epdc_admin.sys_dept grid - left join esua_epdc_admin.sys_dept community on grid.pid = community.id - left join `esua_epdc_party_group`.epdc_party_topic et on et.GRID_ID = grid.ID and et.DEL_FLAG = '0' - and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') <= DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') - where grid.del_flag = '0' - and grid.type_key = 'grid_party' - and community.del_flag = '0' - and community.type_key = 'community_party' - and grid.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0') - and community.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0') - group by community.id + sd.id as agencyId, + sd.pid as pid, + 'hidden' as topicStatusId, + count(et.STATE = 20 or null) as topicCount, + ifnull(round(ifnull(count(et.STATE = 20 or null), 0) / ifnull(count(et.ID), 0),2),0) as topicProportion, + ifnull(count(et.STATE = 20 and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') = DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') or null),0) as topicIncrement + from esua_epdc_admin.sys_dept sd + left join `esua_epdc_party_group`.epdc_party_topic et on find_in_set(sd.id,et.ALL_DEPT_IDS) and et.DEL_FLAG = '0' + and DATE_FORMAT(et.CREATED_TIME, '%Y-%m-%d') <= DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') + where sd.del_flag = '0' + and sd.type_key in( 'community_party','street_party') + and sd.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0') + group by sd.id )t; @@ -192,7 +179,7 @@ -select - community.id as agencyId, - community.pid as pid, + select + sd.id as agencyId, + sd.pid as pid, '${customId}' as customerId, DATE_FORMAT(date_add(now(), interval -1 day), '%Y%m%d') as dateId, CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d'), '%Y'), '%Y'), @@ -376,1283 +356,438 @@ select count(eg.ID) as groupTotal, count(eg.ID) as ordinaryTotal, 0 as branchTotal - from esua_epdc_admin.sys_dept community - left join `esua_epdc_party_group`.`epdc_party_group` eg on eg.DEPT_ID = community.id and eg.DEL_FLAG ='0' + from esua_epdc_admin.sys_dept sd + left join `esua_epdc_party_group`.`epdc_party_group` eg on find_in_set(sd.id,eg.ALL_DEPT_IDS) and eg.DEL_FLAG ='0' where - community.del_flag = '0' - and community.type_key = 'community_party' - and community.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0') + sd.del_flag = '0' + and sd.type_key in ( 'street_party', 'community_party' ) + and sd.id not in (SELECT t.DEPT_ID FROM `esua_epdc_admin`.`sys_dept_config` t WHERE t.DEL_FLAG = '0') and DATE_FORMAT(eg.CREATED_TIME, '%Y-%m-%d') <= DATE_FORMAT(date_add(now(), interval -1 day), '%Y-%m-%d') - group by community.id + group by sd.id; - t.*, ROUND( - t.shiftProjectIncr / t.shiftProjectTotal, - 6 - ) AS shiftProjectPercent, - t.closedIncr AS closedResolvedIncr, - 0 AS closedUnresolvedIncr, - t.closedTotal AS closedResolvedTotal, - 0 AS closedUnresolvedTotal, - 1 AS closedPercent, - 0 AS closedResolvedPercent, - 0 AS closedUnresolvedPercent, - 0 AS closedCaseIncr, - 0 AS closedCaseResolvedIncr, - 0 AS closedCaseUnresolvedIncr, - 0 AS closedCaseTotal, - 0 AS closedCaseResolvedTotal, - 0 AS closedCaseUnresolvedTotal, - 0 AS closedCaseResolvedPercent, - 0 AS closedCaseUnresolvedPercent - FROM - ( - SELECT - '${customId}' as customerId, - DATE_FORMAT( - date_add(now(), INTERVAL - 1 DAY), - '%Y%m%d' - ) AS dateId, - CONCAT( - DATE_FORMAT( - STR_TO_DATE( - DATE_FORMAT( - date_add(now(), INTERVAL - 1 DAY), - '%Y-%m-%d' - ), - '%Y' - ), - '%Y' - ), - 'W', - WEEK ( - STR_TO_DATE( - DATE_FORMAT( - date_add(now(), INTERVAL - 1 DAY), - '%Y-%m-%d' - ), - '%Y-%m-%d' - ) - ) - ) weekId, - DATE_FORMAT( - STR_TO_DATE( - DATE_FORMAT( - date_add(now(), INTERVAL - 1 DAY), - '%Y-%m-%d' - ), - '%Y' - ), - '%Y' - ) AS yearId, - CONCAT( - DATE_FORMAT( - STR_TO_DATE( - DATE_FORMAT( - date_add(now(), INTERVAL - 1 DAY), - '%Y-%m-%d' - ), - '%Y' - ), - '%Y' - ), - 'Q', - QUARTER ( - STR_TO_DATE( - DATE_FORMAT( - date_add(now(), INTERVAL - 1 DAY), - '%Y-%m-%d' - ), - '%Y-%m-%d' - ) - ) - ) quarterId, - DATE_FORMAT( - STR_TO_DATE( - DATE_FORMAT( - date_add(now(), INTERVAL - 1 DAY), - '%Y-%m-%d' - ), - '%Y-%m' - ), - '%Y%m' - ) AS monthId, - sd.id AS gridId, - sd.pid AS agencyId, - COUNT(0) AS issueTotal, - SUM( - CASE - WHEN DATE_FORMAT( - eis.CREATED_TIME, - '%Y-%m-%d' - ) = DATE_FORMAT( - date_add(now(), INTERVAL - 1 DAY), - '%Y-%m-%d' - ) THEN - 1 - ELSE - 0 - END - ) AS issueIncr, - SUM( - CASE - WHEN DATE_FORMAT( - eit.CREATED_TIME, - '%Y-%m-%d' - ) = DATE_FORMAT( - date_add(now(), INTERVAL - 1 DAY), - '%Y-%m-%d' - ) - AND eis.issue_state = '4' THEN - 1 - ELSE - 0 - END - ) AS shiftProjectIncr, - SUM( - CASE - WHEN eis.issue_state = '4' THEN - 1 - ELSE - 0 - END - ) AS shiftProjectTotal, - 0 AS votingIncr, - 0 AS votingTotal, - 0 AS votingPercent, - SUM( - CASE - WHEN DATE_FORMAT( - eis.UPDATED_TIME, - '%Y-%m-%d' - ) = DATE_FORMAT( - date_add(now(), INTERVAL - 1 DAY), - '%Y-%m-%d' - ) - AND eis.ISSUE_STATE = '2' THEN - 1 - ELSE - 0 - END - ) AS closedIncr, - SUM( - CASE - WHEN eis.issue_state = '2' THEN - 1 - ELSE - 0 - END - ) AS closedTotal - FROM - esua_epdc_admin.sys_dept sd - LEFT JOIN esua_epdc_events.epdc_issue eis ON sd.id = eis.GRID_ID - LEFT JOIN esua_epdc_events.epdc_item eit ON eit.ISSUE_ID = eis.ID - WHERE - sd.del_flag = '0' - AND eis.DEL_FLAG = '0' - AND sd.type_key = 'grid_party' - AND sd.id NOT IN ( - SELECT - t.dept_id - FROM - esua_epdc_admin.sys_dept_config t - WHERE - t.del_flag = '0' - ) - GROUP BY - sd.id - ) t + - + SELECT t.*, + '${customId}' as customerId, + IFNULL(ROUND(t.shiftProjectTotal / t.issueTotal, 6), 0) AS shiftProjectPercent, + IFNULL(t.closedIncr, 0) AS closedResolvedIncr, + 0 AS closedUnresolvedIncr, + IFNULL(t.closedTotal, 0) AS closedResolvedTotal, + 0 AS closedUnresolvedTotal, + 1 AS closedPercent, + 0 AS closedResolvedPercent, + 0 AS closedUnresolvedPercent, + 0 AS closedCaseIncr, + 0 AS closedCaseResolvedIncr, + 0 AS closedCaseUnresolvedIncr, + 0 AS closedCaseTotal, + 0 AS closedCaseResolvedTotal, + 0 AS closedCaseUnresolvedTotal, + 0 AS closedCaseResolvedPercent, + 0 AS closedCaseUnresolvedPercent + FROM( + SELECT DATE_FORMAT(date_add(now(), INTERVAL - 1 DAY), '%Y%m%d') AS dateId, CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), INTERVAL - 1 DAY), '%Y-%m-%d'), '%Y'), '%Y'), 'W', WEEK(STR_TO_DATE(DATE_FORMAT(date_add(now(), INTERVAL - 1 DAY), '%Y-%m-%d'), '%Y-%m-%d'))) weekId, DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), INTERVAL - 1 DAY), '%Y-%m-%d'), '%Y'), '%Y') AS yearId, CONCAT(DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), INTERVAL - 1 DAY), '%Y-%m-%d'), '%Y'), '%Y'), 'Q', QUARTER(STR_TO_DATE(DATE_FORMAT(date_add(now(), INTERVAL - 1 DAY), '%Y-%m-%d'), '%Y-%m-%d'))) quarterId, DATE_FORMAT(STR_TO_DATE(DATE_FORMAT(date_add(now(), INTERVAL - 1 DAY), '%Y-%m-%d'), '%Y-%m'), '%Y%m') AS monthId, sd.id AS agencyId, sd.pid AS pid, IFNULL(COUNT(eis.id), 0) AS issueTotal, IFNULL(SUM(CASE WHEN DATE_FORMAT(eis.CREATED_TIME, '%Y-%m-%d')= DATE_FORMAT(date_add(now(), INTERVAL - 1 DAY), '%Y-%m-%d') THEN 1 ELSE 0 END), 0) AS issueIncr, + IFNULL(SUM(CASE WHEN eis.issue_state= '4' THEN 1 ELSE 0 END), 0) AS shiftProjectTotal, 0 AS votingIncr, 0 AS votingTotal, 0 AS votingPercent, IFNULL(SUM(CASE WHEN DATE_FORMAT(eis.UPDATED_TIME, '%Y-%m-%d')= DATE_FORMAT(date_add(now(), INTERVAL - 1 DAY), '%Y-%m-%d') + AND eis.ISSUE_STATE= '2' THEN 1 ELSE 0 END), 0) AS closedIncr, IFNULL(SUM(CASE WHEN eis.issue_state= '2' THEN 1 ELSE 0 END), 0) AS closedTotal + FROM esua_epdc_admin.sys_dept sd + LEFT JOIN esua_epdc_events.epdc_issue eis ON find_in_set(sd.`id`, eis.`ALL_DEPT_IDS`) + AND eis.DEL_FLAG= '0' + AND DATE_FORMAT(eis.CREATED_TIME, '%Y-%m-%d') <= DATE_FORMAT(date_add(now(), INTERVAL - 1 DAY), '%Y-%m-%d') + WHERE sd.del_flag= '0' + AND sd.type_key IN('community_party','street_party') + AND sd.id NOT IN( + SELECT t.dept_id + FROM esua_epdc_admin.sys_dept_config t + WHERE t.del_flag= '0') + GROUP BY sd.id) t + + diff --git a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml index a56228c1..05036025 100644 --- a/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml +++ b/esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/screen/ScreenProjectDataDao.xml @@ -21,6 +21,7 @@ +