From daa7c1b49bec0e07aa94ffedcb410ddeed2f4c61 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 21 一月 2025 10:26:19 +0800
Subject: [PATCH] 取水统合数据功能部分实现
---
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeGeneralMapper.xml | 207 +++++++++++++++++++++++++++++----------------------
1 files changed, 117 insertions(+), 90 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 3a9f834..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,34 +140,36 @@
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>
<!--鏍规嵁浜ゆ槗鏃ユ湡鑾峰彇鎬昏处璁板綍鍒楄〃锛堝緟鐢熸垚鐨勶級 -->
<select id="getGeneralByOperateDate" resultType="com.dy.pipIrrGlobal.pojoSe.SeGeneral">
SELECT
- us.id AS cashierId,
- us.`name` AS cashierName,
- IFNULL(SUM(ope.trade_amount),0) AS tradeAmount,
- IFNULL(SUM(ope.gift),0) AS gift,
- IFNULL((SUM(ope.trade_amount) + SUM(ope.gift)),0) AS totalAmount,
- Date(ope.operate_dt) AS operateDate,
- 1 AS auditStatus
+ us.id AS cashierId,
+ us.`name` AS cashierName,
+ (IFNULL(SUM(ope.trade_amount),0) + IFNULL(SUM(ope.card_cost),0)) AS tradeAmount,
+ IFNULL(SUM(ope.gift),0) AS gift,
+ 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}
+ INNER JOIN ba_user us ON ope.operator = us.id
+ 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,
- IFNULL(SUM(amount), 0) AS totalAmount,
- Date(recharge_time) AS operateDate,
- 1 AS auditStatus
+ 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)
@@ -175,13 +177,13 @@
UNION ALL
SELECT
- 1000000 AS cashierId,
- '寰俊' AS cashierName,
- IFNULL(-SUM(refund_amount), 0) AS tradeAmount,
- 0 AS gift,
- IFNULL(-SUM(refund_amount), 0) AS totalAmount,
- Date(audit_time) AS operateDate,
- 1 AS auditStatus
+ 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)
@@ -198,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">
@@ -210,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>
@@ -229,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">
@@ -247,71 +250,85 @@
<!--鑾峰彇鎸囧畾鏃ユ湡銆佹寚瀹氭敹閾跺憳銆佹寚瀹氭敮浠樻柟寮忓疄鏀堕噾棰濆悎璁�-->
<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_trade_summary
- <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_trade_summary
+ 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_trade_summary
- <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
+
+<!-- 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鍙婃棩鏈熻幏鍙栬储鍔″璐浜ゆ槗鏄庣粏璁板綍鏁�-->
@@ -321,11 +338,11 @@
FROM v_trade_details
<where>
<if test = "cashierId != null and cashierId > 0">
- AND cashierId = ${cashierId}
+ AND cashierId = #{cashierId}
</if>
<if test = "tradeDate != null">
- AND tradeDate = #{tradeDate}
+ AND Date(tradeTime) = #{tradeDate}
</if>
</where>
</select>
@@ -335,13 +352,23 @@
SELECT * FROM v_trade_details
<where>
<if test = "cashierId != null and cashierId > 0">
- AND cashierId = ${cashierId}
+ AND cashierId = #{cashierId}
</if>
<if test = "tradeDate != null">
- AND tradeDate = #{tradeDate}
+ AND Date(tradeTime) = #{tradeDate}
</if>
</where>
- ORDER BY tradeDate
+ 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