| | |
| | | </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 ( |
| | |
| | | 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}) <= (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)) <= (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> |