| <?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="com.dy.pipIrrGlobal.daoPr.PrFlowMonitoringMapper"> | 
|     <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoPr.PrFlowMonitoring"> | 
|         <!--@mbg.generated--> | 
|         <!--@Table pr_flow_monitoring--> | 
|         <id column="id" jdbcType="BIGINT" property="id"/> | 
|         <result column="countyId" jdbcType="BIGINT" property="countyid"/> | 
|         <result column="townId" jdbcType="BIGINT" property="townid"/> | 
|         <result column="villageId" jdbcType="BIGINT" property="villageid"/> | 
|         <result column="name" jdbcType="VARCHAR" property="name"/> | 
|         <result column="lng" jdbcType="DOUBLE" property="lng"/> | 
|         <result column="lat" jdbcType="DOUBLE" property="lat"/> | 
|         <result column="remarks" jdbcType="VARCHAR" property="remarks"/> | 
|         <result column="operator" jdbcType="BIGINT" property="operator"/> | 
|         <result column="operateDt" jdbcType="TIMESTAMP" property="operatedt"/> | 
|         <result column="deleted" jdbcType="TINYINT" property="deleted"/> | 
|     </resultMap> | 
|     <sql id="Base_Column_List"> | 
|         <!--@mbg.generated--> | 
|         id, | 
|         countyId, | 
|         townId, | 
|         villageId, | 
|         `name`, | 
|         lng, | 
|         lat, | 
|         remarks, | 
|         `operator`, | 
|         operateDt, | 
|         deleted | 
|     </sql> | 
|     <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> | 
|         <!--@mbg.generated--> | 
|         select | 
|         <include refid="Base_Column_List"/> | 
|         from pr_flow_monitoring | 
|         where id = #{id,jdbcType=BIGINT} | 
|     </select> | 
|     <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> | 
|         <!--@mbg.generated--> | 
|         delete | 
|         from pr_flow_monitoring | 
|         where id = #{id,jdbcType=BIGINT} | 
|     </delete> | 
|   | 
|     <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoPr.PrFlowMonitoring"> | 
|         <!--@mbg.generated--> | 
|         insert into pr_flow_monitoring (id, countyId, townId, | 
|                                         villageId, `name`, lng, | 
|                                         lat, remarks, `operator`, | 
|                                         operateDt, deleted) | 
|         values (#{id,jdbcType=BIGINT}, #{countyid,jdbcType=BIGINT}, #{townid,jdbcType=BIGINT}, | 
|                 #{villageid,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{lng,jdbcType=DOUBLE}, | 
|                 #{lat,jdbcType=DOUBLE}, #{remarks,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT}, | 
|                 #{operatedt,jdbcType=TIMESTAMP}, #{deleted,jdbcType=TINYINT}) | 
|     </insert> | 
|   | 
|     <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrFlowMonitoring"> | 
|         <!--@mbg.generated--> | 
|         insert into pr_flow_monitoring | 
|         <trim prefix="(" suffix=")" suffixOverrides=","> | 
|             <if test="id != null"> | 
|                 id, | 
|             </if> | 
|             <if test="countyid != null"> | 
|                 countyId, | 
|             </if> | 
|             <if test="townid != null"> | 
|                 townId, | 
|             </if> | 
|             <if test="villageid != null"> | 
|                 villageId, | 
|             </if> | 
|             <if test="name != null"> | 
|                 `name`, | 
|             </if> | 
|             <if test="lng != null"> | 
|                 lng, | 
|             </if> | 
|             <if test="lat != null"> | 
|                 lat, | 
|             </if> | 
|             <if test="remarks != null"> | 
|                 remarks, | 
|             </if> | 
|             <if test="operator != null"> | 
|                 `operator`, | 
|             </if> | 
|             <if test="operatedt != null"> | 
|                 operateDt, | 
|             </if> | 
|             <if test="deleted != null"> | 
|                 deleted, | 
|             </if> | 
|         </trim> | 
|         <trim prefix="values (" suffix=")" suffixOverrides=","> | 
|             <if test="id != null"> | 
|                 #{id,jdbcType=BIGINT}, | 
|             </if> | 
|             <if test="countyid != null"> | 
|                 #{countyid,jdbcType=BIGINT}, | 
|             </if> | 
|             <if test="townid != null"> | 
|                 #{townid,jdbcType=BIGINT}, | 
|             </if> | 
|             <if test="villageid != null"> | 
|                 #{villageid,jdbcType=BIGINT}, | 
|             </if> | 
|             <if test="name != null"> | 
|                 #{name,jdbcType=VARCHAR}, | 
|             </if> | 
|             <if test="lng != null"> | 
|                 #{lng,jdbcType=DOUBLE}, | 
|             </if> | 
|             <if test="lat != null"> | 
|                 #{lat,jdbcType=DOUBLE}, | 
|             </if> | 
|             <if test="remarks != null"> | 
|                 #{remarks,jdbcType=VARCHAR}, | 
|             </if> | 
|             <if test="operator != null"> | 
|                 #{operator,jdbcType=BIGINT}, | 
|             </if> | 
|             <if test="operatedt != null"> | 
|                 #{operatedt,jdbcType=TIMESTAMP}, | 
|             </if> | 
|             <if test="deleted != null"> | 
|                 #{deleted,jdbcType=TINYINT}, | 
|             </if> | 
|         </trim> | 
|     </insert> | 
|     <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoPr.PrFlowMonitoring"> | 
|         <!--@mbg.generated--> | 
|         update pr_flow_monitoring | 
|         <set> | 
|             <if test="countyid != null"> | 
|                 countyId = #{countyid,jdbcType=BIGINT}, | 
|             </if> | 
|             <if test="townid != null"> | 
|                 townId = #{townid,jdbcType=BIGINT}, | 
|             </if> | 
|             <if test="villageid != null"> | 
|                 villageId = #{villageid,jdbcType=BIGINT}, | 
|             </if> | 
|             <if test="name != null"> | 
|                 `name` = #{name,jdbcType=VARCHAR}, | 
|             </if> | 
|             <if test="lng != null"> | 
|                 lng = #{lng,jdbcType=DOUBLE}, | 
|             </if> | 
|             <if test="lat != null"> | 
|                 lat = #{lat,jdbcType=DOUBLE}, | 
|             </if> | 
|             <if test="remarks != null"> | 
|                 remarks = #{remarks,jdbcType=VARCHAR}, | 
|             </if> | 
|             <if test="operator != null"> | 
|                 `operator` = #{operator,jdbcType=BIGINT}, | 
|             </if> | 
|             <if test="operatedt != null"> | 
|                 operateDt = #{operatedt,jdbcType=TIMESTAMP}, | 
|             </if> | 
|             <if test="deleted != null"> | 
|                 deleted = #{deleted,jdbcType=TINYINT}, | 
|             </if> | 
|         </set> | 
|         where id = #{id,jdbcType=BIGINT} | 
|     </update> | 
|     <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoPr.PrFlowMonitoring"> | 
|         <!--@mbg.generated--> | 
|         update pr_flow_monitoring | 
|         set countyId   = #{countyid,jdbcType=BIGINT}, | 
|             townId     = #{townid,jdbcType=BIGINT}, | 
|             villageId  = #{villageid,jdbcType=BIGINT}, | 
|             `name`     = #{name,jdbcType=VARCHAR}, | 
|             lng        = #{lng,jdbcType=DOUBLE}, | 
|             lat        = #{lat,jdbcType=DOUBLE}, | 
|             remarks    = #{remarks,jdbcType=VARCHAR}, | 
|             `operator` = #{operator,jdbcType=BIGINT}, | 
|             operateDt  = #{operatedt,jdbcType=TIMESTAMP}, | 
|             deleted    = #{deleted,jdbcType=TINYINT} | 
|         where id = #{id,jdbcType=BIGINT} | 
|     </update> | 
|   | 
|     <!--根据监测站编号删除监测站--> | 
|     <update id="deleteFlowMonitoringById"> | 
|         UPDATE pr_flow_monitoring | 
|         SET deleted = 1 | 
|         WHERE id = ${flowMonitoringId} | 
|     </update> | 
|   | 
|     <!--根据监测站编号获取未删除的监测站数量--> | 
|     <select id="getRecordCountOfFlowMonitoringByFlowMonitoringId" resultType="java.lang.Integer"> | 
|         SELECT COUNT(*) AS recordCountOfFlowMonitoring | 
|         FROM pr_flow_monitoring | 
|         WHERE deleted = 0 | 
|           AND id = ${flowMonitoringId} | 
|     </select> | 
|   | 
|     <!--查询全部监测站实体记录--> | 
|     <select id="selectAll" resultType="com.dy.pipIrrGlobal.pojoPr.PrFlowMonitoring"> | 
|         select | 
|         <include refid="Base_Column_List"/> | 
|         from pr_flow_monitoring | 
|         where deleted = 0 | 
|     </select> | 
|   | 
|   | 
|     <!--根据监测站编号获取未删除的监测站数量--> | 
|     <select id="getRecordCountOfFlowMonitoring" resultType="java.lang.Integer"> | 
|         SELECT COUNT(*) AS recordCountOfFlowMonitoring | 
|         from    pr_flow_monitoring pfm | 
|         LEFT JOIN pr_flowmeter pf ON pf.monitoringId = pfm.id | 
|         LEFT JOIN ba_district country ON pfm.countyId = country.id | 
|         LEFT JOIN ba_district town ON pfm.townId = town.id | 
|         LEFT JOIN ba_district village ON pfm.villageId = village.id | 
|         <where> | 
|             pfm.deleted = 0 | 
|             <if test = "name != null and name !=''"> | 
|                 AND pfm.`name` like CONCAT('%',#{name},'%') | 
|             </if> | 
|             <if test = "bindState ==1 "> | 
|                 AND pf.monitoringId IS NOT NULL | 
|             </if> | 
|             <if test = "bindState ==2 or bindState =='' "> | 
|                 AND pf.monitoringId IS  NULL | 
|             </if> | 
|         </where> | 
|     </select> | 
|   | 
|     <!--根据指定条件获取流量监测站实体记录--> | 
|     <select id="getPrFlowMonitoring" parameterType="map" resultType="com.dy.pipIrrGlobal.voPr.VoFlowMonitoring"> | 
|         select  CAST(pfm.id AS char)                                AS id, | 
|                 CONCAT(country.`name`, town.`name`, village.`name`) AS address, | 
|                 pfm.`name`                                          AS `name`, | 
|                 (CASE | 
|                  WHEN pf.monitoringId IS NOT NULL THEN "已绑定" | 
|                  WHEN pf.monitoringId IS  NULL  THEN "未绑定" | 
|                  END)                                               AS bindState | 
|         from    pr_flow_monitoring pfm | 
|         LEFT JOIN pr_flowmeter pf ON pf.monitoringId = pfm.id | 
|         LEFT JOIN ba_district country ON pfm.countyId = country.id | 
|         LEFT JOIN ba_district town ON pfm.townId = town.id | 
|         LEFT JOIN ba_district village ON pfm.villageId = village.id | 
|   | 
|         <where> | 
|             pfm.deleted = 0 | 
|             <if test = "name != null and name !=''"> | 
|                 AND pfm.`name` like CONCAT('%',#{name},'%') | 
|             </if> | 
|             <if test = "bindState ==1 "> | 
|                 AND pf.monitoringId IS NOT NULL | 
|             </if> | 
|             <if test = "bindState ==2 or bindState =='' "> | 
|                 AND pf.monitoringId IS  NULL | 
|             </if> | 
|         </where> | 
|         ORDER BY pfm.operateDt DESC | 
|         <trim prefix="limit " > | 
|             <if test="start != null and count != null"> | 
|                 #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} | 
|             </if> | 
|         </trim> | 
|     </select> | 
| </mapper> |