From 93cecfaf0fae080ebd0212adea714726290d0d4a Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期四, 01 八月 2024 20:36:54 +0800 Subject: [PATCH] 电磁锁串口协议发送加入线程排队提交 --- ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml | 66 +++++++++++++++++++++++++++++++-- 1 files changed, 62 insertions(+), 4 deletions(-) diff --git a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml index 938f638..65a9bc3 100644 --- a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml +++ b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml @@ -70,6 +70,32 @@ left join sys_user u on u.user_id = c.user_id </sql> + <resultMap type="ArdAlarmpointsWell" id="ArdAlarmpointsWellOnlyResult"> + <result property="id" column="id"/> + <result property="wellId" column="well_id"/> + <result property="wellNumber" column="well_number"/> + <result property="oilProduction" column="oil_production"/> + <result property="wellBlock" column="well_block"/> + <result property="productionDate" column="production_date"/> + <result property="displacementMode" column="displacement_mode"/> + <result property="surroundingEnvironment" column="surrounding_environment"/> + <result property="wellType" column="well_type"/> + <result property="installedLoad" column="installed_load"/> + <result property="meteringStation" column="metering_station"/> + <result property="transferStation" column="transfer_station"/> + <result property="dehydrationStation" column="dehydration_station"/> + <result property="runStatus" column="run_status"/> + <result property="longitude" column="longitude"/> + <result property="latitude" column="latitude"/> + <result property="altitude" column="altitude"/> + <result property="deptId" column="dept_id"/> + <result property="userId" column="user_id"/> + <result property="createBy" column="create_by"/> + <result property="createTime" column="create_time"/> + <result property="updateBy" column="update_by"/> + <result property="updateTime" column="update_time"/> + </resultMap> + <select id="selectArdAlarmpointsWellList" parameterType="ArdAlarmpointsWell" resultMap="ArdAlarmpointsWellResult"> <include refid="selectArdAlarmpointsWellVo"/> <where> @@ -259,14 +285,46 @@ </foreach> </select> + <select id="getWellDataByPatrolplanIdAndPosition" resultMap="ArdAlarmpointsWellOnlyResult"> + select aaw.* from ard_app_patrolplan aap + inner join ard_app_patrolpoint aap0 on aap.id = aap0.patrolplan_id + inner join ard_alarmpoints_well aaw on aap0.alarmpoints_id = aaw.id + where del is null and aap.id = #{patrolplanId} + and f_compute_distance(cast(#{longitude} as decimal),cast(#{latitude} as decimal),aaw.longitude,aaw.latitude) + <= (select cast(sc.config_value as decimal) from sys_config sc where sc.config_key = 'appAlarmPointsDistance') + order by f_compute_distance(cast(#{longitude} as decimal),cast(#{latitude} as decimal),aaw.longitude,aaw.latitude) desc limit 1 offset 0 + </select> - <select id="conditionList" parameterType="List" - resultType="com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellDeptVo"> + <select id="getWellById" resultMap="ArdAlarmpointsWellOnlyResult"> + select aaw.* from ard_alarmpoints_well aaw where aaw.id = #{id} + </select> + + + <select id="conditionList" resultType="com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell"> Select * from ard_alarmpoints_well well where WHERE well.well_id = #{wellId} and well.dept_id in - <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> - #{item} + <foreach item="deptList" collection="deptList" open="(" separator="," close=")"> + #{deptList} </foreach> </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) 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(cast(#{lonM} as numeric),cast(#{latM} as numeric),cast(#{lonB} as numeric),cast(#{latB} as numeric)) as distance + union + 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(cast(#{lonM} as numeric),cast(#{latM} as numeric),cast(#{lonD} as numeric),cast(#{latD} as numeric)) as distance + )t) + </select> </mapper> -- Gitblit v1.9.3