From 4a2deb11b819dd78a8c75e244ef67ec2e48cf5f5 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 14 四月 2025 21:03:28 +0800
Subject: [PATCH] 重构轮灌组修改接口

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml |  552 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 552 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
new file mode 100644
index 0000000..91c9588
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
@@ -0,0 +1,552 @@
+<?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>
+
+  <!--鏍规嵁涓婚敭鑾峰彇鏉慖D-->
+  <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>
+</mapper>
\ No newline at end of file

--
Gitblit v1.8.0