LEFT JOIN amos_mcb.mcb_warning_base_source_attribution source ON source.CODE = question.SOURCE_ATTRIBUTION
QUESTION_NUM
FROM
amos_mcb.mcb_warning_warning_info
WHERE
mcb_warning_warning_info.PROCESSING_STATUS = 2
AND QUESTION_NUM IS NOT NULL
AND mcb_warning_warning_info.WARNING_SOURCE_TYPE_CODE IN ( SELECT CODE FROM amos_mcb.mcb_data_dictionary WHERE remark = 'OVERVIEW' )
) warnNum LEFT join amos_mcb.mcb_warning_question_info question on question.NUM = warnNum.QUESTION_NUM
LEFT JOIN amos_mcb.mcb_warning_base_source_attribution source ON source.CODE = question.SOURCE_ATTRIBUTION
<where>
<where>
<iftest="projectOrgCodes != null and projectOrgCodes.size() > 0">
<iftest="projectOrgCodes != null and projectOrgCodes.size() > 0">
AND question.SOURCE_ATTRIBUTION IN
AND question.SOURCE_ATTRIBUTION IN
...
@@ -185,6 +257,93 @@
...
@@ -185,6 +257,93 @@
<iftest="completionStatus != null">
<iftest="completionStatus != null">
AND question.COMPLETION_STATUS = #{completionStatus}
AND question.COMPLETION_STATUS = #{completionStatus}
</if>
</if>
<iftest="startTime != null and startTime != ''">
AND question.CREATE_DATE >= concat(#{startTime}, ' 00:00:00')
</if>
<iftest="endTime != null and endTime != ''">
AND question.CREATE_DATE <= concat(#{endTime}, ' 23:59:59')
</if>
</where>
</where>
</select>
</select>
<selectid="stationOverNum"resultType="map">
WITH
SubQuery AS (
SELECT
SOURCE_ATTRIBUTION,
SUM(IFNULL(RPN, 0)) AS totalRPN,
COUNT(SEQUENCE_NBR) AS todayAlarm
FROM
amos_mcb.mcb_warning_warning_info
WHERE
date(CREATE_DATE) = CURRENT_DATE and mcb_warning_warning_info.WARNING_SOURCE_TYPE_CODE in (select code FROM amos_mcb.mcb_data_dictionary WHERE remark = 'OVERVIEW')
GROUP BY
SOURCE_ATTRIBUTION
)
SELECT
a.SEQUENCE_NBR AS sequenceNbr,
COALESCE(a.NAME, '') AS `name`,
COALESCE(a.CODE, '') AS `code`,
COALESCE(a.PARENT_ID, '') AS parentId,
COALESCE(a.LONGITUDE, '') AS longitude,
COALESCE(a.LATITUDE, '') AS latitude,
COALESCE(a.PROVINCE, '') AS province,
COALESCE(a.LINK_SOURCE_ATTRIBUTION_ID, '') AS linkSourceAttributionId,
COALESCE(a.MAP_URL, '') AS mapUrl,
COALESCE(sq.totalRPN / NULLIF(COUNT(b.SOURCE_ATTRIBUTION), 0), 0) AS rpn,
IFNULL(sq.todayAlarm,0) as todayAlarm
FROM
amos_mcb.mcb_warning_base_source_attribution a
LEFT JOIN
SubQuery sq ON a.CODE = sq.SOURCE_ATTRIBUTION
LEFT JOIN
amos_mcb.mcb_warning_warning_info b ON a.CODE = b.SOURCE_ATTRIBUTION AND date(b.CREATE_DATE) = CURRENT_DATE