From e6a7ffa64a71b9419b7178b0c8bed43097e5d352 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期四, 24 十月 2024 16:28:57 +0800
Subject: [PATCH] 2024-10-24 朱宝民 微信小程序中使用的物理卡开关阀记录、虚拟卡开关阀记录

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml                 |   64 ++++++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/qo/QoOpenClose.java |   17 +++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoOpenClostWechat.java               |   66 +++++++++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java  |   26 +++++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java     |   34 ++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java       |   44 ++++++++
 6 files changed, 251 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java
index c08d6a2..acf5ddc 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoRm/RmOpenCloseValveHistoryMapper.java
@@ -4,6 +4,7 @@
 import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory;
 import com.dy.pipIrrGlobal.voRm.VoExpend;
 import com.dy.pipIrrGlobal.voRm.VoOpenCloseValve;
+import com.dy.pipIrrGlobal.voRm.VoOpenClostWechat;
 import com.dy.pipIrrGlobal.voSt.VoClient;
 import com.dy.pipIrrGlobal.voSt.VoIntake;
 import com.dy.pipIrrGlobal.voSt.VoIntakeAccumulateAmount;
@@ -320,4 +321,29 @@
      * @return
      */
     List<VoExpend> getExpends(Map<String, Object> params);
+
+    /**
+     * 鑾峰彇鐗╃悊鍗″紑鍏抽榾璁板綍鏁伴噺锛屽井淇″皬绋嬪簭浣跨敤
+     * @return
+     */
+    Long getCardOpenCloseCount(Map<String, Object> params);
+
+    /**
+     * 鑾峰彇鐗╃悊鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤
+     * @return
+     */
+    List<VoOpenClostWechat> getCardOpenClose(Map<String, Object> params);
+
+    /**
+     * 鑾峰彇铏氭嫙鍗″紑鍏抽榾璁板綍鏁伴噺锛屽井淇″皬绋嬪簭浣跨敤
+     * @return
+     */
+    Long getVcCardOpenCloseCount(Map<String, Object> params);
+
+    /**
+     * 鑾峰彇铏氭嫙鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤
+     * @param params
+     * @return
+     */
+    List<VoOpenClostWechat> getVcCardOpenClose(Map<String, Object> params);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoOpenClostWechat.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoOpenClostWechat.java
new file mode 100644
index 0000000..238a143
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voRm/VoOpenClostWechat.java
@@ -0,0 +1,66 @@
+package com.dy.pipIrrGlobal.voRm;
+
+import com.dy.common.po.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-10-24 15:36
+ * @LastEditTime 2024-10-24 15:36
+ * @Description 寮�鍏抽榾瑙嗗浘瀵硅薄_寰俊灏忕▼搴忎娇鐢�
+ */
+
+@Data
+@JsonPropertyOrder({"expense", "cardNum", "intakeNum", "openTime", "closeTime", "duration", "amount", "openType"})
+public class VoOpenClostWechat implements BaseEntity {
+    private static final long serialVersionUID = 202410241538001L;
+
+    /**
+     * 娑堣垂閲戦
+     */
+    private Double expense;
+
+    /**
+     * 姘村崱缂栧彿
+     */
+    private String cardNum;
+
+    /**
+     * 鍙栨按鍙g紪鍙�
+     */
+    private String intakeNum;
+
+    /**
+     * 寮�闃�鏃堕棿
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date openTime;
+
+    /**
+     * 鍏抽榾鏃堕棿
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date closeTime;
+
+    /**
+     * 鐢ㄦ按鏃堕暱
+     */
+    private Integer duration;
+
+    /**
+     * 鐢ㄦ按閲�
+     */
+    private Double amount;
+
+    /**
+     * 寮�闃�绫诲瀷
+     */
+    private String openType;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
index 461c803..9d8fc5e 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/RmOpenCloseValveHistoryMapper.xml
@@ -1264,4 +1264,68 @@
             </if>
         </trim>
     </select>
+
+    <!--鑾峰彇鐗╃悊鍗″紑鍏抽榾璁板綍鏁伴噺锛屽井淇″皬绋嬪簭浣跨敤-->
+    <select id="getCardOpenCloseCount" resultType="java.lang.Long">
+        SELECT COUNT(*) AS recordCount
+        FROM rm_open_close_valve_history his
+                 LEFT JOIN pr_intake inta ON inta.id = his.intake_id
+        WHERE op_type  = 1
+    </select>
+
+    <!--鑾峰彇鐗╃悊鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤-->
+    <select id="getCardOpenClose" resultType="com.dy.pipIrrGlobal.voRm.VoOpenClostWechat">
+        SELECT
+            cl_this_money AS expense,
+            op_ic_card_no AS cardNum,
+            inta.name AS intakeNum,
+            open_dt AS openTime,
+            close_dt AS closeTime,
+            cl_this_time AS duration,
+            cl_this_amount AS amount,
+            '鍒峰崱寮�闃�' AS openType
+        FROM rm_open_close_valve_history his
+                 LEFT JOIN pr_intake inta ON inta.id = his.intake_id
+        WHERE op_type  = 1
+        ORDER BY open_dt DESC
+        <trim prefix="limit " >
+            <if test="start != null and count != null">
+                #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+            </if>
+        </trim>
+    </select>
+
+    <!--鑾峰彇铏氭嫙鍗″紑鍏抽榾璁板綍鏁伴噺锛屽井淇″皬绋嬪簭浣跨敤-->
+    <select id="getVcCardOpenCloseCount" resultType="java.lang.Long">
+        SELECT COUNT(*) AS recordCount
+        FROM rm_open_close_valve_history his
+                 LEFT JOIN pr_intake inta ON inta.id = his.intake_id
+        WHERE op_type  = 8
+    </select>
+
+    <!--鑾峰彇铏氭嫙鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤-->
+    <select id="getVcCardOpenClose" resultType="com.dy.pipIrrGlobal.voRm.VoOpenClostWechat">
+        SELECT
+            cl_this_money AS expense,
+            op_ic_card_no AS cardNum,
+            inta.name AS intakeNum,
+            open_dt AS openTime,
+            close_dt AS closeTime,
+            cl_this_time AS duration,
+            cl_this_amount AS amount,
+            CASE
+                WHEN cl_type = 13 THEN '瀹氭椂鍏抽榾寮忓紑闃�'
+                WHEN cl_type = 14 THEN '瀹氶噺鍏抽榾寮忓紑闃�'
+                ELSE '杩滅▼寮�闃�'
+                END AS openType
+        FROM rm_open_close_valve_history his
+                 LEFT JOIN pr_intake inta ON inta.id = his.intake_id
+        WHERE op_type  = 8
+        ORDER BY open_dt 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
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java
index ac7fb7c..569914e 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeCtrl.java
@@ -4,7 +4,9 @@
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
+import com.dy.pipIrrGlobal.voRm.VoOpenClostWechat;
 import com.dy.pipIrrWechat.intake.qo.OnLineIntakesQO;
+import com.dy.pipIrrWechat.intake.qo.QoOpenClose;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -75,4 +77,36 @@
             return BaseResponseUtils.buildException(e.getMessage());
         }
     }
