<?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.daoSe.SeClientMapper"> 
 | 
  <resultMap id="BaseResultMap" type="com.dy.pipIrrGlobal.pojoSe.SeClient"> 
 | 
    <!--@mbg.generated--> 
 | 
    <!--@Table se_client--> 
 | 
    <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="blockId" jdbcType="BIGINT" property="blockid" /> 
 | 
    <result column="divideId" jdbcType="BIGINT" property="divideid" /> 
 | 
    <result column="name" jdbcType="VARCHAR" property="name" /> 
 | 
    <result column="virtualId" jdbcType="BIGINT" property="virtualid" /> 
 | 
    <result column="clientNum" jdbcType="VARCHAR" property="clientnum" /> 
 | 
    <result column="districtNum" jdbcType="BIGINT" property="districtnum" /> 
 | 
    <result column="districtTitle" jdbcType="VARCHAR" property="districttitle" /> 
 | 
    <result column="phone" jdbcType="VARCHAR" property="phone" /> 
 | 
    <result column="idCard" jdbcType="VARCHAR" property="idcard" /> 
 | 
    <result column="area" jdbcType="DOUBLE" property="area" /> 
 | 
    <result column="typeId" jdbcType="BIGINT" property="typeid" /> 
 | 
    <result column="address" jdbcType="VARCHAR" property="address" /> 
 | 
    <result column="remarks" jdbcType="VARCHAR" property="remarks" /> 
 | 
    <result column="operator" jdbcType="BIGINT" property="operator" /> 
 | 
    <result column="operateDt" jdbcType="TIMESTAMP" property="operatedt" /> 
 | 
    <result column="disabled" jdbcType="TINYINT" property="disabled" /> 
 | 
    <result column="deleted" jdbcType="TINYINT" property="deleted" /> 
 | 
  </resultMap> 
 | 
  <sql id="Base_Column_List"> 
 | 
    <!--@mbg.generated--> 
 | 
    id, countyId, townId, villageId, blockid, divideId, `name`, virtualId, clientNum, 
 | 
    districtNum, districtTitle, phone, idCard, area, typeId, address, remarks, `operator`,  
 | 
    operateDt, disabled, deleted 
 | 
  </sql> 
 | 
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> 
 | 
    <!--@mbg.generated--> 
 | 
    select  
 | 
    <include refid="Base_Column_List" /> 
 | 
    from se_client 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </select> 
 | 
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long"> 
 | 
    <!--@mbg.generated--> 
 | 
    delete from se_client 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </delete> 
 | 
  
 | 
  <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClient"> 
 | 
    <!--@mbg.generated--> 
 | 
    insert into se_client (id, countyId, townId,  
 | 
      villageId, blockId, divideId,  
 | 
      `name`, virtualId, clientNum,  
 | 
      districtNum, districtTitle, phone,  
 | 
      idCard, area, typeId,  
 | 
      address, remarks, `operator`,  
 | 
      operateDt, disabled, deleted 
 | 
      ) 
 | 
    values (#{id,jdbcType=BIGINT}, #{countyid,jdbcType=BIGINT}, #{townid,jdbcType=BIGINT},  
 | 
      #{villageid,jdbcType=BIGINT}, #{blockid,jdbcType=BIGINT}, #{divideid,jdbcType=BIGINT}, 
 | 
      #{name,jdbcType=VARCHAR}, #{virtualid,jdbcType=BIGINT}, #{clientnum,jdbcType=VARCHAR},  
 | 
      #{districtnum,jdbcType=BIGINT}, #{districttitle,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR},  
 | 
      #{idcard,jdbcType=VARCHAR}, #{area,jdbcType=DOUBLE}, #{typeid,jdbcType=BIGINT},  
 | 
      #{address,jdbcType=VARCHAR}, #{remarks,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT},  
 | 
      #{operatedt,jdbcType=TIMESTAMP}, #{disabled,jdbcType=TINYINT}, #{deleted,jdbcType=TINYINT} 
 | 
      ) 
 | 
  </insert> 
 | 
  
 | 
  <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClient"> 
 | 
    <!--@mbg.generated--> 
 | 
    insert into se_client 
 | 
    <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="blockid != null"> 
 | 
        blockId, 
 | 
      </if> 
 | 
      <if test="divideid != null"> 
 | 
        divideId, 
 | 
      </if> 
 | 
      <if test="name != null"> 
 | 
        `name`, 
 | 
      </if> 
 | 
      <if test="virtualid != null"> 
 | 
        virtualId, 
 | 
      </if> 
 | 
      <if test="clientnum != null"> 
 | 
        clientNum, 
 | 
      </if> 
 | 
      <if test="districtnum != null"> 
 | 
        districtNum, 
 | 
      </if> 
 | 
      <if test="districttitle != null"> 
 | 
        districtTitle, 
 | 
      </if> 
 | 
      <if test="phone != null"> 
 | 
        phone, 
 | 
      </if> 
 | 
      <if test="idcard != null"> 
 | 
        idCard, 
 | 
      </if> 
 | 
      <if test="area != null"> 
 | 
        area, 
 | 
      </if> 
 | 
      <if test="typeid != null"> 
 | 
        typeId, 
 | 
      </if> 
 | 
      <if test="address != null"> 
 | 
        address, 
 | 
      </if> 
 | 
      <if test="remarks != null"> 
 | 
        remarks, 
 | 
      </if> 
 | 
      <if test="operator != null"> 
 | 
        `operator`, 
 | 
      </if> 
 | 
      <if test="operatedt != null"> 
 | 
        operateDt, 
 | 
      </if> 
 | 
      <if test="disabled != null"> 
 | 
        disabled, 
 | 
      </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="blockid != null"> 
 | 
        #{blockid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="divideid != null"> 
 | 
        #{divideid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="name != null"> 
 | 
        #{name,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="virtualid != null"> 
 | 
        #{virtualid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="clientnum != null"> 
 | 
        #{clientnum,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="districtnum != null"> 
 | 
        #{districtnum,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="districttitle != null"> 
 | 
        #{districttitle,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="phone != null"> 
 | 
        #{phone,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="idcard != null"> 
 | 
        #{idcard,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="area != null"> 
 | 
        #{area,jdbcType=DOUBLE}, 
 | 
      </if> 
 | 
      <if test="typeid != null"> 
 | 
        #{typeid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="address != null"> 
 | 
        #{address,jdbcType=VARCHAR}, 
 | 
      </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="disabled != null"> 
 | 
        #{disabled,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="deleted != null"> 
 | 
        #{deleted,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
    </trim> 
 | 
  </insert> 
 | 
  <update id="updateByPrimaryKeySelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClient"> 
 | 
    <!--@mbg.generated--> 
 | 
    update se_client 
 | 
    <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="blockid != null"> 
 | 
        blockId = #{blockid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="divideid != null"> 
 | 
        divideId = #{divideid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="name != null"> 
 | 
        `name` = #{name,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="virtualid != null"> 
 | 
        virtualId = #{virtualid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="clientnum != null"> 
 | 
        clientNum = #{clientnum,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="districtnum != null"> 
 | 
        districtNum = #{districtnum,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="districttitle != null"> 
 | 
        districtTitle = #{districttitle,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="phone != null"> 
 | 
        phone = #{phone,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="idcard != null"> 
 | 
        idCard = #{idcard,jdbcType=VARCHAR}, 
 | 
      </if> 
 | 
      <if test="area != null"> 
 | 
        area = #{area,jdbcType=DOUBLE}, 
 | 
      </if> 
 | 
      <if test="typeid != null"> 
 | 
        typeId = #{typeid,jdbcType=BIGINT}, 
 | 
      </if> 
 | 
      <if test="address != null"> 
 | 
        address = #{address,jdbcType=VARCHAR}, 
 | 
      </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="disabled != null"> 
 | 
        disabled = #{disabled,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
      <if test="deleted != null"> 
 | 
        deleted = #{deleted,jdbcType=TINYINT}, 
 | 
      </if> 
 | 
    </set> 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </update> 
 | 
  <update id="updateByPrimaryKey" parameterType="com.dy.pipIrrGlobal.pojoSe.SeClient"> 
 | 
    <!--@mbg.generated--> 
 | 
    update se_client 
 | 
    set countyId = #{countyid,jdbcType=BIGINT}, 
 | 
      townId = #{townid,jdbcType=BIGINT}, 
 | 
      villageId = #{villageid,jdbcType=BIGINT}, 
 | 
      blockId = #{blockid,jdbcType=BIGINT}, 
 | 
      divideId = #{divideid,jdbcType=BIGINT}, 
 | 
      `name` = #{name,jdbcType=VARCHAR}, 
 | 
