jinpengyong
2020-05-27 634cc17925e9a7112238e08a53b6f70958e2cc2f
src/main/resources/mapper/MonitorPointMapper.xml
@@ -13,11 +13,14 @@
    <result column="address" jdbcType="VARCHAR" property="address" />
    <result column="is_delete" jdbcType="CHAR" property="isDelete" />
    <result column="description" jdbcType="VARCHAR" property="description" />
     <result column="state" jdbcType="INTEGER" property="state" />
   <!-- 与省市县一对一的关系 -->
    <association property="areaNames" javaType="com.moral.entity.AreaNames">
     <result column="province_name" property="provinceName" jdbcType="VARCHAR" />
     <result column="city_name" property="cityName" jdbcType="VARCHAR" />
     <result column="area_name" property="areaName" jdbcType="VARCHAR" />
     <result column="town_name" property="townName" jdbcType="VARCHAR" />
     <result column="village_name" property="villageName" jdbcType="VARCHAR" />
    </association>
     <association property="organization" javaType="com.moral.entity.Organization">
        <result column="organization_id" property="id" jdbcType="INTEGER" />
@@ -58,7 +61,7 @@
      address, is_delete, description
   </sql>
   <sql id="Relation_Province_City_Area_List">
      are.area_name, cti.city_name, pro.province_name
      are.area_name, cti.city_name, pro.province_name, t.town_name, v.village_name
   </sql>
   <select id="selectWithAreaNameByExample" parameterType="tk.mybatis.mapper.entity.Example" resultMap="BaseResultMap">
      select
@@ -73,6 +76,8 @@
      left join city cti on mpt.city_code = cti.city_code
      left join province pro on mpt.province_code = pro.province_code
      left join organization org on  mpt.organization_id = org.id
      left join town t on mpt.town_code = t.town_code
      left join village v on mpt.village_code = v.village_code
        where mpt.id in (
          select id from monitor_point
         <if test="_parameter != null">
@@ -83,7 +88,7 @@
         </if>
      )
   </select>
   <select id="getMonitorPointsByAreaName" resultType="com.moral.entity.MonitorPoint">
   <select id="getMonitorPointsByAreaName" resultMap="BaseResultMap">
      SELECT
         mp.* 
      FROM
@@ -100,4 +105,55 @@
         AND mp.city_code = c.city_code
      </if>
   </select>
   <select id="selectByMap" parameterType="java.util.Map" resultMap="BaseResultMap">
      SELECT mpt.* from monitor_point mpt
      <where>
         <if test="@com.moral.common.bean.Constants@isNotSpecialOrgId(orgId)">
            (
            1 > 1
               <if test="orgIds!=null and orgIds.size() > 0">
                  or mpt.organization_id in
                  <foreach collection="orgIds" item="tempOrgId" open="(" close=")" separator=",">
                     #{tempOrgId,jdbcType=INTEGER}
                  </foreach>
               </if>
            )
         </if>
         <![CDATA[
         AND mpt.longitude < #{mapBounds.Ge,jdbcType=NUMERIC}
            AND mpt.longitude > #{mapBounds.Le,jdbcType=NUMERIC}
            AND mpt.latitude  < #{mapBounds.Fe,jdbcType=NUMERIC}
            AND mpt.latitude  > #{mapBounds.Ke,jdbcType=NUMERIC}
            ]]>
           <if test="regionCode != null">
           AND mpt.${regionType}_code = #{regionCode}
           </if>
         <if test="isDelete != null">
         AND   mpt.is_delete = #{isDelete,jdbcType=VARCHAR}
         </if>
      </where>
   </select>
   <select id="selectOrganizationIds" parameterType="integer" resultType="integer">
                call proc_organizationIds_GetByMonitorPointId(#{id,jdbcType=NUMERIC})
   </select>
   <select id="selectVersionsById" parameterType="integer" resultType="integer">
         select version from device_version dve
         right join device dev  on dve.id = dev.device_version_id
         right join monitor_point mpt on mpt.id = dev.monitor_point_id
         where mpt.id = #{id}  ORDER BY version DESC
   </select>
   <select id="selectAllById" resultType="java.util.Map">
         SELECT *
         FROM monitor_point
         WHERE id = #{id}
   </select>
   <select id="getIdByOrganizationId" resultType="java.util.Map">
         SELECT id
         FROM monitor_point
         WHERE organization_id IN
            <foreach collection="organizationIdList" index="index" item="organizationId" open="(" separator="," close=")">
                  #{organizationId}
              </foreach>
   </select>
</mapper>