perf: 企标评审会记录性能优化
This commit is contained in:
+1
-2
@@ -1,7 +1,5 @@
|
||||
package com.jero.modules.laws.enterprise.entity.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.jero.common.aspect.annotation.Dict;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
@@ -47,6 +45,7 @@ public class EnterpriseStandardReviewMeetingVo {
|
||||
@ApiModelProperty(value = "评审人")
|
||||
private String reviewUsers;
|
||||
|
||||
@Dict(dicCode = "id", dictTable = "sys_user", dicText = "realname")
|
||||
@ApiModelProperty(value = "评分人")
|
||||
private String rateUsers;
|
||||
|
||||
|
||||
+17
-18
@@ -28,8 +28,8 @@
|
||||
rmr.review_user AS reviewUsers,
|
||||
esp.qualityFlag,
|
||||
(score.avg_score_item1 + score.avg_score_item2 + score.avg_score_item3 +
|
||||
score.avg_score_item4 + score.avg_score_item5 + score.avg_score_item6) AS avgScore,
|
||||
GROUP_CONCAT(DISTINCT CONCAT(u.realname, '(', u.username, ')') ORDER BY u.username ASC SEPARATOR ',') AS rateUsers
|
||||
score.avg_score_item4 + score.avg_score_item5 + score.avg_score_item6) AS avgScore,
|
||||
GROUP_CONCAT(DISTINCT detail.adjudicator_id ORDER BY detail.adjudicator_id ASC SEPARATOR ',') AS rateUsers
|
||||
FROM
|
||||
`laws_enterprise_standard_review_meeting_record` AS rmr
|
||||
LEFT JOIN
|
||||
@@ -43,24 +43,23 @@
|
||||
laws_enterprise_standard_plan AS esp
|
||||
) AS esp ON esp.id = rmr.plan_id
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
d.review_meeting_id,
|
||||
ROUND(COALESCE(AVG(CASE WHEN d.evaluate_item = '1' THEN CAST(d.evaluate_score AS DECIMAL(10, 2)) ELSE NULL END), 0), 2) AS avg_score_item1,
|
||||
ROUND(COALESCE(AVG(CASE WHEN d.evaluate_item = '2' THEN CAST(d.evaluate_score AS DECIMAL(10, 2)) ELSE NULL END), 0), 2) AS avg_score_item2,
|
||||
ROUND(COALESCE(AVG(CASE WHEN d.evaluate_item = '3' THEN CAST(d.evaluate_score AS DECIMAL(10, 2)) ELSE NULL END), 0), 2) AS avg_score_item3,
|
||||
ROUND(COALESCE(AVG(CASE WHEN d.evaluate_item = '4' THEN CAST(d.evaluate_score AS DECIMAL(10, 2)) ELSE NULL END), 0), 2) AS avg_score_item4,
|
||||
ROUND(COALESCE(AVG(CASE WHEN d.evaluate_item = '5' THEN CAST(d.evaluate_score AS DECIMAL(10, 2)) ELSE NULL END), 0), 2) AS avg_score_item5,
|
||||
ROUND(COALESCE(AVG(CASE WHEN d.evaluate_item = '6' THEN CAST(d.evaluate_score AS DECIMAL(10, 2)) ELSE NULL END), 0), 2) AS avg_score_item6
|
||||
FROM
|
||||
laws_enterprise_standard_review_meeting_record r
|
||||
LEFT JOIN
|
||||
laws_enterprise_standard_rmr_evaluate_detail d ON r.id = d.review_meeting_id
|
||||
GROUP BY
|
||||
(
|
||||
SELECT
|
||||
d.review_meeting_id,
|
||||
ROUND(COALESCE(AVG(CASE WHEN d.evaluate_item = '1' THEN CAST(d.evaluate_score AS DECIMAL(10, 2)) ELSE NULL END), 0), 2) AS avg_score_item1,
|
||||
ROUND(COALESCE(AVG(CASE WHEN d.evaluate_item = '2' THEN CAST(d.evaluate_score AS DECIMAL(10, 2)) ELSE NULL END), 0), 2) AS avg_score_item2,
|
||||
ROUND(COALESCE(AVG(CASE WHEN d.evaluate_item = '3' THEN CAST(d.evaluate_score AS DECIMAL(10, 2)) ELSE NULL END), 0), 2) AS avg_score_item3,
|
||||
ROUND(COALESCE(AVG(CASE WHEN d.evaluate_item = '4' THEN CAST(d.evaluate_score AS DECIMAL(10, 2)) ELSE NULL END), 0), 2) AS avg_score_item4,
|
||||
ROUND(COALESCE(AVG(CASE WHEN d.evaluate_item = '5' THEN CAST(d.evaluate_score AS DECIMAL(10, 2)) ELSE NULL END), 0), 2) AS avg_score_item5,
|
||||
ROUND(COALESCE(AVG(CASE WHEN d.evaluate_item = '6' THEN CAST(d.evaluate_score AS DECIMAL(10, 2)) ELSE NULL END), 0), 2) AS avg_score_item6
|
||||
FROM
|
||||
laws_enterprise_standard_review_meeting_record r
|
||||
LEFT JOIN
|
||||
laws_enterprise_standard_rmr_evaluate_detail d ON r.id = d.review_meeting_id
|
||||
GROUP BY
|
||||
r.id
|
||||
) AS score ON score.review_meeting_id = rmr.id
|
||||
) AS score ON score.review_meeting_id = rmr.id
|
||||
LEFT JOIN laws_enterprise_standard_rmr_evaluate_detail detail ON detail.review_meeting_id = rmr.id
|
||||
LEFT JOIN sys_user u ON u.id = detail.adjudicator_id
|
||||
Where 1 = 1
|
||||
<!--企标编号判断-->
|
||||
<if test="param.standardNo != null and param.standardNo != ''">
|
||||
|
||||
Reference in New Issue
Block a user