From 91658c71a75bfadece53ee429c91ca3e661f77b3 Mon Sep 17 00:00:00 2001
From: chenhao <852066789@qq.com>
Date: Thu, 20 Mar 2025 09:40:40 +0800
Subject: [PATCH] =?UTF-8?q?perf(pms-business):=20=E4=BC=98=E5=8C=96?=
 =?UTF-8?q?=E7=94=A8=E6=88=B7=E8=80=83=E6=A0=B8=E8=AF=84=E5=88=86=E6=8E=92?=
 =?UTF-8?q?=E5=BA=8F=E8=A7=84=E5=88=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

- 修改了 "all" 排序字段的 SQL 语句,增加了对考核状态的判断
- 实现了总分、主管评分和个人评分的优先级排序
- 优化了评分排序的逻辑,提高了排序的准确性和公平性
---
 .../pms/business/examine/user/domain/ExamineUser.java          | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java b/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java
index 6de7c4b..f439770 100644
--- a/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java
+++ b/pms-business/src/main/java/tech/unissense/pms/business/examine/user/domain/ExamineUser.java
@@ -67,7 +67,8 @@ public class ExamineUser extends BaseEntity {
         if (StrUtil.isEmpty(sortFiled)) {
             return null;
         } else if ("all".equalsIgnoreCase(sortFiled)) {
-            return (StrUtil.format("order by IFNULL(score,ifnull(manage_score,ifnull(self_score,-1))) {}", StrUtil.isNotEmpty(isAsc) ? isAsc : ""));
+            //评分排序规则  总分->主管评分(需主管提交)->个人评分(需个人提交)
+            return (StrUtil.format("order by IFNULL(score,if(examine_status=1,manage_score,if(examine_status_self=1,ifnull(self_score,-1),-1))) {}", StrUtil.isNotEmpty(isAsc) ? isAsc : ""));
         } else if ("manageScore".equalsIgnoreCase(sortFiled)) {
             return (StrUtil.format("order by ifnull(manage_score,-1) {}", StrUtil.isNotEmpty(isAsc) ? isAsc : ""));
         } else if ("selfScore".equalsIgnoreCase(sortFiled)) {