From 4a2deb11b819dd78a8c75e244ef67ec2e48cf5f5 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期一, 14 四月 2025 21:03:28 +0800 Subject: [PATCH] 重构轮灌组修改接口 --- pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeGeneralMapper.xml | 227 +++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 156 insertions(+), 71 deletions(-) diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeGeneralMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeGeneralMapper.xml index 5dbd371..fbed989 100644 --- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeGeneralMapper.xml +++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeGeneralMapper.xml @@ -9,13 +9,13 @@ <result column="cashier_name" jdbcType="VARCHAR" property="cashierName" /> <result column="trade_amount" jdbcType="FLOAT" property="tradeAmount" /> <result column="gift" jdbcType="FLOAT" property="gift" /> - <result column="total_amount" jdbcType="FLOAT" property="totalAmount" /> + <result column="refund_amount" jdbcType="FLOAT" property="refundAmount" /> <result column="operate_date" jdbcType="TIMESTAMP" property="operateDate" /> <result column="audit_status" jdbcType="TINYINT" property="auditStatus" /> </resultMap> <sql id="Base_Column_List"> <!--@mbg.generated--> - id, cashier_id, cashier_name, trade_amount, gift, total_amount, operate_date, audit_status + id, cashier_id, cashier_name, trade_amount, gift, refund_amount, operate_date, audit_status </sql> <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap"> <!--@mbg.generated--> @@ -32,10 +32,10 @@ <insert id="insert" parameterType="com.dy.pipIrrGlobal.pojoSe.SeGeneral"> <!--@mbg.generated--> insert into se_general (id, cashier_id, cashier_name, - trade_amount, gift, total_amount, + trade_amount, gift, refund_amount, operate_date, audit_status) values (#{id,jdbcType=BIGINT}, #{cashierId,jdbcType=BIGINT}, #{cashierName,jdbcType=VARCHAR}, - #{tradeAmount,jdbcType=FLOAT}, #{gift,jdbcType=FLOAT}, #{totalAmount,jdbcType=FLOAT}, + #{tradeAmount,jdbcType=FLOAT}, #{gift,jdbcType=FLOAT}, #{refundAmount,jdbcType=FLOAT}, #{operateDate,jdbcType=TIMESTAMP}, #{auditStatus,jdbcType=TINYINT}) </insert> <insert id="insertSelective" parameterType="com.dy.pipIrrGlobal.pojoSe.SeGeneral"> @@ -57,8 +57,8 @@ <if test="gift != null"> gift, </if> - <if test="totalAmount != null"> - total_amount, + <if test="refundAmount != null"> + refund_amount, </if> <if test="operateDate != null"> operate_date, @@ -83,8 +83,8 @@ <if test="gift != null"> #{gift,jdbcType=FLOAT}, </if> - <if test="totalAmount != null"> - #{totalAmount,jdbcType=FLOAT}, + <if test="refundAmount != null"> + #{refundAmount,jdbcType=FLOAT}, </if> <if test="operateDate != null"> #{operateDate,jdbcType=TIMESTAMP}, @@ -110,8 +110,8 @@ <if test="gift != null"> gift = #{gift,jdbcType=FLOAT}, </if> - <if test="totalAmount != null"> - total_amount = #{totalAmount,jdbcType=FLOAT}, + <if test="refundAmount != null"> + refund_amount = #{refundAmount,jdbcType=FLOAT}, </if> <if test="operateDate != null"> operate_date = #{operateDate,jdbcType=TIMESTAMP}, @@ -129,7 +129,7 @@ cashier_name = #{cashierName,jdbcType=VARCHAR}, trade_amount = #{tradeAmount,jdbcType=FLOAT}, gift = #{gift,jdbcType=FLOAT}, - total_amount = #{totalAmount,jdbcType=FLOAT}, + refund_amount = #{refundAmount,jdbcType=FLOAT}, operate_date = #{operateDate,jdbcType=TIMESTAMP}, audit_status = #{auditStatus,jdbcType=TINYINT} where id = #{id,jdbcType=BIGINT} @@ -140,7 +140,9 @@ SELECT DISTINCT Date(ope.operate_dt) AS operateDate FROM se_card_operate ope - WHERE Date(ope.operate_dt) NOT IN(SELECT operate_date FROM se_general) AND Date(ope.operate_dt) != CURDATE() + WHERE Date(ope.operate_dt) NOT IN(SELECT operate_date FROM se_general) +<!-- 鍙栨秷褰撳ぉ闄愬埗--> +<!-- AND Date(ope.operate_dt) != CURDATE()--> </select> <!--鏍规嵁浜ゆ槗鏃ユ湡鑾峰彇鎬昏处璁板綍鍒楄〃锛堝緟鐢熸垚鐨勶級 --> @@ -148,15 +150,43 @@ SELECT us.id AS cashierId, us.`name` AS cashierName, - IFNULL(SUM(ope.trade_amount),0) AS tradeAmount, + (IFNULL(SUM(ope.trade_amount),0) + IFNULL(SUM(ope.card_cost),0)) AS tradeAmount, IFNULL(SUM(ope.gift),0) AS gift, - IFNULL((SUM(ope.trade_amount) + SUM(ope.gift)),0) AS totalAmount, + IFNULL(SUM(ope.refund_amount),0) AS refundAmount, Date(ope.operate_dt) AS operateDate, 1 AS auditStatus FROM se_card_operate ope INNER JOIN ba_user us ON ope.operator = us.id - WHERE Date(ope.operate_dt) = #{operateDate} + WHERE Date(ope.operate_dt) = #{operateDate} AND ope.operate_valid = 2 GROUP BY ope.operator, Date(ope.operate_dt) + + UNION ALL + + SELECT + 1000000 AS cashierId, + '寰俊' AS cashierName, + IFNULL(SUM(amount), 0) AS tradeAmount, + 0 AS gift, + 0 AS refundAmount, + Date(recharge_time) AS operateDate, + 1 AS auditStatus + FROM se_wallet_recharge + WHERE Date(recharge_time) = #{operateDate} + GROUP BY Date(recharge_time) + + UNION ALL + + SELECT + 1000000 AS cashierId, + '寰俊' AS cashierName, + IFNULL(-SUM(refund_amount), 0) AS tradeAmount, + 0 AS gift, + 0 AS refundAmount, + Date(audit_time) AS operateDate, + 1 AS auditStatus + FROM se_refund + WHERE Date(audit_time) = #{operateDate} + GROUP BY Date(audit_time) </select> <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鎬昏处璁板綍鏁�--> @@ -170,7 +200,7 @@ </if> <if test = "auditStatus != null and auditStatus > 0"> - AND audit_status = ${auditStatus} + AND audit_status = #{auditStatus} </if> <if test = "operateDateStart != null and operateDateStop != null"> @@ -182,17 +212,18 @@ <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇鎬昏处璁板綍--> <select id="getGenerals" resultType="com.dy.pipIrrGlobal.voSe.VoGeneral"> SELECT - CAST(id AS char) AS generalId, - CAST(cashier_id AS char) AS cashierId, + id AS generalId, + cashier_id AS cashierId, cashier_name AS cashierName, trade_amount AS tradeAmount, gift, - total_amount AS totalAmount, + refund_amount AS refundAmount, + (trade_amount + gift - refund_amount) AS totalAmount, Date(operate_date) AS operateDate, (CASE - WHEN audit_status = 1 THEN "鏈鏍�" - WHEN audit_status = 2 THEN "鍚屾剰" - WHEN audit_status = 3 THEN "椹冲洖" + WHEN audit_status = 1 THEN '鏈鏍�' + WHEN audit_status = 2 THEN '鍚屾剰' + WHEN audit_status = 3 THEN '椹冲洖' END) AS auditStatus FROM se_general <where> @@ -201,7 +232,7 @@ </if> <if test = "auditStatus != null and auditStatus > 0"> - AND audit_status = ${auditStatus} + AND audit_status = #{auditStatus} </if> <if test = "operateDateStart != null and operateDateStop != null"> @@ -209,81 +240,135 @@ </if> </where> ORDER BY Date(operate_date) 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="getPaymentSums" resultType="java.lang.Float"> SELECT - SUM(ope.trade_amount) AS tradeAmount + (SUM(ope.trade_amount) + SUM(ope.card_cost)) AS tradeAmount FROM se_card_operate ope <where> + AND ope.operate_valid = 2 <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} + AND ope.payment_id = #{paymentId} </if> <if test = "cashierId != null and cashierId >0"> - AND ope.operator = ${cashierId} + AND ope.operator = #{cashierId} </if> </where> - GROUP BY ope.payment_id, Date(ope.operate_dt) - </select> - - <!--鏍瑰熀鎸囧畾鏃ユ湡銆佹寚瀹氭敹閾跺憳鑾峰彇绗旀暟鍚堣銆佸疄鏀堕噾棰濆悎璁°�佽禒閫侀噾棰濆悎璁�--> - <select id="getTransactionStatisticsSums" resultType="java.util.Map"> - SELECT - SUM(count) AS totalCount, - SUM(received) AS totalReceived, - SUM(gift) AS totalGift - FROM v_transactionstatistics2 - <where> - <if test = "tradeDate != null and tradeDate !=''"> - AND tradeDate = #{tradeDate} - </if> - - <if test = "cashierId != null and cashierId >0"> - AND cashierId = ${cashierId} - </if> - </where> +<!-- GROUP BY ope.payment_id, Date(ope.operate_dt)--> </select> <!-- 璐㈠姟瀵硅处瀹℃牳椤碉紝鏀堕摱鍛�+鏃ユ湡鍒嗙粍锛屾帓闄や氦鏄撶被鍨嬪垎缁勶紝璁板綍鏁�--> - <select id="getToAuditRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> +<!-- <select id="getToAuditRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">--> +<!-- SELECT--> +<!-- COUNT(*) AS recordCount--> +<!-- FROM v_trade_summary--> +<!-- <where>--> +<!-- <if test = "cashierId != null and cashierId > 0">--> +<!-- AND cashierId = ${cashierId}--> +<!-- </if>--> + +<!-- <if test = "tradeDate != null">--> +<!-- AND tradeDate = #{tradeDate}--> +<!-- </if>--> +<!-- </where>--> +<!-- </select>--> + + <!--寮�鍗$郴缁熶氦鏄撶粺璁★紝鏀堕摱鍛�+鏃ユ湡+绫诲瀷鍒嗙粍--> + <select id="getSummaries" resultType="com.dy.pipIrrGlobal.voSe.VoTransactionStatistics"> SELECT - COUNT(*) AS recordCount - FROM v_transactionstatistics2 + CASE + WHEN ope.operate_type = 1 THEN '寮�鍗�' + WHEN ope.operate_type = 2 THEN '鍏呭��' + WHEN ope.operate_type = 3 THEN '閿�鍗�' + WHEN ope.operate_type = 4 THEN '琛ュ崱' + WHEN ope.operate_type = 5 THEN '杩旇繕' + WHEN ope.operate_type = 10 THEN '鍙嶅啓' + END AS operateType, + Date(ope.operate_dt) AS tradeDate, + COUNT(*) AS count, + (IFNULL(SUM(ope.trade_amount), 0) + IFNULL(SUM(ope.card_cost), 0)) AS received, + IFNULL(SUM(ope.gift), 0) AS gift, + IFNULL(sum(ope.refund_amount),0) AS refundAmount, + us.id AS cashierId + FROM se_card_operate ope + INNER JOIN ba_user us ON us.id = ope.operator <where> + AND ope.operate_type IN(1,2,3,4,5,10) + AND ope.operate_valid = 2 <if test = "cashierId != null and cashierId > 0"> - AND cashierId = ${cashierId} + AND us.id = #{cashierId} </if> - <if test = "tradeDate != null"> - AND tradeDate = #{tradeDate} + <if test = "timeStart != null and timeStop != null"> + AND Date(ope.operate_dt) BETWEEN #{timeStart} AND #{timeStop} </if> </where> - </select> - - <!--璐㈠姟瀵硅处瀹℃牳椤碉紝鏀堕摱鍛�+鏃ユ湡鍒嗙粍锛屾帓闄や氦鏄撶被鍨嬪垎缁�--> - <select id="getToAudit" resultType="com.dy.pipIrrGlobal.voSe.VoTransactionStatistics"> - SELECT * FROM v_transactionstatistics2 - <where> - <if test = "cashierId != null and cashierId > 0"> - AND cashierId = ${cashierId} - </if> - - <if test = "tradeDate != null"> - AND tradeDate = #{tradeDate} - </if> - </where> + GROUP BY ope.operate_type, Date(ope.operate_dt), us.id ORDER BY tradeDate - <if test="pageCurr != null and pageSize != null"> - LIMIT ${pageCurr}, ${pageSize} - </if> + +<!-- SELECT * FROM v_trade_summary--> +<!-- <where>--> +<!-- <if test = "cashierId != null and cashierId > 0">--> +<!-- AND cashierId = #{cashierId}--> +<!-- </if>--> + +<!-- <if test = "timeStart != null and timeStop != null">--> +<!-- AND Date(tradeDate) BETWEEN #{timeStart} AND #{timeStop}--> +<!-- </if>--> +<!-- </where>--> +<!-- ORDER BY tradeDate--> </select> + + <!-- 鏍规嵁鏀堕摱鍛業D鍙婃棩鏈熻幏鍙栬储鍔″璐浜ゆ槗鏄庣粏璁板綍鏁�--> + <select id="getTradeDetailsRecordCount" parameterType="java.util.Map" resultType="java.lang.Long"> + SELECT + COUNT(*) AS recordCount + FROM v_trade_details + <where> + <if test = "cashierId != null and cashierId > 0"> + AND cashierId = #{cashierId} + </if> + + <if test = "tradeDate != null"> + AND Date(tradeTime) = #{tradeDate} + </if> + </where> + </select> + + <!--鏍规嵁鏀堕摱鍛業D鍙婃棩鏈熻幏鍙栬储鍔″璐浜ゆ槗鏄庣粏璁板綍--> + <select id="getTradeDetails" resultType="com.dy.pipIrrGlobal.voSe.VoTradeDetails"> + SELECT * FROM v_trade_details + <where> + <if test = "cashierId != null and cashierId > 0"> + AND cashierId = #{cashierId} + </if> + + <if test = "tradeDate != null"> + AND Date(tradeTime) = #{tradeDate} + </if> + </where> + ORDER BY tradeTime + <trim prefix="limit " > + <if test="start != null and count != null"> + #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER} + </if> + </trim> + </select> + <!-- 鍒犻櫎浠婂ぉ鐨勬�昏处--> + <delete id="deleteTodayGeneral"> + DELETE FROM se_general + WHERE operate_date = DATE(NOW()) + </delete> </mapper> \ No newline at end of file -- Gitblit v1.8.0