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 |  401 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 401 insertions(+), 0 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 df474b2..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,8 +289,409 @@
       </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="getTransactionRecordCount" 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 ba_user user ON ope.operator = user.id
+        INNER JOIN se_payment_method pay ON ope.payment_id = pay.id
+    <where>
+      AND ope.operate_type IN(1,2,3,4)
+      <if test = "villageId != null and villageId > 0">
+        AND cli.villageId = ${villageId}
+      </if>
+
+      <if test = "cardNum != null and cardNum >0">
+        AND card.cardNum = ${cardNum}
+      </if>
+
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍-->
+  <select id="getTransactions" resultType="com.dy.pipIrrGlobal.voSe.VoTransaction">
+    SELECT
+        ope.id AS orderNumber,
+        cli.villageId,
+        cli.districtTitle,
+        cli.clientNum,
+        cli.`name`,
+        card.cardNum,
+        cli.idCard,
+        cli.phone,
+        (CASE operate_type
+            WHEN 1 THEN '寮�鍗�'
+            WHEN 2 THEN '鍏呭��'
+            WHEN 3 THEN '閿�鍗�'
+            WHEN 4 THEN '琛ュ崱'
+        END) AS operateType,
+        ope.operate_dt AS operateTime,
+        IFNULL(ope.money, 0) AS money,
+        IFNULL(ope.trade_amount, 0) AS waterCost,
+        IFNULL(ope.gift, 0) AS gift,
+        IFNULL(ope.card_cost, 0) AS cardCost,
+        pay.`name` paymentMethod,
+        user.name AS operatorName
+    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 ba_user user ON ope.operator = user.id
+        INNER JOIN se_payment_method pay ON ope.payment_id = pay.id
+    <where>
+      AND ope.operate_type IN(1,2,3,4)
+      <if test = "villageId != null and villageId > 0">
+        AND cli.villageId = ${villageId}
+      </if>
+
+      <if test = "cardNum != null and cardNum >0">
+        AND card.cardNum = ${cardNum}
+      </if>
+
+      <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
     <if test="pageCurr != null and pageSize != null">
       LIMIT ${pageCurr}, ${pageSize}
     </if>
   </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璐按姹囨�诲拰璐崱姹囨�伙紝鑾峰彇浜ゆ槗鏄庣粏浣跨敤-->
+  <select id="getTransactionSums" resultType="java.util.Map">
+    SELECT
+        IFNULL(SUM(trade_amount),0) AS waterCost,
+        IFNULL(SUM(card_cost),0) AS cardCost
+    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 ba_user user ON ope.operator = user.id
+        INNER JOIN se_payment_method pay ON ope.payment_id = pay.id
+    <where>
+      AND ope.operate_type IN(1,2,3,4)
+      <if test = "villageId != null and villageId > 0">
+        AND cli.villageId = ${villageId}
+      </if>
+
+      <if test = "cardNum != null and cardNum >0">
+        AND card.cardNum = ${cardNum}
+      </if>
+
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+  </select>
+
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗缁熻璁板綍鏁�-->
+  <select id="getTransactionStatisticsRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
+    SELECT
+        COUNT(*) AS recordCount
+    FROM v_transactionstatistics
+    <where>
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND tradeDate BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗缁熻璁板綍-->
+  <select id="getTransactionStatistics" resultType="com.dy.pipIrrGlobal.voSe.VoTransactionStatistics">
+    SELECT * FROM v_transactionstatistics
+    <where>
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND tradeDate BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+    ORDER BY tradeDate
+    <if test="pageCurr != null and pageSize != null">
+      LIMIT ${pageCurr}, ${pageSize}
+    </if>
+  </select>
+
+  <!--鏍瑰熀鎸囧畾鏉′欢鑾峰彇绗旀暟鍚堣銆佸疄鏀堕噾棰濆悎璁°�佽禒閫侀噾棰濆悎璁�-->
+  <select id="getTransactionStatisticsSums" resultType="java.util.Map">
+    SELECT
+      SUM(count) AS totalCount,
+      SUM(received) AS totalReceived,
+      SUM(gift) AS totalGift
+    FROM v_transactionstatistics
+    <where>
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND tradeDate BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+  </select>
+
+  <!--鑾峰彇鎸囧畾鏃ユ湡銆佹寚瀹氭敮浠樻柟寮忓疄鏀堕噾棰濆悎璁�-->
+  <select id="getPaymentSums" resultType="java.lang.Float">
+    SELECT
+      SUM(ope.trade_amount) AS tradeAmount
+    FROM se_card_operate ope
+    <where>
+      <if test = "tradeDate != null and tradeDate !=''">
+        AND Date(ope.operate_dt) = #{tradeDate}
+      </if>
+
+      <if test = "paymentId != null and paymentId >0">
+        AND ope.payment_id = ${paymentId}
+      </if>
+    </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