Browse Source

Merge branch 'pt' of dd.tall.wiki:ccsens_wiki/ccsenscloud into pt

tiaosheng
zhizhi wu 5 years ago
parent
commit
2c9b549476
  1. 23
      mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java
  2. 2
      mt/src/main/java/com/ccsens/mt/service/CompeteScoreService.java
  3. 57
      mt/src/main/java/com/ccsens/mt/service/CompeteService.java
  4. 242
      mt/src/main/resources/mapper_dao/CompeteScoreDao.xml

23
mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java

@ -122,4 +122,27 @@ public interface CompeteScoreDao {
* @return
*/
ScoreVo.CountScoreCurrentSite getCountScoreByOrderId(@Param("siteId")Long siteId);
/**
* 根据组别和项目查找排名(计数赛团体)
* @param projectId 项目id
* @param competeGroupId 组别id
* @return
*/
List<ScoreVo.CompeteScore> selectCountTeam(@Param("projectId")Long projectId, @Param("competeGroupId")Long competeGroupId);
/**
* 根据组别和项目查找排名计数赛个人
* @param projectId 项目id
* @param competeGroupId 组别id
* @return
*/
List<ScoreVo.CompeteScore> selectCountPlayer(@Param("projectId")Long projectId, @Param("competeGroupId")Long competeGroupId);
/**
* 根据组别和项目查找排名花样赛
* @param projectId
* @param competeGroupId
* @return
*/
List<ScoreVo.CompeteScore> selectVarietyPlayer(@Param("projectId")Long projectId, @Param("competeGroupId")Long competeGroupId);
}

2
mt/src/main/java/com/ccsens/mt/service/CompeteScoreService.java

