From 79e481b7da2a83c769f9709eeec0e7130359be1b Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期五, 05 七月 2024 16:59:12 +0800
Subject: [PATCH] 添加取水口和更改取水口时判断取水口是否重名 重新优化

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml |  278 ++++++++++++++++---------------------------------------
 1 files changed, 81 insertions(+), 197 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
index 7d32a37..fbf92a0 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
@@ -28,7 +28,7 @@
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, countyId, townId, villageId, blockId, divideId, `name`, virtualId, clientNum, 
+    id, countyId, townId, villageId, blockid, divideId, `name`, virtualId, clientNum,
     districtNum, districtTitle, phone, idCard, area, typeId, address, remarks, `operator`, 
     operateDt, disabled, deleted
   </sql>
@@ -56,7 +56,7 @@
       operateDt, disabled, deleted
       )
     values (#{id,jdbcType=BIGINT}, #{countyid,jdbcType=BIGINT}, #{townid,jdbcType=BIGINT}, 
-      #{villageid,jdbcType=BIGINT}, #{blockid,jdbcType=BIGINT}, #{divideid,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}, 
@@ -286,7 +286,7 @@
       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}
@@ -304,22 +304,26 @@
   <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛璁板綍鏁�-->
   <select id="getRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
     SELECT
-    COUNT(*) AS recordCount
+        COUNT(*) AS recordCount
     FROM se_client cli
     , (SELECT @i:=0) AS itable
     <where>
-      AND disabled = 0
-      AND deleted = 0
+      AND cli.disabled = 0
+      AND cli.deleted = 0
       <if test = "name != null and name !=''">
