From 4a33b783168846bd71eb849e1a922ae864237fbe Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期四, 19 九月 2024 13:51:43 +0800
Subject: [PATCH] 2024-09-19 朱宝民 获取收据列表接口增加查询条件和返回值

---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoReceipt.java                      |   86 +++++++++++++++++++++-------
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml                          |   55 ++++++++++++------
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoReceipt.java |    5 +
 3 files changed, 105 insertions(+), 41 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoReceipt.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoReceipt.java
index fad9f78..502bd8a 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoReceipt.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoReceipt.java
@@ -1,7 +1,8 @@
 package com.dy.pipIrrGlobal.voSe;
 
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
 import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -15,62 +16,103 @@
  */
 
 @Data
-@Schema(title = "鏀舵嵁瑙嗗浘瀵硅薄")
 public class VoReceipt {
     private static final long serialVersionUID = 202402011037001L;
 
-    @Schema(title = "鏀堕摱鍛業D")
+    /**
+     * 鏀堕摱鍛業D
+     */
     private String cashierId;
 
-    @Schema(title = "璁㈠崟鍙�")
-    private String orderNumber;
+    /**
+     * 璁㈠崟鍙�
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    private Long orderNumber;
 
-    @Schema(title = "闀囧悕绉�")
+    /**
+     * 闀囧悕绉�
+     */
     private String townName;
 
-    @Schema(title = "鏉戝悕绉�")
+    /**
+     * 鏉戝悕绉�
+     */
     private String villageName;
 
-    @Schema(title = "鍐滄埛濮撳悕")
+    /**
+     * 鍐滄埛濮撳悕
+     */
     private String name;
 
-    @Schema(title = "鐢佃瘽")
+    /**
+     * 鐢佃瘽
+     */
     private String phone;
 
-    @Schema(title = "鍐滄埛缂栧彿")
-    private String clientNum;
+    /**
+     * 鍐滄埛缂栧彿
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    private Long clientNum;
 
-    @Schema(title = "姘村崱缂栧彿")
-    private String cardNum;
+    /**
+     * 姘村崱缂栧彿
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    private Long cardNum;
 
-    @Schema(title = "涓氬姟绫诲瀷")
+    /**
+     * 涓氬姟绫诲瀷
+     */
     private String operateType;
 
-    @Schema(title = "璐按閲戦")
+    /**
+     * 璐按閲戦
+     */
     private Double waterCost;
 
-    @Schema(title = "璐崱閲戦")
+    /**
+     * 璧犻�侀噾棰�
+     */
+    private Double gift;
+
+    /**
+     * 璐崱閲戦
+     */
     private Double cardCost;
 
-    @Schema(title = "鏀惰垂閲戦")
+    /**
+     * 鏀惰垂閲戦
+     */
     private Double amount;
 
-    @Schema(title = "姘村崱浣欓")
+    /**
+     * 姘村崱浣欓
+     */
     private Double money;
 
-    @Schema(title = "鏀粯鏂瑰紡")
+    /**
+     * 鏀粯鏂瑰紡
+     */
     private String paymentName;
 
-    @Schema(title = "鎿嶄綔浜�")
+    /**
+     * 鎿嶄綔浜�
+     */
     private String operatorName;
 
+    /**
+     * 鎿嶄綔鏃堕棿
+     */
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @Schema(title = "鎿嶄綔鏃堕棿")
     private Date operateTime;
 
+    /**
+     * 褰撳墠鏃堕棿
+     */
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    @Schema(title = "褰撳墠鏃堕棿")
     private Date currentTime;
 }
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 77b6343..e217ed6 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
@@ -624,6 +624,14 @@
         AND cli.name like CONCAT('%',#{clientName},'%')
       </if>
 
+      <if test = "onlyGift != null and onlyGift ==true">
+        AND ope.gift > 0
+      </if>
+
+      <if test = "cashierId != null and cashierId > 0">
+        AND ope.operator = #{cashierId}
+      </if>
+
       <if test = "timeStart != null and timeStop != null">
         AND ope.operate_dt BETWEEN #{timeStart} AND #{timeStop}
       </if>
@@ -633,25 +641,26 @@
   <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鏀舵嵁鍒楄〃-->
   <select id="getReceipts" resultType="com.dy.pipIrrGlobal.voSe.VoReceipt">
     SELECT
-    CAST(ope.id AS char) AS orderNumber,
-    tow.name AS townName,
-    vil.name AS villageName,
-    cli.`name`,
-    cli.phone,
-    CAST(cli.clientNum AS char) AS clientNum,
-    CAST(card.cardNum AS char) AS cardNum,
-    (CASE
-    WHEN ope.operate_type = 1 THEN '寮�鍗�'
-    WHEN ope.operate_type = 2 THEN '鍏呭��'
-    END) AS operateType,
-    IFNULL(ope.trade_amount,0) AS waterCost,
-    IFNULL(ope.card_cost,0) AS cardCost,
-    (IFNULL(ope.trade_amount,0) + IFNULL(ope.card_cost,0)) AS amount,
-    card.money,
-    pay.`name` AS paymentName,
-    us.`name` AS operatorName,
-    ope.operate_dt AS operateTime,
-    NOW() AS currentTime
+        ope.id AS orderNumber,
+        tow.name AS townName,
+        vil.name AS villageName,
+        cli.`name`,
+        cli.phone,
+        cli.clientNum,
+        card.cardNum,
+        (CASE
+            WHEN ope.operate_type = 1 THEN '寮�鍗�'
+            WHEN ope.operate_type = 2 THEN '鍏呭��'
+        END) AS operateType,
+        IFNULL(ope.trade_amount,0) AS waterCost,
+        IFNULL(ope.gift,0) AS gift,
+        IFNULL(ope.card_cost,0) AS cardCost,
+        (IFNULL(ope.trade_amount,0) + IFNULL(ope.card_cost,0)) AS amount,
+        card.money,
+        pay.`name` AS paymentName,
+        us.`name` AS operatorName,
+        ope.operate_dt AS operateTime,
+        NOW() AS currentTime
     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
@@ -669,6 +678,14 @@
         AND cli.name like CONCAT('%',#{clientName},'%')
       </if>
 
+      <if test = "onlyGift != null and onlyGift ==true">
+        AND ope.gift > 0
+      </if>
+
+      <if test = "cashierId != null and cashierId > 0">
+        AND ope.operator = #{cashierId}
+      </if>
+
       <if test = "timeStart != null and timeStop != null">
         AND ope.operate_dt BETWEEN #{timeStart} AND #{timeStop}
       </if>
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoReceipt.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoReceipt.java
index 3b13438..9b7f939 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoReceipt.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoReceipt.java
@@ -25,4 +25,9 @@
 
     @Schema(description = "鍏呭�兼満鏃堕棿_缁撴潫")
     public String timeStop;
+
+    /**
+     * 鏄惁浠呭瓨鍦ㄨ禒閫侀噾棰濈殑
+     */
+    public Boolean onlyGift;
 }

--
Gitblit v1.8.0