<!--      virtualId = #{virtualid,jdbcType=BIGINT},--> 
 | 
      clientNum = #{clientnum,jdbcType=VARCHAR}, 
 | 
      districtNum = #{districtnum,jdbcType=BIGINT}, 
 | 
      districtTitle = #{districttitle,jdbcType=VARCHAR}, 
 | 
      phone = #{phone,jdbcType=VARCHAR}, 
 | 
      idCard = #{idcard,jdbcType=VARCHAR}, 
 | 
      area = #{area,jdbcType=DOUBLE}, 
 | 
      typeId = #{typeid,jdbcType=BIGINT}, 
 | 
      address = #{address,jdbcType=VARCHAR}, 
 | 
      remarks = #{remarks,jdbcType=VARCHAR}, 
 | 
      `operator` = #{operator,jdbcType=BIGINT}, 
 | 
      operateDt = #{operatedt,jdbcType=TIMESTAMP} 
 | 
<!--      disabled = #{disabled,jdbcType=TINYINT},--> 
 | 
<!--      deleted = #{deleted,jdbcType=TINYINT}--> 
 | 
    where id = #{id,jdbcType=BIGINT} 
 | 
  </update> 
 | 
  
 | 
  <!--根据6位区划串模糊查询农户编号--> 
 | 
  <select id="getClientNumOfMax"  resultType="java.lang.String"> 
 | 
    SELECT clientNum 
 | 
    FROM se_client 
 | 
    WHERE clientNum LIKE CONCAT('%',#{district8},'%') 
 | 
    ORDER BY clientNum desc 
 | 
    LIMIT 0,1 
 | 
  </select> 
 | 
  
 | 
  <!--根据指定条件获取农户记录数--> 
 | 
<!--  <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">--> 
 | 
  <select id="getRecordCount" resultType="com.dy.pipIrrGlobal.voSe.VoClient"> 
 | 
<!--    SELECT--> 
 | 
<!--        COUNT(*) AS recordCount--> 
 | 
    SELECT DISTINCT 
 | 
        cli.countyId, 
 | 
        dis_con.name AS countryName, 
 | 
        cli.townId, 
 | 
        dis_town.name AS townName, 
 | 
        cli.villageId, 
 | 
        dis_village.name AS villageName, 
 | 
        cli.blockId, 
 | 
        blo.name AS blockName, 
 | 
        cli.divideId, 
 | 
        divi.name AS divideName, 
 | 
        cli.typeId, 
 | 
        wat.typeName AS waterTypeName, 
 | 
        cli.id AS clientId, 
 | 
        cli.name, 
 | 
        cli.clientNum, 
 | 
        cli.phone, 
 | 
        cli.idCard, 
 | 
        cli.area, 
 | 
        (SELECT COUNT(*) FROM se_client_card WHERE clientId = cli.id)+(SELECT COUNT(*) FROM se_virtual_card WHERE client_id = cli.id) AS cardCount, 
 | 
        cli.address, 
 | 
        cli.remarks, 
 | 
        cli.operateDt 
 | 
    FROM se_client cli 
 | 
        LEFT JOIN ba_district dis_con ON cli.countyId = dis_con.id 
 | 
        LEFT JOIN ba_district dis_town ON cli.townId = dis_town.id 
 | 
        LEFT JOIN ba_district dis_village ON cli.villageId = dis_village.id 
 | 
        LEFT JOIN ba_block blo ON cli.blockId = blo.id 
 | 
        LEFT JOIN pr_divide divi ON cli.divideId = divi.id 
 | 
        LEFT JOIN se_water_type wat ON cli.typeId = wat.id 
 | 
        LEFT JOIN se_client_card card ON card.clientId = cli.id 
 | 
    <where> 
 | 
      AND cli.disabled = 0 
 | 
      AND cli.deleted = 0 
 | 
      <if test = "name != null and name !=''"> 
 | 
        AND cli.name like CONCAT('%',#{name},'%') 
 | 
      </if> 
 | 
  
 | 
      <if test = "clientNum != null and clientNum !=''"> 
 | 
        AND cli.clientNum like CONCAT('%',#{clientNum},'%') 
 | 
      </if> 
 | 
  
 | 
      <if test = "phone != null and phone !=''"> 
 | 
        AND cli.phone like CONCAT('%',#{phone},'%') 
 | 
      </if> 
 | 
  
 | 
      <if test = "address != null and address !=''"> 
 | 
        AND cli.address like CONCAT('%',#{address},'%') 
 | 
      </if> 
 | 
  
 | 
      <if test = "villageId != null and villageId !=''"> 
 | 
        AND cli.villageId =  #{villageId} 
 | 
      </if> 
 | 
      <if test = "blockId != null and blockId !=''"> 
 | 
        AND cli.blockId =  #{blockId} 
 | 
      </if> 
 | 
      <if test = "divideId != null and divideId !=''"> 
 | 
        AND cli.divideId =  #{divideId} 
 | 
      </if> 
 | 
      <if test = "cardNum != null"> 
 | 
        AND card.cardNum =  #{cardNum} 
 | 
      </if> 
 | 
    </where> 
 | 
  
 | 
  </select> 
 | 
  
 | 
  
 | 
  <!--根据指定条件获取农户数据--> 
 | 
  <select id="getClients" resultType="com.dy.pipIrrGlobal.voSe.VoClient"> 
 | 
    SELECT DISTINCT 
 | 
        cli.countyId, 
 | 
        dis_con.name AS countryName, 
 | 
        cli.townId, 
 | 
        dis_town.name AS townName, 
 | 
        cli.villageId, 
 | 
        dis_village.name AS villageName, 
 | 
        cli.blockId, 
 | 
        blo.name AS blockName, 
 | 
        cli.divideId, 
 | 
        divi.name AS divideName, 
 | 
        cli.typeId, 
 | 
        wat.typeName AS waterTypeName, 
 | 
        cli.id AS clientId, 
 | 
        cli.name, 
 | 
        cli.clientNum, 
 | 
        cli.phone, 
 | 
        cli.idCard, 
 | 
        cli.area, 
 | 
        (SELECT COUNT(*) FROM se_client_card WHERE clientId = cli.id)+(SELECT COUNT(*) FROM se_virtual_card WHERE client_id = cli.id) AS cardCount, 
 | 
        cli.address, 
 | 
        cli.remarks, 
 | 
        cli.operateDt 
 | 
    FROM se_client cli 
 | 
        LEFT JOIN ba_district dis_con ON cli.countyId = dis_con.id 
 | 
        LEFT JOIN ba_district dis_town ON cli.townId = dis_town.id 
 | 
        LEFT JOIN ba_district dis_village ON cli.villageId = dis_village.id 
 | 
        LEFT JOIN ba_block blo ON cli.blockId = blo.id 
 | 
        LEFT JOIN pr_divide divi ON cli.divideId = divi.id 
 | 
        LEFT JOIN se_water_type wat ON cli.typeId = wat.id 
 | 
        LEFT JOIN se_client_card card ON card.clientId = cli.id 
 | 
    <where> 
 | 
      AND cli.disabled = 0 
 | 
      AND cli.deleted = 0 
 | 
      <if test = "name != null and name !=''"> 
 | 
        AND cli.name like CONCAT('%',#{name},'%') 
 | 
      </if> 
 | 
  
 | 
      <if test = "clientNum != null and clientNum !=''"> 
 | 
        AND cli.clientNum like CONCAT('%',#{clientNum},'%') 
 | 
      </if> 
 | 
  
 | 
      <if test = "phone != null and phone !=''"> 
 | 
        AND cli.phone like CONCAT('%',#{phone},'%') 
 | 
      </if> 
 | 
  
 | 
      <if test = "address != null and address !=''"> 
 | 
        AND cli.address like CONCAT('%',#{address},'%') 
 | 
      </if> 
 | 
  
 | 
      <if test = "villageId != null and villageId !=''"> 
 | 
        AND cli.villageId =  #{villageId} 
 | 
      </if> 
 | 
      <if test = "blockId != null and blockId !=''"> 
 | 
        AND cli.blockId =  #{blockId} 
 | 
      </if> 
 | 
      <if test = "divideId != null and divideId !=''"> 
 | 
        AND cli.divideId =  #{divideId} 
 | 
      </if> 
 | 
      <if test = "cardNum != null"> 
 | 
        AND card.cardNum =  #{cardNum} 
 | 
      </if> 
 | 
    </where> 
 | 
    ORDER BY cli.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> 
 | 
  
 | 
  <!--根据农户编号获取5级行政区划代码--> 
 | 
  <select id="getAreaCodeByNum" resultType="java.lang.Long"> 
 | 
    SELECT districtNum FROM se_client WHERE clientNum = #{clientNum} LIMIT 0,1 
 | 
  </select> 
 | 
  
 | 
  <!--根据农户编号获取5级行政区划串areaCode,补卡过程中开新卡使用--> 
 | 
  <select id="getAreaCodeById" resultType="java.lang.Long"> 
 | 
    SELECT districtNum FROM se_client WHERE id = #{clientId} 
 | 
  </select> 
 | 
  
 | 
  <!--根据农户编号获取农户ID--> 
 | 
  <select id="getClientIdByNum" resultType="java.lang.Long"> 
 | 
    SELECT id FROM se_client WHERE clientNum = #{clientNum} LIMIT 0,1 
 | 
  </select> 
 | 
  
 | 
  <!--根据电话号码获取农户ID--> 
 | 
  <select id="getClientIdByPhone" resultType="java.lang.Long"> 
 | 
    SELECT id FROM se_client WHERE phone = #{phoneNumber} 
 | 
  </select> 
 | 
  
 | 
  <!--根据农户ID逻辑删除农户--> 
 | 
  <update id="deleteClientById" parameterType="java.lang.Long"> 
 | 
    update se_client set deleted = 1 
 | 
    <where> 
 | 
      <if test = "id != null and id > 0"> 
 | 
        AND id = #{id} 
 | 
      </if> 
 | 
    </where> 
 | 
  </update> 
 | 
  
 | 
  <!--根据主键获取村ID--> 
 | 
  <select id="getVillageIdById" parameterType="java.lang.Long" resultType="java.lang.Long"> 
 | 
    SELECT villageId FROM se_client WHERE id = #{id} 
 | 
  </select> 
 | 
  
 | 
  <!--获取虚拟卡号最大值--> 
 | 
  <select id="getMa1xVirtualId" resultType="java.lang.Long"> 
 | 
    SELECT virtualId FROM se_client ORDER BY id DESC LIMIT 0,1 
 | 
  </select> 
 | 
  
 | 
  <!--获取用水方式列表--> 
 | 
  <select id="getWaterTypes" resultType="java.util.Map"> 
 | 
    SELECT CAST(se_water_type.id AS char) AS id, typeName from se_water_type 
 | 
  </select> 
 | 
  
 | 
  <!--获取农户基本信息,小程序首页使用--> 
 | 
  <select id="getSimpleClientInfo" resultType="com.dy.pipIrrGlobal.voSe.VoClientWechat"> 
 | 
    SELECT 
 | 
      CAST(ope.id AS char) AS sessionId, 
 | 
      CAST(cli.id AS char)  AS clientId, 
 | 
      cli.name AS clientName, 
 | 
      cli.phone, 
 | 
      CAST(cli.blockId AS char) AS blockId 
 | 
    FROM se_open_id ope 
 | 
           INNER JOIN se_client cli ON ope.client_id = cli.id 
 | 
    <where> 
 | 
      <if test = "sessionId != null"> 
 | 
        AND ope.id = #{sessionId} 
 | 
      </if> 
 | 
  
 | 
      <if test = "openId != null"> 
 | 
        AND ope.open_id = #{openId} 
 | 
      </if> 
 | 
    </where> 
 | 
    LIMIT 0,1 
 | 
  </select> 
 | 
  <!--获取指定时间段农户:充值合计、消费合计、余额--> 
 | 
  <select id="getClientUsagesCount" resultType="java.lang.Long"> 
 | 
    SELECT 
 | 
      count(*) 
 | 
    FROM se_client cli 
 | 
    <where> 
 | 
      <if test="clientName != null and clientName != ''"> 
 | 
        AND cli.name like CONCAT('%', #{clientName}, '%') 
 | 
      </if> 
 | 
      <if test="clientNum != null and clientNum != ''"> 
 | 
        AND cli.clientNum like CONCAT('%', #{clientNum}, '%') 
 | 
      </if> 
 | 
    </where> 
 | 
    </select> 
 | 
  <!--获取指定时间段农户:充值合计、消费合计、余额--> 
 | 
  <select id="getClientUsages" resultType="com.dy.pipIrrGlobal.voSt.VoCardUsage"> 
 | 
    SELECT 
 | 
      cli.name AS clientName, 
 | 
      (SELECT ROUND(SUM(rch.amount),2) FROM se_recharge_history rch WHERE rch.clientId = cli.id AND rch.operateDt BETWEEN #{timeStart} AND #{timeStop}) AS totalRecharge, 
 | 
      (SELECT ROUND(SUM(his.cl_this_money),2) FROM rm_open_close_valve_history his WHERE his.client_id = cli.id AND his.cl_dt BETWEEN #{timeStart} AND #{timeStop}) AS totalConsumption, 
 | 
      (SELECT ROUND(SUM(card.money),2) FROM se_client_card card WHERE card.clientId = cli.id) AS balance 
 | 
    FROM se_client cli 
 | 
    <where> 
 | 
      <if test="clientName != null and clientName != ''"> 
 | 
        AND cli.name like CONCAT('%', #{clientName}, '%') 
 | 
      </if> 
 | 
      <if test="clientNum != null and clientNum != ''"> 
 | 
        AND cli.clientNum like CONCAT('%', #{clientNum}, '%') 
 | 
      </if> 
 | 
    </where> 
 | 
    ORDER BY totalConsumption DESC, totalRecharge DESC 
 | 
    <trim prefix="limit "> 
 | 
      <if test="start != null and count != null"> 
 | 
        #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} 
 | 
      </if> 
 | 
    </trim> 
 | 
  </select> 
 | 
  
 | 
  <!--根据指定条件获取农户记录数_充值机--> 
 | 
  <select id="getTermClientCount" resultType="java.lang.Long"> 
 | 
    SELECT 
 | 
      count(*) 
 | 
    FROM se_client cli 
 | 
        LEFT JOIN ba_district dis_village ON cli.villageId = dis_village.id 
 | 
    <where> 
 | 
      AND cli.disabled = 0 
 | 
      AND cli.deleted = 0 
 | 
      <if test = "name != null and name !=''"> 
 | 
        AND cli.name like CONCAT('%',#{name},'%') 
 | 
      </if> 
 | 
  
 | 
      <if test = "clientNum != null and clientNum !=''"> 
 | 
        AND cli.clientNum like CONCAT('%',#{clientNum},'%') 
 | 
      </if> 
 | 
  
 | 
      <if test = "phone != null and phone !=''"> 
 | 
        AND cli.phone like CONCAT('%',#{phone},'%') 
 | 
      </if> 
 | 
    </where> 
 | 
  </select> 
 | 
  
 | 
  <!--根据指定条件获取农户数据_充值机--> 
 | 
  <select id="getTermClients" resultType="com.dy.pipIrrGlobal.voSe.VoTermClient"> 
 | 
    SELECT 
 | 
        cli.id AS clientId, 
 | 
        cli.clientNum, 
 | 
        cli.name, 
 | 
        cli.phone, 
 | 
        cli.idCard, 
 | 
        dis_village.name AS villageName, 
 | 
        cli.address, 
 | 
        (SELECT COUNT(*) FROM se_client_card WHERE clientId = cli.id)+(SELECT COUNT(*) FROM se_virtual_card WHERE client_id = cli.id) AS cardCount, 
 | 
        cli.operateDt, 
 | 
        cli.districtNum 
 | 
    FROM se_client cli 
 | 
        LEFT JOIN ba_district dis_village ON cli.villageId = dis_village.id 
 | 
    <where> 
 | 
      AND cli.disabled = 0 
 | 
      AND cli.deleted = 0 
 | 
      <if test = "name != null and name !=''"> 
 | 
        AND cli.name like CONCAT('%',#{name},'%') 
 | 
      </if> 
 | 
  
 | 
      <if test = "clientNum != null and clientNum !=''"> 
 | 
        AND cli.clientNum like CONCAT('%',#{clientNum},'%') 
 | 
      </if> 
 | 
  
 | 
      <if test = "phone != null and phone !=''"> 
 | 
        AND cli.phone like CONCAT('%',#{phone},'%') 
 | 
      </if> 
 | 
    </where> 
 | 
    ORDER BY cli.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> 
 | 
  
 | 
  <!--根据农户ID获取一个农户数据_充值机--> 
 | 
  <select id="getTermOneClient" resultType="com.dy.pipIrrGlobal.voSe.VoTermClient"> 
 | 
    SELECT 
 | 
      cli.id AS clientId, 
 | 
      cli.clientNum, 
 | 
      cli.name, 
 | 
      cli.phone, 
 | 
      cli.idCard, 
 | 
      dis_village.name AS villageName, 
 | 
      cli.address, 
 | 
      (SELECT COUNT(*) FROM se_client_card WHERE clientId = cli.id)+(SELECT COUNT(*) FROM se_virtual_card WHERE client_id = cli.id) AS cardCount, 
 | 
      cli.operateDt, 
 | 
      cli.districtNum 
 | 
    FROM se_client cli 
 | 
           LEFT JOIN ba_district dis_village ON cli.villageId = dis_village.id 
 | 
    WHERE cli.disabled = 0 AND cli.deleted = 0 AND cli.id = #{clientId} 
 | 
  </select> 
 | 
</mapper> 
 |