Browse Source

220201122v1.2合并冲突

tiaosheng
zy_Java 5 years ago
parent
commit
ca1bb8d995
  1. 22
      mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java
  2. 2
      mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java
  3. 25
      mt/src/main/java/com/ccsens/mt/bean/vo/ScoreVo.java
  4. 42
      mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java
  5. 256
      mt/src/main/java/com/ccsens/mt/service/CompeteService.java
  6. 91
      mt/src/main/java/com/ccsens/mt/service/ExcelService.java
  7. 12
      mt/src/main/java/com/ccsens/mt/service/ICompeteService.java
  8. 2
      mt/src/main/java/com/ccsens/mt/service/IExcelService.java
  9. 422
      mt/src/main/resources/mapper_dao/CompeteScoreDao.xml

22
mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java

@ -69,9 +69,9 @@ public class CompeteScoreController {
@ApiOperation(value = "花样赛成绩查看", notes = "Mr.王 -----从花样赛成绩表里面查看出这个人得成绩") @ApiOperation(value = "花样赛成绩查看", notes = "Mr.王 -----从花样赛成绩表里面查看出这个人得成绩")
@RequestMapping(value = "/showResult", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/showResult", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<CompeteVo.TotalScoreDisplay>> showResult (@ApiParam @Validated @RequestBody QueryDto<ScoreDto.ShowResultW> params){ public JsonResponse<PageInfo<CompeteVo.TotalScoreDisplay>> showResult (@ApiParam @Validated @RequestBody QueryDto<ScoreDto.ShowResultW> params){
log.info("花样赛详细分数查看:{}",params); log.info("花样赛详细分数查看:{}",params);
List<CompeteVo.TotalScoreDisplay> totalScoreDisplaysList= competeService.showResult(params.getParam()); PageInfo<CompeteVo.TotalScoreDisplay> totalScoreDisplaysList= competeService.showResult(params.getParam());
return JsonResponse.newInstance().ok(totalScoreDisplaysList); return JsonResponse.newInstance().ok(totalScoreDisplaysList);
} }
@ -104,14 +104,24 @@ public class CompeteScoreController {
} }
// @MustLogin
// @ApiOperation(value = "查看计数赛成绩公示表", notes = "多表关联之后,查询当前你场次得分数信息")
// @RequestMapping(value = "/query/countScoreAll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
// public JsonResponse<ScoreVo.CountScoreCurrentSite> queryCountScoreAll(@ApiParam @Validated @RequestBody QueryDto<ScoreDto.ShowResult> params) {
// log.info("查看计数赛成绩公示表:{}",params);
// PageInfo<ScoreVo.CountScoreCurrentSite> countScoreCurrentSites = competeService.queryCountScoreAll(params.getParam());
// log.info("查看计数赛成绩公示表:{}",params);
// return JsonResponse.newInstance().ok(countScoreCurrentSites);
// }
@MustLogin @MustLogin
@ApiOperation(value = "查看计数赛成绩公示表", notes = "多表关联之后,查询当前你场次得分数信息") @ApiOperation(value = "查看计数赛成绩公示表", notes = "多表关联之后,查询当前你场次得分数信息")
@RequestMapping(value = "/query/countScoreAll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/query/countScoreAll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<ScoreVo.CountScoreCurrentSite> queryCountScoreAll(@ApiParam @Validated @RequestBody QueryDto<ScoreDto.ShowResult> params) { public JsonResponse<ScoreVo.CountScorePublicity> queryCountScoreAll(@ApiParam @Validated @RequestBody QueryDto<ScoreDto.ShowResult> params) {
log.info("查看计数赛成绩公示表:{}",params);
PageInfo<ScoreVo.CountScoreCurrentSite> countScoreCurrentSites = competeService.queryCountScoreAll(params.getParam());
log.info("查看计数赛成绩公示表:{}",params); log.info("查看计数赛成绩公示表:{}",params);
return JsonResponse.newInstance().ok(countScoreCurrentSites); PageInfo<ScoreVo.CountScorePublicity> pageInfo = competeService.queryCountScore(params.getParam());
log.info("查看计数赛成绩公示表:{}",pageInfo);
return JsonResponse.newInstance().ok(pageInfo);
} }
@MustLogin @MustLogin

2
mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java

@ -492,6 +492,8 @@ public class CompeteVo {
public BigDecimal referee0 = new BigDecimal(0); public BigDecimal referee0 = new BigDecimal(0);
@ApiModelProperty("最后得分") @ApiModelProperty("最后得分")
public BigDecimal result = new BigDecimal(0); public BigDecimal result = new BigDecimal(0);
// @ApiModelProperty("排名")
// public int rownum;
@ApiModelProperty("排名") @ApiModelProperty("排名")
public int order; public int order;
@ApiModelProperty("备注") @ApiModelProperty("备注")

25
mt/src/main/java/com/ccsens/mt/bean/vo/ScoreVo.java

@ -229,4 +229,29 @@ public class ScoreVo {
private int rangee; private int rangee;
} }
@Data
@ApiModel("计数赛成绩公示-返回")
public static class CountScorePublicity{
@ApiModelProperty("组别")
private String groupName;
@ApiModelProperty("团队名")
private String companyName;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("主裁1打分")
private BigDecimal mainOneScore;
@ApiModelProperty("主裁2打分")
private BigDecimal mainTwoScore;
@ApiModelProperty("应得分")
private Integer shouldScore;
@ApiModelProperty("扣除次数")
private Integer deductTime;
@ApiModelProperty("最终成绩")
private BigDecimal finalScore;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("名次")
private int rangee;
}
} }

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

