维护[报表列表接口]

This commit is contained in:
2023-04-20 16:34:04 +08:00
parent 8f042adb27
commit 66cb3abdc4
2 changed files with 128 additions and 95 deletions
@@ -21,6 +21,11 @@ public class ReportQueryVo {
*/
private int pageSize;
/**
* 报告名称
*/
private String name;
/**
* 全文模糊检索的关键词
*/
@@ -3,117 +3,145 @@
<mapper namespace="com.adc.da.report.dao.mysql.ReportDao">
<!-- <select id="list" parameterType="com.adc.da.report.vo.ReportQueryVo" resultType="com.adc.da.report.vo.ReportVo">-->
<!-- select t1.id,t1.labelOneId,t1.labelTwoId,t1.labelThreeId,t1.labelOneName,t1.labelTwoName,t1.labelThreeName,t1.name,t1.year,t1.keyContent,t1.mainContent-->
<!-- ,t1.department,date_format(t1.updateDate,'%Y-%m-%d') createDate,t1.fileId-->
<!-- from(-->
<!-- (-->
<!-- select distinct b1.*,(case when b3.name is null then '-' else b3.name end) labelOneName-->
<!-- ,(case when b4.name is null then '-' else b4.name end) labelTwoName-->
<!-- ,(case when b5.name is null then '-' else b5.name end) labelThreeName from-->
<!-- (select * from TT_REPORT_MANAGE )b1-->
<!-- left join TR_REPORT_USER b2 on b1.id=b2.reportId-->
<!-- left join TS_LABEL b3 on b1.labelOneId=b3.id-->
<!-- left join TS_LABEL b4 on b1.labelTwoId=b4.id-->
<!-- left join TS_LABEL b5 on b1.labelThreeId=b5.id-->
<!-- where b1.del_flag='0' and(b3.name is null or b4.name is null or b5.name is null )-->
<!-- &lt;!&ndash;文本搜索&ndash;&gt;-->
<!-- <if test="Vo.keyContent !=null and Vo.keyContent !=''">-->
<!-- and (b1.name like "%"#{Vo.keyContent}"%" or b1.keycontent like "%"#{Vo.keyContent}"%"-->
<!-- or b1.maincontent like "%"#{Vo.keyContent}"%" or b1.department like "%"#{Vo.keyContent}"%")-->
<!-- </if>-->
<!-- &lt;!&ndash;年份搜索&ndash;&gt;-->
<!-- <if test="Vo.year !=null and Vo.year.size() >0">-->
<!-- and b1.year in-->
<!-- <foreach collection="Vo.year" item="year" open="(" separator="," close=")">-->
<!-- #{year}-->
<!-- </foreach>-->
<!-- </if>-->
<!-- &lt;!&ndash;标签搜索&ndash;&gt;-->
<!-- <if test="Vo.labelOneId !=null and Vo.labelOneId.size() >0">-->
<!-- and b1.labelOneId in-->
<!-- <foreach collection="Vo.labelOneId" item="labelOneId" open="(" separator="," close=")">-->
<!-- #{labelOneId}-->
<!-- </foreach>-->
<!-- </if>-->
<!-- <if test="Vo.labelTwoId !=null and Vo.labelTwoId.size() >0">-->
<!-- and b1.labelTwoId in-->
<!-- <foreach collection="Vo.labelTwoId" item="labelTwoId" open="(" separator="," close=")">-->
<!-- #{labelTwoId}-->
<!-- </foreach>-->
<!-- </if>-->
<!-- <if test="Vo.labelThreeId !=null and Vo.labelThreeId.size() >0">-->
<!-- and b1.labelThreeId in-->
<!-- <foreach collection="Vo.labelThreeId" item="labelThreeId" open="(" separator="," close=")">-->
<!-- #{labelThreeId}-->
<!-- </foreach>-->
<!-- </if>-->
<!-- <if test="Vo.usid !=null and Vo.usid !=''">-->
<!-- and b2.userId=#{Vo.usid}-->
<!-- </if>-->
<!-- ORDER BY updateDate desc limit 999999999-->
<!-- )-->
<!-- UNION ALL-->
<!-- (select distinct a1.* ,a3.name labelOneName,a4.name labelTwoName,a5.name labelThreeName from(select * from TT_REPORT_MANAGE ) a1-->
<!-- left join TR_REPORT_USER a2 on a1.id=a2.reportId-->
<!-- left join TS_LABEL a3 on a1.labelOneId=a3.id-->
<!-- left join TS_LABEL a4 on a1.labelTwoId=a4.id-->
<!-- left join TS_LABEL a5 on a1.labelThreeId=a5.id-->
<!-- where a1.del_flag='0' and (a3.name is not null and a4.name is not null and a5.name is not null )-->
<!-- &lt;!&ndash;文本搜索&ndash;&gt;-->
<!-- <if test="Vo.keyContent !=null and Vo.keyContent !=''">-->
<!-- and (a1.name like "%"#{Vo.keyContent}"%" or a1.keycontent like "%"#{Vo.keyContent}"%"-->
<!-- or a1.maincontent like "%"#{Vo.keyContent}"%" or a1.department like "%"#{Vo.keyContent}"%" )-->
<!-- </if>-->
<!-- &lt;!&ndash;年份搜索&ndash;&gt;-->
<!-- <if test="Vo.year !=null and Vo.year.size >0">-->
<!-- and a1.year in-->
<!-- <foreach collection="Vo.year" item="year" open="(" separator="," close=")">-->
<!-- #{year}-->
<!-- </foreach>-->
<!-- </if>-->
<!-- &lt;!&ndash;标签搜索&ndash;&gt;-->
<!-- <if test="Vo.labelOneId !=null and Vo.labelOneId.size() >0">-->
<!-- and a1.labelOneId in-->
<!-- <foreach collection="Vo.labelOneId" item="labelOneId" open="(" separator="," close=")">-->
<!-- #{labelOneId}-->
<!-- </foreach>-->
<!-- </if>-->
<!-- <if test="Vo.labelTwoId !=null and Vo.labelTwoId.size() >0">-->
<!-- and a1.labelTwoId in-->
<!-- <foreach collection="Vo.labelTwoId" item="labelTwoId" open="(" separator="," close=")">-->
<!-- #{labelTwoId}-->
<!-- </foreach>-->
<!-- </if>-->
<!-- <if test="Vo.labelThreeId !=null and Vo.labelThreeId.size() >0">-->
<!-- and a1.labelThreeId in-->
<!-- <foreach collection="Vo.labelThreeId" item="labelThreeId" open="(" separator="," close=")">-->
<!-- #{labelThreeId}-->
<!-- </foreach>-->
<!-- </if>-->
<!-- <if test="Vo.usid !=null and Vo.usid !=''">-->
<!-- and a2.userId=#{Vo.usid}-->
<!-- </if>-->
<!-- ORDER BY updateDate desc limit 999999999)-->
<!-- )t1-->
<!-- </select>-->
<select id="list" parameterType="com.adc.da.report.vo.ReportQueryVo" resultType="com.adc.da.report.vo.ReportVo">
SELECT t.id, t.year, t.name, t.keycontent, t.fileId, t.createDate, t.department, t.maincontent
FROM `tt_report_manage` AS t
INNER JOIN ts_report_label AS trl ON t.id = trl.report_id
WHERE 1 = 1
select t1.id,t1.labelOneId,t1.labelTwoId,t1.labelThreeId,t1.labelOneName,t1.labelTwoName,t1.labelThreeName,t1.name,t1.year,t1.keyContent,t1.mainContent
,t1.department,date_format(t1.updateDate,'%Y-%m-%d') createDate,t1.fileId
from(
(
select distinct b1.*,(case when b3.name is null then '-' else b3.name end) labelOneName
,(case when b4.name is null then '-' else b4.name end) labelTwoName
,(case when b5.name is null then '-' else b5.name end) labelThreeName from
(select * from TT_REPORT_MANAGE )b1
left join TR_REPORT_USER b2 on b1.id=b2.reportId
left join TS_LABEL b3 on b1.labelOneId=b3.id
left join TS_LABEL b4 on b1.labelTwoId=b4.id
left join TS_LABEL b5 on b1.labelThreeId=b5.id
where b1.del_flag='0' and(b3.name is null or b4.name is null or b5.name is null )
<!--文本搜索-->
<if test="Vo.keyContent !=null and Vo.keyContent !=''">
and (b1.name like "%"#{Vo.keyContent}"%" or b1.keycontent like "%"#{Vo.keyContent}"%"
or b1.maincontent like "%"#{Vo.keyContent}"%" or b1.department like "%"#{Vo.keyContent}"%")
<!--报表名称搜索-->
<if test="Vo.name !=null and Vo.name !=''">
and t.name like "%"#{Vo.name}"%"
</if>
<!--年份搜索-->
<if test="Vo.year !=null and Vo.year.size() >0">
and b1.year in
and t.year in
<foreach collection="Vo.year" item="year" open="(" separator="," close=")">
#{year}
</foreach>
</if>
<!--标签搜索-->
<if test="Vo.labelOneId !=null and Vo.labelOneId.size() >0">
and b1.labelOneId in
<foreach collection="Vo.labelOneId" item="labelOneId" open="(" separator="," close=")">
#{labelOneId}
</foreach>
</if>
<if test="Vo.labelTwoId !=null and Vo.labelTwoId.size() >0">
and b1.labelTwoId in
<foreach collection="Vo.labelTwoId" item="labelTwoId" open="(" separator="," close=")">
#{labelTwoId}
</foreach>
</if>
<if test="Vo.labelThreeId !=null and Vo.labelThreeId.size() >0">
and b1.labelThreeId in
<foreach collection="Vo.labelThreeId" item="labelThreeId" open="(" separator="," close=")">
#{labelThreeId}
</foreach>
</if>
<!--用户搜索-->
<if test="Vo.usid !=null and Vo.usid !=''">
and b2.userId=#{Vo.usid}
and t.userId=#{Vo.usid}
</if>
ORDER BY updateDate desc limit 999999999
)
UNION ALL
(select distinct a1.* ,a3.name labelOneName,a4.name labelTwoName,a5.name labelThreeName from(select * from TT_REPORT_MANAGE ) a1
left join TR_REPORT_USER a2 on a1.id=a2.reportId
left join TS_LABEL a3 on a1.labelOneId=a3.id
left join TS_LABEL a4 on a1.labelTwoId=a4.id
left join TS_LABEL a5 on a1.labelThreeId=a5.id
where a1.del_flag='0' and (a3.name is not null and a4.name is not null and a5.name is not null )
<!--文本搜索-->
<if test="Vo.keyContent !=null and Vo.keyContent !=''">
and (a1.name like "%"#{Vo.keyContent}"%" or a1.keycontent like "%"#{Vo.keyContent}"%"
or a1.maincontent like "%"#{Vo.keyContent}"%" or a1.department like "%"#{Vo.keyContent}"%" )
</if>
<!--年份搜索-->
<if test="Vo.year !=null and Vo.year.size >0">
and a1.year in
<foreach collection="Vo.year" item="year" open="(" separator="," close=")">
#{year}
</foreach>
</if>
<!--标签搜索-->
<if test="Vo.labelOneId !=null and Vo.labelOneId.size() >0">
and a1.labelOneId in
<foreach collection="Vo.labelOneId" item="labelOneId" open="(" separator="," close=")">
#{labelOneId}
</foreach>
</if>
<if test="Vo.labelTwoId !=null and Vo.labelTwoId.size() >0">
and a1.labelTwoId in
<foreach collection="Vo.labelTwoId" item="labelTwoId" open="(" separator="," close=")">
#{labelTwoId}
</foreach>
</if>
<if test="Vo.labelThreeId !=null and Vo.labelThreeId.size() >0">
and a1.labelThreeId in
<foreach collection="Vo.labelThreeId" item="labelThreeId" open="(" separator="," close=")">
#{labelThreeId}
</foreach>
</if>
<if test="Vo.usid !=null and Vo.usid !=''">
and a2.userId=#{Vo.usid}
</if>
ORDER BY updateDate desc limit 999999999)
)t1
ORDER BY updateDate desc
</select>
<select id="getReportDateList" parameterType="string" resultType="string">
select distinct year from TT_REPORT_MANAGE t1
left join TR_REPORT_USER t2 on t1.id=t2.reportId