-        AND name like CONCAT('%',#{name},'%')
+        AND cli.name like CONCAT('%',#{name},'%')
       </if>
 
-      <if test = "num != null and num !=''">
-        AND clientNum like CONCAT('%',#{num},'%')
+      <if test = "clientNum != null and clientNum !=''">
+        AND cli.clientNum like CONCAT('%',#{clientNum},'%')
       </if>
 
       <if test = "phone != null and phone !=''">
-        AND phone like CONCAT('%',#{phone},'%')
+        AND cli.phone like CONCAT('%',#{phone},'%')
+      </if>
+
+      <if test = "address != null and address !=''">
+        AND cli.address like CONCAT('%',#{address},'%')
       </if>
     </where>
 
@@ -329,49 +333,80 @@
   <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍐滄埛鏁版嵁-->
   <select id="getClients" resultType="com.dy.pipIrrGlobal.voSe.VoClient">
     SELECT
-    (@i:=@i+1) AS id,
-    name,
-    clientNum,
-    phone,
-    idCard,
-    (SELECT COUNT(*) FROM se_client_card WHERE clientNum = cli.clientNum) AS cardCount,
-    address,
-    operateDt
+        CAST(cli.countyId AS char) AS countyId,
+        dis_con.name AS countryName,
+        CAST(cli.townId AS char) AS townId,
+        dis_town.name AS townName,
+        CAST(cli.villageId AS char) AS villageId,
+        dis_village.name AS villageName,
+        CAST(cli.blockId AS char) AS blockId,
+        blo.name AS blockName,
+        CAST(cli.divideId AS char) AS divideId,
+        divi.name AS divideName,
+        CAST(cli.typeId AS char) AS typeId,
+        wat.typeName AS waterTypeName,
+        CAST(cli.id AS char) AS clientId,
+        cli.name,
+        cli.clientNum,
+        cli.phone,
+        cli.idCard,
+        cli.area,
+        (SELECT COUNT(*) FROM se_client_card WHERE clientId = 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
     <where>
-      AND disabled = 0
-      AND deleted = 0
+      AND cli.disabled = 0
+      AND cli.deleted = 0
       <if test = "name != null and name !=''">
-        AND name like CONCAT('%',#{name},'%')
+        AND cli.name like CONCAT('%',#{name},'%')
       </if>
 
       <if test = "clientNum != null and clientNum !=''">
-        AND clientNum like CONCAT('%',#{clientNum},'%')
+        AND cli.clientNum like CONCAT('%',#{clientNum},'%')
       </if>
 
       <if test = "phone != null and phone !=''">
-        AND phone like CONCAT('%',#{phone},'%')
+        AND cli.phone like CONCAT('%',#{phone},'%')
       </if>
 
       <if test = "address != null and address !=''">
-        AND address like CONCAT('%',#{address},'%')
+        AND cli.address like CONCAT('%',#{address},'%')
       </if>
     </where>
-    ORDER BY operateDt DESC
-    <if test="pageCurr != null and pageSize != null">
-      LIMIT ${pageCurr}, ${pageSize}
-    </if>
+    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}
+    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}
+    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閫昏緫鍒犻櫎鍐滄埛-->
@@ -396,180 +431,29 @@
 
   <!--鑾峰彇鐢ㄦ按鏂瑰紡鍒楄〃-->
   <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="getSums" resultType="java.util.Map">
+  <!--鑾峰彇鍐滄埛鍩烘湰淇℃伅锛屽皬绋嬪簭棣栭〉浣跨敤-->
+  <select id="getSimpleClientInfo" resultType="com.dy.pipIrrGlobal.voSe.VoClientWechat">
     SELECT
-        SUM(money) AS money,
-        SUM(cardCost) AS cardCost
-    FROM v_operate
+      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 = "villageId != null and villageId > 0">
-        AND villageId = ${villageId}
+      <if test = "sessionId != null">
+        AND ope.id = #{sessionId}
       </if>
 
-      <if test = "paymentId != null and paymentId >0">
-        AND paymentId = ${paymentId}
-      </if>
-
-      <if test = "operateTimeStart != null and operateTimeStop != null">
-        AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      <if test = "openId != null">
+        AND ope.open_id = #{openId}
       </if>
     </where>
-  </select>
-
-  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍鏁�-->
-  <select id="getOperateRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
-    SELECT
-        COUNT(*) AS recordCount
-    FROM v_operate
-    <where>
-      <if test = "villageId != null and villageId > 0">
-        AND villageId = ${villageId}
-      </if>
-
-      <if test = "paymentId != null and paymentId >0">
-        AND paymentId = ${paymentId}
-      </if>
-
-      <if test = "operateTimeStart != null and operateTimeStop != null">
-        AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
-      </if>
-    </where>
-  </select>
-
-  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍-->
-  <select id="getOperates" resultType="com.dy.pipIrrGlobal.voSe.VoOperate">
-    SELECT
-        villageId,
-        districtTitle,
-        clientNum,
-        `name`,
-        cardNum,
-        idCard,
-        phone,
-        money,
-        cardCost,
-        paymentId,
-        paymentMethod,
-        operateType,
-        operateDt,
-        operatorName
-    FROM v_operate
-    <where>
-      <if test = "villageId != null and villageId > 0">
-        AND villageId = ${villageId}
-      </if>
-
-      <if test = "paymentId != null and paymentId >0">
-        AND paymentId = ${paymentId}
-      </if>
-
-      <if test = "operateTimeStart != null and operateTimeStop != null">
-        AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
-      </if>
-    </where>
-    ORDER BY operateDt
-    <if test="pageCurr != null and pageSize != null">
-      LIMIT ${pageCurr}, ${pageSize}
-    </if>
-  </select>
-
-  <!-- 涓嬪垪鍐呭涓轰氦鏄撶粺璁℃煡璇� -->
-  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗绗旀暟姹囨�诲拰浜ゆ槗閲戦姹囨��-->
-  <select id="getStatisticSums" resultType="java.util.Map">
-    SELECT
-    SUM(count) AS count,
-    SUM(money) AS money
-    FROM
-    (
-      SELECT
-      villageId,
-      districtTitle,
-      operateType,
-      operateDt,
-      count(*) AS count,
-      (sum(money) + sum(cardCost)) AS money
-      FROM v_operate
-      <where>
-        <if test = "villageId != null and villageId > 0">
-          AND villageId = ${villageId}
-        </if>
-
-<!--        <if test = "paymentId != null and paymentId >0">-->
-<!--          AND paymentId = ${paymentId}-->
-<!--        </if>-->
-
-        <if test = "operateTimeStart != null and operateTimeStop != null">
-          AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
-        </if>
-      </where>
-      GROUP BY villageId, districtTitle, operateType, operateDt
-    ) temp
-  </select>
-
-  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇姹囨�昏褰曟暟-->
-  <select id="getStatisticRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
-    SELECT
-        COUNT(*) AS recordCount
-    FROM
-    (
-        SELECT
-          villageId,
-          districtTitle,
-          operateType,
-          operateDt,
-          count(*) AS count,
-          (sum(money) + sum(cardCost)) AS money
-        FROM v_operate
-        <where>
-          <if test = "villageId != null and villageId > 0">
-            AND villageId = ${villageId}
-          </if>
-
-<!--          <if test = "paymentId != null and paymentId >0">-->
-<!--            AND paymentId = ${paymentId}-->
-<!--          </if>-->
-
-          <if test = "operateTimeStart != null and operateTimeStop != null">
-            AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
-          </if>
-        </where>
-        GROUP BY villageId, districtTitle, operateType, operateDt
-    ) temp
-  </select>
-
-  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇缁熻璁板綍-->
-  <select id="getStatistics" resultType="com.dy.pipIrrGlobal.voSe.VoStatistics">
-    SELECT
-        villageId,
-        districtTitle,
-        operateType,
-        operateDt,
-        count(*) AS count,
-        (sum(money) + sum(cardCost)) AS money
-    FROM v_operate
-    <where>
-      <if test = "villageId != null and villageId > 0">
-        AND villageId = ${villageId}
-      </if>
-
-<!--      <if test = "paymentId != null and paymentId >0">-->
-<!--        AND paymentId = ${paymentId}-->
-<!--      </if>-->
-
-      <if test = "operateTimeStart != null and operateTimeStop != null">
-        AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
-      </if>
-    </where>
-    GROUP BY villageId, districtTitle, operateType, operateDt
-    ORDER BY operateDt
-    <if test="pageCurr != null and pageSize != null">
-      LIMIT ${pageCurr}, ${pageSize}
-    </if>
+    LIMIT 0,1
   </select>
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0