@ -52,10 +52,48 @@ public interface CompeteScoreDao {
List<CompeteExcelVo.BeforeEight> queryEight(@Param("projectId") Long projectId, @Param("competeTimeId") Long competeTimeId); List<CompeteExcelVo.BeforeEight> queryEight(@Param("projectId") Long projectId, @Param("competeTimeId") Long competeTimeId);
/** /**
* 花样赛前八名 * 计数赛限组别前八名
* @param projectId 项目ID * @param projectId 项目ID
* @param competeTimeId 大赛ID * @param competeTimeId 大赛ID
* @return 前八名 * @return 前八名
*/ */
List<CompeteExcelVo.BeforeEight> queryEightFancyRope(@Param("projectId") Long projectId, @Param("competeTimeId") Long competeTimeId); List<CompeteExcelVo.BeforeEight> queryEightGroupLimit(@Param("projectId") Long projectId, @Param("competeTimeId") Long competeTimeId);
/**
* 花样赛不限组别前八名
* @param projectId 项目ID
* @param competeTimeId 大赛ID
* @return 前八名
*/
List<CompeteExcelVo.BeforeEight> queryEightGroupNotLimit(@Param("projectId") Long projectId, @Param("competeTimeId") Long competeTimeId);
/**
* 花样赛限组别前八名
* @param projectId 项目ID
* @param competeTimeId 大赛ID
* @return 前八名
*/
List<CompeteExcelVo.BeforeEight> queryEightVarietyGroupLimit(@Param("projectId") Long projectId, @Param("competeTimeId") Long competeTimeId);
/**
* 查询计数赛中团体赛成绩
* @param projectId 项目ID
* @return 成绩
*/
List<ScoreVo.CountScorePublicity> queryCountScoreTeam(@Param("projectId") Long projectId);
/**
* 查询计数赛中个人赛成绩
* @param projectId 项目ID
* @return 成绩
*/
List<ScoreVo.CountScorePublicity> queryCountScorePerson(@Param("projectId") Long projectId);
/**
* 统计花样赛成绩
* @param projectId 项目ID
* @return 成绩
*/
List<CompeteVo.TotalScoreDisplay> queryVarietyScore(@Param("projectId") Long projectId);
} }

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

