|
|
|
<?xml version="1.0" encoding="UTF-8" ?>
|
|
|
|
<!DOCTYPE mapper
|
|
|
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
|
<mapper namespace="com.zc.business.mapper.DcPerceivedEventsWarningMapper">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<select id="perceivedEventsWarningNum" resultType="java.lang.Integer">
|
|
|
|
select count(1) from dc_warning
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectEventTypeList" resultType="com.zc.business.domain.DcEventType">
|
|
|
|
select event_type, event_name from dc_event_type
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectPerceivedEventsList" resultType="com.zc.business.domain.DcWarning">
|
|
|
|
select `id`,`stake_mark_id`, `direction`,`dept_id`, `warning_state`,`warning_time`,`user_id`,
|
|
|
|
`warning_source`,`warning_level`, `remark`, `create_time`,`update_time`,`warning_type`,
|
|
|
|
`warning_subclass`,`warning_title`,`other_config` from dc_warning
|
|
|
|
<where>
|
|
|
|
<if test="warningType != null and warningType != ''"> and warning_type = #{warningType}</if>
|
|
|
|
<if test="warningSubclass != null and warningSubclass != ''"> and warning_subclass = #{warningSubclass}</if>
|
|
|
|
</where>
|
|
|
|
</select>
|
|
|
|
<select id="selectSectionPerceivedEventsList" resultType="hashmap">
|
|
|
|
SELECT COUNT(1) as number,section.section_name sectionName FROM dc_warning AS warning
|
|
|
|
LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark_id=mark.id
|
|
|
|
LEFT JOIN dc_road_section AS section ON mark.section_id=section.id
|
|
|
|
where DATE_FORMAT(warning.create_time,'%Y-%m-%d')=DATE_FORMAT(#{createTime},'%Y-%m-%d')
|
|
|
|
group by section.section_name
|
|
|
|
order by number desc
|
|
|
|
</select>
|
|
|
|
<select id="selectSectionPerceivedNumber" resultType="java.util.HashMap">
|
|
|
|
SELECT COUNT(1) as number,section.section_name sectionName FROM dc_warning AS warning
|
|
|
|
LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark_id=mark.id
|
|
|
|
LEFT JOIN dc_road_section AS section ON mark.section_id=section.id
|
|
|
|
where DATE_FORMAT(warning.create_time,'%Y-%m-%d')=DATE_FORMAT(#{createTime},'%Y-%m-%d')
|
|
|
|
group by section.section_name
|
|
|
|
</select>
|
|
|
|
<select id="selectDailyCumulative" resultType="java.util.HashMap">
|
|
|
|
SELECT DATE_FORMAT(create_time, '%Y-%m-%d %H') AS time, COUNT(*) AS number
|
|
|
|
FROM dc_warning
|
|
|
|
WHERE create_time >= CURDATE() AND create_time <![CDATA[<]]> CURDATE() + INTERVAL 1 DAY
|
|
|
|
GROUP BY time
|
|
|
|
ORDER BY time
|
|
|
|
</select>
|
|
|
|
<select id="selectDailyCumulativeMonth" resultType="java.util.HashMap">
|
|
|
|
SELECT DATE_FORMAT(create_time, '%Y-%m-%d %H') AS time, COUNT(*) AS number
|
|
|
|
FROM dc_warning
|
|
|
|
WHERE MONTH(create_time) = MONTH(CURDATE()) AND YEAR(create_time) = YEAR(CURDATE())
|
|
|
|
GROUP BY time
|
|
|
|
ORDER BY time;
|
|
|
|
</select>
|
|
|
|
<select id="selectWarningSourceGroup" resultType="java.util.HashMap">
|
|
|
|
SELECT warning_source warningSource,COUNT(*) AS number FROM dc_warning
|
|
|
|
where DATE_FORMAT(create_time,'%Y-%m-%d')=DATE_FORMAT(#{createTime},'%Y-%m-%d')
|
|
|
|
GROUP BY warning_source
|
|
|
|
</select>
|
|
|
|
<select id="selectWarningStateDay" resultType="java.util.HashMap">
|
|
|
|
SELECT warning_state warningState,COUNT(*) AS number FROM dc_warning
|
|
|
|
where DATE_FORMAT(create_time,'%Y-%m-%d')=DATE_FORMAT(#{createTime},'%Y-%m-%d')
|
|
|
|
GROUP BY warning_state
|
|
|
|
</select>
|
|
|
|
<select id="selectWarningTypeDay" resultType="java.util.HashMap">
|
|
|
|
SELECT warning_type warningType,COUNT(*) AS number FROM dc_warning
|
|
|
|
GROUP BY warning_type
|
|
|
|
ORDER BY number DESC
|
|
|
|
</select>
|
|
|
|
<select id="selectWarningTrendDay" resultType="java.util.HashMap">
|
|
|
|
SELECT DATE_FORMAT(warning.create_time, '%Y-%m-%d %H') AS time, COUNT(*) AS number
|
|
|
|
FROM dc_warning AS warning
|
|
|
|
LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark_id=mark.id
|
|
|
|
WHERE DATE_FORMAT(warning.create_time,'%Y-%m-%d')=DATE_FORMAT(#{createTime},'%Y-%m-%d')
|
|
|
|
AND mark.`section_id`=#{sectionId}
|
|
|
|
GROUP BY time
|
|
|
|
</select>
|
|
|
|
<select id="selectWarningTrendMonth" resultType="java.util.HashMap">
|
|
|
|
SELECT DATE(warning.create_time) AS DAY, COUNT(*) AS number
|
|
|
|
FROM dc_warning as warning
|
|
|
|
LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark_id=mark.id
|
|
|
|
WHERE DATE_FORMAT(warning.create_time,'%Y-%m') =DATE_FORMAT(#{createTime},'%Y-%m')
|
|
|
|
and mark.`section_id`=#{sectionId}
|
|
|
|
GROUP BY DAY
|
|
|
|
ORDER BY DAY
|
|
|
|
</select>
|
|
|
|
<select id="selectWarningTrendQuarter" resultType="java.util.HashMap">
|
|
|
|
SELECT
|
|
|
|
CASE
|
|
|
|
WHEN MONTH(warning.create_time) BETWEEN 1 AND 3 THEN '第一季度'
|
|
|
|
WHEN MONTH(warning.create_time) BETWEEN 4 AND 6 THEN '第二季度'
|
|
|
|
WHEN MONTH(warning.create_time) BETWEEN 7 AND 9 THEN '第三季度'
|
|
|
|
ELSE '第四季度'
|
|
|
|
END AS QUARTER,
|
|
|
|
MONTH(warning.create_time) AS MONTH,
|
|
|
|
COUNT(*) AS number
|
|
|
|
FROM dc_warning as warning
|
|
|
|
LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark_id=mark.id
|
|
|
|
WHERE YEAR(warning.create_time) =DATE_FORMAT(#{createTime},'%Y')
|
|
|
|
and mark.`section_id`=#{sectionId}
|
|
|
|
GROUP BY QUARTER, MONTH
|
|
|
|
ORDER BY QUARTER, MONTH;
|
|
|
|
|
|
|
|
</select>
|
|
|
|
<select id="selectWarningTrendYear" resultType="java.util.HashMap">
|
|
|
|
SELECT YEAR(warning.create_time) AS YEAR, COUNT(*) AS number
|
|
|
|
FROM dc_warning as warning
|
|
|
|
LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark_id=mark.id
|
|
|
|
where mark.`section_id`=#{sectionId}
|
|
|
|
GROUP BY YEAR
|
|
|
|
</select>
|
|
|
|
<select id="selectWarningSectionTypeDay" resultType="java.util.HashMap">
|
|
|
|
SELECT warning.warning_type warningType,COUNT(*) AS number
|
|
|
|
FROM dc_warning as warning
|
|
|
|
LEFT JOIN dc_stake_mark as mark on warning.stake_mark_id=mark.id
|
|
|
|
where DATE_FORMAT(warning.create_time,'%Y-%m-%d')=DATE_FORMAT(#{createTime},'%Y-%m-%d')
|
|
|
|
and mark.`section_id`=#{sectionId}
|
|
|
|
GROUP BY warning_type
|
|
|
|
ORDER BY number DESC
|
|
|
|
</select>
|
|
|
|
<select id="selectWarningSectionTypeMonth" resultType="java.util.HashMap">
|
|
|
|
SELECT warning.warning_type warningType,COUNT(*) AS number
|
|
|
|
FROM dc_warning as warning
|
|
|
|
LEFT JOIN dc_stake_mark as mark on warning.stake_mark_id=mark.id
|
|
|
|
where DATE_FORMAT(warning.create_time,'%Y-%m') =DATE_FORMAT(#{createTime},'%Y-%m')
|
|
|
|
and mark.`section_id`=#{sectionId}
|
|
|
|
GROUP BY warning_type
|
|
|
|
ORDER BY number DESC
|
|
|
|
</select>
|
|
|
|
<select id="selectWarningSectionTypeQuarter" resultType="java.util.HashMap">
|
|
|
|
SELECT
|
|
|
|
CASE
|
|
|
|
WHEN MONTH(warning.create_time) BETWEEN 1 AND 3 THEN '第一季度'
|
|
|
|
WHEN MONTH(warning.create_time) BETWEEN 4 AND 6 THEN '第二季度'
|
|
|
|
WHEN MONTH(warning.create_time) BETWEEN 7 AND 9 THEN '第三季度'
|
|
|
|
ELSE '第四季度'
|
|
|
|
END AS QUARTER,
|
|
|
|
warning.warning_type warningType,
|
|
|
|
COUNT(*) AS number
|
|
|
|
FROM dc_warning as warning
|
|
|
|
LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark_id=mark.id
|
|
|
|
WHERE YEAR(warning.create_time) =DATE_FORMAT(#{createTime},'%Y')
|
|
|
|
and mark.`section_id`=#{sectionId}
|
|
|
|
GROUP BY QUARTER, warningType
|
|
|
|
ORDER BY QUARTER;
|
|
|
|
</select>
|
|
|
|
<select id="selectWarningSectionTypeYear" resultType="java.util.HashMap">
|
|
|
|
SELECT warning.warning_type warningType, COUNT(*) AS number,
|
|
|
|
DATE_FORMAT(warning.create_time, '%Y') as createTime
|
|
|
|
FROM dc_warning as warning
|
|
|
|
LEFT JOIN dc_stake_mark AS mark ON warning.stake_mark_id=mark.id
|
|
|
|
where mark.`section_id`=#{sectionId}
|
|
|
|
GROUP BY warningType
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectSectionMark" resultType="java.util.HashMap">
|
|
|
|
SELECT id FROM dc_stake_mark AS mark WHERE mark.section_id=#{sectionId}
|
|
|
|
</select>
|
|
|
|
<select id="selectSectionNumber" resultType="java.lang.String">
|
|
|
|
select count(1) from dc_warning where stake_mark_id=#{stakeMarkId}
|
|
|
|
</select>
|
|
|
|
<select id="selectWarningEscalation" resultType="java.util.HashMap">
|
|
|
|
select org.organization_name,warning.warning_type,warning.warning_subclass,
|
|
|
|
warning_title,warning.warning_state,warning.
|
|
|
|
warning_source,DATE_FORMAT(warning.create_time,'%Y-%m-%d %H:%m:%s') createTime from dc_warning as warning
|
|
|
|
LEFT JOIN dc_stake_mark as mark on warning.stake_mark_id=mark.id
|
|
|
|
LEFT JOIN dc_organization as org on mark.id=org.stake_mark_id AND mark.direction=org.direction
|
|
|
|
<where>
|
|
|
|
<if test="warningState != null and warningState != ''"> and warning.warning_state = #{warningState}</if>
|
|
|
|
</where>
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
</mapper>
|