From 1129c4394c86d7b44edd47d6e50d3611e92798d1 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期四, 01 二月 2024 21:46:38 +0800
Subject: [PATCH] 2024-02-01 朱宝民 票据接口,金额转大写,财务对账查询接口

---
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml |  249 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 246 insertions(+), 3 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 553c23f..3e2189a 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
@@ -289,9 +289,11 @@
       </if>
     </where>
     ORDER BY ope.operate_dt DESC
-    <if test="pageCurr != null and pageSize != null">
-      LIMIT ${pageCurr}, ${pageSize}
-    </if>
+    <trim prefix="limit " >
+      <if test="start != null and count != null">
+        #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+      </if>
+    </trim>
   </select>
 
   <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍鏁�-->
@@ -360,6 +362,10 @@
 
       <if test = "operateTimeStart != null and operateTimeStop != null">
         AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+
+      <if test = "cashierId != null and cashierId > 0">
+        AND user.id = ${cashierId}
       </if>
     </where>
     ORDER BY ope.operate_dt
@@ -451,4 +457,241 @@
     </where>
     GROUP BY ope.payment_id,  Date(ope.operate_dt)
   </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍗¤褰曟暟閲�-->
+  <select id="getActiveCardRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
+    select
+    COUNT(*) AS recordCount
+    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
+    <where>
+      AND ope.operate_type = 1
+      <if test = "clientName != null and clientName !=''">
+        AND cli.name like CONCAT('%',#{clientName},'%')
+      </if>
+
+      <if test = "cardNum != null and cardNum !=''">
+        AND card.cardNum like CONCAT('%',#{cardNum},'%')
+      </if>
+
+      <if test = "state != null and state > 0">
+        AND card.state = ${state}
+      </if>
+
+      <if test = "activeTimeStart != null and activeTimeStop != null">
+        AND ope.operate_dt BETWEEN #{activeTimeStart} AND #{activeTimeStop}
+      </if>
+    </where>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍗¤褰�-->
+  <select id="getActiveCards" resultType="com.dy.pipIrrGlobal.voSe.VoActiveCardNew">
+    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
+    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
+    <where>
+      AND ope.operate_type = 1
+      <if test = "clientName != null and clientName !=''">
+        AND cli.name like CONCAT('%',#{clientName},'%')
+      </if>
+
+      <if test = "cardNum != null and cardNum !=''">
+        AND card.cardNum like CONCAT('%',#{cardNum},'%')
+      </if>
+
+      <if test = "state != null and state > 0">
+        AND card.state = ${state}
+      </if>
+
+      <if test = "activeTimeStart != null and activeTimeStop != null">
+        AND ope.operate_dt BETWEEN #{activeTimeStart} AND #{activeTimeStop}
+      </if>
+    </where>
+    ORDER BY ope.operate_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="getReissueCardRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
+    select
+    COUNT(*) AS recordCount
+    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
+    <where>
+      AND ope.operate_type = 4
+      <if test = "clientName != null and clientName !=''">
+        AND cli.name like CONCAT('%',#{clientName},'%')
+      </if>
+
+      <if test = "cardNum != null and cardNum !=''">
+        AND card.cardNum like CONCAT('%',#{cardNum},'%')
+      </if>
+
+      <if test = "activeTimeStart != null and activeTimeStop != null">
+        AND ope.operate_dt BETWEEN #{reissueCardTimeStart} AND #{reissueCardTimeStop}
+      </if>
+    </where>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇琛ュ崱璁板綍-->
+  <select id="getReissueCards" resultType="com.dy.pipIrrGlobal.voSe.VoReissueCard">
+    SELECT
+    CAST(ope.id AS char) AS id ,
+    cli.name AS clientName,
+    cli.clientNum AS clientNum,
+    card.cardNum AS cardNum,
+    ope.card_cost AS cardCost,
+    IFNULL(ope.no_trade_amount,0) AS reissueAmount,
+    (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
+    <where>
+      AND ope.operate_type = 4
+      <if test = "clientName != null and clientName !=''">
+        AND cli.name like CONCAT('%',#{clientName},'%')
+      </if>
+
+      <if test = "cardNum != null and cardNum !=''">
+        AND card.cardNum like CONCAT('%',#{cardNum},'%')
+      </if>
+
+      <if test = "activeTimeStart != null and activeTimeStop != null">
+        AND ope.operate_dt BETWEEN #{reissueCardTimeStart} AND #{reissueCardTimeStop}
+      </if>
+    </where>
+    ORDER BY ope.operate_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="getReceiptsRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
+    SELECT
+        COUNT(*) AS recordCount
+    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
+    <where>
+      AND ope.operate_type IN(1,2)
+      <if test = "operateId != null and operateId > 0">
+        AND ope.id = ${operateId}
+      </if>
+
+      <if test = "clientName != null and clientName !=''">
+        AND cli.name like CONCAT('%',#{clientName},'%')
+      </if>
+
+      <if test = "timeStart != null and timeStop != null">
+        AND ope.operate_dt BETWEEN #{timeStart} AND #{timeStop}
+      </if>
+    </where>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鏀舵嵁鍒楄〃-->
+  <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
+    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
+    <where>
+      AND ope.operate_type IN(1,2)
+      <if test = "operateId != null and operateId > 0">
+        AND ope.id = ${operateId}
+      </if>
+
+      <if test = "clientName != null and clientName !=''">
+        AND cli.name like CONCAT('%',#{clientName},'%')
+      </if>
+
+      <if test = "timeStart != null and timeStop != null">
+        AND ope.operate_dt BETWEEN #{timeStart} AND #{timeStop}
+      </if>
+    </where>
+    ORDER BY ope.operate_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="getTotalAmount" parameterType="java.util.Map" resultType="java.lang.Double">
+    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
+    <where>
+      AND ope.operate_type IN(1,2)
+      <if test = "operateId != null and operateId > 0">
+        AND ope.id = ${operateId}
+      </if>
+
+      <if test = "clientName != null and clientName !=''">
+        AND cli.name like CONCAT('%',#{clientName},'%')
+      </if>
+
+      <if test = "timeStart != null and timeStop != null">
+        AND ope.operate_dt BETWEEN #{timeStart} AND #{timeStop}
+      </if>
+    </where>
+  </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0