diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml
index 90029209ad..228e1c3fc6 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/datastats/DatsStatsDao.xml
@@ -769,32 +769,39 @@
SELECT
- staff_id staffId,
- staff_name staffName,
- date_id dateId,
+ a.staff_id staffId,
+ a.staff_name staffName,
+ a.date_id dateId,
IFNULL(
SUM(
- issue_to_project_count + closed_issue_count + project_response_count + project_transfer_count + project_closed_count
- )
- , 0)eventCount
- FROM
- fact_grid_member_statistics_daily
- WHERE
- del_flag = '0'
- AND pids LIKE concat('%', #{agencyId}, '%')
- AND date_id = (
- SELECT MAX(date_id)
- FROM fact_grid_member_statistics_daily
- WHERE
- del_flag = '0'
+ a.issue_to_project_count + a.closed_issue_count + a.project_response_count + a.project_transfer_count + a.project_closed_count
+ ),
+ 0
+ ) eventCount
+ FROM
+ fact_grid_member_statistics_daily a
+ INNER JOIN (
+ SELECT
+ staff_id,
+ MAX(date_id) date_id
+ FROM
+ fact_grid_member_statistics_daily
+ WHERE del_flag = '0'
+ AND pids LIKE concat('%', #{agencyId}, '%')
AND month_id = #{dimId}
AND year_id = #{dimId}
- )
- GROUP BY staff_id
+ GROUP BY STAFF_ID
+ ) b ON a.STAFF_ID = b.STAFF_ID AND a.date_id = b.date_id
+
+ WHERE
+ a.del_flag = '0'
+ AND a.pids LIKE concat('%', #{agencyId}, '%')
+ GROUP BY a.staff_id
+ ORDER BY a.date_id DESC
diff --git a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml
index 9dc97b4c5a..a23656d221 100644
--- a/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml
+++ b/epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/StaffPatrolRecordDao.xml
@@ -124,7 +124,7 @@
SELECT
staff_id staffId,
- IFNULL(SUM(patrol_total), 0) reportProjectCount,
+ IFNULL(SUM(report_project_count), 0) reportProjectCount,
IFNULL(SUM(total_time), 0) timeNum
FROM
stats_staff_patrol_record_daily
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ClosedProjectTotalResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ClosedProjectTotalResultDTO.java
new file mode 100644
index 0000000000..bd2aea194f
--- /dev/null
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/project/result/ClosedProjectTotalResultDTO.java
@@ -0,0 +1,31 @@
+package com.epmet.dto.project.result;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @Author zxc
+ * @DateTime 2021/11/4 9:12 上午
+ * @DESC
+ */
+@Data
+public class ClosedProjectTotalResultDTO implements Serializable {
+
+ private static final long serialVersionUID = -3683494871244065806L;
+
+ /**
+ * 组织ID
+ */
+ private String orgId;
+
+ /**
+ * 分类code
+ */
+ private String categoryCode;
+
+ /**
+ * 结案的项目数
+ */
+ private Integer closedProjectTotal = 0;
+}
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java
index cd31f554bb..e47c97f841 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/ScreenProjectCategoryGridDailyDTO.java
@@ -120,4 +120,6 @@ public class ScreenProjectCategoryGridDailyDTO implements Serializable {
*/
private Boolean status = false;
+ private Integer closedProjectTotal = 0;
+
}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java
index 48af51b5ef..29cc0ea5db 100644
--- a/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java
+++ b/epmet-module/data-statistical/data-statistical-client/src/main/java/com/epmet/dto/screen/result/CategoryProjectResultDTO.java
@@ -42,6 +42,11 @@ public class CategoryProjectResultDTO implements Serializable {
*/
private Integer projectTotal;
+ /**
+ * 结案数
+ */
+ private Integer closedProjectTotal;
+
/**
* 分类级别
*/
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java
index 58ba1f5bc9..e520998bda 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/extract/FactOriginProjectCategoryDailyDao.java
@@ -42,7 +42,7 @@ public interface FactOriginProjectCategoryDailyDao extends BaseDao selectListProjectCategoryGridDailyDTO(@Param("customerId") String customerId,@Param("subCount")Integer subCount);
+ List selectListProjectCategoryGridDailyDTO(@Param("customerId") String customerId,@Param("subCount")Integer subCount,@Param("projectType")String projectType);
/**
* @Description 查询客户下,组织直接立项的,各项目分类下的项目数量【筛选组织创建的项目,fact_origin_project_main_daily表gridId为空】
@@ -50,7 +50,8 @@ public interface FactOriginProjectCategoryDailyDao extends BaseDao selectListProjectCategoryByOrg(@Param("orgIds")List orgIds,@Param("customerId") String customerId,@Param("subCount") Integer subCount);
+ List selectListProjectCategoryByOrg(@Param("orgIds")List orgIds,@Param("customerId") String customerId,
+ @Param("subCount") Integer subCount,@Param("projectType")String projectType);
int deleteByProjectIds(@Param("list") List list);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java
index 70ef71817f..51cb145080 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/dao/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.java
@@ -18,6 +18,7 @@
package com.epmet.dao.evaluationindex.screen;
import com.epmet.commons.mybatis.dao.BaseDao;
+import com.epmet.dto.project.result.ClosedProjectTotalResultDTO;
import com.epmet.dto.screen.result.CategoryProjectResultDTO;
import com.epmet.entity.evaluationindex.screen.ScreenProjectCategoryOrgDailyEntity;
import com.sun.org.apache.xpath.internal.operations.Bool;
@@ -106,4 +107,15 @@ public interface ScreenProjectCategoryOrgDailyDao extends BaseDao selectSelfAgencyCategory(@Param("dateId") String dateId,@Param("orgIds")List orgIds);
+
+ /**
+ * @Description 查询父客户 存在 分类的结案项目数
+ * @param customerIds
+ * @param dateId
+ * @author zxc
+ * @date 2021/11/4 9:26 上午
+ */
+ List selectClosedProjectTotal(@Param("customerIds")List customerIds, @Param("dateId") String dateId,
+ @Param("status")Boolean status);
+
}
\ No newline at end of file
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryGridDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryGridDailyEntity.java
index 82b03555ac..2a5881cbf4 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryGridDailyEntity.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryGridDailyEntity.java
@@ -74,4 +74,9 @@ public class ScreenProjectCategoryGridDailyEntity extends BaseEpmetEntity {
* 分类等级1、2....
*/
private Integer level;
+
+ /**
+ * 分类下所有结案的项目
+ */
+ private Integer closedProjectTotal;
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java
index bdfba9bbc6..2d4dd0dde2 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/entity/evaluationindex/screen/ScreenProjectCategoryOrgDailyEntity.java
@@ -82,6 +82,11 @@ public class ScreenProjectCategoryOrgDailyEntity extends BaseEpmetEntity {
*/
private Integer projectTotal;
+ /**
+ * 分类下所有结案项目数
+ */
+ private Integer closedProjectTotal;
+
/**
* 分类等级1、2....
*/
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java
index 1252a4739c..3bd2029431 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/FactOriginProjectCategoryDailyService.java
@@ -54,5 +54,5 @@ public interface FactOriginProjectCategoryDailyService extends BaseService selectListProjectCategoryByOrg(List orgIds,String customerId,Integer subCount);
+ List selectListProjectCategoryByOrg(List orgIds,String customerId,Integer subCount,String projectType);
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java
index 083fe26a85..28a57a5b3c 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/extract/todata/impl/FactOriginProjectCategoryDailyServiceImpl.java
@@ -138,7 +138,11 @@ public class FactOriginProjectCategoryDailyServiceImpl extends BaseServiceImpl selectListProjectCategoryGridDailyDTO(String customerId) {
- List list=baseDao.selectListProjectCategoryGridDailyDTO(customerId,getSubCount(customerId));
+ List list=baseDao.selectListProjectCategoryGridDailyDTO(customerId,getSubCount(customerId),"all");
+ List closedList = baseDao.selectListProjectCategoryGridDailyDTO(customerId,getSubCount(customerId),"closed");
+ if (!CollectionUtils.isEmpty(closedList)){
+ list.forEach(l -> closedList.stream().filter(c -> l.getGridId().equals(c.getGridId()) && l.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> l.setClosedProjectTotal(c.getClosedProjectTotal())));
+ }
return list;
}
@@ -157,10 +161,10 @@ public class FactOriginProjectCategoryDailyServiceImpl extends BaseServiceImpl selectListProjectCategoryByOrg(List orgIds,String customerId,Integer subCount) {
+ public List selectListProjectCategoryByOrg(List orgIds,String customerId,Integer subCount,String projectType) {
if (!CollectionUtils.isEmpty(orgIds)){
return new ArrayList<>();
}
- return baseDao.selectListProjectCategoryByOrg(orgIds,customerId,subCount);
+ return baseDao.selectListProjectCategoryByOrg(orgIds,customerId,subCount,projectType);
}
}
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java
index d7edb6dd9a..1cd79eabd8 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/java/com/epmet/service/evaluationindex/screen/impl/ScreenProjectCategoryOrgDailyServiceImpl.java
@@ -32,6 +32,7 @@ import com.epmet.constant.ScreenConstant;
import com.epmet.dao.evaluationindex.screen.ScreenProjectCategoryGridDailyDao;
import com.epmet.dao.evaluationindex.screen.ScreenProjectCategoryOrgDailyDao;
import com.epmet.dto.extract.result.CustomerAgencyInfoResultDTO;
+import com.epmet.dto.project.result.ClosedProjectTotalResultDTO;
import com.epmet.dto.screen.ScreenCustomerGridDTO;
import com.epmet.dto.screen.ScreenProjectCategoryGridDailyDTO;
import com.epmet.dto.screen.ScreenProjectCategoryOrgDailyDTO;
@@ -264,6 +265,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl {
if (agency.getOrgId().equals(grid.getOrgId()) && agency.getCategoryCode().equals(grid.getCategoryCode())){
agency.setProjectTotal(agency.getProjectTotal() + grid.getProjectTotal());
+ agency.setClosedProjectTotal(agency.getClosedProjectTotal() + grid.getClosedProjectTotal());
grid.setStatus(true);
}
});
@@ -280,7 +282,11 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl levelAgencyInfo = groupByLevel.get(level);
if (!CollectionUtils.isEmpty(levelAgencyInfo)){
- List screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds,customerId,NumConstant.FOUR);
+ List screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds,customerId,NumConstant.FOUR,"all");
+ List closedScreenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds,customerId,NumConstant.FOUR,"closed");
+ if (!CollectionUtils.isEmpty(closedScreenProjectCategory)){
+ screenProjectCategory.forEach(l -> closedScreenProjectCategory.stream().filter(c -> l.getGridId().equals(c.getGridId()) && l.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> l.setClosedProjectTotal(c.getClosedProjectTotal())));
+ }
if (!CollectionUtils.isEmpty(result)){
if (!CollectionUtils.isEmpty(screenProjectCategory)){
result.forEach(r -> {
@@ -288,6 +294,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl categoryProjectExists = baseDao.selectOrgCategoryMoreCustomerInfo(customerIds, dateId, level, customerId);
log.info("父客户存在的分类{}"+ JSON.toJSONString(categoryProjectExists));
+ // 父客户存在的分类 已结案的项目数
+ List closedProjectTotalExist = baseDao.selectClosedProjectTotal(customerIds, dateId, true);
// 父客户不存在的分类
List categoryProjectNotExists = baseDao.selectOrgCategoryMoreCustomerInfoNotExists(customerIds, dateId, level, customerId);
log.info("父客户不存在的分类{}"+ JSON.toJSONString(categoryProjectNotExists));
+ // 父客户 不存在 的分类 已结案的项目数
+ List closedProjectTotalNotExist = baseDao.selectClosedProjectTotal(customerIds, dateId, false);
if (!CollectionUtils.isEmpty(categoryProjectExists)){
+ if (!CollectionUtils.isEmpty(closedProjectTotalExist)){
+ categoryProjectExists.forEach(l -> closedProjectTotalExist.stream().filter(c -> l.getOrgId().equals(c.getOrgId()) && l.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> l.setClosedProjectTotal(c.getClosedProjectTotal())));
+ }
sonCustomerList.addAll(categoryProjectExists);
}
if (!CollectionUtils.isEmpty(categoryProjectNotExists)){
+ if (!CollectionUtils.isEmpty(closedProjectTotalNotExist)){
+ categoryProjectNotExists.forEach(l -> closedProjectTotalNotExist.stream().filter(c -> l.getOrgId().equals(c.getOrgId()) && l.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> l.setClosedProjectTotal(c.getClosedProjectTotal())));
+ }
sonCustomerList.addAll(categoryProjectNotExists);
}
if (!CollectionUtils.isEmpty(sonCustomerList)){
@@ -443,6 +461,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl {
if (f.getCategoryCode().equals(c.getCategoryCode())){
f.setProjectTotal(f.getProjectTotal() + c.getProjectTotal());
+ f.setClosedProjectTotal(f.getClosedProjectTotal() + c.getClosedProjectTotal());
c.setStatus(true);
}
});
@@ -481,6 +500,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl levelAgencyInfo = groupByLevel.get(level);
if (!CollectionUtils.isEmpty(levelAgencyInfo)) {
// 查询客户下,组织直接立项的,各项目分类下的项目数量【筛选组织创建的项目,fact_origin_project_main_daily表gridId为空】
- List screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds, customerId,NumConstant.TWO);
+ List screenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds, customerId,NumConstant.TWO,"all");
+ List closedScreenProjectCategory = factOriginProjectCategoryDailyService.selectListProjectCategoryByOrg(orgIds, customerId,NumConstant.TWO,"closed");
+ if (!CollectionUtils.isEmpty(closedScreenProjectCategory)){
+ screenProjectCategory.forEach(l -> closedScreenProjectCategory.stream().filter(c -> l.getGridId().equals(c.getGridId()) && l.getCategoryCode().equals(c.getCategoryCode())).forEach(c -> l.setClosedProjectTotal(c.getClosedProjectTotal())));
+ }
log.info("直接立项的统计:"+screenProjectCategory);
if (!CollectionUtils.isEmpty(result)) {
if (!CollectionUtils.isEmpty(screenProjectCategory)) {
@@ -505,6 +529,7 @@ public class ScreenProjectCategoryOrgDailyServiceImpl extends BaseServiceImpl
+ count(1) AS closedProjectTotal
+
+
+ count(1)as projectTotal
+
FROM
fact_origin_project_category_daily c
LEFT JOIN fact_origin_project_main_daily p ON ( c.PROJECT_Id = p.id and p.del_flag='0' AND p.GRID_ID != '')
WHERE
c.DEL_FLAG = '0'
AND c.CUSTOMER_ID = #{customerId}
+
+ AND p.PROJECT_STATUS = 'closed'
+
AND c.`LEVEL` = '2'
AND p.GRID_ID != ''
GROUP BY
@@ -60,13 +68,21 @@
p.GRID_ID,
p.AGENCY_ID AS PID,
P.PIDS,
- count(distinct c.project_id)as projectTotal
+
+ count(distinct c.project_id) AS closedProjectTotal
+
+
+ count(distinct c.project_id)as projectTotal
+
FROM
fact_origin_project_category_daily c
LEFT JOIN fact_origin_project_main_daily p ON ( c.PROJECT_Id = p.id and p.del_flag='0' AND p.GRID_ID != '')
WHERE
c.DEL_FLAG = '0'
AND p.GRID_ID != ''
+
+ AND p.PROJECT_STATUS = 'closed'
+
AND c.CUSTOMER_ID = #{customerId}
GROUP BY
c.CUSTOMER_ID,
@@ -87,7 +103,12 @@
p.AGENCY_ID AS orgId,
p.PID AS PID,
P.PIDS,
- COUNT(DISTINCT p.ID) AS projectTotal
+
+ COUNT(DISTINCT p.ID) AS projectTotal
+
+
+ COUNT(DISTINCT p.ID) AS closedProjectTotal
+
FROM fact_origin_project_main_daily p
LEFT JOIN fact_origin_project_category_daily c ON ( c.PROJECT_Id = p.id AND p.del_flag='0' AND p.GRID_ID = '')
WHERE c.DEL_FLAG = '0'
@@ -99,6 +120,9 @@
)
AND c.`LEVEL` = '2'
AND p.GRID_ID = ''
+
+ AND p.PROJECT_STATUS = 'closed'
+
GROUP BY c.CUSTOMER_ID, c.CATEGORY_CODE, c.`LEVEL`, p.AGENCY_ID, p.PID, P.PIDS
UNION ALL
SELECT
@@ -109,7 +133,12 @@
p.AGENCY_ID AS orgId,
p.PID AS PID,
P.PIDS,
- COUNT(distinct p.ID) AS projectTotal
+
+ COUNT(DISTINCT p.ID) AS projectTotal
+
+
+ COUNT(DISTINCT p.ID) AS closedProjectTotal
+
FROM fact_origin_project_main_daily p
LEFT JOIN fact_origin_project_category_daily c ON ( c.PROJECT_Id = p.id AND p.del_flag='0' AND p.GRID_ID = '')
WHERE c.DEL_FLAG = '0'
@@ -120,6 +149,9 @@
)
AND p.GRID_ID = ''
+
+ AND p.PROJECT_STATUS = 'closed'
+
GROUP BY c.CUSTOMER_ID, left(c.CATEGORY_CODE, #{subCount}), c.`LEVEL`, p.PID, p.AGENCY_ID, P.PIDS
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryGridDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryGridDailyDao.xml
index 8ec1fcc4bd..763d1c0d49 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryGridDailyDao.xml
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryGridDailyDao.xml
@@ -20,6 +20,7 @@
sg.CUSTOMER_ID AS categoryOriginCustomerId,
sg.CATEGORY_CODE,
SUM(sg.PROJECT_TOTAL) AS projectTotal,
+ SUM(sg.CLOSED_PROJECT_TOTAL) AS closedProjectTotal,
sg.level,
sg.DATE_ID,
sca.`LEVEL` AS orgType
diff --git a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml
index 38aa359065..f1efea5b81 100644
--- a/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml
+++ b/epmet-module/data-statistical/data-statistical-server/src/main/resources/mapper/evaluationindex/screen/ScreenProjectCategoryOrgDailyDao.xml
@@ -32,6 +32,7 @@
sa.CATEGORY_ORIGIN_CUSTOMER_ID,
sa.CATEGORY_CODE,
SUM(sa.PROJECT_TOTAL) AS projectTotal,
+ SUM(sa.CLOSED_PROJECT_TOTAL) AS closedProjectTotal,
sa.level,
sa.DATE_ID,
sca.`LEVEL` AS orgType
@@ -182,4 +183,36 @@
GROUP BY categoryCode,od.ORG_ID
+
+
+
+ SELECT
+ (SELECT AGENCY_ID FROM screen_customer_agency WHERE DEL_FLAG = 0 AND CUSTOMER_ID = #{customerId} AND PID = '0') AS orgId,
+
+ cd.EPMET_CATEGORY_CODE AS categoryCode,
+
+
+ pd.CATEGORY_CODE AS categoryCode
+
+ count(pd.project_id) AS closedProjectTotal
+ FROM screen_project_data pd
+ LEFT JOIN customer_project_category_dict cd ON (cd.CATEGORY_CODE = pd.CATEGORY_CODE AND cd.CUSTOMER_ID = #{customerId})
+ LEFT JOIN screen_customer_grid scg ON scg.GRID_ID = pd.ORG_ID
+ WHERE 1=1
+ AND pd.DEL_FLAG = '0'
+ AND pd.CUSTOMER_ID = #{customerId}
+
+ AND cd.EPMET_CATEGORY_CODE IS NOT NULL
+
+
+ AND (cd.EPMET_CATEGORY_CODE IS NULL OR cd.EPMET_CATEGORY_CODE = '')
+
+ AND cd.EPMET_CATEGORY_CODE != ''
+ AND pd.PROJECT_STATUS_CODE = 'closed'
+ AND pd.ALL_PARENT_IDS LIKE CONCAT('%',(SELECT AGENCY_ID FROM screen_customer_agency WHERE DEL_FLAG = 0 AND CUSTOMER_ID = #{customerId} AND PID = '0'),'%')
+ AND DATE_FORMAT(pd.project_create_time,'%Y%m%d') #{dateId}
+ GROUP BY categoryCode
+
+
+
\ No newline at end of file