<?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" />
<result property= "stringEventState" column= "stringEventState" />
<result property= "nickName" column= "nickName" />
<result property= "roadId" column= "road_id" />
<result property= "lang" column= "lang" />
<result property= "eventTitle" column= "event_title" />
<result property= "occurrenceTime" column= "occurrence_time" />
<result property= "isPerceived" column= "is_perceived" />
</resultMap>
<resultMap type= "map" id= "countMap" >
<result property= "status" column= "status" />
<result property= "count" column= "count" />
</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= "roadId" column= "road_id" />
<result property= "occurrenceTime" column= "occurrence_time" />
<result property= "eventTitle" column= "event_title" />
<result property= "commonPhrases" column= "common_phrases" />
<result property= "stringEventType" column= "stringEventType" />
<result property= "stringEventSource" column= "stringEventSource" />
<result property= "stringEventState" column= "stringEventState" />
<result property= "nickName" column= "nickName" />
<result property= "lang" column= "lang" />
<result property= "roadName" column= "road_name" />
<result property= "organizationName" column= "organization_name" />
<result property= "isPerceived" column= "is_perceived" />
<result property= "subclass" column= "subclass" />
</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.dcOrganizationStakeMark" column= "dc_organization_stake_mark" />
<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,
dc_event.dept_id as dept_id,
sys_dept.dept_name,
stake_mark,
CASE direction
WHEN '1' THEN '菏泽方向'
WHEN '3' THEN '济南方向'
END AS direction,
dc_event.user_id as user_id,
sys_user.nick_name as nickName,
start_time,
end_time,
estimated_end_time,
event_level,
event_type,
event_title,
is_perceived,
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,
dc_event.event_state,
CASE dc_event.event_state
WHEN '0' THEN '待确认'
WHEN '1' THEN '处理中'
WHEN '2' THEN '已完成'
WHEN '3' THEN '已撤销'
END AS stringEventState,
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,
dc_event.remark as remark,
dc_event.create_time as create_time,
dc_event.update_time as update_time,
event_source_tips,
occurrence_time,
in_tunnel,
road_id,
lang
FROM
dc_event
LEFT JOIN sys_user on dc_event.user_id = sys_user.user_id
LEFT JOIN sys_dept on dc_event.dept_id = sys_dept.dept_id
</sql>
<sql id= "selectDcEventVoListAll" > select dc_event.id AS id,
dc_event.stake_mark,
dc_event.direction,
dc_event.is_perceived,
dc_event.user_id,
dc_event.start_time,
dc_event.end_time,
dc_event.occurrence_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.road_id,
dc_event.event_title,
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 AS dc_organization_stake_mark,
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>
<if test= "isPerceived != null " > and is_perceived = #{isPerceived}</if>
</where>
ORDER BY create_time desc
</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
- - 关联调度信息记录表
LEFT JOIN dc_dispatch ON dc_event.id = dc_dispatch.event_id
- - 关联资源调度调度记录id关联 调度信息记录表的主键
LEFT JOIN dc_dispatch_resource ON dc_dispatch.id = dc_dispatch_resource.dispatch_id
- - 关联车辆
LEFT JOIN dc_vehicles ON dc_dispatch_resource.resource_id = dc_vehicles.id
- - 关联机构表
LEFT JOIN dc_organization ON dc_dispatch.organization_id = dc_organization.id
- - 关联人员信息表
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,
CASE dc_event.direction
WHEN '1' THEN '菏泽方向'
WHEN '3' THEN '济南方向'
END AS direction,
dc_event.user_id,
dc_event.is_perceived,
dc_event.user_id as user_id,
sys_user.nick_name as nickName,
dc_event.start_time,
dc_event.end_time,
dc_event.estimated_end_time,
dc_event.event_level,
dc_event.event_title,
dc_event.occurrence_time,
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_subclass AS subclass,
dc_event.event_cause,
dc_event.description,
dc_event.event_state,
CASE dc_event.event_state
WHEN '0' THEN '待确认'
WHEN '1' THEN '处理中'
WHEN '2' THEN '已完成'
WHEN '3' THEN '已撤销'
END AS stringEventState,
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.lang as lang,
dc_event_type.event_name AS event_name,
sys_dept.dept_name as organization_name,
dc_road.road_name as road_name
FROM dc_event
LEFT JOIN dc_event_type ON dc_event_type.event_type = dc_event.event_type
LEFT JOIN sys_dept ON dc_event.dept_id = sys_dept.dept_id
LEFT JOIN dc_road ON dc_event.road_id = dc_road.id
LEFT JOIN sys_user on dc_event.user_id = sys_user.user_id
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>
<if test= "roadId != null" > road_id,</if>
<if test= "lang != null" > lang,</if>
<if test= "eventTitle != null" > event_title,</if>
<if test= "occurrenceTime != null" > occurrence_time,</if>
<if test= "isPerceived != null" > is_perceived,</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>
<if test= "roadId != null" > #{roadId},</if>
<if test= "lang != null" > #{lang},</if>
<if test= "eventTitle != null" > #{eventTitle},</if>
<if test= "occurrenceTime != null" > #{occurrenceTime},</if>
<if test= "isPerceived != null" > #{isPerceived},</if>
</trim>
</insert>
<insert id= "batchInsertDcEvent" useGeneratedKeys= "true" keyProperty= "id" >
<foreach collection = "list" item= "dcEvent" index= "index" separator = ";" >
insert into dc_event
<trim prefix= "(" suffix= ")" suffixOverrides= "," >
<if test= "dcEvent.id != null" > id,</if>
<if test= "dcEvent.deptId != null" > dept_id,</if>
<if test= "dcEvent.stakeMark != null and dcEvent.stakeMark != ''" > stake_mark,</if>
<if test= "dcEvent.direction != null and dcEvent.direction != ''" > direction,</if>
<if test= "dcEvent.userId != null" > user_id,</if>
<if test= "dcEvent.startTime != null" > start_time,</if>
<if test= "dcEvent.endTime != null" > end_time,</if>
<if test= "dcEvent.estimatedEndTime != null" > estimated_end_time,</if>
<if test= "dcEvent.eventLevel != null" > event_level,</if>
<if test= "dcEvent.eventType != null" > event_type,</if>
<if test= "dcEvent.eventSubclass != null" > event_subclass,</if>
<if test= "dcEvent.eventCause != null" > event_cause,</if>
<if test= "dcEvent.description != null" > description,</if>
<if test= "dcEvent.eventState != null" > event_state,</if>
<if test= "dcEvent.eventSource != null" > event_source,</if>
<if test= "dcEvent.eventNature != null" > event_nature,</if>
<if test= "dcEvent.remark != null" > remark,</if>
<if test= "dcEvent.createTime != null" > create_time,</if>
<if test= "dcEvent.updateTime != null" > update_time,</if>
<if test= "dcEvent.eventSourceTips != null" > event_source_tips,</if>
<if test= "dcEvent.inTunnel != null" > in_tunnel,</if>
<if test= "dcEvent.roadId != null" > road_id,</if>
<if test= "dcEvent.lang != null" > lang,</if>
<if test= "dcEvent.eventTitle != null" > event_title,</if>
<if test= "dcEvent.occurrenceTime != null" > occurrence_time,</if>
<if test= "dcEvent.isPerceived != null" > is_perceived,</if>
</trim>
<trim prefix= "values (" suffix= ")" suffixOverrides= "," >
<if test= "dcEvent.id != null" > #{dcEvent.id},</if>
<if test= "dcEvent.deptId != null" > #{dcEvent.deptId},</if>
<if test= "dcEvent.stakeMark != null and dcEvent.stakeMark != ''" > #{dcEvent.stakeMark},</if>
<if test= "dcEvent.direction != null and dcEvent.direction != ''" > #{dcEvent.direction},</if>
<if test= "dcEvent.userId != null" > #{dcEvent.userId},</if>
<if test= "dcEvent.startTime != null" > #{dcEvent.startTime},</if>
<if test= "dcEvent.endTime != null" > #{dcEvent.endTime},</if>
<if test= "dcEvent.estimatedEndTime != null" > #{dcEvent.estimatedEndTime},</if>
<if test= "dcEvent.eventLevel != null" > #{dcEvent.eventLevel},</if>
<if test= "dcEvent.eventType != null" > #{dcEvent.eventType},</if>
<if test= "dcEvent.eventSubclass != null" > #{dcEvent.eventSubclass},</if>
<if test= "dcEvent.eventCause != null" > #{dcEvent.eventCause},</if>
<if test= "dcEvent.description != null" > #{dcEvent.description},</if>
<if test= "dcEvent.eventState != null" > #{dcEvent.eventState},</if>
<if test= "dcEvent.eventSource != null" > #{dcEvent.eventSource},</if>
<if test= "dcEvent.eventNature != null" > #{dcEvent.eventNature},</if>
<if test= "dcEvent.remark != null" > #{dcEvent.remark},</if>
<if test= "dcEvent.createTime != null" > #{dcEvent.createTime},</if>
<if test= "dcEvent.updateTime != null" > #{dcEvent.updateTime},</if>
<if test= "dcEvent.eventSourceTips != null" > #{dcEvent.eventSourceTips},</if>
<if test= "dcEvent.inTunnel != null" > #{dcEvent.inTunnel},</if>
<if test= "dcEvent.roadId != null" > #{dcEvent.roadId},</if>
<if test= "dcEvent.lang != null" > #{dcEvent.lang},</if>
<if test= "dcEvent.eventTitle != null" > #{dcEvent.eventTitle},</if>
<if test= "dcEvent.occurrenceTime != null" > #{dcEvent.occurrenceTime},</if>
<if test= "dcEvent.isPerceived != null" > #{dcEvent.isPerceived},</if>
</trim>
</foreach>
</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>
<if test= "roadId != null" > road_id = #{roadId},</if>
<if test= "lang != null" > road_id = #{lang},</if>
<if test= "eventTitle != null" > event_title = #{eventTitle},</if>
<if test= "occurrenceTime != null" > occurrence_time = #{occurrenceTime},</if>
<if test= "isPerceived != null" > is_perceived = #{isPerceived},</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>
<select id= "selectCount" resultMap= "countMap" resultType= "map" >
SELECT
s.status,
COALESCE(t.count, 0) AS count
FROM (
SELECT 0 AS event_state, 'state0Count' AS status UNION ALL
SELECT 1 AS event_state, 'state1Count' AS status UNION ALL
SELECT 2 AS event_state, 'state2Count' AS status UNION ALL
SELECT 3 AS event_state, 'state3Count' AS status
) s
LEFT JOIN (
SELECT event_state, COUNT(*) AS count
FROM dc_event
GROUP BY event_state
) t ON s.event_state = t.event_state;
</select>
<select id= "getProcessNode" resultType= "java.util.Map" >
select t2.node_node,t2.process_node,t3.operation_time,
case when ISNULL(t3.id) then '0' else '1' end status
from dc_event t1
LEFT JOIN dc_process_config t2 on t1.event_type = t2.event_type
left join dc_event_process t3 on t2.node_node = t3.process_id and t3.process_type = '1'
where t1.id = #{eventId}
</select>
<update id= "updateDcEventState" parameterType= "string" >
update dc_event
<trim prefix= "SET" suffixOverrides= "," >
<if test= "state != null" > event_state = #{state},</if>
</trim>
where id = #{id}
</update>
<update id= "completeEvent" >
update dc_event set end_time = now(),event_state = '2'
where id = #{eventId}
</update>
</mapper>