From 3728fa293e1faf4bf4f9bf41105b84ddb43dc82e Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期一, 02 十一月 2026 16:53:02 +0800
Subject: [PATCH] feat(order-rates): 新增筛选条件下全部订单费用汇总接口
---
inspect-server/src/main/resources/mapper/InsOrderRatesMapper.xml | 34 ++++++++++++++++++++++++----------
1 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/inspect-server/src/main/resources/mapper/InsOrderRatesMapper.xml b/inspect-server/src/main/resources/mapper/InsOrderRatesMapper.xml
index 0778648..d12bbc5 100644
--- a/inspect-server/src/main/resources/mapper/InsOrderRatesMapper.xml
+++ b/inspect-server/src/main/resources/mapper/InsOrderRatesMapper.xml
@@ -1,30 +1,44 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.ruoyi.inspect.mapper.InsOrderRatesMapper">
- <!-- 鏌ヨ璐圭敤鍒楄〃 -->
- <select id="selectInsOrderRates" resultType="com.ruoyi.inspect.dto.SampleOrderDto">
- select *
- from (select io.*,
+ <!-- 鍒楄〃鍜屽叏閮ㄦ眹鎬诲叡鐢ㄧ浉鍚岃鍗曡寖鍥达紝姣忎釜璁㈠崟浠呰璐逛竴娆°�� -->
+ <sql id="ratesOrders">
+ select io.*,
case
when
io.type_source = 0
then io.sample_view
else io.sample end sampleStr,
GROUP_CONCAT(DISTINCT isa.model SEPARATOR ' ') AS sample_model,
- COALESCE(sum(st.price), 0) total_price
+ MAX(rates.total_price) total_price
from ins_order io
LEFT JOIN ins_sample isa ON isa.ins_order_id = io.id
- left join ins_order_standard_template iost on iost.ins_order_id = io.id
- left join standard_template st on st.id = iost.template_id
- where iost.id is not null
- and io.state != 5
- group by io.id) a
+ join (select iost.ins_order_id, COALESCE(sum(st.price), 0) total_price
+ from ins_order_standard_template iost
+ left join standard_template st on st.id = iost.template_id
+ group by iost.ins_order_id) rates on rates.ins_order_id = io.id
+ where io.state != 5
+ group by io.id
+ </sql>
+ <sql id="ratesFilter">
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
${ew.customSqlSegment}
</if>
+ </sql>
+ <select id="selectInsOrderRates" resultType="com.ruoyi.inspect.dto.SampleOrderDto">
+ select * from (<include refid="ratesOrders"/>) a
+ <include refid="ratesFilter"/>
order by a.sample_date desc, a.id desc
</select>
+ <select id="selectRatesSummary" resultType="com.ruoyi.inspect.dto.OrderRatesSummaryDto">
+ select count(*) as count,
+ COALESCE(sum(case when a.is_discount = 1 and a.discount_amount is not null
+ then a.discount_amount else a.total_price end), 0) as total_amount
+ from (<include refid="ratesOrders"/>) a
+ <include refid="ratesFilter"/>
+ </select>
+
<!-- 鏇存柊璁㈠崟鐨勮垂鐢ㄤ紭鎯犱笌澶囨敞 -->
<update id="updateOrderFee">
update ins_order
--
Gitblit v1.9.3