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 -