@ -36,6 +36,7 @@ public class CompeteScoreService implements ICompeteScoreService{
countScore = countScoreList.get(0);
countScore.setChiefJudgmentScore(param.getMainScore());
countScore.setJudgmentAScore(param.getMainOneScore());
countScore.setCompeteTimeId(param.getCompeteTimeId());
countScore.setJudgmentBScore2(param.getMainTwoScore());
countScore.setShouldTimes(param.getShouldScore());
countScore.setDeductTimes(param.getDeductTime());
@ -46,6 +47,7 @@ public class CompeteScoreService implements ICompeteScoreService{
countScore = new CompeteCountScore();
countScore.setId(snowflake.nextId());
countScore.setProjectId(param.getProjectId());
countScore.setCompeteTimeId(param.getCompeteTimeId());
countScore.setSiteOrderId(param.getSiteOrderId());
countScore.setChiefJudgmentScore(param.getMainScore());
countScore.setJudgmentAScore(param.getMainOneScore());

57
mt/src/main/java/com/ccsens/mt/service/CompeteService.java

@ -1394,28 +1394,41 @@ public class CompeteService implements ICompeteService {
long competeGroupId = params.getCompeteGroupId();
CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(ProjectId);
if (ObjectUtil.isNotNull(competeProject)){
int team = competeProject.getTeam();
long fatherId = competeProject.getParentId();
//如果比赛是个人计数赛
if (fatherId == 2001 && team == 0){
List<ScoreVo.CompeteScore> competeScores = competeScoreDao.selectSingleCount(ProjectId, competeGroupId);
competeScoreList.addAll(competeScores);
}
//如果是个人花样赛
if (fatherId == 2002 && team == 0){
List<ScoreVo.CompeteScore> competeScores = competeScoreDao.selectSingleVarity(ProjectId, competeGroupId);
competeScoreList.addAll(competeScores);
}
//如果是团队计数赛
if (fatherId == 2001 && team == 1){
List<ScoreVo.CompeteScore> competeScores = competeScoreDao.selectGroupCount(ProjectId, competeGroupId);
competeScoreList.addAll(competeScores);
}
//如果是团队花样赛
if (fatherId == 2002 && team == 1){
List<ScoreVo.CompeteScore> competeScores = competeScoreDao.selectGroupVarity(ProjectId, competeGroupId);
competeScoreList.addAll(competeScores);
}
int team = competeProject.getTeam();
long fatherId = competeProject.getParentId();
if(fatherId == Constant.COMPETE_COUNT) {
if (competeProject.getTeam() == Constant.Compete.TEAM_YES) {
// 团体赛
competeScoreList = competeScoreDao.selectCountTeam(params.getProjectId(), params.getCompeteGroupId());
} else {
// 个人赛
competeScoreList = competeScoreDao.selectCountPlayer(params.getProjectId(), params.getCompeteGroupId());
}
}else {
//花样赛
competeScoreList = competeScoreDao.selectVarietyPlayer(params.getProjectId(), params.getCompeteGroupId());
}
// //如果比赛是个人计数赛
// if (fatherId == 2001 && team == 0){
// List<ScoreVo.CompeteScore> competeScores = competeScoreDao.selectSingleCount(ProjectId, competeGroupId);
// competeScoreList.addAll(competeScores);
// }
// //如果是个人花样赛
// if (fatherId == 2002 && team == 0){
// List<ScoreVo.CompeteScore> competeScores = competeScoreDao.selectSingleVarity(ProjectId, competeGroupId);
// competeScoreList.addAll(competeScores);
// }
// //如果是团队计数赛
// if (fatherId == 2001 && team == 1){
// List<ScoreVo.CompeteScore> competeScores = competeScoreDao.selectGroupCount(ProjectId, competeGroupId);
// competeScoreList.addAll(competeScores);
// }
// //如果是团队花样赛
// if (fatherId == 2002 && team == 1){
// List<ScoreVo.CompeteScore> competeScores = competeScoreDao.selectGroupVarity(ProjectId, competeGroupId);
// competeScoreList.addAll(competeScores);
// }
}
return competeScoreList;
}

242
mt/src/main/resources/mapper_dao/CompeteScoreDao.xml

@ -1394,6 +1394,248 @@
and cp.rec_status = 0
</select>
<select id="selectCountTeam" resultType="com.ccsens.mt.bean.vo.ScoreVo$CompeteScore">
SELECT
t1.*,
count( t2.id ) + 1 AS rangee
FROM
(
SELECT
GROUP_CONCAT( player.NAME SEPARATOR '、' ) AS NAME,
company.NAME AS companyName,
score.id,
score.judgment_a_score AS mainOneScore,
score.judgment_b_score2 AS mainTwoScore,
score.should_times AS shouldScore,
score.deduct_times AS deductTime,
score.final_score AS score,
#{projectId} as projectId
FROM
t_compete_count_score score,
t_compete_start_order startOrder,
t_compete_team team,
t_compete_team_member tm,
t_compete_player player,
t_compete_company company
,
t_compete_group g
WHERE
score.project_id = #{projectId}
and g.id = #{competeGroupId}
and team.gender_group = g.sex
and team.group_remark = g.group_remark
AND score.site_order_id = startOrder.id
AND startOrder.player_id = team.id
AND team.id = tm.compete_team_id
AND tm.player_id = player.id
AND player.company_id = company.id
AND company.rec_status = 0
AND score.rec_status = 0
AND player.rec_status = 0
AND startOrder.rec_status = 0
AND team.rec_status = 0
AND tm.rec_status = 0
GROUP BY
score.id
) t1
LEFT JOIN (
SELECT
GROUP_CONCAT( player.NAME SEPARATOR '、' ) AS NAME,
company.NAME AS companyName,
score.id,
score.judgment_a_score AS mainOneScore,
score.judgment_b_score2 AS mainTwoScore,
score.should_times AS shouldScore,
score.deduct_times AS deductTime,
score.final_score AS score,
#{projectId} as projectId
FROM
t_compete_count_score score,
t_compete_start_order startOrder,
t_compete_team team,
t_compete_team_member tm,
t_compete_player player,
t_compete_company company
,
t_compete_group g
WHERE
score.project_id = #{projectId}
and g.id = #{competeGroupId}
and team.gender_group = g.sex
and team.group_remark = g.group_remark
AND score.site_order_id = startOrder.id
AND startOrder.player_id = team.id
AND team.id = tm.compete_team_id
AND tm.player_id = player.id
AND player.company_id = company.id
AND company.rec_status = 0
AND score.rec_status = 0
AND player.rec_status = 0
AND startOrder.rec_status = 0
AND team.rec_status = 0
AND tm.rec_status = 0
GROUP BY
score.id
) t2
on 1=1
AND t1.score &lt;
t2.score
GROUP BY
t1.id
ORDER BY
rangee
</select>
<select id="selectCountPlayer" resultType="com.ccsens.mt.bean.vo.ScoreVo$CompeteScore">
select t1.*, count(t2.id) + 1 as rangee from
(SELECT
competeGroup.group_name as groupName,
player.NAME as name,
score.final_score as finalScore,
p.NAME as companyName,
score.id,
score.judgment_a_score as mainOneScore,
score.judgment_b_score2 as mainTwoScore,
score.should_times as score,
#{projectId} as projectId
FROM
t_compete_count_score score,
t_compete_start_order startOrder,
t_compete_project_player pp,
t_compete_player player,
t_compete_group competeGroup,
t_compete_company p
WHERE
score.project_id = #{projectId}
and competeGroup.id = #{competeGroupId}
AND score.site_order_id = startOrder.id
AND startOrder.player_id = pp.id
AND pp.player_id = player.id
AND player.compete_group_id = competeGroup.id
and player.company_id = p.id
AND score.rec_status = 0
AND player.rec_status = 0
AND startOrder.rec_status = 0
AND competeGroup.rec_status = 0)t1
left join
(SELECT
competeGroup.group_name as groupName,
player.NAME as name,
score.final_score as finalScore,
p.NAME as companyName,
score.id,
score.judgment_a_score as mainOneScore,
score.judgment_b_score2 as mainTwoScore,
score.should_times as score,
#{projectId} as projectId
FROM
t_compete_count_score score,
t_compete_start_order startOrder,
t_compete_project_player pp,
t_compete_player player,
t_compete_group competeGroup,
t_compete_company p
WHERE
score.project_id = #{projectId}
and competeGroup.id = #{competeGroupId}
AND score.site_order_id = startOrder.id
AND startOrder.player_id = pp.id
AND pp.player_id = player.id
AND player.compete_group_id = competeGroup.id
and player.company_id = p.id
AND score.rec_status = 0
AND player.rec_status = 0
AND startOrder.rec_status = 0
AND competeGroup.rec_status = 0)t2
on t1.groupName = t2.groupName and t1.finalScore &lt; t2.finalScore
group by t1.id
order by t1.groupName, rangee
</select>
<select id="selectVarietyPlayer" resultType="com.ccsens.mt.bean.vo.ScoreVo$CompeteScore">
SELECT
s.*,
c.NAME AS companyName,
GROUP_CONCAT( p.NAME ) AS name,
#{projectId} as projectId,
convert(
(
ifnull( s.referee1, 0 )+ ifnull( s.referee2, 0 )+ ifnull( s.referee3, 0 ))/ 3 + (
ifnull( s.referee4, 0 )+ ifnull( s.referee5, 0 )+ ifnull( s.referee6, 0 ))/ 3 - ifnull(s.referee0,0),decimal(15,2))
AS score
FROM
(
SELECT
site_order_id,
max(
IF
( chief_judgment = 0, score, NULL )) AS referee0,
max(
IF
( chief_judgment = 1, score, NULL )) AS referee1,
max(
IF
( chief_judgment = 2, score, NULL )) AS referee2,
max(
IF
( chief_judgment = 3, score, NULL )) AS referee3,
max(
IF
( chief_judgment = 4, score, NULL )) AS referee4,
max(
IF
( chief_judgment = 5, score, NULL )) AS referee5,
max(
IF
( chief_judgment = 6, score, NULL )) AS referee6,
max(
IF
( chief_judgment = 7, score, NULL )) AS referee7
FROM
(
SELECT
s.site_order_id,
j.chief_judgment,
sum( s.score ) AS score
FROM
t_compete_variety_score s,
t_compete_judgment j
WHERE
s.judgment_id = j.id
AND s.project_id = #{projectId}
AND s.rec_status = 0
AND j.rec_status = 0
GROUP BY
s.site_order_id,
j.chief_judgment
) t
GROUP BY
t.site_order_id
) s,
t_compete_start_order o,
t_compete_team t,
t_compete_team_member m,
t_compete_player p,
t_compete_company c
WHERE
s.site_order_id = o.id
AND o.player_id = t.id
AND t.id = m.compete_team_id
AND m.player_id = p.id
AND p.company_id = c.id
AND o.rec_status = 0
AND t.rec_status = 0
AND m.rec_status = 0
AND p.rec_status = 0
AND c.rec_status = 0
GROUP BY
s.site_order_id
ORDER BY
score DESC
</select>
<!--<select id="queryEightGroupLimit" resultType="com.ccsens.mt.bean.vo.CompeteExcelVo$BeforeEight">
select t1.group_name as groupName, GROUP_CONCAT(t1.name) as eightNames from

Loading…
Cancel
Save