LEFT JOIN fact_origin_project_log_daily ld ON (ld.PROJECT_ID = md.ID AND ld.DEL_FLAG = 0 AND ld.CUSTOMER_ID = #{customerId} AND ld.ACTION_CODE IN( 'bad','good', 'perfect'))
WHERE md.DEL_FLAG = 0
AND md.ORIGIN = 'issue'
AND md.PROJECT_STATUS = 'closed'
AND md.CUSTOMER_ID = #{customerId}
AND md.MONTH_ID = #{monthId}
</select>
</select>
<!-- 网格项目自治率查询 -->
<!-- 网格项目自治率查询 -->
@ -92,29 +105,45 @@
COUNT( ID ) AS "count",
COUNT( ID ) AS "count",
SUM( IFNULL( b.score, 80 ) ) AS "ratio"
SUM( IFNULL( b.score, 80 ) ) AS "ratio"
FROM
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, '%')
SELECT
AND da.AGENCY_DIM_TYPE = 'all'
f.ID,
AND da.`LEVEL` = #{level}
f.AGENCY_ID
AND da.CUSTOMER_ID = #{customerId}
FROM
WHERE 1=1
fact_origin_project_main_daily f
AND f.MONTH_ID = #{monthId}) a
INNER JOIN dim_agency da ON f.PIDS LIKE concat( '%', da.ID, '%' )
LEFT JOIN (
AND da.AGENCY_DIM_TYPE = 'all'
SELECT
AND da.`LEVEL` = #{level}
PROJECT_ID,
AND da.CUSTOMER_ID = #{customerId}
AVG( CASE ACTION_CODE WHEN 'bad' THEN 60 WHEN 'perfect' THEN 100 ELSE 80 END ) AS score
INNER JOIN fact_origin_project_log_daily log ON f.ID = log.PROJECT_ID
FROM
AND log.ACTION_CODE = 'close'
fact_origin_project_log_daily
AND log.DEL_FLAG = '0'
WHERE
AND log.CUSTOMER_ID = #{customerId}
(ACTION_CODE = 'bad'
AND log.MONTH_ID = #{monthId}
OR ACTION_CODE = 'good'
WHERE
OR ACTION_CODE = 'perfect')
1 = 1
AND CUSTOMER_ID = #{customerId}
AND f.ORIGIN = 'issue'
AND MONTH_ID = #{monthId}
AND f.PROJECT_STATUS = 'closed'
GROUP BY
AND f.CUSTOMER_ID = #{customerId}
PROJECT_ID
) a
LEFT JOIN (
SELECT
l1.PROJECT_ID,
AVG( CASE l1.ACTION_CODE WHEN 'bad' THEN 60 WHEN 'perfect' THEN 100 ELSE 80 END ) AS score
FROM
fact_origin_project_log_daily l1
INNER JOIN fact_origin_project_log_daily l2 ON l1.PROJECT_ID = l2.PROJECT_ID
AND l2.ACTION_CODE = 'close'
AND l2.MONTH_ID = #{monthId}
AND l2.CUSTOMER_ID = #{customerId}
WHERE
( l1.ACTION_CODE = 'bad' OR l1.ACTION_CODE = 'good' OR l1.ACTION_CODE = 'perfect' )