From d919e26796ec5a6f78fc0b665840207f185f1274 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 22 二月 2024 15:25:20 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml | 410 +++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 246 insertions(+), 164 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 c16ceaf..3114482 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml @@ -13,8 +13,9 @@ <result column="price" jdbcType="FLOAT" property="price" /> <result column="card_cost" jdbcType="INTEGER" property="cardCost" /> <result column="gift" jdbcType="FLOAT" property="gift" /> + <result column="refund_amount" jdbcType="FLOAT" property="refundAmount" /> <result column="no_trade_amount" jdbcType="FLOAT" property="noTradeAmount" /> - <result column="operate_type_id" jdbcType="BIGINT" property="operateType" /> + <result column="operate_type" jdbcType="TINYINT" property="operateType" /> <result column="payment_id" jdbcType="BIGINT" property="paymentId" /> <result column="remarks" jdbcType="VARCHAR" property="remarks" /> <result column="operator" jdbcType="BIGINT" property="operator" /> @@ -23,7 +24,7 @@ <sql id="Base_Column_List"> <!--@mbg.generated--> id, card_id, client_id, money, system_balance, trade_amount, price, card_cost, gift, - no_trade_amount, operate_type_id, payment_id, remarks, `operator`, operate_dt + refund_amount, no_trade_amount, operate_type, payment_id, remarks, `operator`, operate_dt </sql> <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> <!--@mbg.generated--> @@ -42,15 +43,15 @@ insert into se_card_operate (id, card_id, client_id, money, system_balance, trade_amount, price, card_cost, gift, - no_trade_amount, operate_type, payment_id, - remarks, `operator`, operate_dt - ) + refund_amount, no_trade_amount, operate_type, + payment_id, remarks, `operator`, + operate_dt) values (#{id,jdbcType=BIGINT}, #{cardId,jdbcType=BIGINT}, #{clientId,jdbcType=BIGINT}, #{money,jdbcType=FLOAT}, #{systemBalance,jdbcType=FLOAT}, #{tradeAmount,jdbcType=FLOAT}, #{price,jdbcType=FLOAT}, #{cardCost,jdbcType=INTEGER}, #{gift,jdbcType=FLOAT}, - #{noTradeAmount,jdbcType=FLOAT}, #{operateType,jdbcType=BIGINT}, #{paymentId,jdbcType=BIGINT}, - #{remarks,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT}, #{operateDt,jdbcType=TIMESTAMP} - ) + #{refundAmount,jdbcType=FLOAT}, #{noTradeAmount,jdbcType=FLOAT}, #{operateType,jdbcType=TINYINT}, + #{paymentId,jdbcType=BIGINT}, #{remarks,jdbcType=VARCHAR}, #{operator,jdbcType=BIGINT}, + #{operateDt,jdbcType=TIMESTAMP}) </insert> <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeCardOperate"> <!--@mbg.generated--> @@ -83,11 +84,14 @@ <if test="gift != null"> gift, </if> + <if test="refundAmount != null"> + refund_amount, + </if> <if test="noTradeAmount != null"> no_trade_amount, </if> <if test="operateType != null"> - operate_type_id, + operate_type, </if> <if test="paymentId != null"> payment_id, @@ -130,11 +134,14 @@ <if test="gift != null"> #{gift,jdbcType=FLOAT}, </if> + <if test="refundAmount != null"> + #{refundAmount,jdbcType=FLOAT}, + </if> <if test="noTradeAmount != null"> #{noTradeAmount,jdbcType=FLOAT}, </if> <if test="operateType != null"> - #{operateType,jdbcType=BIGINT}, + #{operateType,jdbcType=TINYINT}, </if> <if test="paymentId != null"> #{paymentId,jdbcType=BIGINT}, @@ -178,11 +185,14 @@ <if test="gift != null"> gift = #{gift,jdbcType=FLOAT}, </if> + <if test="refundAmount != null"> + refund_amount = #{refundAmount,jdbcType=FLOAT}, + </if> <if test="noTradeAmount != null"> no_trade_amount = #{noTradeAmount,jdbcType=FLOAT}, </if> <if test="operateType != null"> - operate_type_id = #{operateType,jdbcType=BIGINT}, + operate_type = #{operateType,jdbcType=TINYINT}, </if> <if test="paymentId != null"> payment_id = #{paymentId,jdbcType=BIGINT}, @@ -210,8 +220,9 @@ price = #{price,jdbcType=FLOAT}, card_cost = #{cardCost,jdbcType=INTEGER}, gift = #{gift,jdbcType=FLOAT}, + refund_amount = #{refundAmount,jdbcType=FLOAT}, no_trade_amount = #{noTradeAmount,jdbcType=FLOAT}, - operate_type_id = #{operateType,jdbcType=BIGINT}, + operate_type = #{operateType,jdbcType=TINYINT}, payment_id = #{paymentId,jdbcType=BIGINT}, remarks = #{remarks,jdbcType=VARCHAR}, `operator` = #{operator,jdbcType=BIGINT}, @@ -226,8 +237,10 @@ 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 + INNER JOIN ba_user us ON ope.operator = us.id + Left JOIN se_payment_method pay ON ope.payment_id = pay.id <where> - AND ope.operate_type = 2 + AND ope.operate_type in(2, 5) <if test = "clientName != null and clientName !=''"> AND cli.name like CONCAT('%',#{clientName},'%') </if> @@ -253,21 +266,25 @@ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鍏呭�艰褰�--> <select id="getRecharges" resultType="com.dy.pipIrrGlobal.voSe.VoRecharge"> SELECT - CAST(ope.id AS char) AS id , + CAST(ope.id AS char) AS id, cli.name AS clientName, cli.clientNum, - card.cardNum, - ope.trade_amount AS amount, - (ope.money + ope.trade_amount) AS afterRecharge, - ope.payment_id, + CAST(card.cardNum AS char) AS cardNum, + IFNULL(ope.trade_amount, 0) AS amount, + IFNULL(ope.refund_amount, 0) AS refundAmount, + (IFNULL(ope.money, 0) + IFNULL(ope.trade_amount, 0)) AS afterRecharge, + -- ope.payment_id AS paymentId, + pay.name AS paymentName, ope.price, - (SELECT `name` FROM ba_user WHERE id = ope.operator) AS operator, + us.name AS operator, ope.operate_dt FROM se_card_operate ope - INNER JOIN se_client_card card ON ope.card_id = card.id + INNER JOIN se_client_card card ON ope.card_id = card.id INNER JOIN se_client cli ON ope.client_id = cli.id + INNER JOIN ba_user us ON ope.operator = us.id + Left JOIN se_payment_method pay ON ope.payment_id = pay.id <where> - AND ope.operate_type = 2 + AND ope.operate_type in(2, 5) <if test = "clientName != null and clientName !=''"> AND cli.name like CONCAT('%',#{clientName},'%') </if> @@ -289,171 +306,57 @@ </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> <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍鏁�--> <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 + FROM v_trade_details <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} + AND villageId = ${villageId} </if> <if test = "operateTimeStart != null and operateTimeStop != null"> - AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop} + AND tradeTime BETWEEN #{operateTimeStart} AND #{operateTimeStop} + </if> + + <if test = "cashierId != null and cashierId > 0"> + AND cashierId = ${cashierId} + </if> + + <if test = "tradeTime != null"> + AND tradeTime = #{tradeTime} </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 + <select id="getTransactions" resultType="com.dy.pipIrrGlobal.voSe.VoTradeDetails"> + SELECT * FROM v_trade_details <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} + AND villageId = ${villageId} </if> <if test = "operateTimeStart != null and operateTimeStop != null"> - AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop} + AND tradeTime BETWEEN #{operateTimeStart} AND #{operateTimeStop} </if> <if test = "cashierId != null and cashierId > 0"> - AND user.id = ${cashierId} + AND cashierId = ${cashierId} </if> </where> - ORDER BY ope.operate_dt + ORDER BY tradeTime <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> <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍗¤褰曟暟閲�--> @@ -484,7 +387,7 @@ </select> <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇寮�鍗¤褰�--> - <select id="getActiveCards" resultType="com.dy.pipIrrGlobal.voSe.VoActiveCardNew"> + <select id="getActiveCards" resultType="com.dy.pipIrrGlobal.voSe.VoActiveCard"> SELECT CAST(ope.id AS char) AS id , cli.name AS clientName, @@ -522,9 +425,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> <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇琛ュ崱璁板綍鏁伴噺--> @@ -579,8 +484,185 @@ </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> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇閫氱敤鎿嶄綔璁板綍鏁伴噺--> + <select id="getCommonOperationRecordCount" 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 us ON ope.operator = us.id + <where> + <if test = "operateType != null and operateType > 0"> + AND ope.operate_type = ${operateType} + </if> + + <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 = "timeStart != null and timeStop != null"> + AND ope.operate_dt BETWEEN #{timeStart} AND #{timeStop} + </if> + </where> + </select> + + <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇閫氱敤鎿嶄綔璁板綍--> + <select id="getCommonOperations" resultType="com.dy.pipIrrGlobal.voSe.VoOperate"> + SELECT + cli.name AS clientName, + cli.clientNum, + CAST(card.cardNum AS char) AS cardNum, + us.name AS operator, + ope.operate_dt AS operateDt, + IFNULL(ope.trade_amount,0) AS refund, + (CASE + WHEN ope.payment_id = 1 THEN "鐜伴噾" + END) AS refundTypeName, + card.money, + IFNULL(ope.system_balance,0) AS systemBalance + 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 us ON ope.operator = us.id + <where> + <if test = "operateType != null and operateType > 0"> + AND ope.operate_type = ${operateType} + </if> + + <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 = "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="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