zhangnaisong
2024-04-29 11a551438369e9dcf789c98cb8430eb649de805b
视频标签sql加入强转修改提交
已修改1个文件
18 ■■■■ 文件已修改
ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
@@ -310,14 +310,6 @@
    </select>
    <select id="getArdAlarmpointsWellByDeptIdAndDistance" resultMap="ArdAlarmpointsWellOnlyResult">
        /*select * from ard_alarmpoints_well aaw
        where aaw.dept_id in (
            with recursive rsd as (
                select sd.dept_id from sys_dept sd where sd.dept_id = #{deptId}
                union
                select csd.dept_id from sys_dept csd inner join rsd on rsd.dept_id = csd.parent_id
            )
            select * from rsd)*/
        select * from ard_alarmpoints_well aaw
        where aaw.dept_id in (
        with recursive rsd as (
@@ -325,14 +317,14 @@
        union
        select csd.dept_id from sys_dept csd inner join rsd on rsd.dept_id = csd.parent_id
        )
        select * from rsd) and f_compute_distance(aaw.longitude,aaw.latitude,#{lonM},#{latM}) &lt;= (select max(t.distance) from (
        select f_compute_distance(#{lonM},#{latM},#{lonA},#{latA}) as distance
        select * from rsd) and f_compute_distance(aaw.longitude,aaw.latitude,cast(#{lonM} as numeric),cast(#{latM} as numeric)) &lt;= (select max(t.distance) from (
        select f_compute_distance(cast(#{lonM} as numeric),cast(#{latM} as numeric),cast(#{lonA} as numeric),cast(#{latA} as numeric)) as distance
        union
        select f_compute_distance(#{lonM},#{latM},#{lonB},#{latB}) as distance
        select f_compute_distance(cast(#{lonM} as numeric),cast(#{latM} as numeric),cast(#{lonB} as numeric),cast(#{latB} as numeric)) as distance
        union
        select f_compute_distance(#{lonM},#{latM},#{lonC},#{latC}) as distance
        select f_compute_distance(cast(#{lonM} as numeric),cast(#{latM} as numeric),cast(#{lonC} as numeric),cast(#{latC} as numeric)) as distance
        union
        select f_compute_distance(#{lonM},#{latM},#{lonD},#{latD}) as distance
        select f_compute_distance(cast(#{lonM} as numeric),cast(#{latM} as numeric),cast(#{lonD} as numeric),cast(#{latD} as numeric)) as distance
        )t)
    </select>
</mapper>