From 58481c160b0d45894d631b96e63d3f02f4243533 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期五, 11 十月 2024 10:09:19 +0800
Subject: [PATCH] 优化代码 开关阀最新和历史记录 根据指定获取控制器记录 实现接口 最近未报数的取水口

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml |   60 +++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 33 insertions(+), 27 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
index e217ed6..f03c554 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
@@ -272,13 +272,15 @@
       cli.phone,
       cli.idCard,
       cli.clientNum,
+      dis.name AS villageName,
       cli.address,
       card.money,
       cardNum,
       IFNULL(ope.card_cost,0) AS cardCost,
       IFNULL(ope.trade_amount, 0) AS amount,
+      IFNULL(ope.gift, 0) AS gift,
       IFNULL(ope.refund_amount, 0) AS refundAmount,
-      (IFNULL(ope.money, 0) + IFNULL(ope.trade_amount, 0)) AS afterRecharge,
+      (IFNULL(ope.money, 0) + IFNULL(ope.trade_amount, 0) + IFNULL(ope.gift, 0)) AS afterRecharge,
       pay.name AS paymentName,
       ope.price,
       us.name AS opr,
@@ -291,6 +293,7 @@
     FROM se_card_operate ope
     INNER JOIN se_client_card card ON ope.card_id = card.id
     INNER JOIN se_client cli ON ope.client_id = cli.id
+    LEFT JOIN ba_district dis ON dis.id = cli.villageId
     INNER JOIN ba_user us ON ope.operator = us.id
     Left JOIN se_payment_method pay ON ope.payment_id = pay.id
     <where>
@@ -361,7 +364,8 @@
         IFNULL(ope.card_cost,0.00) AS cardCost,
         IFNULL(ope.gift,0.00) AS gift,
         IFNULL(ope.refund_amount,0.00) AS refundAmount,
-        ope.money,
+        <!--ope.money,-->
+        (IFNULL(ope.money, 0) + IFNULL(ope.trade_amount, 0) + IFNULL(ope.gift, 0)) AS money,
         pay.name AS paymentName,
         ope.operate_dt as tradeTime,
         us.id AS cashierId,
@@ -374,10 +378,10 @@
         cli.districtTitle,
         cli.villageId AS villageId
     FROM se_card_operate ope
-        INNER JOIN se_client cli ON ope.client_id = cli.id
-        INNER JOIN se_client_card card ON card.id = ope.card_id
+        LEFT JOIN se_client cli ON ope.client_id = cli.id
+        LEFT JOIN se_client_card card ON card.id = ope.card_id
         LEFT JOIN se_payment_method pay ON ope.payment_id = pay.id
-        INNER JOIN ba_user us ON ope.operator = us.id
+        LEFT JOIN ba_user us ON ope.operator = us.id
     <where>
       AND ope.operate_type IN(1,2,3,5)
 
@@ -431,23 +435,24 @@
   <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍗¤褰�-->
   <select id="getActiveCards" resultType="com.dy.pipIrrGlobal.voSe.VoActiveCard">
     SELECT
-    CAST(ope.id AS char) AS id ,
-    cli.name AS clientName,
-    cli.clientNum AS clientNum,
-    card.cardNum AS cardNum,
-    card.state AS state,
-    (CASE
-    WHEN card.state = 1 THEN '姝e父'
-    WHEN card.state = 2 THEN '宸叉敞閿�'
-    WHEN card.state = 3 THEN '宸叉寕澶�'
-    END) AS stateName,
-    ope.card_cost AS cardCost,
-    ope.payment_id AS paymentId,
-    (SELECT `name` FROM ba_user WHERE id =  ope.operator) AS operator,
-    ope.operate_dt AS operateDt
+        ope.id,
+        cli.name AS clientName,
+        cli.clientNum AS clientNum,
+        card.cardNum AS cardNum,
+        card.state AS state,
+        (CASE
+            WHEN card.state = 1 THEN '姝e父'
+            WHEN card.state = 2 THEN '宸叉敞閿�'
+            WHEN card.state = 3 THEN '宸叉寕澶�'
+        END) AS stateName,
+        ope.card_cost AS cardCost,
+        pay.name AS paymentName,
+        (SELECT `name` FROM ba_user WHERE id =  ope.operator) AS operator,
+        ope.operate_dt AS operateDt
     FROM se_card_operate ope
-    INNER JOIN se_client_card card ON ope.card_id = card.id
-    INNER JOIN se_client cli ON ope.client_id = cli.id
+        INNER JOIN se_client_card card ON ope.card_id = card.id
+        INNER JOIN se_client cli ON ope.client_id = cli.id
+        INNER JOIN se_payment_method pay ON pay.id = ope.payment_id
     <where>
       AND ope.operate_type = 1
       <if test = "clientName != null and clientName !=''">
@@ -660,6 +665,7 @@
         pay.`name` AS paymentName,
         us.`name` AS operatorName,
         ope.operate_dt AS operateTime,
+        ope.operator AS cashierId,
         NOW() AS currentTime
     FROM se_card_operate ope
     INNER JOIN se_client cli ON ope.client_id = cli.id
@@ -703,12 +709,12 @@
     SELECT
     SUM(IFNULL(ope.trade_amount,0) + IFNULL(ope.card_cost,0)) AS totalAmount
     FROM se_card_operate ope
-    INNER JOIN se_client cli ON ope.client_id = cli.id
-    INNER JOIN se_client_card card ON ope.card_id = card.id
-    INNER JOIN se_payment_method pay ON ope.payment_id = pay.id
-    INNER JOIN ba_user us ON ope.operator = us.id
-    INNER JOIN ba_district vil ON cli.villageId = vil.id
-    INNER JOIN ba_district tow ON cli.townId = tow.id
+    LEFT JOIN se_client cli ON ope.client_id = cli.id
+    LEFT JOIN se_client_card card ON ope.card_id = card.id
+    LEFT JOIN se_payment_method pay ON ope.payment_id = pay.id
+    LEFT JOIN ba_user us ON ope.operator = us.id
+    LEFT JOIN ba_district vil ON cli.villageId = vil.id
+    LEFT JOIN ba_district tow ON cli.townId = tow.id
     <where>
       AND ope.operate_type IN(1,2)
       <if test = "operateId != null and operateId > 0">

--
Gitblit v1.8.0