| | |
| | | |
| | | <select id="selectFwDroneFlightRecordPage" resultMap="fwDroneFlightRecordResultMap"> |
| | | select |
| | | dfr.* |
| | | dfr.* |
| | | from |
| | | ja_fw_drone_flight_record dfr |
| | | ja_fw_drone_flight_record dfr |
| | | left join |
| | | ja_fw_device d on dfr.device_id = d.id::VARCHAR |
| | | /* 修改点1:双向转型对齐 */ |
| | | ja_fw_device d on dfr.device_id::text = d.id::text |
| | | <where> |
| | | dfr.is_deleted = 0 |
| | | and d.track_status = 1 |
| | | and d.is_enabled = 1 |
| | | 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 != '' "> |
| | | or dfr.device_id in ( |
| | | SELECT device_id FROM ja_fw_device_per_share |
| | | WHERE loan_to_dept_id = #{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 dfr.device_id = #{param2.deviceId} |
| | | /* 修改点3:过滤条件参数对齐 */ |
| | | and dfr.device_id::text = #{param2.deviceId}::text |
| | | </if> |
| | | <if test="param2.droneName != null and param2.droneName != ''"> |
| | | and dfr.drone_name like CONCAT('%', #{param2.droneName}, '%') |
| | |
| | | and dfr.area_code = #{param2.areaCode} |
| | | </if> |
| | | <if test="param2.startTime != null and param2.startTime != '' and param2.endTime != null and param2.endTime != ''"> |
| | | and dfr.alarm_time BETWEEN #{param2.startTime} AND #{param2.endTime} |
| | | and dfr.alarm_time BETWEEN #{param2.startTime}::timestamp AND #{param2.endTime}::timestamp |
| | | </if> |
| | | <if test="param2.deviceType != null and param2.deviceType != ''"> |
| | | and dfr.device_type = #{param2.deviceType} |
| | |
| | | |
| | | <select id="exportFwDroneFlightRecord" resultType="org.sxkj.fw.record.excel.FwDroneFlightRecordExcel"> |
| | | 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 |
| | | 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 |
| | | ja_fw_drone_flight_record dfr |
| | | /* 修改点 1:将 VARCHAR 改为更通用的 text,并确保两端类型一致 */ |
| | | left join |
| | | ja_fw_device d on dfr.device_id = d.id::VARCHAR |
| | | ja_fw_device d on dfr.device_id::text = d.id::text |
| | | left join |
| | | ja_fw_drone_flight_record_detail dfrd on dfr.id = dfrd.flight_record_id::VARCHAR |
| | | 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} |
| | | #{item}::bigint |
| | | </foreach> |
| | | </if> |
| | | <if test="regionCode != null and regionCode != ''"> |
| | | and (d.final_outbound_area_code like CONCAT(#{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} |
| | | WHERE |
| | | loan_to_dept_id = #{currentDeptId}::bigint |
| | | AND is_deleted = 0 |
| | | ) |
| | | </if> |