diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginExtractController.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginExtractController.java index 49d462eaa0..b42b862736 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginExtractController.java +++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/controller/FactOriginExtractController.java @@ -95,12 +95,16 @@ public class FactOriginExtractController { @PostMapping("project") public Result projectData(@RequestBody ExtractOriginFormDTO extractOriginFormDTO) { - List customerIds = dimCustomerService.selectCustomerIdPage(1, 100); - customerIds.forEach(customerId -> { - ExtractOriginFormDTO dto = new ExtractOriginFormDTO(); - dto.setCustomerId(customerId); - projectExtractService.saveOriginProjectDaily(dto); - }); + if (null != extractOriginFormDTO) { + projectExtractService.saveOriginProjectDaily(extractOriginFormDTO); + } else { + List customerIds = dimCustomerService.selectCustomerIdPage(1, 100); + customerIds.forEach(customerId -> { + ExtractOriginFormDTO dto = new ExtractOriginFormDTO(); + dto.setCustomerId(customerId); + projectExtractService.saveOriginProjectDaily(dto); + }); + } return new Result(); } 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 f4f616a722..e1c74d8f30 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 @@ -319,21 +319,14 @@ public class ProjectExtractServiceImpl implements ProjectExtractService { entity.setOrgType(OrgTypeConstant.AGENCY); entity.setOrgId(process.getAgencyId()); if (!process.getPids().contains(StrConstant.COLON)) { - entity.setPids(""); entity.setPid(NumConstant.ZERO_STR); } else { String[] orgArray = process.getPids().split(StrConstant.COLON); if (orgArray.length > NumConstant.ONE) { entity.setPid(orgArray[orgArray.length - NumConstant.TWO]); - String path = process.getPids().replaceAll(process.getAgencyId(), ""); - if (path.endsWith(StrConstant.COLON)) { - path = path.substring(NumConstant.ZERO, path.length() - NumConstant.ONE); - } - entity.setPids(path); } else { log.warn("【data-statistical】业务数据抽取模块,ProjectExtractServiceImpl.saveOriginProjectDaily:查询出的项目节点发起人所属的orgIdPath不正确,agencyId->{},orgIdPath->{}", process.getAgencyId(), process.getPids()); entity.setPid(NumConstant.ZERO_STR); - entity.setPids(""); } } } 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 64682b5dd4..94ed20f557 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 @@ -539,58 +539,72 @@ a.count AS "sum", IFNULL( b.count, 0 ) AS "count" FROM - ( SELECT - GRID_ID, - COUNT( ID ) AS "count" - FROM - fact_origin_project_main_daily - WHERE - CUSTOMER_ID = #{customerId} - AND MONTH_ID = #{monthId} - AND GRID_ID != '' - GROUP BY GRID_ID ) a - LEFT JOIN - ( SELECT + ( + SELECT GRID_ID, COUNT( ID ) AS "count" - FROM fact_origin_project_main_daily + FROM + fact_origin_project_main_daily WHERE - PROJECT_STATUS = 'closed' - AND CUSTOMER_ID = #{customerId} + CUSTOMER_ID = #{customerId} AND MONTH_ID = #{monthId} AND GRID_ID != '' - GROUP BY GRID_ID ) b - ON a.GRID_ID = b.GRID_ID + GROUP BY + GRID_ID ) a + LEFT JOIN ( + SELECT + a.GRID_ID, + COUNT( a.ID ) AS "count" + FROM + fact_origin_project_main_daily a + INNER JOIN fact_origin_project_log_daily b ON a.ID = b.PROJECT_ID + AND b.CUSTOMER_ID = #{customerId} + AND b.ACTION_CODE = 'close' + AND b.MONTH_ID = #{monthId} + WHERE + a.PROJECT_STATUS = 'closed' + AND a.CUSTOMER_ID = #{customerId} + AND a.MONTH_ID = #{monthId} + AND a.GRID_ID != '' + GROUP BY + GRID_ID) b ON a.GRID_ID = b.GRID_ID diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml index 07226b1c40..06e5479396 100644 --- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml +++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/extract/FactOriginProjectMainDailyDao.xml @@ -197,110 +197,158 @@