|
|
@ -92,29 +92,45 @@ |
|
|
|
COUNT( ID ) AS "count", |
|
|
|
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, '%') |
|
|
|
AND da.AGENCY_DIM_TYPE = 'all' |
|
|
|
AND da.`LEVEL` = #{level} |
|
|
|
AND da.CUSTOMER_ID = #{customerId} |
|
|
|
WHERE 1=1 |
|
|
|
AND f.MONTH_ID = #{monthId}) a |
|
|
|
LEFT JOIN ( |
|
|
|
SELECT |
|
|
|
PROJECT_ID, |
|
|
|
AVG( CASE ACTION_CODE WHEN 'bad' THEN 60 WHEN 'perfect' THEN 100 ELSE 80 END ) AS score |
|
|
|
FROM |
|
|
|
fact_origin_project_log_daily |
|
|
|
WHERE |
|
|
|
(ACTION_CODE = 'bad' |
|
|
|
OR ACTION_CODE = 'good' |
|
|
|
OR ACTION_CODE = 'perfect') |
|
|
|
AND CUSTOMER_ID = #{customerId} |
|
|
|
AND MONTH_ID = #{monthId} |
|
|
|
GROUP BY |
|
|
|
PROJECT_ID |
|
|
|
( |
|
|
|
SELECT |
|
|
|
f.ID, |
|
|
|
f.AGENCY_ID |
|
|
|
FROM |
|
|
|
fact_origin_project_main_daily f |
|
|
|
INNER JOIN dim_agency da ON f.PIDS LIKE concat( '%', da.ID, '%' ) |
|
|
|
AND da.AGENCY_DIM_TYPE = 'all' |
|
|
|
AND da.`LEVEL` = #{level} |
|
|
|
AND da.CUSTOMER_ID = #{customerId} |
|
|
|
INNER JOIN fact_origin_project_log_daily log ON f.ID = log.PROJECT_ID |
|
|
|
AND log.ACTION_CODE = 'close' |
|
|
|
AND log.DEL_FLAG = '0' |
|
|
|
AND log.CUSTOMER_ID = #{customerId} |
|
|
|
AND log.MONTH_ID = #{monthId} |
|
|
|
WHERE |
|
|
|
1 = 1 |
|
|
|
AND f.ORIGIN = 'issue' |
|
|
|
AND f.PROJECT_STATUS = 'closed' |
|
|
|
AND f.CUSTOMER_ID = #{customerId} |
|
|
|
) 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' ) |
|
|
|
AND l1.CUSTOMER_ID = #{customerId} |
|
|
|
GROUP BY |
|
|
|
PROJECT_ID |
|
|
|
) b ON a.ID = b.PROJECT_ID |
|
|
|
GROUP BY AGENCY_ID |
|
|
|
GROUP BY |
|
|
|
AGENCY_ID |
|
|
|
</select> |
|
|
|
<select id="selectDepTransferCount" resultType="com.epmet.dto.extract.result.OrgStatisticsResultDTO"> |
|
|
|
SELECT |
|
|
|