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