From b1dc9988b9587add132a01faa6bc09e162fe1491 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 08 七月 2024 21:39:38 +0800
Subject: [PATCH] 1、开关阀报中增加农户关联; 2、工作报中增加农户关联; 3、取水口损失流量完善; 4、实现取水日取水量统计。

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml |  124 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 113 insertions(+), 11 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
index ad2c253..2426f94 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -53,16 +53,25 @@
 
   <!--鏍规嵁姘村崱缂栧彿鑾峰彇姘村崱琛ㄤ富閿強鍐滄埛缂栧彿-->
   <select id="getCardIdAndClientNum" resultType="java.util.Map">
-<!--    SELECT id AS cardId, clientNum FROM se_client_card WHERE cardNum = #{cardNum}-->
+    <!--    SELECT id AS cardId, clientNum FROM se_client_card WHERE cardNum = #{cardNum}-->
     SELECT
-        card.id AS cardId,
-        cli.clientNum,
-        cli.id AS clientId
+    card.id AS cardId,
+    cli.clientNum,
+    cli.id AS clientId
     FROM se_client_card card
-        INNER JOIN se_client cli ON card.clientId = cli.id
+    INNER JOIN se_client cli ON card.clientId = cli.id
     WHERE card.cardNum = #{cardNum}
   </select>
 
+  <!-- 鏍规嵁姘村崱缂栧彿鑾峰彇姘村崱瀵瑰簲鐨勫啘鎴穒d鍜屽鍚� -->
+  <select id="getClientIdAndNameByCardAddrAndCardNo" resultType="java.util.Map">
+    SELECT
+    cli.id AS clientId,
+    cli.name AS clientName
+    FROM se_client_card card
+    INNER JOIN se_client cli ON card.clientId = cli.id
+    WHERE card.cardAddr = #{cardAddr} and  card.cardNum = #{cardNum}
+  </select>
 
   <!--鏍规嵁琛屾斂鍖哄垝涓叉ā绯婃煡璇㈡按鍗$紪鍙�-->
   <select id="getCardNumOfMax"  resultType="java.lang.String">
@@ -404,8 +413,8 @@
     SELECT
         COUNT(*) AS recordCount
     FROM se_client_card card
-        INNER JOIN se_client cli ON card.clientId = cli.id
-    WHERE card.state = 3 AND NOT EXISTS (SELECT * FROM se_client_card card2 WHERE card.clientId = card2.clientId AND card2.state = 1)
+           INNER JOIN se_client cli ON card.clientId = cli.id
+    WHERE card.state = 3 AND NOT EXISTS (SELECT * FROM se_client_card card2 WHERE card2.original_card_id = card.cardNum)
   </select>
 
   <!--鑾峰彇宸叉寕澶辨湭琛ュ崱鐨勮褰�-->
@@ -426,7 +435,7 @@
         FORMAT(card.money,2) AS money
     FROM se_client_card card
         INNER JOIN se_client cli ON card.clientId = cli.id
-    WHERE card.state = 3 AND NOT EXISTS (SELECT * FROM se_client_card card2 WHERE card2.original_card_id = card.id)
+    WHERE card.state = 3 AND NOT EXISTS (SELECT * FROM se_client_card card2 WHERE card2.original_card_id = card.cardNum)
     ORDER BY card.id
     <trim prefix="limit " >
       <if test="start != null and count != null">
@@ -435,12 +444,11 @@
     </trim>
   </select>
 
-  <!--鍒ゆ柇鎸囧畾姘村崱鏄惁涓烘寕澶辩姸鎬佷笖鏃犺ˉ鍗¤褰�-->
-  <select id="isLostAndUnreplaced" resultType="java.lang.Integer">
+  <!--鏍规嵁鎸囧畾姘村崱缂栧彿鑾峰彇鎸傚け浜嬭褰曟暟閲忥紙琛ュ崱銆佽В閿佷娇鐢級-->
+  <select id="getLostCount" resultType="java.lang.Integer">
     SELECT
         COUNT(*) AS recordCount
     FROM se_client_card card
-        INNER JOIN se_client_card card2 ON card2.original_card_id = card.cardNum
     <where>
       AND card.state = 3
       <if test = "cardNum != null and cardNum > 0">
