From 10812ab53a4126e684256c14a0c9be6d2250e6c4 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 8 Aug 2025 17:59:50 +0800 Subject: [PATCH] =?UTF-8?q?refactor(oa):=20=E4=BC=98=E5=8C=96=E6=8A=A5?= =?UTF-8?q?=E5=91=8A=E6=91=98=E8=A6=81=E6=9F=A5=E8=AF=A2=20SQL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重构了查询最新详情时间的子查询,提高了查询效率 - 调整了 SQL 结构,增强了可读性 - 移除了冗余的空行和缩进,统一了代码格式 --- .../mapper/oa/OaReportSummaryMapper.xml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/gear-oa/src/main/resources/mapper/oa/OaReportSummaryMapper.xml b/gear-oa/src/main/resources/mapper/oa/OaReportSummaryMapper.xml index 29fc206..505ea53 100644 --- a/gear-oa/src/main/resources/mapper/oa/OaReportSummaryMapper.xml +++ b/gear-oa/src/main/resources/mapper/oa/OaReportSummaryMapper.xml @@ -1,7 +1,7 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> @@ -30,11 +30,17 @@ FROM oa_report_summary s LEFT JOIN ( SELECT + d1.summary_id, + d1.create_time AS latest_create_time + FROM oa_report_detail d1 + INNER JOIN ( + SELECT summary_id, - create_time AS latest_create_time, - ROW_NUMBER() OVER (PARTITION BY summary_id ORDER BY create_time DESC) AS rn + MAX(create_time) AS max_time FROM oa_report_detail - ) d ON s.summary_id = d.summary_id AND d.rn = 1 + GROUP BY summary_id + ) d2 ON d1.summary_id = d2.summary_id AND d1.create_time = d2.max_time + ) d ON s.summary_id = d.summary_id AND s.report_title LIKE CONCAT('%', #{bo.reportTitle}, '%') @@ -48,12 +54,11 @@ AND s.type = #{bo.type} - AND s.del_flag = 0 + AND s.del_flag = 0 ORDER BY COALESCE(d.latest_create_time, s.report_date) DESC, s.report_date DESC -