From 6c823dd44dbde79f008001a2a11e7bf9bc6bf8cc Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期三, 04 十二月 2024 18:15:44 +0800
Subject: [PATCH] fix:合伙人列表操作日志
---
src/main/resources/mapper/payment/DeliveryOrderMapper.xml | 140 ++++++++++++++++++++++++++++++----------------
1 files changed, 92 insertions(+), 48 deletions(-)
diff --git a/src/main/resources/mapper/payment/DeliveryOrderMapper.xml b/src/main/resources/mapper/payment/DeliveryOrderMapper.xml
index dbfd143..e679dc7 100644
--- a/src/main/resources/mapper/payment/DeliveryOrderMapper.xml
+++ b/src/main/resources/mapper/payment/DeliveryOrderMapper.xml
@@ -17,11 +17,17 @@
#{item}
</foreach>
</if>
+<!-- <if test="condition.startDate != null">-->
+<!-- AND q.create_time > #{condition.startDate}-->
+<!-- </if>-->
+<!-- <if test="condition.endDate != null">-->
+<!-- AND q.create_time <= #{condition.endDate}-->
+<!-- </if>-->
<if test="condition.startDate != null">
- AND q.create_time > #{condition.startDate}
+ AND o.payment_time > #{condition.startDate}
</if>
<if test="condition.endDate != null">
- AND q.create_time <= #{condition.endDate}
+ AND o.payment_time <= #{condition.endDate}
</if>
ORDER BY o.payment_time
</select>
@@ -79,13 +85,16 @@
</select>
<select id="selectSupplierDoList4Check" resultType="com.mzl.flower.dto.response.payment.DeliveryOrderList4CheckDTO">
- SELECT tt.id, tt.supplierName, tt.supplierTel, tt.stationName, sum(tt.num) totalNum, sum(tt.amount) totalAmount
+ SELECT tt.id, tt.supplierName, tt.supplierTel, tt.stationName, sum(tt.num) totalNum
+ , sum(tt.amount) totalAmount, sum(tt.uncheckedCount) uncheckedCount
from (
select s.id, s.name supplierName, s.contact_tel supplierTel, st.name stationName
, (select sum(num) from t_order_item oi
where oi.supplier_id = q.supplier_id and oi.order_id = q.order_id) num
- , (select sum(oi.supplier_price * oi.num) from t_order_item oi
+ , (select sum(oi.supplier_price * oi.num) from t_order_item oi
where oi.supplier_id = q.supplier_id and oi.order_id = q.order_id) amount
+ , (select count(1) from t_delivery_order dor
+ where dor.id = q.id and dor.status != 'CHECKED') uncheckedCount
from t_supplier_info s
join t_station st on st.id = s.station_id
join t_delivery_order q on s.id = q.supplier_id
@@ -98,8 +107,12 @@
<if test="condition.orderNo != null and condition.orderNo != ''">
AND q.order_no LIKE concat('%', #{condition.orderNo},'%')
</if>
- <if test="condition.status != null and condition.status != ''">
- AND q.status = #{condition.status}
+
+ <if test="condition.statusList != null and condition.statusList.size > 0">
+ AND q.status in
+ <foreach collection="condition.statusList" item="status" open="(" separator="," close=")">
+ #{status}
+ </foreach>
</if>
<if test="condition.supplierId != null">
@@ -123,11 +136,17 @@
AND o.warehouse_location_code LIKE concat('%', #{condition.warehouseLocationCode},'%')
</if>
+<!-- <if test="condition.startDate != null">-->
+<!-- AND q.create_time > #{condition.startDate}-->
+<!-- </if>-->
+<!-- <if test="condition.endDate != null">-->
+<!-- AND q.create_time <= #{condition.endDate}-->
+<!-- </if>-->
<if test="condition.startDate != null">
- AND q.create_time > #{condition.startDate}
+ AND o.payment_time > #{condition.startDate}
</if>
<if test="condition.endDate != null">
- AND q.create_time <= #{condition.endDate}
+ AND o.payment_time <= #{condition.endDate}
</if>
) tt
GROUP BY tt.id, tt.supplierName, tt.supplierTel, tt.stationName
@@ -148,8 +167,12 @@
<if test="condition.orderNo != null and condition.orderNo != ''">
AND q.order_no LIKE concat('%', #{condition.orderNo},'%')
</if>
- <if test="condition.status != null and condition.status != ''">
- AND q.status = #{condition.status}
+
+ <if test="condition.statusList != null and condition.statusList.size > 0">
+ AND q.status in
+ <foreach collection="condition.statusList" item="status" open="(" separator="," close=")">
+ #{status}
+ </foreach>
</if>
<if test="condition.warehouseId != null">
@@ -166,51 +189,68 @@
AND o.warehouse_location_code LIKE concat('%', #{condition.warehouseLocationCode},'%')
</if>
+<!-- <if test="condition.startDate != null">-->
+<!-- AND q.create_time > #{condition.startDate}-->
+<!-- </if>-->
+<!-- <if test="condition.endDate != null">-->
+<!-- AND q.create_time <= #{condition.endDate}-->
+<!-- </if>-->
<if test="condition.startDate != null">
- AND q.create_time > #{condition.startDate}
+ AND o.payment_time > #{condition.startDate}
</if>
<if test="condition.endDate != null">
- AND q.create_time <= #{condition.endDate}
+ AND o.payment_time <= #{condition.endDate}
</if>
ORDER BY q.arrive_time
</select>
<select id="statisticStationList" resultType="com.mzl.flower.dto.response.flower.StationStatisticDTO">
- SELECT
- s.station_id AS stationId,
- st.`name`,
- SUM( oi.num ) AS totalNum
- FROM
- t_delivery_order o
- LEFT JOIN t_delivery_order_item i ON o.id = i.delivery_id
- LEFT JOIN t_order_item oi ON oi.id = i.order_item_id
- LEFT JOIN t_supplier_info s ON s.id = o.supplier_id
- LEFT JOIN t_station st ON st.id = s.station_id
- LEFT JOIN t_order t ON t.id = i.order_id
- WHERE o.deleted = 0
- AND o.`status` IN ( 'PENDING', 'ARRIVED', 'CHECKED' )
- <if test="userId !=null and userId !=''">
- AND st.user_ids LIKE concat('%', #{userId},'%')
- </if>
- <if test="name !=null and name !=''">
- AND ( s.id LIKE concat('%', #{name},'%') OR
- s.contact_tel LIKE concat('%', #{name},'%') OR
- s.`name` LIKE concat('%', #{name},'%') OR
- st.`name` LIKE concat('%', #{name},'%') OR
- t.warehouse_location_code LIKE concat('%', #{name},'%')
- )
- </if>
- <if test="startDate != null">
- AND o.create_time > #{startDate}
- </if>
- <if test="endDate != null">
- AND o.create_time <= #{endDate}
- </if>
- GROUP BY
- s.station_id,
- st.`name`;
+ SELECT
+ s.station_id AS stationId,
+ st.`name`,
+ SUM( oi.num ) AS totalNum,
+ SUM(CASE WHEN o.`status` = 'CHECKED' THEN oi.num ELSE 0 END) AS checkedSupplierCount,
+ SUM(CASE WHEN o.`status` = 'PENDING' or o.`status`= 'ARRIVED' THEN oi.num ELSE 0 END) AS uncheckedSupplierCount
+ FROM t_delivery_order o
+ LEFT JOIN t_delivery_order_item i ON o.id = i.delivery_id
+ LEFT JOIN t_order_item oi ON oi.id = i.order_item_id
+ LEFT JOIN t_supplier_info s ON s.id = o.supplier_id
+ LEFT JOIN t_station st ON st.id = s.station_id
+ LEFT JOIN t_order t ON t.id = i.order_id
+ WHERE o.deleted = 0
+ AND o.`status` IN ( 'PENDING', 'ARRIVED', 'CHECKED' )
+ <if test="userId !=null and userId !=''">
+ AND st.user_ids LIKE concat('%', #{userId},'%')
+ </if>
+ <if test="name !=null and name !=''">
+ AND ( s.id LIKE concat('%', #{name},'%') OR
+ s.contact_tel LIKE concat('%', #{name},'%') OR
+ s.`name` LIKE concat('%', #{name},'%') OR
+ st.`name` LIKE concat('%', #{name},'%') OR
+ t.warehouse_location_code LIKE concat('%', #{name},'%')
+ )
+ </if>
+<!-- <if test="startDate != null">-->
+<!-- AND o.create_time > #{startDate}-->
+<!-- </if>-->
+<!-- <if test="endDate != null">-->
+<!-- AND o.create_time <= #{endDate}-->
+<!-- </if>-->
+ <if test="startDate != null">
+ AND t.payment_time > #{startDate}
+ </if>
+ <if test="endDate != null">
+ AND t.payment_time <= #{endDate}
+ </if>
+ <if test="statusList != null and statusList.size > 0">
+ AND o.status in
+ <foreach collection="statusList" item="status" open="(" separator="," close=")">
+ #{status}
+ </foreach>
+ </if>
+ GROUP BY s.station_id, st.`name`
</select>
<update id="setDeliveryOrderPending">
@@ -225,9 +265,13 @@
SELECT q.*
FROM t_delivery_order q
WHERE q.deleted = 0
- and q.status in ('PENDING', 'ARRIVED', 'CHECKED')
+ AND q.status in ('PENDING', 'ARRIVED')
AND q.supplier_id = #{supplierId}
- AND q.create_time > #{startDate}
- AND q.create_time <= #{endDate}
+ <if test="startDate != null">
+ AND q.create_time > #{startDate}
+ </if>
+ <if test="endDate != null">
+ AND q.create_time <= #{endDate}
+ </if>
</select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3