济菏高速数据中心代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

521 lines
26 KiB

<?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.DcEventMapper">
<resultMap type="com.zc.business.domain.DcEvent" id="DcEventResult">
<result property="id" column="id" />
<result property="deptId" column="dept_id" />
<result property="stakeMark" column="stake_mark" />
<result property="direction" column="direction" />
<result property="userId" column="user_id" />
<result property="startTime" column="start_time" />
<result property="endTime" column="end_time" />
<result property="estimatedEndTime" column="estimated_end_time" />
<result property="eventLevel" column="event_level" />
<result property="eventType" column="event_type" />
<result property="eventSubclass" column="event_subclass" />
<result property="eventCause" column="event_cause" />
<result property="description" column="description" />
<result property="eventState" column="event_state" />
<result property="eventSource" column="event_source" />
<result property="eventNature" column="event_nature" />
<result property="remark" column="remark" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="eventSourceTips" column="event_source_tips" />
<result property="stringEventType" column="stringEventType" />
<result property="stringEventSource" column="stringEventSource" />
</resultMap>
<resultMap type="com.zc.business.domain.DcEvent" id="DcEventResultById">
<result property="id" column="id" />
<result property="deptId" column="dept_id" />
<result property="stakeMark" column="stake_mark" />
<result property="direction" column="direction" />
<result property="userId" column="user_id" />
<result property="startTime" column="start_time" />
<result property="endTime" column="end_time" />
<result property="estimatedEndTime" column="estimated_end_time" />
<result property="eventLevel" column="event_level" />
<result property="eventType" column="event_type" />
<result property="eventSubclass" column="event_subclass" />
<result property="eventCause" column="event_cause" />
<result property="description" column="description" />
<result property="eventState" column="event_state" />
<result property="eventSource" column="event_source" />
<result property="eventNature" column="event_nature" />
<result property="remark" column="remark" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="eventSourceTips" column="event_source_tips" />
<result property="inTunnel" column="in_tunnel" />
<result property="eventName" column="event_name" />
<result property="nodeNode" column="node_node" />
<result property="commonPhrases" column="common_phrases" />
<result property="stringEventType" column="stringEventType" />
<result property="stringEventSource" column="stringEventSource" />
</resultMap>
<resultMap type="com.zc.business.domain.DcEvent" id="DcEventResultListAll">
<result property="id" column="id" />
<result property="deptId" column="dept_id" />
<result property="stakeMark" column="stake_mark" />
<result property="direction" column="direction" />
<result property="userId" column="user_id" />
<result property="startTime" column="start_time" />
<result property="endTime" column="end_time" />
<result property="estimatedEndTime" column="estimated_end_time" />
<result property="eventLevel" column="event_level" />
<result property="eventType" column="event_type" />
<result property="eventSubclass" column="event_subclass" />
<result property="eventCause" column="event_cause" />
<result property="description" column="description" />
<result property="eventState" column="event_state" />
<result property="eventSource" column="event_source" />
<result property="eventNature" column="event_nature" />
<result property="remark" column="remark" />
<result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" />
<result property="eventSourceTips" column="event_source_tips" />
<result property="inTunnel" column="in_tunnel" />
<result property="stringEventType" column="stringEventType" />
<result property="stringEventSource" column="stringEventSource" />
<!-- <result property="dcProcessConfig.processNode" column="process_node" />
<result property="dcProcessConfig.commonPhrases" column="common_phrases" />
<result property="dcProcessConfig.nodeNode" column="node_node" /> -->
<result property="dcEventMap.processNode" column="process_node"/>
<result property="dcEventMap.commonPhrases" column="common_phrases"/>
<result property="dcEventMap.nodeNode" column="node_node"/>
<result property="dcEventMap.dcDispatchId" column="dc_dispatch_id"/>
<result property="dcEventMap.organizationId" column="organization_id"/>
<result property="dcEventMap.dispatchName" column="dispatch_name"/>
<result property="dcEventMap.dispatchStatus" column="dispatch_status"/>
<result property="dcEventMap.dcDispatchRemark" column="dc_dispatch_remark"/>
<result property="dcEventMap.dcDispatchEndTime" column="dc_dispatch_end_time"/>
<result property="dcEventMap.dcDispatchStartTime" column="dc_dispatch_start_time"/>
<result property="dcEventMap.eventId" column="event_id"/>
<result property="dcEventMap.dcOrganizationId" column="dc_organization_id"/>
<result property="dcEventMap.parentId" column="parent_id"/>
<result property="dcEventMap.organizationType" column="organization_type"/>
<result property="dcEventMap.organizationName" column="organization_name"/>
<result property="dcEventMap.organizationAddress" column="organization_address"/>
<result property="dcEventMap.dcOrganizationStakeMarkId" column="dc_organization_stake_mark_id"/>
<result property="dcEventMap.dcOrganizationDescription" column="dc_organization_description"/>
<result property="dcEventMap.vehiclePlate" column="vehicle_plate"/>
<result property="dcEventMap.vehicleType" column="vehicle_type"/>
<result property="dcEventMap.vehicleStatus" column="vehicle_status"/>
<result property="dcEventMap.dcVehiclesRemark" column="dc_vehicles_remark"/>
<result property="dcEventMap.postId" column="post_id"/>
<result property="dcEventMap.name" column="name"/>
<result property="dcEventMap.contactNumber" column="contact_number"/>
</resultMap>
<!-- <sql id="selectDcEventVo">
select id, dept_id, stake_mark, direction, user_id, start_time, end_time, estimated_end_time, event_level, event_type, event_subclass, event_cause, description, event_state, event_source, event_nature, remark, create_time, update_time, event_source_tips, in_tunnel from dc_event
</sql> -->
<sql id="selectDcEventVo">
SELECT
id,
dept_id,
stake_mark,
direction,
user_id,
start_time,
end_time,
estimated_end_time,
event_level,
event_type,
CASE event_type
WHEN '1' THEN '交通事故'
WHEN '2' THEN '车辆故障'
WHEN '3' THEN '交通管制'
WHEN '4' THEN '交通拥堵'
WHEN '5' THEN '非法上路'
WHEN '6' THEN '路障清除'
WHEN '7' THEN '施工建设'
WHEN '8' THEN '服务区异常'
WHEN '9' THEN '设施设备隐患'
WHEN '10' THEN '异常天气'
WHEN '11' THEN '其他事件'
ELSE '其他'
END AS stringEventType,
CASE event_subclass
WHEN '1-1'THEN '追尾'
WHEN '1-2'THEN '侧翻'
WHEN '1-3'THEN '撞护栏'
WHEN '1-4'THEN '自然'
WHEN '1-5'THEN '其他事故'
WHEN '2-1'THEN '车辆故障'
WHEN '3-1'THEN '主线封闭和限行'
WHEN '3-2'THEN '收费站封闭和限行'
WHEN '3-3'THEN '立交封闭和限行'
WHEN '3-4'THEN '服务区封闭和限行'
WHEN '4-1'THEN '道路拥堵'
WHEN '4-2'THEN '立交拥堵'
WHEN '4-3'THEN '收费站拥堵'
WHEN '4-4'THEN '服务区拥堵'
WHEN '5-1'THEN '行人'
WHEN '5-2'THEN '非机动车'
WHEN '5-3'THEN '摩托车'
WHEN '5-4'THEN '其他'
WHEN '6-1'THEN '烟雾'
WHEN '6-2'THEN '倒伏树木'
WHEN '6-3'THEN '撒落物'
WHEN '6-4'THEN '动物'
WHEN '6-5'THEN '其他'
WHEN '7-1'THEN '道路养护施工'
WHEN '7-2'THEN '收费站养护施工'
WHEN '7-3'THEN '服务区养护施工'
WHEN '7-4'THEN '枢纽立交匝道养护施工'
WHEN '7-5'THEN '地方道路养护施工'
WHEN '7-6'THEN '道路工程建设施工'
WHEN '7-7'THEN '收费站工程建设施工'
WHEN '7-8'THEN '服务区工程建设施工'
WHEN '7-9' THEN '枢纽立交匝道工程建设施工'
WHEN '7-10' THEN'地方道路工程建设施工'
WHEN '8-1'THEN'封闭、暂停营业'
WHEN '8-2'THEN'重要设施停用'
WHEN '8-3'THEN'服务区其他异常'
WHEN '9-1'THEN'摄像机'
WHEN '9-2'THEN'护栏'
WHEN '9-3'THEN'隔离栅'
WHEN '9-4'THEN'情报板'
WHEN '9-5'THEN'防炫板'
WHEN '9-6'THEN'其他'
WHEN '10-1' THEN'雨'
WHEN '10-2' THEN'雪'
WHEN '10-3' THEN'雾'
WHEN '10-4' THEN'大风'
WHEN '10-5' THEN'低温寒潮'
WHEN '10-6' THEN'路面积雪'
WHEN '10-7' THEN'路面结冰'
WHEN '10-8' THEN'路面积水'
WHEN '10-9' THEN'其他'
WHEN '11-1' THEN'其他事件'
END AS event_subclass,
event_cause,
description,
event_state,
event_source,
CASE event_source
WHEN '1' THEN '96659'
WHEN '2' THEN '交警转接'
WHEN '3' THEN '道路巡查'
WHEN '4' THEN '视频巡查'
WHEN '5' THEN '视频AI'
WHEN '6' THEN '一键救援'
ELSE '其他'
END AS stringEventSource,
event_nature,
remark,
create_time,
update_time,
event_source_tips,
in_tunnel
FROM
dc_event </sql>
<sql id="selectDcEventVoListAll"> select dc_event.id AS id,
dc_event.stake_mark,
dc_event.direction,
dc_event.user_id,
dc_event.start_time,
dc_event.end_time,
dc_event.estimated_end_time,
dc_event.event_level,
dc_event.event_type AS event_type,
dc_event.event_subclass,
dc_event.event_cause,
dc_event.description,
dc_event.event_state,
dc_event.event_source,
dc_event.event_nature,
dc_event.remark,
dc_event.create_time,
dc_event.update_time,
dc_event.event_source_tips,
dc_event.in_tunnel,
dc_event_type.event_name AS event_name,
dc_process_config.node_node AS node_node,
dc_process_config.process_node AS process_node,
dc_process_config.common_phrases AS common_phrases,
dc_dispatch.id AS dc_dispatch_id,
dc_dispatch.organization_id,
dc_dispatch.dispatch_name,
dc_dispatch.dispatch_status,
dc_dispatch.remark AS dc_dispatch_remark,
dc_dispatch.end_time AS dc_dispatch_end_time,
dc_dispatch.start_time AS dc_dispatch_start_time,
dc_dispatch.event_id,
dc_organization.id AS dc_organization_id,
dc_organization.parent_id,
dc_organization.organization_type,
dc_organization.organization_name,
dc_organization.organization_address,
dc_organization.stake_mark_id AS dc_organization_stake_mark_id,
dc_organization.rescue_unit,
dc_organization.description AS dc_organization_description,
dc_vehicles.vehicle_plate,
dc_vehicles.vehicle_type,
dc_vehicles.vehicle_status,
dc_vehicles.remark AS dc_vehicles_remark,
dc_employees.post_id,
dc_employees.NAME,
dc_employees.contact_number FROM dc_event </sql>
<select id="selectDcEventList" parameterType="DcEvent" resultMap="DcEventResult">
<include refid="selectDcEventVo"/>
<where>
<if test="deptId != null "> and dept_id = #{deptId}</if>
<if test="stakeMark != null and stakeMark != ''"> and stake_mark BETWEEN #{stakeMark} and #{endStakeMark}</if>
<if test="direction != null and direction != ''"> and direction = #{direction}</if>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="startTime != null "> and start_time BETWEEN #{startTime} and #{endTime}</if>
<if test="estimatedEndTime != null "> and estimated_end_time = #{estimatedEndTime}</if>
<if test="eventLevel != null "> and event_level = #{eventLevel}</if>
<if test="eventType != null "> and event_type = #{eventType}</if>
<if test="eventSubclass != null and eventSubclass != ''"> and event_subclass = #{eventSubclass}</if>
<if test="eventCause != null and eventCause != ''"> and event_cause = #{eventCause}</if>
<if test="description != null and description != ''"> and description = #{description}</if>
<if test="eventState != null "> and event_state = #{eventState}</if>
<if test="eventSource != null "> and event_source = #{eventSource}</if>
<if test="eventNature != null "> and event_nature = #{eventNature}</if>
<if test="eventSourceTips != null and eventSourceTips != ''"> and event_source_tips = #{eventSourceTips}</if>
<if test="inTunnel != null "> and in_tunnel = #{inTunnel}</if>
</where>
</select>
<!-- 关联调度信息记录表 查询详情 -->
<!--
<select id="selectDcEventById" parameterType="String" resultMap="DcEventResultListAll">
<include refid="selectDcEventVoListAll"/>
LEFT JOIN dc_event_type ON dc_event.event_type = dc_event_type.event_type LEFT JOIN dc_process_config ON dc_event_type.event_type = dc_process_config.event_type
&#45;&#45; 关联调度信息记录表
LEFT JOIN dc_dispatch ON dc_event.id = dc_dispatch.event_id
&#45;&#45; 关联资源调度调度记录id关联 调度信息记录表的主键
LEFT JOIN dc_dispatch_resource ON dc_dispatch.id = dc_dispatch_resource.dispatch_id
&#45;&#45; 关联车辆
LEFT JOIN dc_vehicles ON dc_dispatch_resource.resource_id = dc_vehicles.id
&#45;&#45; 关联机构表
LEFT JOIN dc_organization ON dc_dispatch.organization_id = dc_organization.id
&#45;&#45; 关联人员信息表
LEFT JOIN dc_employees ON dc_dispatch_resource.resource_id = dc_employees.id
where dc_event.id = #{id}
</select>
-->
<!-- 事件详情 包含事件类型 节点-->
<select id="selectDcEventById" parameterType="String" resultMap="DcEventResultById">
/*详情可以调用事件处理流程*/
SELECT dc_event.id AS id,
dc_event.stake_mark,
dc_event.direction,
dc_event.user_id,
dc_event.start_time,
dc_event.end_time,
dc_event.estimated_end_time,
dc_event.event_level,
dc_event.event_type AS event_type,
CASE dc_event.event_type
WHEN '1' THEN '交通事故'
WHEN '2' THEN '车辆故障'
WHEN '3' THEN '交通管制'
WHEN '4' THEN '交通拥堵'
WHEN '5' THEN '非法上路'
WHEN '6' THEN '路障清除'
WHEN '7' THEN '施工建设'
WHEN '8' THEN '服务区异常'
WHEN '9' THEN '设施设备隐患'
WHEN '10' THEN '异常天气'
WHEN '11' THEN '其他事件'
ELSE '其他'
END AS stringEventType,
CASE dc_event.event_subclass
WHEN '1-1'THEN '追尾'
WHEN '1-2'THEN '侧翻'
WHEN '1-3'THEN '撞护栏'
WHEN '1-4'THEN '自然'
WHEN '1-5'THEN '其他事故'
WHEN '2-1'THEN '车辆故障'
WHEN '3-1'THEN '主线封闭和限行'
WHEN '3-2'THEN '收费站封闭和限行'
WHEN '3-3'THEN '立交封闭和限行'
WHEN '3-4'THEN '服务区封闭和限行'
WHEN '4-1'THEN '道路拥堵'
WHEN '4-2'THEN '立交拥堵'
WHEN '4-3'THEN '收费站拥堵'
WHEN '4-4'THEN '服务区拥堵'
WHEN '5-1'THEN '行人'
WHEN '5-2'THEN '非机动车'
WHEN '5-3'THEN '摩托车'
WHEN '5-4'THEN '其他'
WHEN '6-1'THEN '烟雾'
WHEN '6-2'THEN '倒伏树木'
WHEN '6-3'THEN '撒落物'
WHEN '6-4'THEN '动物'
WHEN '6-5'THEN '其他'
WHEN '7-1'THEN '道路养护施工'
WHEN '7-2'THEN '收费站养护施工'
WHEN '7-3'THEN '服务区养护施工'
WHEN '7-4'THEN '枢纽立交匝道养护施工'
WHEN '7-5'THEN '地方道路养护施工'
WHEN '7-6'THEN '道路工程建设施工'
WHEN '7-7'THEN '收费站工程建设施工'
WHEN '7-8'THEN '服务区工程建设施工'
WHEN '7-9' THEN '枢纽立交匝道工程建设施工'
WHEN '7-10' THEN'地方道路工程建设施工'
WHEN '8-1'THEN'封闭、暂停营业'
WHEN '8-2'THEN'重要设施停用'
WHEN '8-3'THEN'服务区其他异常'
WHEN '9-1'THEN'摄像机'
WHEN '9-2'THEN'护栏'
WHEN '9-3'THEN'隔离栅'
WHEN '9-4'THEN'情报板'
WHEN '9-5'THEN'防炫板'
WHEN '9-6'THEN'其他'
WHEN '10-1' THEN'雨'
WHEN '10-2' THEN'雪'
WHEN '10-3' THEN'雾'
WHEN '10-4' THEN'大风'
WHEN '10-5' THEN'低温寒潮'
WHEN '10-6' THEN'路面积雪'
WHEN '10-7' THEN'路面结冰'
WHEN '10-8' THEN'路面积水'
WHEN '10-9' THEN'其他'
WHEN '11-1' THEN'其他事件'
END AS event_subclass,
dc_event.event_cause,
dc_event.description,
dc_event.event_state,
CASE dc_event.event_source
WHEN '1' THEN '96659'
WHEN '2' THEN '交警转接'
WHEN '3' THEN '道路巡查'
WHEN '4' THEN '视频巡查'
WHEN '5' THEN '视频AI'
WHEN '6' THEN '一键救援'
ELSE '其他'
END AS stringEventSource,
dc_event.event_nature,
dc_event.remark,
dc_event.create_time,
dc_event.update_time,
dc_event.event_source_tips,
dc_event.in_tunnel,
dc_event_type.event_name AS event_name,
dc_process_config.node_node AS node_node,
dc_process_config.common_phrases as common_phrases
FROM dc_event
LEFT JOIN dc_process_config on dc_process_config.event_type = dc_event.event_type
LEFT JOIN dc_event_type ON dc_event_type.event_type = dc_process_config.event_type
where dc_event.id = #{id}
</select>
<insert id="insertDcEvent" parameterType="DcEvent">
insert into dc_event
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="deptId != null">dept_id,</if>
<if test="stakeMark != null and stakeMark != ''">stake_mark,</if>
<if test="direction != null and direction != ''">direction,</if>
<if test="userId != null">user_id,</if>
<if test="startTime != null">start_time,</if>
<if test="endTime != null">end_time,</if>
<if test="estimatedEndTime != null">estimated_end_time,</if>
<if test="eventLevel != null">event_level,</if>
<if test="eventType != null">event_type,</if>
<if test="eventSubclass != null">event_subclass,</if>
<if test="eventCause != null">event_cause,</if>
<if test="description != null">description,</if>
<if test="eventState != null">event_state,</if>
<if test="eventSource != null">event_source,</if>
<if test="eventNature != null">event_nature,</if>
<if test="remark != null">remark,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
<if test="eventSourceTips != null">event_source_tips,</if>
<if test="inTunnel != null">in_tunnel,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="deptId != null">#{deptId},</if>
<if test="stakeMark != null and stakeMark != ''">#{stakeMark},</if>
<if test="direction != null and direction != ''">#{direction},</if>
<if test="userId != null">#{userId},</if>
<if test="startTime != null">#{startTime},</if>
<if test="endTime != null">#{endTime},</if>
<if test="estimatedEndTime != null">#{estimatedEndTime},</if>
<if test="eventLevel != null">#{eventLevel},</if>
<if test="eventType != null">#{eventType},</if>
<if test="eventSubclass != null">#{eventSubclass},</if>
<if test="eventCause != null">#{eventCause},</if>
<if test="description != null">#{description},</if>
<if test="eventState != null">#{eventState},</if>
<if test="eventSource != null">#{eventSource},</if>
<if test="eventNature != null">#{eventNature},</if>
<if test="remark != null">#{remark},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="eventSourceTips != null">#{eventSourceTips},</if>
<if test="inTunnel != null">#{inTunnel},</if>
</trim>
</insert>
<update id="updateDcEvent" parameterType="DcEvent">
update dc_event
<trim prefix="SET" suffixOverrides=",">
<if test="deptId != null">dept_id = #{deptId},</if>
<if test="stakeMark != null and stakeMark != ''">stake_mark = #{stakeMark},</if>
<if test="direction != null and direction != ''">direction = #{direction},</if>
<if test="userId != null">user_id = #{userId},</if>
<if test="startTime != null">start_time = #{startTime},</if>
<if test="endTime != null">end_time = #{endTime},</if>
<if test="estimatedEndTime != null">estimated_end_time = #{estimatedEndTime},</if>
<if test="eventLevel != null">event_level = #{eventLevel},</if>
<if test="eventType != null">event_type = #{eventType},</if>
<if test="eventSubclass != null">event_subclass = #{eventSubclass},</if>
<if test="eventCause != null">event_cause = #{eventCause},</if>
<if test="description != null">description = #{description},</if>
<if test="eventState != null">event_state = #{eventState},</if>
<if test="eventSource != null">event_source = #{eventSource},</if>
<if test="eventNature != null">event_nature = #{eventNature},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="eventSourceTips != null">event_source_tips = #{eventSourceTips},</if>
<if test="inTunnel != null">in_tunnel = #{inTunnel},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteDcEventById" parameterType="String">
delete from dc_event where id = #{id}
</delete>
<delete id="deleteDcEventByIds" parameterType="String">
delete from dc_event where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
<!--
调度记录-事件列表 按时间展示交通事件。默认当天时间 。可查询条件 交通事件状态 ,时间范围
-->
<select id="selectDispatchEventList" resultMap="DcEventResult" parameterType="DcEvent">
<include refid="selectDcEventVo"/>
<where>
<if test="startTime == null and eventState == null">DATE(dc_event.start_time) = CURDATE()</if>
<if test="eventState != null "> and event_state = #{eventState}</if>
<if test="startTime != null "> and start_time BETWEEN #{startTime} and #{endTime} </if>
</where>
</select>
</mapper>