|  |  |  | 
|---|
|  |  |  | address = #{address,jdbcType=VARCHAR}, | 
|---|
|  |  |  | remarks = #{remarks,jdbcType=VARCHAR}, | 
|---|
|  |  |  | `operator` = #{operator,jdbcType=BIGINT}, | 
|---|
|  |  |  | operateDt = #{operatedt,jdbcType=TIMESTAMP}, | 
|---|
|  |  |  | operateDt = #{operatedt,jdbcType=TIMESTAMP} | 
|---|
|  |  |  | <!--      disabled = #{disabled,jdbcType=TINYINT},--> | 
|---|
|  |  |  | <!--      deleted = #{deleted,jdbcType=TINYINT}--> | 
|---|
|  |  |  | where id = #{id,jdbcType=BIGINT} | 
|---|
|  |  |  | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--根据指定条件获取农户记录数--> | 
|---|
|  |  |  | <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> | 
|---|
|  |  |  | SELECT | 
|---|
|  |  |  | COUNT(*) AS recordCount | 
|---|
|  |  |  | <!--  <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 | 
|---|
|  |  |  | , (SELECT @i:=0) AS itable | 
|---|
|  |  |  | 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 = "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 id="getClients" resultType="com.dy.pipIrrGlobal.voSe.VoClient"> | 
|---|
|  |  |  | SELECT | 
|---|
|  |  |  | (@i:=@i+1) AS id, | 
|---|
|  |  |  | CAST(cli.countyId AS char) AS countyId, | 
|---|
|  |  |  | SELECT DISTINCT | 
|---|
|  |  |  | cli.countyId, | 
|---|
|  |  |  | dis_con.name AS countryName, | 
|---|
|  |  |  | CAST(cli.townId AS char) AS townId, | 
|---|
|  |  |  | cli.townId, | 
|---|
|  |  |  | dis_town.name AS townName, | 
|---|
|  |  |  | CAST(cli.villageId AS char) AS villageId, | 
|---|
|  |  |  | cli.villageId, | 
|---|
|  |  |  | dis_village.name AS villageName, | 
|---|
|  |  |  | CAST(cli.blockId AS char) AS blockId, | 
|---|
|  |  |  | blo.name AS bolckName, | 
|---|
|  |  |  | CAST(cli.divideId AS char) AS divideId, | 
|---|
|  |  |  | cli.blockId, | 
|---|
|  |  |  | blo.name AS blockName, | 
|---|
|  |  |  | cli.divideId, | 
|---|
|  |  |  | divi.name AS divideName, | 
|---|
|  |  |  | CAST(cli.typeId AS char) AS waterTypeId, | 
|---|
|  |  |  | cli.typeId, | 
|---|
|  |  |  | wat.typeName AS waterTypeName, | 
|---|
|  |  |  | CAST(cli.id AS char) AS clientId, | 
|---|
|  |  |  | cli.id AS clientId, | 
|---|
|  |  |  | cli.name, | 
|---|
|  |  |  | cli.clientNum, | 
|---|
|  |  |  | cli.phone, | 
|---|
|  |  |  | cli.idCard, | 
|---|
|  |  |  | cli.area, | 
|---|
|  |  |  | (SELECT COUNT(*) FROM se_client_card WHERE clientId = cli.id) AS cardCount, | 
|---|
|  |  |  | (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 | 
|---|
|  |  |  | , (SELECT @i:=0) AS itable | 
|---|
|  |  |  | 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 = "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 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--根据农户编号获取5级行政区划代码--> | 
|---|
|  |  |  | <select id="getAreaCodeByNum" resultType="java.lang.Long"> | 
|---|
|  |  |  | SELECT districtNum FROM se_client WHERE clientNum = ${clientNum} | 
|---|
|  |  |  | 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 districtNum FROM se_client WHERE id = #{clientId} | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--根据农户编号获取农户ID--> | 
|---|
|  |  |  | <select id="getClientIdByNum" resultType="java.lang.Long"> | 
|---|
|  |  |  | SELECT id FROM se_client WHERE clientNum = ${clientNum} | 
|---|
|  |  |  | 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 se_client set deleted = 1 | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | <if test = "id != null and id > 0"> | 
|---|
|  |  |  | AND id = ${id} | 
|---|
|  |  |  | 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 villageId FROM se_client WHERE id = #{id} | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--获取虚拟卡号最大值--> | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--获取用水方式列表--> | 
|---|
|  |  |  | <select id="getWaterTypes" resultType="java.util.Map"> | 
|---|
|  |  |  | SELECT id, typeName from se_water_type | 
|---|
|  |  |  | 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> | 
|---|