From 78bfa38836a122901473d9993d27d3693ecf92d4 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Tue, 13 Oct 2020 16:56:01 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=BB=A1=E6=84=8F=E7=8E=87=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/IndexCollCommunityServiceImpl.java | 2 +- .../impl/IndexCollDistrictServiceImpl.java | 2 +- .../impl/IndexCollStreetServiceImpl.java | 2 +- .../impl/ProjectExtractServiceImpl.java | 11 +- .../extract/FactOriginProjectLogDailyDao.xml | 125 +++++++++--------- .../mapper/project/ProjectProcessDao.xml | 14 +- 6 files changed, 85 insertions(+), 71 deletions(-) diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java index 031f32801c..e362661ab0 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollCommunityServiceImpl.java @@ -128,7 +128,7 @@ public class IndexCollCommunityServiceImpl implements IndexCollCommunityService list.forEach(entity -> satisfaction.stream().filter(dto -> dto.getAgencyId().equals(entity.getAgencyId())).forEach(sa -> { if (sa.getCount() != NumConstant.ZERO) { BigDecimal count = new BigDecimal(sa.getCount()); - BigDecimal sum = new BigDecimal(sa.getSum()); + BigDecimal sum = sa.getRatio(); entity.setSatisfactionRatio(sum.divide(count, NumConstant.SIX, RoundingMode.HALF_UP)); } })); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java index b1fce5c32d..90814b7dfb 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollDistrictServiceImpl.java @@ -122,7 +122,7 @@ public class IndexCollDistrictServiceImpl implements IndexCollDistrictService { list.forEach(entity -> satisfaction.stream().filter(dto -> dto.getAgencyId().equals(entity.getAgencyId())).forEach(sa -> { if (sa.getCount() != NumConstant.ZERO) { BigDecimal count = new BigDecimal(sa.getCount()); - BigDecimal sum = new BigDecimal(sa.getSum()); + BigDecimal sum = sa.getRatio(); entity.setSatisfactionRatio(sum.divide(count, NumConstant.SIX, RoundingMode.HALF_UP)); } })); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java index ef6e67cfc6..2e5e5e4698 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/dataToIndex/impl/IndexCollStreetServiceImpl.java @@ -120,7 +120,7 @@ public class IndexCollStreetServiceImpl implements IndexCollStreetService { list.forEach(entity -> satisfaction.stream().filter(dto -> dto.getAgencyId().equals(entity.getAgencyId())).forEach(sa -> { if (sa.getCount() != NumConstant.ZERO) { BigDecimal count = new BigDecimal(sa.getCount()); - BigDecimal sum = new BigDecimal(sa.getSum()); + BigDecimal sum = sa.getRatio(); entity.setSatisfactionRatio(sum.divide(count, NumConstant.SIX, RoundingMode.HALF_UP)); } })); diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java index 2b4abe37a1..5f0ffadbcc 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/ProjectExtractServiceImpl.java @@ -174,11 +174,18 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { })); list.forEach(entity -> finishOrgList.stream().filter(finish -> entity.getId().equals(finish.getProjectId())).forEach(dto -> { String[] orgIds = dto.getPIdPath().split(StrConstant.COLON); + String org = ""; if (orgIds.length > NumConstant.ONE) { - entity.setFinishOrgIds(orgIds[orgIds.length - 1]); + org = orgIds[orgIds.length - 1]; } else { - entity.setFinishOrgIds(orgIds[0]); + org = orgIds[0]; } + if (StringUtils.isNotEmpty(dto.getGridId())) { + org = org + StrConstant.COLON + dto.getGridId(); + } else if (StringUtils.isNotEmpty(dto.getDepartmentId())) { + org = org + StrConstant.COLON + dto.getDepartmentId(); + } + entity.setFinishOrgIds(org); })); //插入数据 if (!list.isEmpty()) { diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml index f9c0d6d56b..9b121ddcb5 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectLogDailyDao.xml @@ -90,7 +90,7 @@ SELECT AGENCY_ID, COUNT( ID ) AS "count", - SUM( IFNULL( b.score, 0 ) ) AS "sum" + SUM( IFNULL( b.score, 80 ) ) AS "ratio" FROM ( SELECT f.ID, f.AGENCY_ID FROM fact_origin_project_main_daily f INNER JOIN dim_agency da ON f.FINISH_ORG_IDS LIKE concat('%', da.ID, '%') @@ -102,7 +102,7 @@ LEFT JOIN ( SELECT PROJECT_ID, - SUM( CASE ACTION_CODE WHEN 'bad' THEN 60 WHEN 'perfect' THEN 100 ELSE 80 END ) AS score + AVG( CASE ACTION_CODE WHEN 'bad' THEN 60 WHEN 'perfect' THEN 100 ELSE 80 END ) AS score FROM fact_origin_project_log_daily WHERE @@ -110,6 +110,7 @@ OR ACTION_CODE = 'good' OR ACTION_CODE = 'perfect') AND CUSTOMER_ID = #{customerId} + AND MONTH_ID = #{monthId} GROUP BY PROJECT_ID ) b ON a.ID = b.PROJECT_ID @@ -254,70 +255,70 @@ \ No newline at end of file diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml index 8d36696ccb..a1a4a7f483 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/project/ProjectProcessDao.xml @@ -30,15 +30,17 @@ pp.STAFF_ID, pp.CREATED_TIME FROM project_process pp - LEFT JOIN project_staff staff ON pp.PROJECT_ID = staff.PROJECT_ID + INNER JOIN project p ON pp.PROJECT_ID = p.ID + INNER JOIN project_staff staff ON pp.PROJECT_ID = staff.PROJECT_ID AND pp.DEPARTMENT_NAME = staff.DEPARTMENT_NAME AND staff.IS_HANDLE = 'handle' AND pp.STAFF_ID = staff.STAFF_ID AND staff.DEL_FLAG = '0' WHERE pp.DEL_FLAG = '0' - AND - p.CUSTOMER_ID = #{customerId} + AND p.CUSTOMER_ID = #{customerId} + AND pp.OPERATION !='response' + AND pp.OPERATION !='created' AND DATE_FORMAT(pp.CREATED_TIME, '%Y%m%d') = #{date} @@ -161,6 +163,8 @@