@ -212,126 +212,131 @@ public class CompeteService implements ICompeteService {
* @param param * @param param
*/ */
@Override @Override
public List<CompeteVo.TotalScoreDisplay> showResult(ScoreDto.ShowResultW param) { public PageInfo<CompeteVo.TotalScoreDisplay> showResult(ScoreDto.ShowResultW param) {
List<CompeteVo.TotalScoreDisplay> totalScoreDisplaysList=new ArrayList<>(); PageHelper.startPage(param.getPageNum(), param.getPageSize());
CompeteStartOrderExample competeStartOrderExample =new CompeteStartOrderExample(); List<CompeteVo.TotalScoreDisplay> list = competeScoreDao.queryVarietyScore(param.getProjectId());
competeStartOrderExample.createCriteria().andProjectIdEqualTo(param.getProjectId()); return new PageInfo<>(list);
competeStartOrderExample.setOrderByClause("player_id DESC"); }
List<CompeteStartOrder> competeStartOrdersList = competeStartOrderMapper.selectByExample(competeStartOrderExample); // public List<CompeteVo.TotalScoreDisplay> showResult(ScoreDto.ShowResultW param) {
// if(competeStartOrdersList.size()<1){ // List<CompeteVo.TotalScoreDisplay> totalScoreDisplaysList=new ArrayList<>();
// throw new BaseException(CodeEnum.PARAM_ERROR); // CompeteStartOrderExample competeStartOrderExample =new CompeteStartOrderExample();
// competeStartOrderExample.createCriteria().andProjectIdEqualTo(param.getProjectId());
// competeStartOrderExample.setOrderByClause("player_id DESC");
// List<CompeteStartOrder> competeStartOrdersList = competeStartOrderMapper.selectByExample(competeStartOrderExample);
//// if(competeStartOrdersList.size()<1){
//// throw new BaseException(CodeEnum.PARAM_ERROR);
//// }
// competeStartOrdersList.forEach(competeStartOrder -> {
// //一个人或者一个团队得数据
// CompeteVo.TotalScoreDisplay totalScoreDisplay = new CompeteVo.TotalScoreDisplay();
// totalScoreDisplay.setRemark(totalScoreDisplay.getRemark());
// //项目名
//// CompeteProject project = competeProjectMapper.selectByPrimaryKey(competeStartOrder.getProjectId());
//// if(ObjectUtil.isNotNull(project)) {
//// totalScoreDisplay.setCompanyName(project.getName());
//// }
// //名字
// if(competeStartOrder.getTeam().equals((byte) 0)){
// //个人人名
// CompetePlayer player = competePlayerDao.selectByPrimaryKey(competeStartOrder.getPlayerId());
// if(ObjectUtil.isNotNull(player)) {
// totalScoreDisplay.setPeopleName(player.getName());
// //个人所属团队名
// CompeteCompany competeCompany = competeCompanyMapper.selectByPrimaryKey(player.getCompanyId());
// if (ObjectUtil.isNotNull(competeCompany)){
// totalScoreDisplay.setCompanyName(competeCompany.getName());
// } // }
competeStartOrdersList.forEach(competeStartOrder -> {
//一个人或者一个团队得数据
CompeteVo.TotalScoreDisplay totalScoreDisplay = new CompeteVo.TotalScoreDisplay();
totalScoreDisplay.setRemark(totalScoreDisplay.getRemark());
//项目名
// CompeteProject project = competeProjectMapper.selectByPrimaryKey(competeStartOrder.getProjectId());
// if(ObjectUtil.isNotNull(project)) {
// totalScoreDisplay.setCompanyName(project.getName());
// } // }
//名字 // }else {
if(competeStartOrder.getTeam().equals((byte) 0)){ // //团体名
//个人人名 // CompeteTeam competeTeam = competeTeamDao.selectByPrimaryKey(competeStartOrder.getPlayerId());
CompetePlayer player = competePlayerDao.selectByPrimaryKey(competeStartOrder.getPlayerId()); // CompeteCompany competeCompany =competeCompanyMapper.selectByPrimaryKey(competeTeam.getCompanyId());
if(ObjectUtil.isNotNull(player)) { // totalScoreDisplay.setCompanyName(competeCompany.getName());
totalScoreDisplay.setPeopleName(player.getName()); // //团队人名
//个人所属团队名 // CompeteTeamMemberExample competeTeamMemberExample = new CompeteTeamMemberExample();
CompeteCompany competeCompany = competeCompanyMapper.selectByPrimaryKey(player.getCompanyId()); // competeTeamMemberExample.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId());
if (ObjectUtil.isNotNull(competeCompany)){ // List<CompeteTeamMember> competeTeamMemberList = competeTeamMemberMapper.selectByExample(competeTeamMemberExample);
totalScoreDisplay.setCompanyName(competeCompany.getName());
}
}
}else {
//团体名
CompeteTeam competeTeam = competeTeamDao.selectByPrimaryKey(competeStartOrder.getPlayerId());
CompeteCompany competeCompany =competeCompanyMapper.selectByPrimaryKey(competeTeam.getCompanyId());
totalScoreDisplay.setCompanyName(competeCompany.getName());
//团队人名
CompeteTeamMemberExample competeTeamMemberExample = new CompeteTeamMemberExample();
competeTeamMemberExample.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId());
List<CompeteTeamMember> competeTeamMemberList = competeTeamMemberMapper.selectByExample(competeTeamMemberExample);
StringBuilder stringBuilder=new StringBuilder("");
competeTeamMemberList.forEach(mes->{
CompetePlayer competePlayer = competePlayerDao.selectByPrimaryKey(mes.getPlayerId());
stringBuilder.append(competePlayer.getName()+"、");
});
//totalScoreDisplay.setPeopleName(stringBuilder.toString());
// CompeteTeamMemberExample competeTeamMemberExample =new CompeteTeamMemberExample();
// competeTeamMemberExample.createCriteria().andCompeteTeamIdEqualTo(competeStartOrder.getPlayerId());
// List<CompeteTeamMember> competeTeamMembersList = competeTeamMemberMapper.selectByExample(competeTeamMemberExample);
// StringBuilder stringBuilder=new StringBuilder(""); // StringBuilder stringBuilder=new StringBuilder("");
// competeTeamMembersList.forEach(competeTeamMember -> { // competeTeamMemberList.forEach(mes->{
// stringBuilder.append(competePlayerDao.selectByPrimaryKey(competeTeamMember.getPlayerId()).getName()+'、'); // CompetePlayer competePlayer = competePlayerDao.selectByPrimaryKey(mes.getPlayerId());
// stringBuilder.append(competePlayer.getName()+"、");
// }); // });
String namess=stringBuilder.toString().substring(0,stringBuilder.length()-1); // //totalScoreDisplay.setPeopleName(stringBuilder.toString());
totalScoreDisplay.setPeopleName(namess); //// CompeteTeamMemberExample competeTeamMemberExample =new CompeteTeamMemberExample();
} //// competeTeamMemberExample.createCriteria().andCompeteTeamIdEqualTo(competeStartOrder.getPlayerId());
List<CompeteVo.Result> results = competeTimeDao.selectJudgmentS(competeStartOrder.getId()); //// List<CompeteTeamMember> competeTeamMembersList = competeTeamMemberMapper.selectByExample(competeTeamMemberExample);
//7个教练成绩也上去了 //// StringBuilder stringBuilder=new StringBuilder("");
for (CompeteVo.Result r :results){ //// competeTeamMembersList.forEach(competeTeamMember -> {
if(r.getChief()==0){ //// stringBuilder.append(competePlayerDao.selectByPrimaryKey(competeTeamMember.getPlayerId()).getName()+'、');
totalScoreDisplay.setReferee0(r.getScore()); //// });
}else if(r.getChief()==1){ // String namess=stringBuilder.toString().substring(0,stringBuilder.length()-1);
totalScoreDisplay.setReferee1(r.getScore()); // totalScoreDisplay.setPeopleName(namess);
}else if(r.getChief()==2){ // }
totalScoreDisplay.setReferee2(r.getScore()); // List<CompeteVo.Result> results = competeTimeDao.selectJudgmentS(competeStartOrder.getId());
}else if(r.getChief()==3){ // //7个教练成绩也上去了
totalScoreDisplay.setReferee3(r.getScore()); // for (CompeteVo.Result r :results){
}else if(r.getChief()==4){ // if(r.getChief()==0){
totalScoreDisplay.setReferee4(r.getScore()); // totalScoreDisplay.setReferee0(r.getScore());
}else if(r.getChief()==5){ // }else if(r.getChief()==1){
totalScoreDisplay.setReferee5(r.getScore()); // totalScoreDisplay.setReferee1(r.getScore());
}else if(r.getChief()==6){ // }else if(r.getChief()==2){
totalScoreDisplay.setReferee6(r.getScore()); // totalScoreDisplay.setReferee2(r.getScore());
} // }else if(r.getChief()==3){
} // totalScoreDisplay.setReferee3(r.getScore());
BigDecimal bigDecimal1to3=new BigDecimal(0); // }else if(r.getChief()==4){
bigDecimal1to3.add(totalScoreDisplay.getReferee1()).add(totalScoreDisplay.getReferee2()).add(totalScoreDisplay.getReferee3()); // totalScoreDisplay.setReferee4(r.getScore());
BigDecimal bigDecimalavg1to3=new BigDecimal(0); // }else if(r.getChief()==5){
BigDecimal bignum=new BigDecimal(3); // totalScoreDisplay.setReferee5(r.getScore());
totalScoreDisplay.setAvg1To3(bigDecimalavg1to3.divide(bignum,2,BigDecimal.ROUND_HALF_UP)); // }else if(r.getChief()==6){
// totalScoreDisplay.setReferee6(r.getScore());
BigDecimal bigDecimal4to6=new BigDecimal(0); // }
bigDecimal4to6.add(totalScoreDisplay.getReferee4()).add(totalScoreDisplay.getReferee5()).add(totalScoreDisplay.getReferee6());
BigDecimal bigDecimalavg4to6=new BigDecimal(0);
BigDecimal bignum1=new BigDecimal(3);
totalScoreDisplay.setAvg4To6(bigDecimalavg4to6.divide(bignum1,2,BigDecimal.ROUND_HALF_UP));
//总成绩也出来了
BigDecimal re=new BigDecimal(0);
re.add(totalScoreDisplay.getAvg1To3()).add(totalScoreDisplay.getAvg4To6()).subtract(totalScoreDisplay.getReferee0());
totalScoreDisplay.setResult(re);
totalScoreDisplaysList.add(totalScoreDisplay);
});
// Collections.sort(totalScoreDisplaysList, new Comparator<CompeteVo.TotalScoreDisplay>() {
// @Override
// public BigDecimal compare(CompeteVo.TotalScoreDisplay o1, CompeteVo.TotalScoreDisplay o2) {
// o1.getResult().subtract(o2.getResult());
// return o1.getResult();
// } // }
// BigDecimal bigDecimal1to3=new BigDecimal(0);
// bigDecimal1to3.add(totalScoreDisplay.getReferee1()).add(totalScoreDisplay.getReferee2()).add(totalScoreDisplay.getReferee3());
// BigDecimal bigDecimalavg1to3=new BigDecimal(0);
// BigDecimal bignum=new BigDecimal(3);
// totalScoreDisplay.setAvg1To3(bigDecimalavg1to3.divide(bignum,2,BigDecimal.ROUND_HALF_UP));
//
// BigDecimal bigDecimal4to6=new BigDecimal(0);
// bigDecimal4to6.add(totalScoreDisplay.getReferee4()).add(totalScoreDisplay.getReferee5()).add(totalScoreDisplay.getReferee6());
// BigDecimal bigDecimalavg4to6=new BigDecimal(0);
// BigDecimal bignum1=new BigDecimal(3);
// totalScoreDisplay.setAvg4To6(bigDecimalavg4to6.divide(bignum1,2,BigDecimal.ROUND_HALF_UP));
// //总成绩也出来了
// BigDecimal re=new BigDecimal(0);
// re.add(totalScoreDisplay.getAvg1To3()).add(totalScoreDisplay.getAvg4To6()).subtract(totalScoreDisplay.getReferee0());
// totalScoreDisplay.setResult(re);
// totalScoreDisplaysList.add(totalScoreDisplay);
// }); // });
//// Collections.sort(totalScoreDisplaysList, new Comparator<CompeteVo.TotalScoreDisplay>() {
for (int i = 0; i < totalScoreDisplaysList.size() - 1; i++) { //// @Override
for (int j = 1; j < totalScoreDisplaysList.size() - i; j++) { //// public BigDecimal compare(CompeteVo.TotalScoreDisplay o1, CompeteVo.TotalScoreDisplay o2) {
BigDecimal b1 = totalScoreDisplaysList.get(j - 1).getResult(); //// o1.getResult().subtract(o2.getResult());
BigDecimal b2 = totalScoreDisplaysList.get(j).getResult(); //// return o1.getResult();
//// }
CompeteVo.TotalScoreDisplay a; //// });
if (b1.compareTo(b2) < 0) { //
a = totalScoreDisplaysList.get(j - 1); // for (int i = 0; i < totalScoreDisplaysList.size() - 1; i++) {
totalScoreDisplaysList.set((j - 1), totalScoreDisplaysList.get(j)); // for (int j = 1; j < totalScoreDisplaysList.size() - i; j++) {
totalScoreDisplaysList.set(j, a); // BigDecimal b1 = totalScoreDisplaysList.get(j - 1).getResult();
} // BigDecimal b2 = totalScoreDisplaysList.get(j).getResult();
} //
} // CompeteVo.TotalScoreDisplay a;
// if (b1.compareTo(b2) < 0) {
for (int i=0; i<totalScoreDisplaysList.size();i++){ // a = totalScoreDisplaysList.get(j - 1);
CompeteVo.TotalScoreDisplay totalScoreDisplay = totalScoreDisplaysList.get(i); // totalScoreDisplaysList.set((j - 1), totalScoreDisplaysList.get(j));
totalScoreDisplay.setOrder(i+1); // totalScoreDisplaysList.set(j, a);
} // }
// }
return totalScoreDisplaysList; // }
} //
// for (int i=0; i<totalScoreDisplaysList.size();i++){
// CompeteVo.TotalScoreDisplay totalScoreDisplay = totalScoreDisplaysList.get(i);
// totalScoreDisplay.setOrder(i+1);
// }
//
// return totalScoreDisplaysList;
// }
/** /**
@ -1809,6 +1814,29 @@ public class CompeteService implements ICompeteService {
return null; return null;
} }
@Override
public PageInfo<ScoreVo.CountScorePublicity> queryCountScore(ScoreDto.ShowResult param) {
log.info("计数赛成绩公示:{}", param);
CompeteProject project = competeProjectMapper.selectByPrimaryKey(param.getProjectId());
log.info("查询{}项目的成绩:", project);
if (project == null) {
throw new BaseException(CodeEnum.PARAM_ERROR);
}
PageHelper.startPage(param.getPage(), param.getSize());
List<ScoreVo.CountScorePublicity> list;
if (project.getTeam() == Constant.Compete.TEAM_YES) {
// 团体赛
list = competeScoreDao.queryCountScoreTeam(param.getProjectId());
} else {
// 个人赛
list = competeScoreDao.queryCountScorePerson(param.getProjectId());
}
return new PageInfo<>(list);
}
@Override @Override
public String speedPassOut(CompeteDto.CompeteTimeAndProjectId params) throws IOException { public String speedPassOut(CompeteDto.CompeteTimeAndProjectId params) throws IOException {

91
mt/src/main/java/com/ccsens/mt/service/ExcelService.java

@ -1,7 +1,6 @@
package com.ccsens.mt.service; package com.ccsens.mt.service;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.dto.CompeteDto;
@ -15,24 +14,14 @@ import com.ccsens.mt.bean.vo.TableVo;
import com.ccsens.mt.persist.dao.*; import com.ccsens.mt.persist.dao.*;
import com.ccsens.mt.persist.mapper.*; import com.ccsens.mt.persist.mapper.*;
import com.ccsens.mt.util.Constant; import com.ccsens.mt.util.Constant;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.PoiUtil; import com.ccsens.util.PoiUtil;
import com.ccsens.util.PropUtil; import com.ccsens.util.PropUtil;
import com.ccsens.util.RedisUtil;
import com.ccsens.util.WebConstant; import com.ccsens.util.WebConstant;
import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.util.exception.BaseException;
import com.ctc.wstx.util.DataUtil;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateUtils;
import org.apache.poi.POIDocument;
import org.apache.poi.ss.usermodel.Table;
import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@ -40,24 +29,17 @@ import org.eclipse.jetty.util.StringUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.unit.DataUnit;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.constraints.NotNull;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List; import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
@Slf4j @Slf4j
@Service @Service
@ -1233,7 +1215,6 @@ public class ExcelService implements IExcelService {
private String getExcelFilePathForSchedulePlanning(List<TableVo.SchedulePlan> arrayList) throws IOException { private String getExcelFilePathForSchedulePlanning(List<TableVo.SchedulePlan> arrayList) throws IOException {
//创建excle表格对象 //创建excle表格对象
List<List<PoiUtil.PoiUtilCell>> list = new ArrayList<>(); List<List<PoiUtil.PoiUtilCell>> list = new ArrayList<>();
@ -1331,7 +1312,7 @@ public class ExcelService implements IExcelService {
@Override @Override
public String patternExpTable(ScoreDto.ShowResultW param) { public String patternExpTable(ScoreDto.ShowResultW param) {
List<CompeteVo.TotalScoreDisplay> totalScoreDisplays = competeService.showResult(param); List<CompeteVo.TotalScoreDisplay> totalScoreDisplays = competeService.showResult(param).getList();
List<List<PoiUtil.PoiUtilCell>> list = new ArrayList<>(); List<List<PoiUtil.PoiUtilCell>> list = new ArrayList<>();
List<PoiUtil.PoiUtilCell> zero=new ArrayList<>(); List<PoiUtil.PoiUtilCell> zero=new ArrayList<>();
PoiUtil.PoiUtilCell zeroOne=new PoiUtil.PoiUtilCell("比赛成绩公示(花样赛)", 14, 1); PoiUtil.PoiUtilCell zeroOne=new PoiUtil.PoiUtilCell("比赛成绩公示(花样赛)", 14, 1);
@ -1585,7 +1566,7 @@ public class ExcelService implements IExcelService {
@Override @Override
public String beforeEight(QueryDto<CompeteDto.CompeteTime> params) { public String beforeEight(QueryDto<CompeteDto.CompeteTime> params) {
log.info("到处{}大赛各项的前八名", params); log.info("导出{}大赛各项的前八名", params);
// 查询项目 // 查询项目
Long competeTimeId = params.getParam().getCompeteTimeId(); Long competeTimeId = params.getParam().getCompeteTimeId();
List<CompeteProject> list = competeProjectDao.queryProject(competeTimeId); List<CompeteProject> list = competeProjectDao.queryProject(competeTimeId);
@ -1594,42 +1575,28 @@ public class ExcelService implements IExcelService {
list.forEach(project -> { list.forEach(project -> {
List<CompeteExcelVo.BeforeEight> eights; List<CompeteExcelVo.BeforeEight> eights;
// 个人赛 // 个人赛
if (project.getTeam().byteValue() == Constant.Compete.TEAM_NO) { if (project.getTeam() == Constant.Compete.TEAM_NO) {
eights = competeScoreDao.queryEight(project.getId(), competeTimeId); eights = competeScoreDao.queryEight(project.getId(), competeTimeId);
} else if (project.getJoinRule() == Constant.Compete.PROJECT_JOIN_RULE_GROUP_NOT_LIMIT) {
// 团体赛不限组别 整体排名
eights = competeScoreDao.queryEightGroupNotLimit(project.getId(), competeTimeId);
} else { } else {
// 团体赛 // 团体赛限组别 组别内排名
eights = competeScoreDao.queryEightFancyRope(project.getId(), competeTimeId); eights = competeScoreDao.queryEightGroupLimit(project.getId(), competeTimeId);
} }
List<List<PoiUtil.PoiUtilCell>> raws = new ArrayList<>(); List<List<PoiUtil.PoiUtilCell>> raws = new ArrayList<>();
initTitle(project, raws); initTitle(project, raws);
eights.forEach(eight -> { fillBody(project, eights, raws);
if (StrUtil.isEmpty(eight.getEightNames())) {
return;
}
List<PoiUtil.PoiUtilCell> cells = new ArrayList<>();
cells.add(new PoiUtil.PoiUtilCell(eight.getGroupName()));
String[] split = eight.getEightNames().split(",");
for (String name: split) {
cells.add(new PoiUtil.PoiUtilCell(name));
}
raws.add(cells);
});
PoiUtil.exportWB(project.getName(), raws, workbook); PoiUtil.exportWB(project.getName(), raws, workbook);
}); });
String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx";
String path = PropUtil.path + filepath; String path = PropUtil.path + filepath;
File file = new File(path); File file = new File(path);
try { try {
if (!file.getParentFile().exists()) { if (!file.getParentFile().exists()) {
file.getParentFile().mkdirs(); file.getParentFile().mkdirs();
} }
// if (!file.exists()) {
// file.createNewFile();
// }
OutputStream outputStream = new FileOutputStream(file); OutputStream outputStream = new FileOutputStream(file);
workbook.write(outputStream); workbook.write(outputStream);
outputStream.close(); outputStream.close();
@ -1639,6 +1606,41 @@ public class ExcelService implements IExcelService {
return PropUtil.domain + "file/download/know?path="+path; return PropUtil.domain + "file/download/know?path="+path;
} }
/**
* 添加导出前八名内容部分
* @param project 项目
* @param eights 前八名信息
* @param raws 表格行对象
*/
private void fillBody(CompeteProject project, List<CompeteExcelVo.BeforeEight> eights, List<List<PoiUtil.PoiUtilCell>> raws) {
if (project.getJoinRule() == Constant.Compete.PROJECT_JOIN_RULE_GROUP_LIMIT) {
eights.forEach(eight -> {
if (StrUtil.isEmpty(eight.getEightNames())) {
return;
}
List<PoiUtil.PoiUtilCell> cells = new ArrayList<>();
cells.add(new PoiUtil.PoiUtilCell(eight.getGroupName()));
String[] split = eight.getEightNames().split(",");
for (String name : split) {
cells.add(new PoiUtil.PoiUtilCell(name));
}
raws.add(cells);
});
} else {
for (int i = 0; i < eights.size(); i++) {
List<PoiUtil.PoiUtilCell> cells = new ArrayList<>();
cells.add(new PoiUtil.PoiUtilCell("第" + i + "名"));
cells.add(new PoiUtil.PoiUtilCell(eights.get(i).getEightNames(), 8, 1));
raws.add(cells);
}
}
}
/**
* 初始化导出前八名表格头
* @param project 项目
* @param raws
*/
private void initTitle(CompeteProject project, List<List<PoiUtil.PoiUtilCell>> raws) { private void initTitle(CompeteProject project, List<List<PoiUtil.PoiUtilCell>> raws) {
List<PoiUtil.PoiUtilCell> title = new ArrayList<>(); List<PoiUtil.PoiUtilCell> title = new ArrayList<>();
title.add(new PoiUtil.PoiUtilCell( "2020年山西省学生跳绳比赛", 9 , 1)); title.add(new PoiUtil.PoiUtilCell( "2020年山西省学生跳绳比赛", 9 , 1));
@ -1646,6 +1648,7 @@ public class ExcelService implements IExcelService {
List<PoiUtil.PoiUtilCell> title2 = new ArrayList<>(); List<PoiUtil.PoiUtilCell> title2 = new ArrayList<>();
title2.add(new PoiUtil.PoiUtilCell(project.getName() , 9 , 1)); title2.add(new PoiUtil.PoiUtilCell(project.getName() , 9 , 1));
raws.add(title2); raws.add(title2);
if (project.getJoinRule() == Constant.Compete.PROJECT_JOIN_RULE_GROUP_LIMIT) {
List<PoiUtil.PoiUtilCell> head = new ArrayList<>(); List<PoiUtil.PoiUtilCell> head = new ArrayList<>();
head.add(new PoiUtil.PoiUtilCell("")); head.add(new PoiUtil.PoiUtilCell(""));
head.add(new PoiUtil.PoiUtilCell("第一名")); head.add(new PoiUtil.PoiUtilCell("第一名"));
@ -1659,5 +1662,7 @@ public class ExcelService implements IExcelService {
raws.add(head); raws.add(head);
} }
}
} }

