From cc1dd856e31c27f835ab2495f0415c4e8578b93f Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期六, 14 九月 2024 14:43:45 +0800
Subject: [PATCH] 2024-09-14 朱宝民 统计充值金额总计、水表消费金额总计

---
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardCtrl.java |   22 +++++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java   |   31 +++++++++++++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml                              |   14 +++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java               |   16 ++++++++
 4 files changed, 83 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
index 1fbee9f..c87cb33 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientCardMapper.java
@@ -218,4 +218,20 @@
      * @return
      */
     List<VoCardUsage> getCardUsages(Map<?, ?> params);
+
+    /**
+     * 鑾峰彇鎸囧畾鏃堕棿娈靛唴姘村崱鍏呭�兼�昏
+     * @param timeStart
+     * @param timeStop
+     * @return
+     */
+    Float getTotalRecharge(@Param("timeStart")String timeStart, @Param("timeStop")String timeStop);
+
+    /**
+     * 鑾峰彇鎸囧畾鏃堕棿娈靛唴姘村崱娑堣垂鎬昏
+     * @param timeStart
+     * @param timeStop
+     * @return
+     */
+    Float getTotalConsumption(@Param("timeStart")String timeStart, @Param("timeStop")String timeStop);
 }
\ No newline at end of file
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 1828bc0..8935aee 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientCardMapper.xml
@@ -708,4 +708,18 @@
             </if>
         </trim>
     </select>
+
+    <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴姘村崱鍏呭�兼�昏-->
+    <select id="getTotalRecharge" resultType="java.lang.Float">
+        SELECT ROUND(SUM(amount),2) AS totalRecharge
+        FROM se_recharge_history
+        WHERE operateDt BETWEEN #{timeStart} AND #{timeStop}
+    </select>
+
+    <!--鑾峰彇鎸囧畾鏃堕棿娈靛唴姘村崱娑堣垂鎬昏-->
+    <select id="getTotalConsumption" resultType="java.lang.Float">
+        SELECT ROUND(SUM(cl_this_money),2) AS totalConsumption
+        FROM rm_open_close_valve_history
+        WHERE cl_dt BETWEEN #{timeStart} AND #{timeStop}
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardCtrl.java
index 74b3ff9..bfcade6 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardCtrl.java
@@ -17,6 +17,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 
 /**
@@ -128,4 +129,25 @@
             return BaseResponseUtils.buildException(e.getMessage()) ;
         }
     }
+
+    /**
+     * 鑾峰彇鍞按鎬昏淇℃伅锛氬厖鍊奸噾棰濇�昏銆佹按琛ㄦ秷璐归噾棰濇�昏
+     * @param qo
+     * @param bindingResult
+     * @return
+     */
+    @GetMapping(path = "/total_water_use")
+    @SsoAop()
+    public BaseResponse<Map> getTotalWaterUse(@Valid CardUsageQO qo, BindingResult bindingResult) {
+        if(bindingResult != null && bindingResult.hasErrors()){
+            return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+        }
+
+        try {
+            return BaseResponseUtils.buildSuccess(icCardSv.getTotalWaterUse(qo));
+        } catch (Exception e) {
+            log.error("鑾峰彇寮�鍗¤褰曞紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage()) ;
+        }
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java
index 9a6f78c..375a1c8 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/IcCardSv.java
@@ -14,8 +14,10 @@
 
 import java.time.LocalDate;
 import java.time.LocalDateTime;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 
 /**
  * @author ZhuBaoMin
@@ -192,4 +194,33 @@
         rsVo.obj = seClientCardMapper.getCardUsages(params);
         return rsVo ;
     }
+
+    /**
+     * 鑾峰彇鍞按鎬昏淇℃伅锛氬厖鍊奸噾棰濇�昏銆佹按琛ㄦ秷璐归噾棰濇�昏
+     * @param qo
+     * @return
+     */
+    public Map getTotalWaterUse(CardUsageQO qo) {
+
+        String timeStart = qo.getTimeStart();
+        String timeStop = qo.getTimeStop();
+
+        if (timeStart != null && timeStart != ""){
+            timeStart = timeStart + " 00:00:00";
+        }else {
+            timeStart = LocalDate.now() + " 00:00:00";
+        }
+        if (timeStop != null && timeStop != ""){
+            timeStop = timeStop + " 23:59:59";
+        }else {
+            timeStop = LocalDateTime.now().toString();
+        }
+
+        Float totalRecharge = Optional.ofNullable(seClientCardMapper.getTotalRecharge(timeStart, timeStop)).orElse(0f);
+        Float totalConsumption = Optional.ofNullable(seClientCardMapper.getTotalConsumption(timeStart, timeStop)).orElse(0f);
+        Map mat_total = new HashMap();
+        mat_total.put("totalRecharge", totalRecharge);
+        mat_total.put("totalConsumption", totalConsumption);
+        return mat_total;
+    }
 }

--
Gitblit v1.8.0