|
|
@ -11,6 +11,7 @@ import com.ccsens.cloudutil.bean.tall.dto.WpsDto; |
|
|
|
import com.ccsens.cloudutil.feign.TallFeignClient; |
|
|
|
import com.ccsens.mt.bean.dto.CompeteDto; |
|
|
|
import com.ccsens.mt.bean.dto.LevelDto; |
|
|
|
import com.ccsens.mt.bean.dto.ScoreDto; |
|
|
|
import com.ccsens.mt.bean.po.*; |
|
|
|
import com.ccsens.mt.bean.vo.CompeteVo; |
|
|
|
import com.ccsens.mt.bean.vo.ScoreVo; |
|
|
@ -37,6 +38,9 @@ import org.springframework.transaction.annotation.Transactional; |
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.io.*; |
|
|
|
import java.math.BigDecimal; |
|
|
|
|
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.List; |
|
|
@ -82,11 +86,109 @@ public class CompeteService implements ICompeteService { |
|
|
|
@Resource |
|
|
|
private CommonFileMapper commonFileMapper; |
|
|
|
@Resource |
|
|
|
private CompeteStartOrderMapper competeStartOrderMapper; |
|
|
|
@Resource |
|
|
|
private CompeteVarietyScoreMapper competeVarietyScoreMapper; |
|
|
|
|
|
|
|
/** |
|
|
|
* 花样赛总成绩展示 |
|
|
|
* @param param |
|
|
|
*/ |
|
|
|
@Override |
|
|
|
public List<CompeteVo.TotalScoreDisplay> showResult(ScoreDto.ShowResult param) { |
|
|
|
List<CompeteVo.TotalScoreDisplay> totalScoreDisplaysList=new ArrayList<>(); |
|
|
|
CompeteStartOrderExample competeStartOrderExample =new CompeteStartOrderExample(); |
|
|
|
competeStartOrderExample.createCriteria().andProjectIdEqualTo(param.getProjectId()); |
|
|
|
List<CompeteStartOrder> competeStartOrdersList = competeStartOrderMapper.selectByExample(competeStartOrderExample); |
|
|
|
competeStartOrdersList.forEach(competeStartOrder -> { |
|
|
|
//一个人或者一个团队得数据
|
|
|
|
CompeteVo.TotalScoreDisplay totalScoreDisplay=new CompeteVo.TotalScoreDisplay(); |
|
|
|
//项目名
|
|
|
|
totalScoreDisplay.setCompanyName(competeProjectMapper.selectByPrimaryKey(competeStartOrder.getProjectId()).getName()); |
|
|
|
|
|
|
|
//名字
|
|
|
|
if(competeStartOrder.getTeam().equals((byte) 0)){ |
|
|
|
//个人
|
|
|
|
totalScoreDisplay.setPeopleName( competePlayerDao.selectByPrimaryKey(competeStartOrder.getPlayerId()).getName()); |
|
|
|
}else { |
|
|
|
//团体
|
|
|
|
CompeteTeamMemberExample competeTeamMemberExample =new CompeteTeamMemberExample(); |
|
|
|
competeTeamMemberExample.createCriteria().andCompeteTeamIdEqualTo(competeStartOrder.getPlayerId()); |
|
|
|
List<CompeteTeamMember> competeTeamMembersList = competeTeamMemberMapper.selectByExample(competeTeamMemberExample); |
|
|
|
StringBuilder stringBuilder=new StringBuilder(""); |
|
|
|
competeTeamMembersList.forEach(competeTeamMember -> { |
|
|
|
stringBuilder.append(competePlayerDao.selectByPrimaryKey(competeTeamMember.getPlayerId()).getName()+'、'); |
|
|
|
}); |
|
|
|
totalScoreDisplay.setPeopleName(stringBuilder.toString().substring(0,stringBuilder.length())); |
|
|
|
} |
|
|
|
List<CompeteVo.Result> results = competeTimeDao.selectJudgmentS(competeStartOrder.getId()); |
|
|
|
//7个教练成绩也上去了
|
|
|
|
for (CompeteVo.Result r :results){ |
|
|
|
if(r.getChief()==0){ |
|
|
|
totalScoreDisplay.setReferee0(r.getScore()); |
|
|
|
}else if(r.getChief()==1){ |
|
|
|
totalScoreDisplay.setReferee1(r.getScore()); |
|
|
|
}else if(r.getChief()==2){ |
|
|
|
totalScoreDisplay.setReferee2(r.getScore()); |
|
|
|
}else if(r.getChief()==3){ |
|
|
|
totalScoreDisplay.setReferee3(r.getScore()); |
|
|
|
}else if(r.getChief()==4){ |
|
|
|
totalScoreDisplay.setReferee4(r.getScore()); |
|
|
|
}else if(r.getChief()==5){ |
|
|
|
totalScoreDisplay.setReferee5(r.getScore()); |
|
|
|
}else if(r.getChief()==6){ |
|
|
|
totalScoreDisplay.setReferee6(r.getScore()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
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>() {
|
|
|
|
// @Override
|
|
|
|
// public BigDecimal compare(CompeteVo.TotalScoreDisplay o1, CompeteVo.TotalScoreDisplay o2) {
|
|
|
|
// o1.getResult().subtract(o2.getResult());
|
|
|
|
// return o1.getResult();
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
|
|
|
|
for (int i = 0; i < totalScoreDisplaysList.size() - 1; i++) { |
|
|
|
for (int j = 1; j < totalScoreDisplaysList.size() - i; j++) { |
|
|
|
BigDecimal b1 = totalScoreDisplaysList.get(j - 1).getResult(); |
|
|
|
BigDecimal b2 = totalScoreDisplaysList.get(j).getResult(); |
|
|
|
|
|
|
|
CompeteVo.TotalScoreDisplay a; |
|
|
|
if (b1.compareTo(b2) < 0) { |
|
|
|
a = totalScoreDisplaysList.get(j - 1); |
|
|
|
totalScoreDisplaysList.set((j - 1), totalScoreDisplaysList.get(j)); |
|
|
|
totalScoreDisplaysList.set(j, a); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
private CompeteProjectConfigDao competeProjectConfigDao; |
|
|
|
@Resource |
|
|
|
private CompeteScoreDao competeScoreDao; |
|
|
|
@Resource |
|
|
|
private CompeteCountScoreMapper competeCountScoreMapper; |
|
|
|
|
|
|
|
/** |
|
|
|
* 查看第几届 |
|
|
|
*/ |
|
|
@ -898,6 +1000,21 @@ public class CompeteService implements ICompeteService { |
|
|
|
} |
|
|
|
return failPlayerInfoList; |
|
|
|
} |
|
|
|
@Override |
|
|
|
public void submitOrderList(ScoreDto.InformationSubmitted param) { |
|
|
|
param.getFractionsList().forEach(mes->{ |
|
|
|
CompeteVarietyScore competeVarietyScore=new CompeteVarietyScore(); |
|
|
|
competeVarietyScore.setId(snowflake.nextId()); |
|
|
|
competeVarietyScore.setCompeteTimeId(param.getCompeteTimeId()); |
|
|
|
competeVarietyScore.setProjectId(param.getProjectId()); |
|
|
|
competeVarietyScore.setSiteOrderId(param.getSiteOrderId()); |
|
|
|
competeVarietyScore.setCode(mes.getCode()); |
|
|
|
competeVarietyScore.setScore(mes.getScore()); |
|
|
|
competeVarietyScore.setJudgmentId(param.getJudgmentId()); |
|
|
|
competeVarietyScoreMapper.insertSelective(competeVarietyScore); |
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -1127,5 +1244,4 @@ public class CompeteService implements ICompeteService { |
|
|
|
competeCountScoreMapper.insert(competeCountScore); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |