| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="org.dromara.system.mapper.app.ToClientMapper">
- <select id="selectScoreSheetMetadata" resultType="org.dromara.system.domain.vo.ScoreSheetVo">
- SELECT
- e.event_name as name,
- e.event_code as bianhao,
- p.score_rule as chengjiType,
- p.score_count as ChengJiNum,
- p.order_type as paiMing,
- p.project_name as projectName,
- p.project_type as type,
- p.classification as classification,
- p.gender as sex,
- p.rg_name as zu,
- p.game_stage as jieduan,
- p.game_round as lunci,
- DATE_FORMAT(p.start_time, '%Y-%m-%d %H:%i:%s') as startTime,
- (SELECT GROUP_CONCAT(name SEPARATOR ',') FROM game_referee WHERE del_flag = '0'
- AND event_id = p.event_id
- AND (JSON_CONTAINS(p.referee_group, JSON_ARRAY(referee_id))
- OR JSON_CONTAINS(p.referee_group, JSON_ARRAY(CAST(referee_id AS CHAR))))
- ) as caipan,
- (CASE WHEN p.score_rule in ('3', '4') THEN p.count_unit ELSE p.timing_format END) as guize,
- (SELECT config_value FROM game_event_config WHERE event_id = p.event_id
- AND config_key = 'event_tip' AND del_flag = '0' LIMIT 1) as eventTip,
- IFNULL((SELECT COUNT(DISTINCT a.athlete_id) FROM game_athlete a
- WHERE a.event_id = p.event_id AND a.del_flag = '0'
- AND (JSON_CONTAINS(a.project_value, JSON_ARRAY(p.project_id))
- OR JSON_CONTAINS(a.project_value, JSON_ARRAY(CAST(p.project_id AS CHAR)))
- ))
- , 0) as popnum,
- IFNULL((SELECT COUNT(DISTINCT s.score_id)
- FROM game_score s
- JOIN game_athlete a ON s.athlete_id = a.athlete_id AND a.del_flag = '0'
- WHERE s.project_id = p.project_id AND s.del_flag = '0'
- AND ((p.classification = '0' AND s.individual_performance IS NOT NULL AND s.individual_performance > 0)
- OR (p.classification = '1' AND s.team_performance IS NOT NULL AND s.team_performance > 0))
- )
- , 0) as finishedParticipants
- FROM game_event_project p
- JOIN game_event e ON p.event_id = e.event_id
- WHERE p.event_id = #{eventId} AND p.project_id = #{projectId} AND p.del_flag = '0'
- </select>
- <select id="selectScoreSheetItems" resultType="org.dromara.system.domain.vo.ScoreSheetItemVo">
- SELECT
- a.athlete_id as id,
- a.team_id as teamId,
- a.athlete_code as num,
- a.name as name,
- t.team_name as duiwu,
- a.track_index as xuhao,
- s.score_id as scoreId,
- CASE
- WHEN p.classification = '0' THEN s.individual_performance
- ELSE s.team_performance
- END as score,
- s.fault_a as shiwu,
- s.complete_time as yongshi
- FROM game_athlete a
- LEFT JOIN game_team t ON a.team_id = t.team_id AND t.del_flag = '0'
- CROSS JOIN game_event_project p ON p.project_id = #{projectId}
- LEFT JOIN game_score s ON a.athlete_id = s.athlete_id AND s.project_id = #{projectId} AND s.del_flag = '0'
- WHERE a.event_id = #{eventId}
- AND a.del_flag = '0'
- AND (JSON_CONTAINS(a.project_value, JSON_ARRAY(#{projectId}))
- OR JSON_CONTAINS(a.project_value, JSON_ARRAY(CAST(#{projectId} AS CHAR))))
- ORDER BY a.track_index ASC, a.athlete_code ASC
- </select>
- <select id="selectScorePreviewList" resultType="org.dromara.system.domain.vo.ScorePreviewVo">
- SELECT
- s.score_id as scoreId,
- s.athlete_id as id,
- s.team_id as teamId,
- a.athlete_code as num,
- a.name as name,
- t.team_name as duiwu,
- CASE
- WHEN p.classification = '0' THEN CAST(s.individual_performance AS CHAR)
- ELSE CAST(s.team_performance AS CHAR)
- END as score,
- s.fault_a as shiwu,
- s.complete_time as yongshi,
- s.score_point as scorePoint,
- s.score_rank as scoreRank
- FROM game_score s
- LEFT JOIN game_athlete a ON s.athlete_id = a.athlete_id AND a.del_flag = '0'
- LEFT JOIN game_team t ON s.team_id = t.team_id AND t.del_flag = '0'
- JOIN game_event_project p ON s.project_id = p.project_id
- WHERE s.project_id = #{projectId} AND s.del_flag = '0'
- AND (
- (p.classification = '0' AND a.athlete_id IS NOT NULL AND (
- JSON_CONTAINS(a.project_value, JSON_ARRAY(#{projectId}))
- OR JSON_CONTAINS(a.project_value, JSON_ARRAY(CAST(#{projectId} AS CHAR)))
- ))
- OR
- (p.classification = '1' AND t.team_id IS NOT NULL AND EXISTS (
- SELECT 1 FROM game_athlete a2
- WHERE a2.team_id = s.team_id AND a2.del_flag = '0'
- AND (
- JSON_CONTAINS(a2.project_value, JSON_ARRAY(#{projectId}))
- OR JSON_CONTAINS(a2.project_value, JSON_ARRAY(CAST(#{projectId} AS CHAR)))
- )
- ))
- )
- ORDER BY s.score_rank ASC, s.score_id DESC
- </select>
- </mapper>
|