select id, imei, agri_name, user_id, alarm_status, install_time, location, remark, create_time, create_by, update_time, update_by, is_deleted from sys_agri_info
SELECT
agri.id,
agri.imei,
agri.agri_name,
agri.alarm_status,
agri.install_time,
agri.location,
agri.remark,
agri.create_time,
agri.create_by,
agri.update_time,
agri.update_by,
agri.is_deleted,
user_agri.user_id
FROM
sys_agri_info agri
LEFT JOIN sys_user_agri user_agri ON user_agri.agri_id = agri.imei
SELECT
agri.id,
agri.imei,
agri.agri_name,
agri.work_mode,
user_agri.user_id,
dtu_last.time,
dtu_last.ts,
dtu_last.temp1,
dtu_last.temp2,
dtu_last.temp3,
dtu_last.temp4
FROM
sys_agri_info agri
LEFT JOIN sys_user_agri user_agri ON user_agri.agri_id = agri.imei
and user_agri.user_id is null
LEFT JOIN (
SELECT
dtu.imei,
dtu.time,
dtu.ts,
dtu.temp1,
dtu.temp2,
dtu.temp3,
dtu.temp4,
ROW_NUMBER() OVER (PARTITION BY dtu.imei ORDER BY dtu.create_time DESC, dtu.id DESC) AS rn
FROM sys_dtu_data dtu
WHERE dtu.create_time >= DATE_SUB(NOW(), INTERVAL 1 HOUR)
) dtu_last ON dtu_last.imei = agri.imei AND dtu_last.rn = 1
insert into sys_agri_info
imei,
agri_name,
work_mode,
user_id,
alarm_status,
install_time,
location,
remark,
create_time,
create_by,
update_time,
update_by,
is_deleted,
#{imei},
#{agriName},
#{workMode},
#{userId},
#{alarmStatus},
#{installTime},
#{location},
#{remark},
#{createTime},
#{createBy},
#{updateTime},
#{updateBy},
#{isDeleted},
update sys_agri_info
imei = #{imei},
and work_mode = #{workMode}
agri_name = #{agriName},
user_id = #{userId},
alarm_status = #{alarmStatus},
install_time = #{installTime},
location = #{location},
remark = #{remark},
create_time = #{createTime},
create_by = #{createBy},
update_time = #{updateTime},
update_by = #{updateBy},
is_deleted = #{isDeleted},
where id = #{id}
delete from sys_agri_info where id = #{id}
delete from sys_agri_info where id in
#{id}