| | |
| | | |
| | | |
| | | <select id="selectFwDroneFlightRecordPage" resultMap="fwDroneFlightRecordResultMap"> |
| | | select * from ja_fw_drone_flight_record |
| | | select |
| | | dfr.* |
| | | from |
| | | ja_fw_drone_flight_record dfr |
| | | left join |
| | | /* 修改点1:双向转型对齐 */ |
| | | ja_fw_device d on dfr.device_id::text = d.id::text |
| | | <where> |
| | | is_deleted = 0 |
| | | <if test="param2.id != null and param2.id != ''"> |
| | | and id = #{param2.id} |
| | | dfr.is_deleted = 0 |
| | | and d.track_status = 1 |
| | | and d.is_enabled = 1 |
| | | <if test="param2.regionCode != null and param2.regionCode != ''"> |
| | | and (d.final_outbound_area_code like CONCAT(#{param2.regionCode}, '%') |
| | | <if test="param2.currentDeptId != null and param2.currentDeptId != '' "> |
| | | /* 修改点2:dfr.device_id 转 text 以匹配子查询,参数加 ::bigint */ |
| | | or dfr.device_id::text in ( |
| | | SELECT device_id::text FROM ja_fw_device_per_share |
| | | WHERE loan_to_dept_id = #{param2.currentDeptId}::bigint |
| | | AND is_deleted = 0 |
| | | ) |
| | | </if> |
| | | ) |
| | | </if> |
| | | <if test="param2.deviceId != null and param2.deviceId != ''"> |
| | | and device_id = #{param2.deviceId} |
| | | /* 修改点3:过滤条件参数对齐 */ |
| | | and dfr.device_id::text = #{param2.deviceId}::text |
| | | </if> |
| | | <if test="param2.droneName != null and param2.droneName != ''"> |
| | | and drone_name = #{param2.droneName} |
| | | and dfr.drone_name like CONCAT('%', #{param2.droneName}, '%') |
| | | </if> |
| | | <if test="param2.serialNo != null and param2.serialNo != ''"> |
| | | and serial_no = #{param2.serialNo} |
| | | and dfr.serial_no = #{param2.serialNo} |
| | | </if> |
| | | <if test="param2.alarmTime != null and param2.alarmTime != ''"> |
| | | and alarm_time = #{param2.alarmTime} |
| | | and dfr.alarm_time = #{param2.alarmTime} |
| | | </if> |
| | | <if test="param2.triggerType != null and param2.triggerType != ''"> |
| | | and trigger_type = #{param2.triggerType} |
| | | and dfr.trigger_type = #{param2.triggerType} |
| | | </if> |
| | | <if test="param2.stayDuration != null and param2.stayDuration != ''"> |
| | | and stay_duration = #{param2.stayDuration} |
| | | and dfr.stay_duration = #{param2.stayDuration} |
| | | </if> |
| | | <if test="param2.areaCode != null and param2.areaCode != ''"> |
| | | and area_code = #{param2.areaCode} |
| | | and dfr.area_code = #{param2.areaCode} |
| | | </if> |
| | | <if test="param2.createUser != null and param2.createUser != ''"> |
| | | and create_user = #{param2.createUser} |
| | | <if test="param2.startTime != null and param2.startTime != '' and param2.endTime != null and param2.endTime != ''"> |
| | | and dfr.alarm_time BETWEEN #{param2.startTime}::timestamp AND #{param2.endTime}::timestamp |
| | | </if> |
| | | <if test="param2.createDept != null and param2.createDept != ''"> |
| | | and create_dept = #{param2.createDept} |
| | | <if test="param2.deviceType != null and param2.deviceType != ''"> |
| | | and dfr.device_type = #{param2.deviceType} |
| | | </if> |
| | | <if test="param2.createTime != null and param2.createTime != ''"> |
| | | and create_time = #{param2.createTime} |
| | | </if> |
| | | <if test="param2.updateUser != null and param2.updateUser != ''"> |
| | | and update_user = #{param2.updateUser} |
| | | </if> |
| | | <if test="param2.updateTime != null and param2.updateTime != ''"> |
| | | and update_time = #{param2.updateTime} |
| | | </if> |
| | | <if test="param2.status != null and param2.status != ''"> |
| | | and status = #{param2.status} |
| | | </if> |
| | | <if test="param2.isDeleted != null and param2.isDeleted != ''"> |
| | | and is_deleted = #{param2.isDeleted} |
| | | <if test="param2.areaName != null and param2.areaName != ''"> |
| | | and dfr.area_name like CONCAT('%', #{param2.areaName}, '%') |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | |
| | | <select id="exportFwDroneFlightRecord" resultType="org.sxkj.fw.record.excel.FwDroneFlightRecordExcel"> |
| | | SELECT * FROM ja_fw_drone_flight_record ${ew.customSqlSegment} |
| | | SELECT |
| | | dfr.id, |
| | | dfr.drone_name, |
| | | dfr.serial_no, |
| | | dfr.alarm_time, |
| | | dfr.area_name, |
| | | dfr.trigger_type, |
| | | dfr.stay_duration, |
| | | dfrd.longitude, |
| | | dfrd.latitude, |
| | | dfrd.point_time |
| | | FROM |
| | | ja_fw_drone_flight_record dfr |
| | | /* 修改点 1:将 VARCHAR 改为更通用的 text,并确保两端类型一致 */ |
| | | left join |
| | | ja_fw_device d on dfr.device_id::text = d.id::text |
| | | left join |
| | | ja_fw_drone_flight_record_detail dfrd on dfr.id::text = dfrd.flight_record_id::text |
| | | <where> |
| | | dfr.is_deleted = 0 |
| | | <if test="ids != null and ids.size() > 0"> |
| | | and dfr.id in |
| | | <foreach item="item" collection="ids" separator="," open="(" close=")"> |
| | | #{item}::bigint |
| | | </foreach> |
| | | </if> |
| | | <if test="regionCode != null and regionCode != ''"> |
| | | and (d.final_outbound_area_code::text like CONCAT(#{regionCode}::text, '%') |
| | | <if test="currentDeptId != null and currentDeptId != '' "> |
| | | or dfr.device_id in ( |
| | | SELECT device_id FROM ja_fw_device_per_share |
| | | WHERE |
| | | loan_to_dept_id = #{currentDeptId}::bigint |
| | | AND is_deleted = 0 |
| | | ) |
| | | </if> |
| | | ) |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | </mapper> |