@ -197,110 +197,158 @@
</if>
</if>
</select>
</select>
<select id= "getSelfProject" resultType= "com.epmet.dto.extract.result.OrgStatisticsResultDTO" >
<select id= "getSelfProject" resultType= "com.epmet.dto.extract.result.OrgStatisticsResultDTO" >
SELECT
SELECT
a.AGENCY_ID,
da.ID,
a.count AS "sum",
SUM( sum ) AS "sum",
IFNULL(b.count,0) AS "count"
SUM( count ) AS "count"
FROM
FROM
(SELECT
dim_agency da
da.ID AS AGENCY_ID,
INNER JOIN (
COUNT( fm.ID ) AS "count"
SELECT
FROM
fm.AGENCY_ID AS "orgId",
fact_origin_project_main_daily fm
fm.PIDS,
INNER JOIN dim_agency da ON fm.PIDS LIKE CONCAT( '%', da.ID, '%' )
COUNT( fm.PROJECT_ID ) AS "sum",
AND da.`LEVEL` = #{level}
IFNULL( a.count, 0 ) AS "count"
WHERE
FROM
fm.PROJECT_STATUS = 'closed'
fact_origin_project_log_daily fm
AND fm.CUSTOMER_ID = #{customerId}
LEFT JOIN (
AND fm.MONTH_ID = #{monthId}
SELECT
GROUP BY
orgId,
da.ID) a
COUNT( PROJECT_ID ) AS "count"
LEFT JOIN
FROM
(SELECT
(
da.ID AS AGENCY_ID,
SELECT
COUNT( fm.ID ) AS "count"
AGENCY_ID AS orgId,
FROM
PROJECT_ID
fact_origin_project_main_daily fm
FROM
INNER JOIN dim_agency da ON fm.PIDS LIKE CONCAT( '%', da.ID, '%' )
fact_origin_project_log_daily log
AND da.`LEVEL` = #{level}
WHERE
WHERE
DEL_FLAG = 0
fm.PROJECT_STATUS = 'closed'
AND CUSTOMER_ID = #{customerId}
AND fm.CUSTOMER_ID = #{customerId}
AND ( ACTION_CODE = 'response' OR ACTION_CODE = 'close' OR ACTION_CODE = 'transfer' OR ACTION_CODE = 'created' )
AND fm.MONTH_ID = #{monthId}
AND EXISTS ( SELECT PROJECT_ID FROM fact_origin_project_log_daily WHERE DEL_FLAG = 0 AND ACTION_CODE = 'close' AND CUSTOMER_ID = #{customerId} AND MONTH_ID = #{monthId} AND log.PROJECT_ID = PROJECT_ID )
AND fm.FINISH_ORG_IDS LIKE CONCAT('%', fm.AGENCY_ID,'%')
GROUP BY
GROUP BY
PROJECT_ID
da.ID) b
HAVING
ON a.AGENCY_ID = b.AGENCY_ID
COUNT(
DISTINCT ( ORG_ID )) = 1
) a
GROUP BY
orgId
) a ON fm.AGENCY_ID = a.orgId
WHERE
ACTION_CODE = 'close'
AND CUSTOMER_ID = #{customerId}
AND MONTH_ID = #{monthId}
GROUP BY
fm.AGENCY_ID
) a ON a.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.DEL_FLAG = '0'
AND da.`LEVEL` = #{level}
AND da.CUSTOMER_ID = #{customerId}
AND da.AGENCY_DIM_TYPE = 'all'
GROUP BY
da.ID
</select>
</select>
<select id= "getResolveProject" resultType= "com.epmet.dto.extract.result.OrgStatisticsResultDTO" >
<select id= "getResolveProject" resultType= "com.epmet.dto.extract.result.OrgStatisticsResultDTO" >
SELECT
SELECT
a.AGENCY_ID,
da.ID,
a.count AS "sum",
SUM( sum ) AS "sum",
IFNULL(b.count,0) AS "count"
SUM( count ) AS "count"
FROM
FROM
(SELECT
dim_agency da
da.ID AS AGENCY_ID,
INNER JOIN (
COUNT( fm.ID ) AS "count"
SELECT
FROM
a.AGENCY_ID,
fact_origin_project_main_daily fm
a.PIDS,
INNER JOIN dim_agency da ON fm.PIDS LIKE CONCAT( '%', da.ID, '%' )
a.count AS "sum",
AND da.`LEVEL` = #{level}
IFNULL( b.count, 0 ) AS "count"
WHERE
FROM
fm.PROJECT_STATUS = 'closed'
(
AND fm.CUSTOMER_ID = #{customerId}
SELECT
AND fm.MONTH_ID = #{monthId}
AGENCY_ID,
GROUP BY
PIDS,
da.ID) a
COUNT( fm.ID ) AS "count"
LEFT JOIN
FROM
(SELECT
fact_origin_project_log_daily fm
da.ID AS AGENCY_ID,
WHERE
COUNT( fm.ID ) AS "count"
fm.DEL_FLAG = '0'
FROM
AND fm.ACTION_CODE = 'close'
fact_origin_project_main_daily fm
AND fm.CUSTOMER_ID = #{customerId}
INNER JOIN dim_agency da ON fm.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND fm.MONTH_ID = #{monthId}
AND da.`LEVEL` = #{level}
AND fm.IS_ACTIVE = 1
WHERE
GROUP BY
fm.PROJECT_STATUS = 'closed'
AGENCY_ID
AND fm.CUSTOMER_ID = #{customerId}
) a
AND fm.MONTH_ID = #{monthId}
LEFT JOIN (
AND fm.IS_RESOLVED = 'resolved'
SELECT
GROUP BY
log.AGENCY_ID,
da.ID) b
log.PIDS,
ON a.AGENCY_ID = b.AGENCY_ID
COUNT( log.PROJECT_ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN fact_origin_project_log_daily log ON log.PROJECT_ID = fm.ID
AND log.DEL_FLAG = '0'
AND log.ACTION_CODE = 'close'
AND log.CUSTOMER_ID = #{customerId}
AND log.MONTH_ID = #{monthId}
AND log.IS_ACTIVE = 1
WHERE
fm.DEL_FLAG = '0'
AND fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.IS_RESOLVED = 'resolved'
GROUP BY
log.AGENCY_ID
) b ON a.AGENCY_ID = b.AGENCY_ID
) a ON a.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.DEL_FLAG = '0'
AND da.`LEVEL` = #{level}
AND da.CUSTOMER_ID = #{customerId}
AND da.AGENCY_DIM_TYPE = 'all'
GROUP BY
da.ID
</select>
</select>
<select id= "getGridResolveProject" resultType= "com.epmet.dto.extract.result.OrgStatisticsResultDTO" >
<select id= "getGridResolveProject" resultType= "com.epmet.dto.extract.result.OrgStatisticsResultDTO" >
SELECT
SELECT
a.GRID_ID AS "orgId",
a.OR G_ID AS "orgId",
a.count AS "sum",
a.count AS "sum",
IFNULL(b.count,0) AS "count"
IFNULL( b.count, 0 ) AS "count"
FROM
FROM
(SELECT
(
fm.GRID_ID,
SELECT
COUNT( fm.ID ) AS "count"
fm.ORG_ID,
FROM
COUNT( fm.PROJECT_ID ) AS "count"
fact_origin_project_main_daily fm
FROM
WHERE
fact_origin_project_log_daily fm
fm.PROJECT_STATUS = 'closed'
WHERE
AND fm.GRID_ID != ''
fm.ACTION_CODE = 'close'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.CUSTOMER_ID = #{customerId}
AND fm.MONTH_ID = #{monthId}
AND fm.MONTH_ID = #{monthId}
GROUP BY
AND fm.ORG_TYPE = 'grid'
fm.GRID_ID) a
GROUP BY
LEFT JOIN
fm.ORG_ID
(SELECT
) a
fm.GRID_ID,
LEFT JOIN (
COUNT( fm.ID ) AS "count"
SELECT
FROM
log.ORG_ID,
fact_origin_project_main_daily fm
COUNT( log.PROJECT_ID ) AS "count"
WHERE
FROM
fm.PROJECT_STATUS = 'closed'
fact_origin_project_main_daily fm
AND fm.GRID_ID != ''
INNER JOIN fact_origin_project_log_daily log ON fm.ID = log.PROJECT_ID
AND fm.CUSTOMER_ID = #{customerId}
AND ACTION_CODE = 'close'
AND fm.MONTH_ID = #{monthId}
AND log.CUSTOMER_ID = #{customerId}
AND fm.IS_RESOLVED = 'resolved'
AND log.MONTH_ID = #{monthId}
GROUP BY
AND log.ORG_TYPE = 'grid'
fm.GRID_ID) b
WHERE
ON a.GRID_ID = b.GRID_ID
fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.IS_RESOLVED = 'resolved'
GROUP BY
log.ORG_ID
) b ON a.ORG_ID = b.ORG_ID
ORDER BY
a.ORG_ID
</select>
</select>
<select id= "getGridProjectCount" resultType= "com.epmet.dto.extract.result.OrgStatisticsResultDTO" >
<select id= "getGridProjectCount" resultType= "com.epmet.dto.extract.result.OrgStatisticsResultDTO" >
SELECT
SELECT
@ -885,42 +933,118 @@
GROUP BY
GROUP BY
da.ID) b
da.ID) b
ON a.AGENCY_ID = b.AGENCY_ID
ON a.AGENCY_ID = b.AGENCY_ID
SELECT
da.ID,
SUM( sum ) AS "sum",
SUM( count ) AS "count"
FROM
dim_agency da
INNER JOIN (
SELECT
fm.AGENCY_ID AS "orgId",
fm.PIDS,
COUNT( fm.PROJECT_ID ) AS "sum",
IFNULL( a.count, 0 ) AS "count"
FROM
fact_origin_project_log_daily fm
LEFT JOIN (
SELECT
orgId,
COUNT( PROJECT_ID ) AS "count"
FROM
(
SELECT
AGENCY_ID AS orgId,
PROJECT_ID
FROM
fact_origin_project_log_daily log
WHERE
DEL_FLAG = 0
AND CUSTOMER_ID = #{customerId}
AND ( ACTION_CODE = 'response' OR ACTION_CODE = 'close' OR ACTION_CODE = 'transfer' OR ACTION_CODE = 'created' )
AND EXISTS ( SELECT PROJECT_ID FROM fact_origin_project_log_daily WHERE DEL_FLAG = 0 AND ACTION_CODE = 'close' AND CUSTOMER_ID = #{customerId} AND DATE_ID < = #{dateId} AND log.PROJECT_ID = PROJECT_ID )
GROUP BY
PROJECT_ID
HAVING
COUNT(
DISTINCT ( ORG_ID )) = 1
) a
GROUP BY
orgId
) a ON fm.AGENCY_ID = a.orgId
WHERE
ACTION_CODE = 'close'
AND CUSTOMER_ID = #{customerId}
AND DATE_ID < = #{dateId}
GROUP BY
fm.AGENCY_ID
) a ON a.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.DEL_FLAG = '0'
AND da.`LEVEL` = #{level}
AND da.CUSTOMER_ID = #{customerId}
AND da.AGENCY_DIM_TYPE = 'all'
GROUP BY
da.ID
</select>
</select>
<select id= "getResolveProjectDaily" resultType= "com.epmet.dto.extract.result.OrgStatisticsResultDTO" >
<select id= "getResolveProjectDaily" resultType= "com.epmet.dto.extract.result.OrgStatisticsResultDTO" >
SELECT
SELECT
a.AGENCY_ID,
d a.ID,
a.count AS "sum",
SUM( sum ) AS "sum",
IFNULL(b.count,0) AS "count"
SUM( count ) AS "count"
FROM
FROM
(SELECT
dim_agency da
da.ID AS AGENCY_ID,
INNER JOIN (
COUNT( fm.ID ) AS "count"
SELECT
FROM
a.AGENCY_ID,
fact_origin_project_main_daily fm
a.PIDS,
INNER JOIN dim_agency da ON fm.PIDS LIKE CONCAT( '%', da.ID, '%' )
a.count AS "sum",
AND da.`LEVEL` = #{level}
IFNULL( b.count, 0 ) AS "count"
WHERE
FROM
fm.PROJECT_STATUS = 'closed'
(
AND fm.CUSTOMER_ID = #{customerId}
SELECT
AND fm.DATE_ID < = #{dateId}
AGENCY_ID,
GROUP BY
PIDS,
da.ID) a
COUNT( fm.ID ) AS "count"
LEFT JOIN
FROM
(SELECT
fact_origin_project_log_daily fm
da.ID AS AGENCY_ID,
WHERE
COUNT( fm.ID ) AS "count"
fm.DEL_FLAG = '0'
FROM
AND fm.ACTION_CODE = 'close'
fact_origin_project_main_daily fm
AND fm.CUSTOMER_ID = #{customerId}
INNER JOIN dim_agency da ON fm.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND fm.DATE_ID < = #{dateId}
AND da.`LEVEL` = #{level}
AND fm.IS_ACTIVE = 1
WHERE
GROUP BY
fm.PROJECT_STATUS = 'closed'
AGENCY_ID
AND fm.CUSTOMER_ID = #{customerId}
) a
AND fm.DATE_ID < = #{dateId}
LEFT JOIN (
AND fm.IS_RESOLVED = 'resolved'
SELECT
GROUP BY
log.AGENCY_ID,
da.ID) b
log.PIDS,
ON a.AGENCY_ID = b.AGENCY_ID
COUNT( log.PROJECT_ID ) AS "count"
FROM
fact_origin_project_main_daily fm
INNER JOIN fact_origin_project_log_daily log ON log.PROJECT_ID = fm.ID
AND log.DEL_FLAG = '0'
AND log.ACTION_CODE = 'close'
AND log.CUSTOMER_ID = #{customerId}
AND log.DATE_ID < = #{dateId}
AND log.IS_ACTIVE = 1
WHERE
fm.DEL_FLAG = '0'
AND fm.PROJECT_STATUS = 'closed'
AND fm.CUSTOMER_ID = #{customerId}
AND fm.IS_RESOLVED = 'resolved'
GROUP BY
log.AGENCY_ID
) b ON a.AGENCY_ID = b.AGENCY_ID
) a ON a.PIDS LIKE CONCAT( '%', da.ID, '%' )
AND da.DEL_FLAG = '0'
AND da.`LEVEL` = #{level}
AND da.CUSTOMER_ID = #{customerId}
AND da.AGENCY_DIM_TYPE = 'all'
GROUP BY
da.ID
</select>
</select>
<!-- 5、当前网格内:来源于议题的项目:结案已解决数、6、当前网格内:来源于议题的项目:结案无需解决数、7、当前网格内:项目立项,结案已解决数;默认为0、8、当前网格内:项目立项,结案无需解决数;默认为0、 -->
<!-- 5、当前网格内:来源于议题的项目:结案已解决数、6、当前网格内:来源于议题的项目:结案无需解决数、7、当前网格内:项目立项,结案已解决数;默认为0、8、当前网格内:项目立项,结案无需解决数;默认为0、 -->