Преглед изворни кода

fix(game): 修复比赛成绩统计中运动员删除标记的过滤逻辑

- 在成绩查询中添加对运动员表的内连接
- 增加运动员删除标记的过滤条件
- 添加项目分类与成绩记录匹配的逻辑判断
- 确保个人和团队成绩统计的一致性
- 修复因运动员删除导致的成绩统计错误问题
zhou пре 2 недеља
родитељ
комит
526d85f1a0

+ 6 - 1
ruoyi-modules/ruoyi-game-event/src/main/resources/mapper/system/GameScoreMapper.xml

@@ -22,8 +22,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             END) as totalParticipants,
             (SELECT COUNT(DISTINCT (CASE WHEN p.classification = '0' THEN s.athlete_id ELSE s.team_id END))
              FROM game_score s
-             WHERE s.event_id = #{eventId} AND s.project_id = p.project_id AND s.del_flag = '0'
+             INNER JOIN game_athlete a ON (s.athlete_id = a.athlete_id OR s.team_id = a.team_id)
+             WHERE s.event_id = #{eventId} AND s.project_id = p.project_id AND s.del_flag = '0' AND a.del_flag = '0'
                AND ((s.individual_performance > 0) OR (s.team_performance > 0))
+               AND (
+                 (p.classification = '0' AND s.athlete_id = a.athlete_id)
+                 OR (p.classification = '1' AND s.team_id = a.team_id)
+               )
             ) as completedParticipants
         FROM game_event_project p
         WHERE p.event_id = #{eventId} and p.del_flag = '0'