select
manage.id, manage.event_id, manage.publish_channels_id,
manage.title , manage.create_time,
manage.publish_status,event.create_time eventTime,event.direction,event.stake_mark,
event.event_type,event.event_subclass,event.event_state
from dc_publish_manage as manage
LEFT JOIN dc_event as event on event.id=manage.event_id
LEFT JOIN dc_event_traffic_control as traffic on event.id=traffic.id
select facility.facility_name,event.event_state,manage.publish_time, manage.create_time,
manage.id, manage.event_id, manage.publish_channels_id,
manage.title, manage.publish_channels , manage.publisher,
manage.publish_status, manage.content_details, manage.remark,
event.create_time eventTime
from dc_publish_manage as manage
LEFT JOIN dc_event as event on event.id=manage.event_id
LEFT JOIN dc_event_traffic_control as traffic on event.id=traffic.id
LEFT JOIN dc_facility as facility ON traffic.facility_id=facility.id
where manage.event_id=#{eventId}
manage.event_id is not null
and event.event_state = #{eventState}
and event.event_type = #{eventType}
and manage.publish_status = #{publishStatus}
and manage.create_time between #{startTime} and #{endTime}
and CAST(SUBSTRING(SUBSTRING_INDEX(event.stake_mark,'+',1),2)AS UNSIGNED)*1000
+CAST(SUBSTRING_INDEX(event.stake_mark, '+', -1) AS UNSIGNED)>=#{startStakeMark}
and CAST(SUBSTRING(SUBSTRING_INDEX(event.stake_mark,'+',1),2)AS UNSIGNED)*1000
+CAST(SUBSTRING_INDEX(event.stake_mark, '+', -1) AS UNSIGNED)<=#{endStakeMark}
GROUP BY manage.event_id
ORDER BY event.create_time desc
where id = #{id}
select event_type from dc_event where id=#{eventId}
select id,publish_channels from dc_publishing_channels where enabled=2 and data_category=#{dataCategory}
select
event.occurrence_time,event.direction,event.event_type,event.stake_mark,
manage.id, manage.event_id, manage.publish_channels_id,
manage.title, manage.publish_channels, manage.publisher,
manage.publish_time, manage.publish_status, manage.content_details, manage.remark,
manage.update_time, manage.create_time from dc_publish_manage as manage
LEFT JOIN dc_event as event on manage.event_id=event.id
insert into dc_publish_manage
event_id,
dept_id,
publish_channels_id,
title,
publish_channels,
isverify,
publisher,
auditor_1,
auditor_2,
audit_time_1,
audit_time_2,
audit_comment_1,
audit_comment_2,
publish_time,
publish_status,
content_details,
remark,
update_time,
create_time,
log_id,
#{eventId},
#{deptId},
#{publishChannelsId},
#{title},
#{publishChannels},
#{isverify},
#{publisher},
#{auditor1},
#{auditor2},
#{auditTime1},
#{auditTime2},
#{auditComment1},
#{auditComment2},
#{publishTime},
#{publishStatus},
#{contentDetails},
#{remark},
#{updateTime},
#{createTime},
#{logId},
update dc_publish_manage
event_id = #{eventId},
dept_id = #{deptId},
publish_channels_id = #{publishChannelsId},
title = #{title},
publish_channels = #{publishChannels},
isverify = #{isverify},
publisher = #{publisher},
auditor_1 = #{auditor1},
auditor_2 = #{auditor2},
audit_time_1 = #{auditTime1},
audit_time_2 = #{auditTime2},
audit_comment_1 = #{auditComment1},
audit_comment_2 = #{auditComment2},
publish_time = #{publishTime},
publish_status = #{publishStatus},
content_details = #{contentDetails},
remark = #{remark},
update_time = #{updateTime},
create_time = #{createTime},
log_id = #{logId},
where id = #{id}
delete from dc_publish_manage where id = #{id}
delete from dc_publish_manage where event_id = #{eventId}
delete from dc_publish_manage where id in
#{id}
DELETE FROM dc_dispatch_resource WHERE dispatch_id IN (
SELECT id FROM dc_dispatch WHERE event_id = #{eventId}
)
DELETE FROM dc_dispatch WHERE event_id = #{eventId}
SELECT
p.publish_channels publishChannels,
COALESCE(SUM(CASE WHEN m.publish_channels = p.publish_channels THEN 1 ELSE 0 END), 0) AS number
FROM (
SELECT 1 AS publish_channels UNION ALL
SELECT 2 AS publish_channels UNION ALL
SELECT 3 AS publish_channels UNION ALL
SELECT 4 AS publish_channels UNION ALL
SELECT 5 AS publish_channels UNION ALL
SELECT 6 UNION ALL
SELECT 7
) AS p
LEFT JOIN dc_publish_manage AS m ON p.publish_channels = m.publish_channels
AND DATE(m.publish_time) = CURDATE()
GROUP BY p.publish_channels
ORDER BY p.publish_channels;
SELECT h.eventType,
COALESCE(m.number, 0) AS number
FROM (
SELECT 1 AS eventType
UNION ALL
SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL
SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL
SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL
SELECT 11
) AS h
LEFT JOIN (
SELECT publish_channels ,dc_event.event_type eventType, COUNT(*)AS number
FROM dc_publish_manage
LEFT JOIN dc_event on dc_publish_manage.event_id=dc_event.id
where event_id is not NULL AND DATE(publish_time) = CURDATE()
GROUP BY eventType
) AS m ON h.eventType = m.eventType
ORDER BY h.eventType
SELECT h.hour,
pc.publish_channels publishChannels,
COALESCE(m.number, 0) AS number
FROM (
SELECT 0 AS hour
UNION ALL
SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL
SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL
SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL
SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL
SELECT 13 UNION ALL SELECT 14 UNION ALL SELECT 15 UNION ALL
SELECT 16 UNION ALL SELECT 17 UNION ALL SELECT 18 UNION ALL
SELECT 19 UNION ALL SELECT 20 UNION ALL SELECT 21 UNION ALL
SELECT 22 UNION ALL
SELECT 23
) AS h
CROSS JOIN (
SELECT 1 AS publish_channels
UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL
SELECT 5 UNION ALL SELECT 6 UNION ALL
SELECT 7
) AS pc
LEFT JOIN (
SELECT HOUR(publish_time) AS hour, publish_channels, COUNT(*)AS number
FROM dc_publish_manage
WHERE DATE(publish_time) = CURDATE()
GROUP BY HOUR(publish_time), publish_channels
) AS m ON h.hour = m.hour AND pc.publish_channels = m.publish_channels
ORDER BY h.hour, pc.publish_channels;
SELECT h.hour, pc.publish_channels publishChannels, COALESCE(m.number, 0) AS number
FROM (
SELECT 0 AS hour UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL
SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL
SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL
SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL
SELECT 13 UNION ALL SELECT 14 UNION ALL SELECT 15 UNION ALL
SELECT 16 UNION ALL SELECT 17 UNION ALL SELECT 18 UNION ALL
SELECT 19 UNION ALL SELECT 20 UNION ALL SELECT 21 UNION ALL
SELECT 22 UNION ALL SELECT 23
) AS h
CROSS JOIN (
SELECT 1 AS publish_channels UNION ALL
SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL
SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7
) AS pc
LEFT JOIN (
SELECT HOUR(publish_time) AS hour, publish_channels, COUNT(*) AS number
FROM dc_publish_manage
WHERE YEAR(publish_time) = YEAR(CURDATE())
AND MONTH(publish_time) = MONTH(#{publishTime})
GROUP BY HOUR(publish_time), publish_channels
) AS m ON h.hour = m.hour AND pc.publish_channels = m.publish_channels
ORDER BY h.hour, pc.publish_channels;
SELECT h.eventType,
pc.publish_channels publishChannels,
COALESCE(m.number, 0) AS number
FROM (
SELECT 1 AS eventType
UNION ALL
SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL
SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL
SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL
SELECT 11
) AS h
CROSS JOIN (
SELECT 1 AS publish_channels
UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL
SELECT 5 UNION ALL SELECT 6 UNION ALL
SELECT 7
) AS pc
LEFT JOIN (
SELECT publish_channels ,dc_event.event_type eventType, COUNT(*)AS number
FROM dc_publish_manage
LEFT JOIN dc_event on dc_publish_manage.event_id=dc_event.id
GROUP BY dc_event.event_type
) AS m ON h.eventType = m.eventType AND pc.publish_channels = m.publish_channels
ORDER BY h.eventType, pc.publish_channels;
SELECT h.eventType,
pc.publish_channels publishChannels,
COALESCE(m.number, 0) AS number
FROM (
SELECT 1 AS eventType
UNION ALL
SELECT 2 UNION ALL SELECT 3 UNION ALL
SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL
SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL
SELECT 10 UNION ALL
SELECT 11
) AS h
CROSS JOIN (
SELECT 1 AS publish_channels
UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL
SELECT 5 UNION ALL SELECT 6 UNION ALL
SELECT 7
) AS pc
LEFT JOIN (
SELECT publish_channels ,dc_event.event_type eventType, COUNT(*)AS number
FROM dc_publish_manage
left join dc_event on dc_publish_manage.event_id=dc_event.id
WHERE YEAR(publish_time) = YEAR(CURDATE())
AND MONTH(publish_time) = MONTH(#{publishTime})
GROUP BY HOUR(publish_time), publish_channels
) AS m ON h.eventType = m.eventType AND pc.publish_channels = m.publish_channels
ORDER BY h.eventType, pc.publish_channels;
select manage.id,IFNULL(event.stake_mark,log.dc_device_name)position,
manage.publisher,manage.publish_channels,manage.publish_status,manage.content_details,publish_time
from dc_publish_manage as manage
left join dc_event as event on event.id=manage.event_id
left join dc_oper_log as log on log.id=manage.log_id
and manage.publish_channels = #{publishChannels}
and manage.publish_status = #{publishStatus}
and manage.publish_time between #{startTime} and #{endTime}
ORDER BY publish_time desc