|
@@ -73,10 +73,60 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
|
AND del_flag = '0'
|
|
AND del_flag = '0'
|
|
|
</select>
|
|
</select>
|
|
|
|
|
|
|
|
- <select id="deleteByAthleteIds" resultType="int">
|
|
|
|
|
|
|
+ <delete id="deleteByAthleteIds">
|
|
|
DELETE FROM game_score WHERE athlete_id IN
|
|
DELETE FROM game_score WHERE athlete_id IN
|
|
|
<foreach item="athleteId" collection="athleteIds" separator="," open="(" close=")">
|
|
<foreach item="athleteId" collection="athleteIds" separator="," open="(" close=")">
|
|
|
#{athleteId}
|
|
#{athleteId}
|
|
|
</foreach>
|
|
</foreach>
|
|
|
|
|
+ </delete>
|
|
|
|
|
+
|
|
|
|
|
+ <select id="selectRankingBoardData" resultType="org.dromara.system.domain.vo.RankingBoardVO">
|
|
|
|
|
+ <choose>
|
|
|
|
|
+ <when test='classification == "0"'>
|
|
|
|
|
+ <!-- 个人项目 -->
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ s.score_rank as `rank`,
|
|
|
|
|
+ a.name as `name`,
|
|
|
|
|
+ t.team_name as teamName,
|
|
|
|
|
+ CAST(s.individual_performance AS CHAR) as score,
|
|
|
|
|
+ rg.rg_name as rgName,
|
|
|
|
|
+ a.athlete_id as id,
|
|
|
|
|
+ rg.rg_id as rgId
|
|
|
|
|
+ FROM game_score s
|
|
|
|
|
+ LEFT JOIN game_athlete a ON s.athlete_id = a.athlete_id
|
|
|
|
|
+ LEFT JOIN game_team t ON a.team_id = t.team_id
|
|
|
|
|
+ LEFT JOIN game_rank_group rg ON t.rg_id = rg.rg_id
|
|
|
|
|
+ WHERE s.event_id = #{eventId}
|
|
|
|
|
+ AND s.project_id = #{projectId}
|
|
|
|
|
+ AND s.del_flag = '0'
|
|
|
|
|
+ <if test="rgId != null">
|
|
|
|
|
+ AND (rg.rg_id = #{rgId} OR FIND_IN_SET(#{rgId}, rg.ancestors))
|
|
|
|
|
+ </if>
|
|
|
|
|
+ ORDER BY s.score_rank ASC
|
|
|
|
|
+ </when>
|
|
|
|
|
+ <otherwise>
|
|
|
|
|
+ <!-- 团体项目 -->
|
|
|
|
|
+ SELECT
|
|
|
|
|
+ s.score_rank as `rank`,
|
|
|
|
|
+ t.team_name as `name`,
|
|
|
|
|
+ t.team_name as teamName,
|
|
|
|
|
+ CAST(s.team_performance AS CHAR) as score,
|
|
|
|
|
+ rg.rg_name as rgName,
|
|
|
|
|
+ t.team_id as id,
|
|
|
|
|
+ rg.rg_id as rgId
|
|
|
|
|
+ FROM (
|
|
|
|
|
+ SELECT DISTINCT team_id, score_rank, team_performance, event_id, project_id
|
|
|
|
|
+ FROM game_score
|
|
|
|
|
+ WHERE event_id = #{eventId} AND project_id = #{projectId} AND del_flag = '0'
|
|
|
|
|
+ ) s
|
|
|
|
|
+ LEFT JOIN game_team t ON s.team_id = t.team_id
|
|
|
|
|
+ LEFT JOIN game_rank_group rg ON t.rg_id = rg.rg_id
|
|
|
|
|
+ WHERE 1=1
|
|
|
|
|
+ <if test="rgId != null">
|
|
|
|
|
+ AND (rg.rg_id = #{rgId} OR FIND_IN_SET(#{rgId}, rg.ancestors))
|
|
|
|
|
+ </if>
|
|
|
|
|
+ ORDER BY s.score_rank ASC
|
|
|
|
|
+ </otherwise>
|
|
|
|
|
+ </choose>
|
|
|
</select>
|
|
</select>
|
|
|
</mapper>
|
|
</mapper>
|