INSERT INTO patrol_device_state_record (patrol_device_code, patrol_device_name, time, type, create_time) select patrol_device_code as patrol_device_code, patrol_device_name as patrol_device_name, now() as time,type as type,create_time as create_time from basedata_eqpbook where type != 12 and type != 20 and del_flag = 0 and patrol_device_code is not null -- //录像时长 UPDATE basedata_statis_nvr nvr, patrol_device_state_record record SET record.record_time = nvr.duration WHERE nvr.patrol_device_code = record.patrol_device_code AND DATE_FORMAT(record.time , '%Y-%m-%d' ) = DATE_FORMAT(CURRENT_DATE ()- 1 , '%Y-%m-%d') AND DATE_FORMAT(nvr.create_time , '%Y-%m-%d') = DATE_FORMAT(CURRENT_DATE ()- 1 , '%Y-%m-%d'); -- //在线时长、离线次数 UPDATE basedata_statis_robotuav_online_day nvr, patrol_device_state_record record SET record.online_time_sum = nvr.total_online_time, record.offline_count = nvr.offline_count WHERE nvr.patrol_device_code = record.patrol_device_code AND DATE_FORMAT( record.time , '%Y-%m-%d' ) = DATE_FORMAT( CURRENT_DATE ()- 1 , '%Y-%m-%d') AND DATE_FORMAT(nvr.create_time , '%Y-%m-%d') = DATE_FORMAT(CURRENT_DATE ()- 1 , '%Y-%m-%d'); -- //更新设备状态 UPDATE basedata_mont_patdevstadata nvr, patrol_device_state_record record SET record.state = nvr.`value` WHERE nvr.patrol_device_code = record.patrol_device_code AND DATE_FORMAT( record.time , '%Y-%m-%d' ) = DATE_FORMAT( CURRENT_DATE ()- 1 , '%Y-%m-%d') AND DATE_FORMAT(nvr.time , '%Y-%m-%d') = DATE_FORMAT(CURRENT_DATE ()- 1 , '%Y-%m-%d'); -- //更新任务是否执行 UPDATE patrol_device_state_record record, (SELECT (CASE COUNT (*) WHEN (COUNT (1) > 0) THEN 0 ELSE 1 END) AS task_state,record.patrol_device_code FROM patrol_task nvr, basedata_mont_taskstadata sta, patrol_device_state_record record WHERE find_in_set(nvr.dev_no,record.patrol_device_code) AND nvr.task_code = sta.task_code AND DATE_FORMAT( sta.create_time, '%Y-%m-%d' ) = DATE_FORMAT( CURRENT_DATE ()- 1, '%Y-%m-%d') AND DATE_FORMAT( record.time, '%Y-%m-%d' ) = DATE_FORMAT(CURRENT_DATE ()- 1, '%Y-%m-%d') GROUP BY record.patrol_device_code) aa set record.task_state = aa.task_state WHERE DATE_FORMAT( record.time , '%Y-%m-%d' ) = DATE_FORMAT(CURRENT_DATE ()- 1 , '%Y-%m-%d') AND record.patrol_device_code = aa.patrol_device_code; update basedata_eqpbook_channel channel_name = #{channelName}, online_state = #{onlineState}, where channel_id = #{channelId}