12
mt/src/main/java/com/ccsens/mt/service/ICompeteService.java

@ -157,7 +157,7 @@ public interface ICompeteService {
PageInfo<CompeteVo.TotalScoreDisplay> showResultPage(ScoreDto.ShowResultW param); PageInfo<CompeteVo.TotalScoreDisplay> showResultPage(ScoreDto.ShowResultW param);
List<CompeteVo.TotalScoreDisplay> showResult(ScoreDto.ShowResultW param); PageInfo<CompeteVo.TotalScoreDisplay> showResult(ScoreDto.ShowResultW param);
/** /**
@ -190,7 +190,6 @@ public interface ICompeteService {
/** /**
<<<<<<< HEAD
* 速度通级赛 * 速度通级赛
* @param params 项目id和场次id * @param params 项目id和场次id
* @return 返回项目开始时间和比赛状态 * @return 返回项目开始时间和比赛状态
@ -199,7 +198,6 @@ public interface ICompeteService {
/** /**
<<<<<<< HEAD
* 速度通级赛(导出) * 速度通级赛(导出)
* @param params 项目id和场次id * @param params 项目id和场次id
* @return 返回项目开始时间和比赛状态 * @return 返回项目开始时间和比赛状态
@ -217,8 +215,12 @@ public interface ICompeteService {
Long getUserCompanyId(Long userId, Byte type); Long getUserCompanyId(Long userId, Byte type);
/**
* 分页查询计数赛成绩
* @param param 项目ID
* @return 成绩
*/
PageInfo<ScoreVo.CountScorePublicity> queryCountScore(ScoreDto.ShowResult param);
} }

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

