lanan-system/dl-module-inspection/src/main/resources/mapper/inspection/SiteInfoMapper.xml

109 lines
5.9 KiB
XML
Raw Normal View History

2024-08-28 20:54:03 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.inspection.mapper.SiteInfoMapper">
<resultMap type="cn.iocoder.yudao.module.inspection.entity.SiteInfo" id="SiteInfoResult">
<result property="id" column="id" />
<result property="siteName" column="site_name" />
<result property="siteLongitude" column="site_longitude" />
<result property="siteLatitude" column="site_latitude" />
<result property="siteAddress" column="site_address" />
<result property="siteContractName" column="site_contract_name" />
<result property="siteContractPhone" column="site_contract_phone" />
<result property="orderNum" column="order_num" />
<result property="createTime" column="create_time" />
<result property="createBy" column="create_by" />
<result property="updateTime" column="update_time" />
<result property="updateBy" column="update_by" />
</resultMap>
<sql id="selectSiteInfoVo">
select id, site_name, site_longitude, site_latitude, site_address, site_contract_name, site_contract_phone, order_num, create_time, create_by, update_time, update_by from site_info
</sql>
<select id="selectSiteInfoList" resultType="cn.iocoder.yudao.module.inspection.entity.SiteInfo">
select id, site_name, site_longitude, site_latitude, site_address, site_contract_name,
site_contract_phone, order_num, create_time, create_by, update_time, update_by,
ROUND(ST_Distance_Sphere (POINT (#{longitude}, #{latitude}),POINT (site_longitude, site_latitude ))) AS distance
from site_info
<where>
<if test="siteName != null and siteName != ''"> and site_name like concat('%', #{siteName}, '%')</if>
<if test="siteLongitude != null "> and site_longitude = #{siteLongitude}</if>
<if test="siteLatitude != null "> and site_latitude = #{siteLatitude}</if>
<if test="siteAddress != null and siteAddress != ''"> and site_address = #{siteAddress}</if>
<if test="siteContractName != null and siteContractName != ''"> and site_contract_name like concat('%', #{siteContractName}, '%')</if>
<if test="siteContractPhone != null and siteContractPhone != ''"> and site_contract_phone = #{siteContractPhone}</if>
<if test="orderNum != null "> and order_num = #{orderNum}</if>
</where>
order by distance asc
</select>
<select id="selectSiteInfoById" parameterType="Long" resultMap="SiteInfoResult">
<include refid="selectSiteInfoVo"/>
where id = #{id}
</select>
<insert id="insertSiteInfo" parameterType="cn.iocoder.yudao.module.inspection.entity.SiteInfo">
insert into site_info
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="id != null">id,</if>
<if test="siteName != null">site_name,</if>
<if test="siteLongitude != null">site_longitude,</if>
<if test="siteLatitude != null">site_latitude,</if>
<if test="siteAddress != null">site_address,</if>
<if test="siteContractName != null">site_contract_name,</if>
<if test="siteContractPhone != null">site_contract_phone,</if>
<if test="orderNum != null">order_num,</if>
<if test="createTime != null">create_time,</if>
<if test="createBy != null">create_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="updateBy != null">update_by,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="id != null">#{id},</if>
<if test="siteName != null">#{siteName},</if>
<if test="siteLongitude != null">#{siteLongitude},</if>
<if test="siteLatitude != null">#{siteLatitude},</if>
<if test="siteAddress != null">#{siteAddress},</if>
<if test="siteContractName != null">#{siteContractName},</if>
<if test="siteContractPhone != null">#{siteContractPhone},</if>
<if test="orderNum != null">#{orderNum},</if>
<if test="createTime != null">#{createTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="updateBy != null">#{updateBy},</if>
</trim>
</insert>
<update id="updateSiteInfo" parameterType="cn.iocoder.yudao.module.inspection.entity.SiteInfo">
update site_info
<trim prefix="SET" suffixOverrides=",">
<if test="siteName != null">site_name = #{siteName},</if>
<if test="siteLongitude != null">site_longitude = #{siteLongitude},</if>
<if test="siteLatitude != null">site_latitude = #{siteLatitude},</if>
<if test="siteAddress != null">site_address = #{siteAddress},</if>
<if test="siteContractName != null">site_contract_name = #{siteContractName},</if>
<if test="siteContractPhone != null">site_contract_phone = #{siteContractPhone},</if>
<if test="orderNum != null">order_num = #{orderNum},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteSiteInfoById" parameterType="Long">
delete from site_info where id = #{id}
</delete>
<delete id="deleteSiteInfoByIds" parameterType="String">
delete from site_info where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>