From 6fe3c583389375f1b54f5c260ae8e2604c11f515 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期二, 02 七月 2024 13:49:22 +0800
Subject: [PATCH] 电磁锁查询加入分页修改提交
---
ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 153 insertions(+), 15 deletions(-)
diff --git a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
index 5bbf963..65a9bc3 100644
--- a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
+++ b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml
@@ -28,7 +28,17 @@
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
- <result property="cameraId" column="camera_id"/>
+ <!-- 瀛愭煡璇紝鍏宠仈 ard_well_guide_camera 琛� -->
+ <collection property="ardWellGuideCameraList" ofType="java.util.List" select="getArdWellGuideCameraListByWellId" column="id"/>
+ </resultMap>
+ <select id="getArdWellGuideCameraListByWellId" resultType="ArdWellGuideCamera">
+ SELECT * FROM ard_well_guide_camera WHERE well_id = #{id}
+ </select>
+
+ <resultMap type="ArdAlarmpointsWell" id="wellResult">
+ <result property="id" column="id"/>
+ <result property="wellId" column="well_id"/>
+ <result property="type" column="type"/>
</resultMap>
<sql id="selectArdAlarmpointsWellVo">
@@ -54,30 +64,58 @@
c.create_by,
c.create_time,
c.update_by,
- c.update_time,
- c.camera_id
+ c.update_time
from ard_alarmpoints_well c
left join sys_dept d on d.dept_id = c.dept_id
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>
- <if test="wellId != null and wellId != ''">and c.well_id = #{wellId}</if>
+ <if test="wellId != null and wellId != ''">and c.well_id like ('%${wellId}%')</if>
<if test="wellNumber != null and wellNumber != ''">and c.well_number = #{wellNumber}</if>
- <if test="userId != null and userId != ''"> and c.user_id = #{userId}</if>
- <if test="deptId != null "> and (c.dept_id = #{deptId} OR c.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE cast(#{deptId} as varchar) = any(string_to_array(ancestors,',')) ))</if>
+ <if test="userId != null and userId != ''">and c.user_id = #{userId}</if>
+ <if test="deptId != null ">and (c.dept_id = #{deptId} OR c.dept_id IN ( SELECT t.dept_id FROM sys_dept t
+ WHERE cast(#{deptId} as varchar) = any(string_to_array(ancestors,',')) ))
+ </if>
<!-- 鏁版嵁鑼冨洿杩囨护 -->
${params.dataScope}
</where>
</select>
- <select id="selectArdAlarmpointsWellByWellIdLike" parameterType="ArdAlarmpointsWell" resultMap="ArdAlarmpointsWellResult">
+ <select id="selectArdAlarmpointsWellByWellIdLike" parameterType="ArdAlarmpointsWell"
+ resultMap="ArdAlarmpointsWellResult">
<include refid="selectArdAlarmpointsWellVo"/>
<where>
<if test="id != null and id != ''">and c.id = #{id}</if>
- <if test="wellId != null and wellId != ''"> and well_id like ('%${wellId}%')</if>
+ <if test="wellId != null and wellId != ''">and well_id like ('%${wellId}%')</if>
<!-- 鏁版嵁鑼冨洿杩囨护 -->
${params.dataScope}
</where>
@@ -85,7 +123,7 @@
<select id="selectArdAlarmpointsWellById" parameterType="String" resultMap="ArdAlarmpointsWellResult">
<include refid="selectArdAlarmpointsWellVo"/>
- where id = #{id}
+ where c.id = #{id}
</select>
<select id="selectArdAlarmpointsWellByWellId" parameterType="String" resultMap="ArdAlarmpointsWellResult">
<include refid="selectArdAlarmpointsWellVo"/>
@@ -117,7 +155,7 @@
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
- <if test="cameraId != null">camera_id,</if>
+
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
@@ -143,7 +181,6 @@
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
- <if test="cameraId != null">#{cameraId},</if>
</trim>
</insert>
@@ -172,11 +209,37 @@
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
- <if test="cameraId != null">camera_id = #{cameraId},</if>
</trim>
- where well_id = #{wellId}
+ where id = #{id}
</update>
-
+ <update id="updateArdAlarmpointsWellByWellId" parameterType="ArdAlarmpointsWell">
+ update ard_alarmpoints_well
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="wellId != null">well_id = #{wellId},</if>
+ <if test="wellNumber != null">well_number = #{wellNumber},</if>
+ <if test="oilProduction != null">oil_production = #{oilProduction},</if>
+ <if test="wellBlock != null">well_block = #{wellBlock},</if>
+ <if test="productionDate != null">production_date = #{productionDate},</if>
+ <if test="displacementMode != null">displacement_mode = #{displacementMode},</if>
+ <if test="surroundingEnvironment != null">surrounding_environment = #{surroundingEnvironment},</if>
+ <if test="wellType != null">well_type = #{wellType},</if>
+ <if test="installedLoad != null">installed_load = #{installedLoad},</if>
+ <if test="meteringStation != null">metering_station = #{meteringStation},</if>
+ <if test="transferStation != null">transfer_station = #{transferStation},</if>
+ <if test="dehydrationStation != null">dehydration_station = #{dehydrationStation},</if>
+ <if test="runStatus != null">run_status = #{runStatus},</if>
+ <if test="longitude != null">longitude = #{longitude},</if>
+ <if test="latitude != null">latitude = #{latitude},</if>
+ <if test="altitude != null">altitude = #{altitude},</if>
+ <if test="deptId != null">dept_id = #{deptId},</if>
+ <if test="userId != null">user_id = #{userId},</if>
+ <if test="createBy != null">create_by = #{createBy},</if>
+ <if test="createTime != null">create_time = #{createTime},</if>
+ <if test="updateBy != null">update_by = #{updateBy},</if>
+ <if test="updateTime != null">update_time = #{updateTime},</if>
+ </trim>
+ where well_id = #{wellId}
+ </update>
<delete id="deleteArdAlarmpointsWellById" parameterType="String">
delete
from ard_alarmpoints_well
@@ -189,4 +252,79 @@
#{id}
</foreach>
</delete>
-</mapper>
\ No newline at end of file
+ <select id="checkWellIdExists" resultType="ArdAlarmpointsWell">
+ SELECT *
+ FROM ard_alarmpoints_well
+ WHERE well_id = #{wellId} limit 1
+ </select>
+
+ <select id="wellByPlanId" parameterType="String" resultMap="wellResult">
+ select ard_app_patrolpoint.alarmpoints_id as id,
+ ard_alarmpoints_well.well_id,
+ ard_app_patrolpoint."type",
+ ard_alarmpoints_well.longitude,
+ ard_alarmpoints_well.latitude
+ from ard_alarmpoints_well
+ LEFT JOIN ard_app_patrolpoint on ard_app_patrolpoint.alarmpoints_id = ard_alarmpoints_well.id
+ where ard_alarmpoints_well.id in (select alarmpoints_id from ard_app_patrolpoint where patrolplan_id = #{id})
+ GROUP BY ard_app_patrolpoint.alarmpoints_id, ard_alarmpoints_well.well_id, ard_app_patrolpoint."type",
+ ard_alarmpoints_well.longitude, ard_alarmpoints_well.latitude
+ </select>
+
+ <select id="wellListDept" parameterType="List"
+ resultType="com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellDeptVo">
+ Select well.id,well.well_id,well.well_number,well.oil_production,well.well_block,well.production_date,
+ well.displacement_mode,well.surrounding_environment,well.well_type,well.installed_load,well.metering_station,
+ well.transfer_station,well.dehydration_station,well.run_status,well.longitude,well.latitude,well.altitude,well.dept_id,
+ dept.parent_id,dept.ancestors,dept.dept_name
+ from ard_alarmpoints_well well
+ left join sys_dept dept on well.dept_id = dept.dept_id
+ where well.dept_id in
+ <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
+ #{item}
+ </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="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 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