@@ -448,4 +456,98 @@
       </if>
     </where>
   </select>
+
+  <!--鏍规嵁鎸囧畾姘村崱缂栧彿鑾峰彇宸茶ˉ鍗℃暟閲忥紙琛ュ崱銆佽В閿佷娇鐢級-->
+  <select id="getReplacedCount" resultType="java.lang.Integer">
+    SELECT
+        COUNT(*) AS recordCount
+    FROM se_client_card card
+        INNER JOIN se_client_card card2 ON card2.original_card_id = card.id
+    <where>
+      <if test = "cardNum != null and cardNum > 0">
+        AND card.cardNum = #{cardNum}
+      </if>
+    </where>
+  </select>
+  <!--鏍规嵁鍐滄埛濮撳悕鍜屾墜鏈哄彿鑾峰彇姘村崱鍒楄〃璁板綍鏁帮紝搴旂敤绋嬪簭浣跨敤-->
+  <select id="getCardsByClientNameAndPhoneCount" resultType="java.lang.Long">
+    SELECT
+      COUNT(*) AS recordCount
+    FROM se_client_card card
+    INNER JOIN se_client cli ON card.clientId = cli.id
+    <where>
+      card.state = 1
+      <if test = "clientName != null and clientName !=''">
+        AND cli.name like CONCAT('%',#{clientName},'%')
+      </if>
+
+      <if test = "phone != null and phone !=''">
+        AND cli.phone like CONCAT('%',#{phone},'%')
+      </if>
+    </where>
+    </select>
+  <!--鏍规嵁鍐滄埛濮撳悕鍜屾墜鏈哄彿鑾峰彇姘村崱鍒楄〃锛屽簲鐢ㄧ▼搴忎娇鐢�-->
+  <select id="getCardsByClientNameAndPhone" resultType="com.dy.pipIrrGlobal.voSe.VoCards2">
+    SELECT
+    card.id AS clientCardId,
+    cli.id AS clientId,
+    cli.clientNum,
+    cli.name AS clientName,
+    card.cardNum,
+    cli.phone,
+    cli.idCard,
+    card.state AS cardState,
+    (CASE
+    WHEN card.state = 1 THEN '姝e父'
+    WHEN card.state = 2 THEN '宸叉敞閿�'
+    WHEN card.state = 3 THEN '宸叉寕澶�'
+    End) AS stateName,
+    '鍐滄埛鍗�' AS cardType,
+    FORMAT(card.money, 2) AS money
+    FROM se_client_card card
+    INNER JOIN se_client cli ON card.clientId = cli.id
+    <where>
+      card.state = 1
+      <if test = "clientName != null and clientName !=''">
+        AND cli.name like CONCAT('%',#{clientName},'%')
+      </if>
+
+      <if test = "phone != null and phone !=''">
+        AND cli.phone like CONCAT('%',#{phone},'%')
+      </if>
+    </where>
+    ORDER BY card.id
+    <trim prefix="limit " >
+      <if test="start != null and count != null">
+        #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+      </if>
+    </trim>
+  </select>
+  <!--鏍规嵁鍐滄埛ID鏌ヨ姝e父鐘舵�佺殑姘村崱鍒楄〃,灏忕▼搴忎娇鐢�-->
+  <select id="getCardsByClientID" resultType="com.dy.pipIrrGlobal.voWe.VoCards3">
+    SELECT
+    card.id AS clientCardId,
+    cli.id AS clientId,
+    cli.clientNum,
+    cli.name AS clientName,
+    card.cardNum,
+    cli.phone,
+    cli.idCard,
+    card.state AS cardState,
+    (CASE
+    WHEN card.state = 1 THEN '姝e父'
+    WHEN card.state = 2 THEN '宸叉敞閿�'
+    WHEN card.state = 3 THEN '宸叉寕澶�'
+    End) AS stateName,
+    '鍐滄埛鍗�' AS cardType,
+    FORMAT(card.money, 2) AS money
+    FROM se_client_card card
+    INNER JOIN se_client cli ON card.clientId = cli.id
+    where
+      card.state = 1
+      AND cli.id like CONCAT('%',#{clientId},'%')
+
+
+    ORDER BY card.id
+  </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0