+
+    /**
+     * 鑾峰彇鐗╃悊鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤
+     * @param qo
+     * @return
+     */
+    @GetMapping(path = "/getCardOpenClose")
+    public BaseResponse<QueryResultVo<List<VoOpenClostWechat>>> getCardOpenClose(QoOpenClose qo) {
+        try {
+            QueryResultVo<List<VoOpenClostWechat>> res = intakeSv.getCardOpenClose(qo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇姘村崱寮�鍏抽榾璁板綍寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
+
+    /**
+     * 鑾峰彇铏氭嫙鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤
+     * @param qo
+     * @return
+     */
+    @GetMapping(path = "/getVcCardOpenClose")
+    public BaseResponse<QueryResultVo<List<VoOpenClostWechat>>> getVcCardOpenClose(QoOpenClose qo) {
+        try {
+            QueryResultVo<List<VoOpenClostWechat>> res = intakeSv.getVcCardOpenClose(qo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇铏氭嫙鍗″紑鍏抽榾璁板綍寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage());
+        }
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java
index 47ecf84..010f95c 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/IntakeSv.java
@@ -8,8 +8,11 @@
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoPr.PrIntakeMapper;
+import com.dy.pipIrrGlobal.daoRm.RmOpenCloseValveHistoryMapper;
 import com.dy.pipIrrGlobal.voPr.VoOnLineIntake;
+import com.dy.pipIrrGlobal.voRm.VoOpenClostWechat;
 import com.dy.pipIrrWechat.intake.qo.OnLineIntakesQO;
+import com.dy.pipIrrWechat.intake.qo.QoOpenClose;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,6 +45,9 @@
 
     @Autowired
     private RestTemplate restTemplate;
+
+    @Autowired
+    private RmOpenCloseValveHistoryMapper rmOpenCloseValveHistoryMapper;
 
     //protected static String mwUrlSendCom = "http://127.0.0.1:8070/rtuMw/com/send" ;
     protected String comSendUrl;
@@ -191,4 +197,42 @@
         }
         return response.getBody();
     }
+
+    /**
+     * 鑾峰彇鐗╃悊鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤
+     * @param queryVo
+     * @return
+     */
+    public QueryResultVo<List<VoOpenClostWechat>> getCardOpenClose(QoOpenClose queryVo) {
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+        Long itemTotal = rmOpenCloseValveHistoryMapper.getCardOpenCloseCount(params);
+
+        QueryResultVo<List<VoOpenClostWechat>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = queryVo.pageSize;
+        rsVo.pageCurr = queryVo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmOpenCloseValveHistoryMapper.getCardOpenClose(params);
+        return rsVo;
+    }
+
+    /**
+     * 鑾峰彇铏氭嫙鍗″紑鍏抽榾璁板綍锛屽井淇″皬绋嬪簭浣跨敤
+     * @param queryVo
+     * @return
+     */
+    public QueryResultVo<List<VoOpenClostWechat>> getVcCardOpenClose(QoOpenClose queryVo) {
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+        Long itemTotal = rmOpenCloseValveHistoryMapper.getVcCardOpenCloseCount(params);
+
+        QueryResultVo<List<VoOpenClostWechat>> rsVo = new QueryResultVo<>();
+        rsVo.pageSize = queryVo.pageSize;
+        rsVo.pageCurr = queryVo.pageCurr;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = rmOpenCloseValveHistoryMapper.getVcCardOpenClose(params);
+        return rsVo;
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/qo/QoOpenClose.java b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/qo/QoOpenClose.java
new file mode 100644
index 0000000..9755ea8
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/intake/qo/QoOpenClose.java
@@ -0,0 +1,17 @@
+package com.dy.pipIrrWechat.intake.qo;
+
+import com.dy.common.webUtil.QueryConditionVo;
+import lombok.*;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-10-24 16:07
+ * @LastEditTime 2024-10-24 16:07
+ * @Description 寮�鍏抽榾鏌ヨ瀵硅薄锛屽井淇″皬绋嬪簭浣跨敤
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class QoOpenClose extends QueryConditionVo {
+
+}

--
Gitblit v1.8.0