<?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> 
 |