From 38f29e38fcc668171dc05c53d40a36b895c86102 Mon Sep 17 00:00:00 2001 From: liusuyi <1951119284@qq.com> Date: 星期四, 10 十月 2024 13:34:28 +0800 Subject: [PATCH] init --- ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 152 insertions(+), 9 deletions(-) diff --git a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml index a471902..65a9bc3 100644 --- a/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml +++ b/ard-work/src/main/resources/mapper/alarmpoints/ArdAlarmpointsWellMapper.xml @@ -28,6 +28,17 @@ <result property="createTime" column="create_time"/> <result property="updateBy" column="update_by"/> <result property="updateTime" column="update_time"/> + <!-- 瀛愭煡璇紝鍏宠仈 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"> @@ -59,23 +70,52 @@ 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> @@ -83,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"/> @@ -115,6 +155,7 @@ <if test="createTime != null">create_time,</if> <if test="updateBy != null">update_by,</if> <if test="updateTime != null">update_time,</if> + </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="id != null">#{id},</if> @@ -169,9 +210,36 @@ <if test="updateBy != null">update_by = #{updateBy},</if> <if test="updateTime != null">update_time = #{updateTime},</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 @@ -184,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