@ -92,7 +92,7 @@ public interface IExcelService {
String schedulePlanningOut(CompeteDto.CompeteTime params) throws IOException; String schedulePlanningOut(CompeteDto.CompeteTime params) throws IOException;
// String patternExpTable(ScoreDto.ShowResult param);
/** /**
* 生成比赛前八名的表格 * 生成比赛前八名的表格

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

@ -245,7 +245,6 @@
t1.group_name AS groupName, t1.group_name AS groupName,
t1.name, t1.name,
count( t2.id ) as count count( t2.id ) as count
-- GROUP_CONCAT( t1.NAME ) AS eightNames
FROM FROM
( (
SELECT SELECT
@ -311,7 +310,421 @@
) t ) t
GROUP BY groupName GROUP BY groupName
</select> </select>
<select id="queryEightFancyRope" resultType="com.ccsens.mt.bean.vo.CompeteExcelVo$BeforeEight"> <select id="queryEightGroupLimit" resultType="com.ccsens.mt.bean.vo.CompeteExcelVo$BeforeEight">
select t.group_name as groupName, GROUP_CONCAT(t.name order by t.final_score desc) as eightNames from
(select t1.* from
(SELECT
CONCAT(
CASE team.group_remark WHEN 1 THEN '小学' WHEN 2 THEN '中学' WHEN 3 THEN '高职院校' WHEN 4 THEN '本科院校' ELSE '俱乐部'END,
CASE team.gender_group WHEN 0 THEN '女子组' WHEN 1 THEN '男子组' ELSE '混合组' END
) AS group_name,
GROUP_CONCAT(player.name SEPARATOR '、') as name,
score.final_score
FROM
t_compete_count_score score,
t_compete_start_order startOrder,
t_compete_team team,
t_compete_team_member tm,
t_compete_player player
WHERE
score.compete_time_id = #{competeTimeId}
AND score.project_id = #{projectId}
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 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,
(SELECT
CONCAT(
CASE team.group_remark WHEN 1 THEN '小学' WHEN 2 THEN '中学' WHEN 3 THEN '高职院校' WHEN 4 THEN '本科院校' ELSE '俱乐部'END,
CASE team.gender_group WHEN 0 THEN '女子组' WHEN 1 THEN '男子组' ELSE '混合组' END
) AS group_name,
GROUP_CONCAT(player.name) as name,
score.final_score
FROM
t_compete_count_score score,
t_compete_start_order startOrder,
t_compete_team team,
t_compete_team_member tm,
t_compete_player player
WHERE
score.compete_time_id = #{competeTimeId}
AND score.project_id = #{projectId}
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 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
WHERE
t1.group_name = t2.group_name
AND t1.final_score &lt;= t2.final_score
GROUP BY t1.group_name, t1.name
HAVING count( * ) &lt;= 8) t
group by t.group_name
</select>
<select id="queryEightGroupNotLimit" resultType="com.ccsens.mt.bean.vo.CompeteExcelVo$BeforeEight">
SELECT
team.group_name as groupName,
team.members as eightNames
FROM
(
SELECT
id,
site_order_id,
sum(
CASE CODE
WHEN 'setUp' THEN score / 3
WHEN 'show' THEN score / 3
WHEN 'spaceUse' THEN score / 3
WHEN 'accuracy' THEN score / 3
WHEN 'step' THEN score / 3
WHEN 'perfor' THEN score / 3
WHEN 'skilled' THEN score / 3
WHEN 'agree' THEN score / 3
WHEN 'notEnoughTime' THEN -score
WHEN 'footfault' THEN -score
WHEN 'ceremony' THEN -score
ELSE -score END
) AS final_score
FROM
t_compete_variety_score
WHERE
compete_time_id = #{competeTimeId}
AND project_id = #{projectId}
AND rec_status = 0
GROUP BY
site_order_id
) t,
t_compete_start_order o,
(SELECT
t.id,
CONCAT(
CASE t.group_remark WHEN 1 THEN '小学' WHEN 2 THEN '中学' WHEN 3 THEN '高职院校' WHEN 4 THEN '本科院校' ELSE '俱乐部'END,
CASE t.gender_group WHEN 0 THEN '女子组' WHEN 1 THEN '男子组' ELSE '混合组' END
) AS group_name,
GROUP_CONCAT( p.NAME separator '、' ) as members
FROM
t_compete_team t,
t_compete_team_member m,
t_compete_player p
WHERE
t.id = m.compete_team_id
AND m.player_id = p.id
AND m.rec_status = 0
AND t.rec_status = 0
AND p.rec_status = 0
GROUP BY
t.id,
t.group_remark,
t.gender_group) team
WHERE
t.site_order_id = o.id
AND o.player_id = team.id
AND o.rec_status = 0
order by t. final_score desc
limit 8
</select>
<select id="queryEightVarietyGroupLimit" resultType="com.ccsens.mt.bean.vo.CompeteExcelVo$BeforeEight">
select t1.groupName, GROUP_CONCAT(t1.eightNames order by t1.final_score desc) from
(SELECT
team.group_name as groupName,
team.members as eightNames,
t.final_score
FROM
(
SELECT
id,
site_order_id,
sum(
CASE CODE
WHEN 'setUp' THEN score / 3
WHEN 'show' THEN score / 3
WHEN 'spaceUse' THEN score / 3
WHEN 'accuracy' THEN score / 3
WHEN 'step' THEN score / 3
WHEN 'perfor' THEN score / 3
WHEN 'skilled' THEN score / 3
WHEN 'agree' THEN score / 3
WHEN 'notEnoughTime' THEN -score
WHEN 'footfault' THEN -score
WHEN 'ceremony' THEN -score
ELSE -score END
) AS final_score
FROM
t_compete_variety_score
WHERE
compete_time_id = #{competeTimeId}
AND project_id = #{projectId}
AND rec_status = 0
GROUP BY
site_order_id
) t,
t_compete_start_order o,
(SELECT
t.id,
CONCAT(
CASE t.group_remark WHEN 1 THEN '小学' WHEN 2 THEN '中学' WHEN 3 THEN '高职院校' WHEN 4 THEN '本科院校' ELSE '俱乐部'END,
CASE t.gender_group WHEN 0 THEN '女子组' WHEN 1 THEN '男子组' ELSE '混合组' END
) AS group_name,
GROUP_CONCAT( p.NAME separator '、' ) as members
FROM
t_compete_team t,
t_compete_team_member m,
t_compete_player p
WHERE
t.id = m.compete_team_id
AND m.player_id = p.id
AND m.rec_status = 0
AND t.rec_status = 0
AND p.rec_status = 0
GROUP BY
t.id,
t.group_remark,
t.gender_group) team
WHERE
t.site_order_id = o.id
AND o.player_id = team.id
AND o.rec_status = 0
) t1,
(SELECT
team.group_name as groupName,
team.members as eightNames,
t.final_score
FROM
(
SELECT
id,
site_order_id,
sum(
CASE CODE
WHEN 'setUp' THEN score / 3
WHEN 'show' THEN score / 3
WHEN 'spaceUse' THEN score / 3
WHEN 'accuracy' THEN score / 3
WHEN 'step' THEN score / 3
WHEN 'perfor' THEN score / 3
WHEN 'skilled' THEN score / 3
WHEN 'agree' THEN score / 3
WHEN 'notEnoughTime' THEN -score
WHEN 'footfault' THEN -score
WHEN 'ceremony' THEN -score
ELSE -score END
) AS final_score
FROM
t_compete_variety_score
WHERE
compete_time_id = #{competeTimeId}
AND project_id = #{projectId}
AND rec_status = 0
GROUP BY
site_order_id
) t,
t_compete_start_order o,
(SELECT
t.id,
CONCAT(
CASE t.group_remark WHEN 1 THEN '小学' WHEN 2 THEN '中学' WHEN 3 THEN '高职院校' WHEN 4 THEN '本科院校' ELSE '俱乐部'END,
CASE t.gender_group WHEN 0 THEN '女子组' WHEN 1 THEN '男子组' ELSE '混合组' END
) AS group_name,
GROUP_CONCAT( p.NAME separator '、' ) as members
FROM
t_compete_team t,
t_compete_team_member m,
t_compete_player p
WHERE
t.id = m.compete_team_id
AND m.player_id = p.id
AND m.rec_status = 0
AND t.rec_status = 0
AND p.rec_status = 0
GROUP BY
t.id,
t.group_remark,
t.gender_group) team
WHERE
t.site_order_id = o.id
AND o.player_id = team.id
AND o.rec_status = 0
) t2
where t1.groupName = t2.groupName and t1.final_score &lt;= t2.final_score
group by t1.groupName
having count(t2.groupName) &lt;= 8
</select>
<select id="queryCountScoreTeam" resultType="com.ccsens.mt.bean.vo.ScoreVo$CountScorePublicity">
select t1.*, count(*) as rangee from
(SELECT
CONCAT(
CASE team.group_remark WHEN 1 THEN '小学' WHEN 2 THEN '中学' WHEN 3 THEN '高职院校' WHEN 4 THEN '本科院校' ELSE '俱乐部'END,
CASE team.gender_group WHEN 0 THEN '女子组' WHEN 1 THEN '男子组' ELSE '混合组' END
) AS groupName,
GROUP_CONCAT(player.name SEPARATOR '、') as name,
company.name as companyName,
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 finalScore
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
WHERE
score.project_id = #{projectId}
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,
(SELECT
CONCAT(
CASE team.group_remark WHEN 1 THEN '小学' WHEN 2 THEN '中学' WHEN 3 THEN '高职院校' WHEN 4 THEN '本科院校' ELSE '俱乐部'END,
CASE team.gender_group WHEN 0 THEN '女子组' WHEN 1 THEN '男子组' ELSE '混合组' END
) AS groupName,
GROUP_CONCAT(player.name SEPARATOR '、') as name,
company.name as companyName,
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 finalScore
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
WHERE
score.project_id = #{projectId}
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
WHERE
t1.groupName = t2.groupName
AND t1.finalScore &lt;= t2.finalScore
GROUP BY t1.groupName, t1.name
order by rangee desc
</select>
<select id="queryCountScorePerson" resultType="com.ccsens.mt.bean.vo.ScoreVo$CountScorePublicity">
select t1.*, count(t2.id) 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 shouldScore,
score.deduct_times as deductTime
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 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,
(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 shouldScore,
score.deduct_times as deductTime
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 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
where t1.groupName = t2.groupName and t1.finalScore &lt;= t2.finalScore
group by t1.id
order by t1.groupName, rangee
</select>
<select id="queryVarietyScore" resultType="com.ccsens.mt.bean.vo.CompeteVo$TotalScoreDisplay">
select s.*, c.name as companyName, GROUP_CONCAT(p.name) as peopleName, (ifnull(s.referee1,0)+ifnull(s.referee2,0)+ifnull(s.referee3,0))/3 as avg1To3,
(ifnull(s.referee4,0)+ifnull(s.referee5,0)+ifnull(s.referee6,0))/3 as avg4To6,
(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 - s.referee0 as result,
@rownum := @rownum + 1 AS rownum
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,
( SELECT @rownum := 0 ) r
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 result 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 select t1.group_name as groupName, GROUP_CONCAT(t1.name) as eightNames from
(SELECT (SELECT
t.id, t.id,
@ -457,11 +870,10 @@
AND c.rec_status = 0 AND c.rec_status = 0
order by t. final_score order by t. final_score
) t2 ) t2
where t1.final_score &lt;= t2.final_score where t1.group_name = t2.group_name and t1.final_score &lt;= t2.final_score
GROUP BY t1.group_name GROUP BY t1.group_name
HAVING count(t2.id) &lt;= 8 HAVING count(t2.id) &lt;= 8
</select>-->
</select>
</mapper> </mapper>
Loading…
Cancel
Save