From 7e243d1b887bbc82d2d4c8075bf4c4a549e79f68 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期六, 19 十月 2024 11:58:42 +0800
Subject: [PATCH] 实现接口 获取指定时间内农户充值、消费、余额合计
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml | 62 +++++++++++++++++++++++++++++-
1 files changed, 59 insertions(+), 3 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 fbf92a0..fefa9d6 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
@@ -325,6 +325,16 @@
<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>
</where>
</select>
@@ -351,7 +361,7 @@
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
@@ -380,6 +390,16 @@
<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>
</where>
ORDER BY cli.operateDt DESC
<trim prefix="limit " >
@@ -396,7 +416,7 @@
<!--鏍规嵁鍐滄埛缂栧彿鑾峰彇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-->
@@ -455,5 +475,41 @@
</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