diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java index 86c916d2..dea568c2 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteScoreController.java @@ -8,6 +8,7 @@ import com.ccsens.mt.bean.vo.ScoreVo; import com.ccsens.mt.service.ICompeteService; import com.ccsens.util.JsonResponse; import com.ccsens.util.bean.dto.QueryDto; +import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; @@ -65,9 +66,9 @@ public class CompeteScoreController { @ApiOperation(value = "花样赛成绩查看", notes = "Mr.王 -----从花样赛成绩表里面查看出这个人得成绩") @RequestMapping(value = "/showResult", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> showResult (@ApiParam @Validated @RequestBody QueryDto params){ + public JsonResponse> showResult (@ApiParam @Validated @RequestBody QueryDto params){ log.info("花样赛详细分数查看:{}",params); - List totalScoreDisplaysList= competeService.showResult(params.getParam()); + PageInfo totalScoreDisplaysList= competeService.showResultPage(params.getParam()); return JsonResponse.newInstance().ok(totalScoreDisplaysList); } @@ -105,7 +106,7 @@ public class CompeteScoreController { @RequestMapping(value = "/query/countScoreAll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse queryCountScoreAll(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查看计数赛成绩公示表:{}",params); - List countScoreCurrentSites = competeService.queryCountScoreAll(params.getParam()); + PageInfo countScoreCurrentSites = competeService.queryCountScoreAll(params.getParam()); log.info("查看计数赛成绩公示表:{}",params); return JsonResponse.newInstance().ok(countScoreCurrentSites); } @@ -124,7 +125,7 @@ public class CompeteScoreController { @RequestMapping(value = "/speedPass", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse speedPass(@ApiParam @Validated @RequestBody QueryDto params) { log.info("速度通级赛:{}",params); - List speedPassList = competeService.speedPass(params.getParam()); + PageInfo speedPassList = competeService.speedPass(params.getParam()); return JsonResponse.newInstance().ok(speedPassList); } diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteVideoController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteVideoController.java index 3fe725a0..de32b618 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteVideoController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteVideoController.java @@ -7,6 +7,7 @@ import com.ccsens.mt.bean.vo.VideoProjectVo; import com.ccsens.mt.service.ICompeteVedioService; import com.ccsens.util.JsonResponse; import com.ccsens.util.bean.dto.QueryDto; +import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; @@ -60,17 +61,17 @@ public class CompeteVideoController { @MustLogin @ApiOperation(value = "查看单位签到状态(签到用)(有筛选)", notes = "Mr.王---------查看单位的人的最近一条的签到状态") @RequestMapping(value = "/selectUserStatus", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> selectCompanySignStatus(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse> selectCompanySignStatus(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查看单位签到状态(签到用):{}",params); - List peoSignStatus = iCompeteVedioService.selectCompanySignStatus(params); + PageInfo peoSignStatus = iCompeteVedioService.selectCompanySignStatus(params); return JsonResponse.newInstance().ok(peoSignStatus); } @MustLogin @ApiOperation(value = "查看教练签到状态(签到用)", notes = "Mr.王---------查看教练的人的签到状态") @RequestMapping(value = "/selectCoachStatus", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> selectCoachSignStatus(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse> selectCoachSignStatus(@ApiParam @Validated @RequestBody QueryDto params) { log.info("查看教练签到状态(签到用):{}",params); - List coachSignStatus = iCompeteVedioService.selectCoachSignStatus(params); + PageInfo coachSignStatus = iCompeteVedioService.selectCoachSignStatus(params); return JsonResponse.newInstance().ok(coachSignStatus); } diff --git a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java index 1fd607b1..8fff9c05 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java @@ -9,6 +9,7 @@ import com.ccsens.mt.bean.vo.TableVo; import com.ccsens.mt.service.IExcelService; import com.ccsens.util.JsonResponse; import com.ccsens.util.bean.dto.QueryDto; +import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; @@ -122,7 +123,7 @@ public class ExcelController { @RequestMapping(value = "/enterInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse getEnterInfo(@ApiParam @Validated @RequestBody QueryDto params) { log.info("日程安排更新:{}",params); - List competeJoinList = excelService.getCompeteJoinDetail(params.getParam()); + PageInfo competeJoinList = excelService.getCompeteJoinDetail(params.getParam()); return JsonResponse.newInstance().ok(competeJoinList); } @@ -144,12 +145,19 @@ public class ExcelController { return JsonResponse.newInstance().ok(path); } @MustLogin - @ApiOperation(value = "花样赛成绩导出(导出)", notes = "") + @ApiOperation(value = "花样赛成绩导出(导出)", notes = "100715") @RequestMapping(value = "/patternExpTable", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse patternExpTable(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse patternExpTable(@ApiParam @Validated @RequestBody QueryDto params) { log.info("参赛人数统计表:{}",params); String path = excelService.patternExpTable(params.getParam()); return JsonResponse.newInstance().ok(path); } - + @MustLogin + @ApiOperation(value = "计数赛成绩导出(导出)", notes = "100715") + @RequestMapping(value = "/countExpTable", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse countExpTable(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("参赛人数统计表:{}",params); + String path = excelService.countExpTable(params.getParam()); + return JsonResponse.newInstance().ok(path); + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java index 6773268c..b00bc7ee 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/CompeteDto.java @@ -379,6 +379,10 @@ public class CompeteDto { @NotNull @ApiModelProperty("项目id") private Long projectId; + @ApiModelProperty("当前页") + private int page=1; + @ApiModelProperty("每页数量") + private int size=10; } @Data diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ScoreDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ScoreDto.java index 792354bd..f42b7873 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ScoreDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ScoreDto.java @@ -6,6 +6,8 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.NonNull; +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; import javax.validation.constraints.NotNull; import java.math.BigDecimal; import java.util.List; @@ -129,6 +131,11 @@ public class ScoreDto { @NotNull @ApiModelProperty("项目id") private Long projectId; + + @ApiModelProperty("当前页") + private int page=1; + @ApiModelProperty("每页数量") + private int size=10; } @Data @ApiModel @@ -147,5 +154,18 @@ public class ScoreDto { private Long judgmentId; } - + @Data + @ApiModel + public static class ShowResultW { + @NotNull + @ApiModelProperty("项目id") + private Long projectId; + @ApiModelProperty("第几页") + @Min(value = 1) + private int pageNum = 1; + @ApiModelProperty("每页多少条") + @Min(value = 1) + @Max(value=100) + private int pageSize = 10; + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/VideoDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/VideoDto.java index e1425f72..627cacb3 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/VideoDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/VideoDto.java @@ -1,10 +1,15 @@ package com.ccsens.mt.bean.dto; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.NonNull; +import javax.validation.constraints.Max; +import javax.validation.constraints.Min; +import java.util.Date; + /** * @author 逗 @@ -98,8 +103,16 @@ public class VideoDto { private String name; @ApiModelProperty("账号") private String phone; + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss") @ApiModelProperty("签到时间") - private Long signEndTime; + private Date signEndTime; + @ApiModelProperty("第几页") + @Min(value = 1) + private int pageNum = 1; + @ApiModelProperty("每页多少条") + @Min(value = 1) + @Max(value=100) + private int pageSize = 10; } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java index 68c669b8..7408638b 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteVo.java @@ -494,6 +494,8 @@ public class CompeteVo { public BigDecimal result = new BigDecimal(0); @ApiModelProperty("排名") public int order; + @ApiModelProperty("备注") + public Byte remark; } @Data diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectDao.java index cbee1d95..5a65d69f 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectDao.java @@ -25,4 +25,10 @@ public interface CompeteProjectDao extends CompeteProjectMapper { * @return 项目 */ List queryProject(@Param("id") Long competeTimeId); + /** + * 查找项目下的参赛人数或队伍 + * @param projectId + * @return + */ + List queryJoinNum(@Param("team")byte team,@Param("projectId")Long projectId); } \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java index d7a566d2..e365e50e 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java @@ -24,6 +24,9 @@ public interface CompeteScoreDao { List selectCountScoreCurrentSite (@Param("siteId") long siteId); List selectByProjectIdAndPid(@Param("projectId") long projectId,@Param("competeTimeId") long competeTimeId); + List selectQueryCountScore(@Param("projectId")Long projectId); + + diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteVideoDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteVideoDao.java index 67293e9e..8e6b55e4 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteVideoDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteVideoDao.java @@ -3,6 +3,7 @@ package com.ccsens.mt.persist.dao; import com.ccsens.mt.bean.dto.VideoDto; import com.ccsens.mt.bean.vo.VideoProjectVo; import com.ccsens.mt.persist.mapper.CompeteCompanyMapper; +import com.github.pagehelper.PageInfo; import org.apache.ibatis.annotations.Param; import java.util.List; diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index bb13ed4a..41efae93 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -22,6 +22,8 @@ import com.ccsens.mt.util.Constant; import com.ccsens.util.*; import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.util.exception.BaseException; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; @@ -100,12 +102,115 @@ public class CompeteService implements ICompeteService { private CompetePlayerMapper competePlayerMapper; @Resource private CompeteJudgmentMapper competeJudgmentMapper; + + + @Override + public PageInfo showResultPage(ScoreDto.ShowResultW param) { + PageHelper.startPage(param.getPageNum(),param.getPageSize()); + List totalScoreDisplaysList=new ArrayList<>(); + CompeteStartOrderExample competeStartOrderExample =new CompeteStartOrderExample(); + competeStartOrderExample.createCriteria().andProjectIdEqualTo(param.getProjectId()).andRecStatusEqualTo((byte) 0); + List 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()); + //名字 + 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()); + } + } + }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 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()); + String namesss=stringBuilder.toString().substring(0,stringBuilder.length()-1); + totalScoreDisplay.setPeopleName(namesss); + } + List 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); + }); + 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); + } + } + } + + for (int i=0; i(totalScoreDisplaysList); + } /** * 花样赛总成绩展示 * @param param */ @Override - public List showResult(ScoreDto.ShowResult param) { + public List showResult(ScoreDto.ShowResultW param) { List totalScoreDisplaysList=new ArrayList<>(); CompeteStartOrderExample competeStartOrderExample =new CompeteStartOrderExample(); competeStartOrderExample.createCriteria().andProjectIdEqualTo(param.getProjectId()); @@ -113,6 +218,7 @@ public class CompeteService implements ICompeteService { competeStartOrdersList.forEach(competeStartOrder -> { //一个人或者一个团队得数据 CompeteVo.TotalScoreDisplay totalScoreDisplay = new CompeteVo.TotalScoreDisplay(); + totalScoreDisplay.setRemark(totalScoreDisplay.getRemark()); //项目名 // CompeteProject project = competeProjectMapper.selectByPrimaryKey(competeStartOrder.getProjectId()); // if(ObjectUtil.isNotNull(project)) { @@ -142,9 +248,9 @@ public class CompeteService implements ICompeteService { StringBuilder stringBuilder=new StringBuilder(""); competeTeamMemberList.forEach(mes->{ CompetePlayer competePlayer = competePlayerDao.selectByPrimaryKey(mes.getPlayerId()); - stringBuilder.append(competePlayer.getName()); + stringBuilder.append(competePlayer.getName()+"、"); }); - totalScoreDisplay.setPeopleName(stringBuilder.toString()); + //totalScoreDisplay.setPeopleName(stringBuilder.toString()); // CompeteTeamMemberExample competeTeamMemberExample =new CompeteTeamMemberExample(); // competeTeamMemberExample.createCriteria().andCompeteTeamIdEqualTo(competeStartOrder.getPlayerId()); // List competeTeamMembersList = competeTeamMemberMapper.selectByExample(competeTeamMemberExample); @@ -152,7 +258,8 @@ public class CompeteService implements ICompeteService { // competeTeamMembersList.forEach(competeTeamMember -> { // stringBuilder.append(competePlayerDao.selectByPrimaryKey(competeTeamMember.getPlayerId()).getName()+'、'); // }); - totalScoreDisplay.setPeopleName(stringBuilder.toString().substring(0,stringBuilder.length())); + String namess=stringBuilder.toString().substring(0,stringBuilder.length()-1); + totalScoreDisplay.setPeopleName(namess); } List results = competeTimeDao.selectJudgmentS(competeStartOrder.getId()); //7个教练成绩也上去了 @@ -1345,10 +1452,12 @@ public class CompeteService implements ICompeteService { @Override - public List speedPass(CompeteDto.CompeteTimeAndProjectId params) { + public PageInfo speedPass(CompeteDto.CompeteTimeAndProjectId params) { long projectId = params.getProjectId(); long competeTimeId = params.getCompeteTimeId(); + PageHelper.startPage(params.getPage(),params.getSize()); List speedPassList = competeScoreDao.selectByProjectIdAndPid(projectId, competeTimeId); + PageInfo pageInfo = new PageInfo<>(speedPassList); if (CollectionUtil.isNotEmpty(speedPassList)) { for (CompeteVo.SpeedPass mes : speedPassList) { //查30s单摇跳得分 @@ -1450,23 +1559,135 @@ public class CompeteService implements ICompeteService { } } } - return speedPassList; + return pageInfo; } + public List speedPassCha(CompeteDto.CompeteTimeAndProjectId params) { + long projectId = params.getProjectId(); + long competeTimeId = params.getCompeteTimeId(); + PageHelper.startPage(params.getPage(),params.getSize()); + List speedPassList = competeScoreDao.selectByProjectIdAndPid(projectId, competeTimeId); + PageInfo pageInfo = new PageInfo<>(speedPassList); + if (CollectionUtil.isNotEmpty(speedPassList)) { + for (CompeteVo.SpeedPass mes : speedPassList) { + //查30s单摇跳得分 + CompeteStartOrderExample competeStartOrderExample = new CompeteStartOrderExample(); + competeStartOrderExample.createCriteria().andPlayerIdEqualTo(Constant.SINGLE_ROLL_30_S).andPlayerIdEqualTo(mes.getPlayerId()); + List competeStartOrders = competeStartOrderMapper.selectByExample(competeStartOrderExample); + if (competeStartOrders.size() > 0) { + CompeteStartOrder competeStartOrder = competeStartOrders.get(0); + long id = competeStartOrder.getId(); + CompeteCountScoreExample competeCountScoreExample = new CompeteCountScoreExample(); + competeCountScoreExample.createCriteria().andSiteOrderIdEqualTo(id); + List competeCountScoreList = competeCountScoreMapper.selectByExample(competeCountScoreExample); + CompeteCountScore competeCountScore = competeCountScoreList.get(0); + BigDecimal score = competeCountScore.getFinalScore(); + BigDecimal bigDecimal = new BigDecimal(2); + BigDecimal secondTimeScore = score.multiply(bigDecimal); + //查30s单摇跳得分 * 2 =次数 + mes.setSecondTime(secondTimeScore); + } + //3分钟单摇跳得分 + CompeteStartOrderExample competeStartOrderExample1 = new CompeteStartOrderExample(); + competeStartOrderExample.createCriteria().andPlayerIdEqualTo(Constant.SINGLE_ROLL_3_M).andPlayerIdEqualTo(mes.getPlayerId()); + List competeStartOrders1 = competeStartOrderMapper.selectByExample(competeStartOrderExample); + if (competeStartOrders1.size() > 0) { + CompeteStartOrder competeStartOrder1 = competeStartOrders.get(0); + long id1 = competeStartOrder1.getId(); + CompeteCountScoreExample competeCountScoreExample1 = new CompeteCountScoreExample(); + competeCountScoreExample1.createCriteria().andSiteOrderIdEqualTo(id1); + List competeCountScoreList1 = competeCountScoreMapper.selectByExample(competeCountScoreExample1); + CompeteCountScore competeCountScore1 = competeCountScoreList1.get(0); + BigDecimal score1 = competeCountScore1.getFinalScore(); + BigDecimal bigDecimal1 = new BigDecimal(2); + BigDecimal minuteTimeScore = score1.multiply(bigDecimal1); + //3分钟单摇跳得分 * 2 =次数 + mes.setMinuteTime(minuteTimeScore); + } + BigDecimal bigDecimal0 = new BigDecimal(70); + BigDecimal bigDecimal2 = new BigDecimal(90); + BigDecimal bigDecimal3 = new BigDecimal(105); + BigDecimal bigDecimal4 = new BigDecimal(120); + BigDecimal bigDecimal5 = new BigDecimal(130); + BigDecimal bigDecimal6 = new BigDecimal(140); + BigDecimal bigDecimal7 = new BigDecimal(300); + BigDecimal bigDecimal8 = new BigDecimal(380); + BigDecimal bigDecimal9 = new BigDecimal(460); + BigDecimal bigDecimal10 = new BigDecimal(540); + BigDecimal bigDecimal11 = new BigDecimal(620); + BigDecimal bigDecimal12 = new BigDecimal(700); + BigDecimal s =mes.getSecondTime(); + if (mes.getSecondTime()!= null && mes.getMinuteTime()!= null) { + //判断30s单摇跳等级 + if (mes.getSecondTime().compareTo(bigDecimal0) < 1) { + mes.setSecondGrade(1); + } + if (mes.getSecondTime().compareTo(bigDecimal2) < 1) { + mes.setSecondGrade(2); + } + if (mes.getSecondTime().compareTo(bigDecimal3) < 1) { + mes.setSecondGrade(3); + } + if (mes.getSecondTime().compareTo(bigDecimal4) < 1) { + mes.setSecondGrade(4); + } + if (mes.getSecondTime().compareTo(bigDecimal5) < 1) { + mes.setSecondGrade(5); + } + if (mes.getSecondTime().compareTo(bigDecimal6) < 1) { + mes.setSecondGrade(6); + } + //判断3分钟单摇跳等级 + if (mes.getMinuteTime().compareTo(bigDecimal7) < 1) { + mes.setMinuteGrade(1); + } + if (mes.getMinuteTime().compareTo(bigDecimal8) < 1) { + mes.setMinuteGrade(2); + } + + if (mes.getMinuteTime().compareTo(bigDecimal9) < 1) { + mes.setMinuteGrade(3); + } + + if (mes.getMinuteTime().compareTo(bigDecimal10) < 1) { + mes.setMinuteGrade(4); + } + if (mes.getMinuteTime().compareTo(bigDecimal11) < 1) { + mes.setMinuteGrade(5); + } - @Override - public List queryCountScoreAll(ScoreDto.ShowResult param) { - List countScoreCurrentSiteList = new ArrayList<>(); - CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); - if(ObjectUtil.isNotNull(competeProject)) { - if(competeProject.getTeam() == 0) { - countScoreCurrentSiteList = competeScoreDao.queryCountScoreAll(param.getProjectId()); - }else { - countScoreCurrentSiteList = competeScoreDao.queryCountScoreAllByTeam(param.getProjectId()); + if (mes.getMinuteTime().compareTo(bigDecimal12) < 1) { + mes.setMinuteGrade(6); + } + //如果30s得等级小于等于3分钟得等级 + if (mes.getSecondGrade() <= mes.getMinuteGrade()) { + mes.setGrade(mes.getSecondGrade()); + } else { + mes.setGrade(mes.getMinuteGrade()); + } + } } } - return countScoreCurrentSiteList; + return speedPassList; + } + + @Override + public PageInfo queryCountScoreAll(ScoreDto.ShowResult params) { + PageHelper.startPage(params.getPage(),params.getSize()); + List countScoreCurrentSites = competeScoreDao.selectQueryCountScore(params.getProjectId()); + PageInfo pageInfo = new PageInfo<>(countScoreCurrentSites); +// List countScoreCurrentSiteList = new ArrayList<>(); +// CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); + +// if(ObjectUtil.isNotNull(competeProject)) { +// if(competeProject.getTeam() == 0) { +// countScoreCurrentSiteList = competeScoreDao.queryCountScoreAll(param.getProjectId()); +// }else { +// countScoreCurrentSiteList = competeScoreDao.queryCountScoreAllByTeam(param.getProjectId()); +// } +// } + return pageInfo; } @Override @@ -1598,7 +1819,7 @@ public class CompeteService implements ICompeteService { @Override public String speedPassOut(CompeteDto.CompeteTimeAndProjectId params) throws IOException { - List speedPasses = speedPass(params); + List speedPasses = speedPassCha(params); String path = getExcelFilePathForspeedPassOut(speedPasses); return path; } diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java index 9c8bee58..5c7e7f98 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java @@ -35,7 +35,7 @@ import java.util.concurrent.atomic.AtomicInteger; @Slf4j @Service @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) -public class CompeteTaskService implements ICompeteTaskService{ +public class CompeteTaskService implements ICompeteTaskService { @Resource private CompeteProjectConfigDao projectConfigDao; @Resource @@ -62,7 +62,7 @@ public class CompeteTaskService implements ICompeteTaskService{ public List queryCompeteConfig(CompeteDto.CompeteTime param) { CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(param.getCompeteTimeId()); List competeProjectConfigList = new ArrayList<>(); - if(ObjectUtil.isNotNull(competeTime)) { + if (ObjectUtil.isNotNull(competeTime)) { competeProjectConfigList = projectConfigDao.queryProjectConfig(competeTime.getType()); } return competeProjectConfigList; @@ -72,240 +72,336 @@ public class CompeteTaskService implements ICompeteTaskService{ * 修改项目的日程配置 */ @Override - public List updateCompeteProjectConfig(ProvinceCompeteDto.UpdateCompeteProjectConfig param,String token) { + public List updateCompeteProjectConfig(ProvinceCompeteDto.UpdateCompeteProjectConfig param, String token) { //获取比赛类型 AtomicInteger type = new AtomicInteger(); - if(CollectionUtil.isEmpty(param.getUpdateCompeteTaskList())) { + if (CollectionUtil.isEmpty(param.getUpdateCompeteTaskList())) { return new ArrayList<>(); } - param.getUpdateCompeteTaskList().forEach(projectConfig -> { - //判断时间和时长是否正确 - if(projectConfig.getStartTime() == 0 || projectConfig.getEndTime() == 0 || projectConfig.getDuration() == 0){ - return; - } - //获取项目 - CompeteProject project = competeProjectDao.selectByPrimaryKey(projectConfig.getProjectId()); - if(ObjectUtil.isNotNull(project)){ - type.set(project.getType()); - } - CompeteProjectConfig competeProjectConfig; - CompeteProjectConfigExample projectConfigExample = new CompeteProjectConfigExample(); - projectConfigExample.createCriteria().andProjectIdEqualTo(projectConfig.getProjectId()); - List projectConfigList = projectConfigDao.selectByExample(projectConfigExample); - log.info("查找项目配置信息:{}",projectConfigList); - if(CollectionUtil.isNotEmpty(projectConfigList)){ - //有则修改 - competeProjectConfig = projectConfigList.get(0); - competeProjectConfig.setProjectDuration(projectConfig.getDuration()); - competeProjectConfig.setSiteNum(projectConfig.getSiteNum()); - competeProjectConfig.setStartTime(projectConfig.getStartTime() == null ? 0 : projectConfig.getStartTime()); - competeProjectConfig.setEndTime(projectConfig.getEndTime() == null ? 0 : projectConfig.getEndTime()); - projectConfigDao.updateByPrimaryKeySelective(competeProjectConfig); - }else { - //没有则添加 - competeProjectConfig = new CompeteProjectConfig(); - competeProjectConfig.setId(snowflake.nextId()); - competeProjectConfig.setProjectId(projectConfig.getProjectId()); - competeProjectConfig.setProjectDuration(projectConfig.getDuration()); - competeProjectConfig.setSiteNum(projectConfig.getSiteNum()); - competeProjectConfig.setStartTime(projectConfig.getStartTime() == null ? 0 : projectConfig.getStartTime()); - competeProjectConfig.setEndTime(projectConfig.getEndTime() == null ? 0 : projectConfig.getEndTime()); - projectConfigDao.insertSelective(competeProjectConfig); - } - //生成出场顺序表,存入数据库。在tall内添加对应的任务 - setStartOrder(competeProjectConfig,param.getProjectId(),param.getTallRoleId(),token); - }); + param.getUpdateCompeteTaskList().forEach(projectConfig -> { + //判断时间和时长是否正确 + if (ObjectUtil.isNull(projectConfig.getStartTime()) || projectConfig.getStartTime() == 0 + || ObjectUtil.isNull(projectConfig.getEndTime()) || projectConfig.getEndTime() == 0 || + ObjectUtil.isNull(projectConfig.getDuration()) || projectConfig.getDuration() == 0) { + return; + } + //获取项目 + CompeteProject project = competeProjectDao.selectByPrimaryKey(projectConfig.getProjectId()); + if (ObjectUtil.isNotNull(project)) { + type.set(project.getType()); + } + CompeteProjectConfig competeProjectConfig; + CompeteProjectConfigExample projectConfigExample = new CompeteProjectConfigExample(); + projectConfigExample.createCriteria().andProjectIdEqualTo(projectConfig.getProjectId()); + List projectConfigList = projectConfigDao.selectByExample(projectConfigExample); + log.info("查找项目配置信息:{}", projectConfigList); + if (CollectionUtil.isNotEmpty(projectConfigList)) { + //有则修改 + competeProjectConfig = projectConfigList.get(0); + competeProjectConfig.setProjectDuration(projectConfig.getDuration()); + competeProjectConfig.setSiteNum(projectConfig.getSiteNum()); + competeProjectConfig.setStartTime(projectConfig.getStartTime() == null ? 0 : projectConfig.getStartTime()); + competeProjectConfig.setEndTime(projectConfig.getEndTime() == null ? 0 : projectConfig.getEndTime()); + projectConfigDao.updateByPrimaryKeySelective(competeProjectConfig); + log.info("修改比赛日程配置:{}", competeProjectConfig); + } else { + //没有则添加 + competeProjectConfig = new CompeteProjectConfig(); + competeProjectConfig.setId(snowflake.nextId()); + competeProjectConfig.setProjectId(projectConfig.getProjectId()); + competeProjectConfig.setProjectDuration(projectConfig.getDuration()); + competeProjectConfig.setSiteNum(projectConfig.getSiteNum()); + competeProjectConfig.setStartTime(projectConfig.getStartTime() == null ? 0 : projectConfig.getStartTime()); + competeProjectConfig.setEndTime(projectConfig.getEndTime() == null ? 0 : projectConfig.getEndTime()); + projectConfigDao.insertSelective(competeProjectConfig); + log.info("添加比赛日程配置:{}", competeProjectConfig); + } + //生成出场顺序表,存入数据库。在tall内添加对应的任务 + setStartOrder(competeProjectConfig, param.getProjectId(), param.getTallRoleId(), token); + }); return projectConfigDao.queryProjectConfig(type.get()); } + /** * 修改配置时生成出场顺序 */ - public void setStartOrder(CompeteProjectConfig projectConfig, Long tallProjectId,Long tallRoleId,String token) { + public void setStartOrder(CompeteProjectConfig projectConfig, Long tallProjectId, Long tallRoleId, String token) { if (ObjectUtil.isNotNull(projectConfig)) { //查找项目 CompeteProject project = competeProjectDao.selectByPrimaryKey(projectConfig.getProjectId()); if (ObjectUtil.isNotNull(project)) { - //判断是团队还是个人项目 - if (project.getTeam() == 0) { - //个人项目查找所有参赛信息 - CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); - projectPlayerExample.createCriteria().andProjectIdEqualTo(project.getId()); - List projectPlayerList = projectPlayerMapper.selectByExample(projectPlayerExample); - if (CollectionUtil.isNotEmpty(projectPlayerList)) { - //计算场次 - int order = (int) Math.ceil(projectPlayerList.size() / projectConfig.getSiteNum()); - //计算每个场次时间 - long projectStartTime = projectConfig.getStartTime(); - long orderTime = 0; - if(order != 0) { - orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order); - }else { - log.info("场次为0的比赛:{}------{}",project,projectConfig); - } - //场次 - int competeOrder = 1; - //场地 - int site = 1; - for (CompeteProjectPlayer projectPlayer : projectPlayerList) { - CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); - startOrderExample.createCriteria().andPlayerIdEqualTo(projectPlayer.getId()).andProjectIdEqualTo(project.getId()); - List startOrderList = startOrderMapper.selectByExample(startOrderExample); - if(CollectionUtil.isNotEmpty(startOrderList)){ - CompeteStartOrder competeStartOrder = startOrderList.get(0); - competeStartOrder.setSite((byte) site); - competeStartOrder.setCompeteOrder((byte) competeOrder); - if(orderTime > 0 && (competeStartOrder.getStartTime() == projectStartTime || competeStartOrder.getEndTime() == projectStartTime + orderTime)){ - competeStartOrder.setStartTime(projectStartTime); - competeStartOrder.setEndTime(projectStartTime + orderTime); - // 修改tall的任务 - TallTaskDto.UpdateTaskInfo updateTaskInfo = new TallTaskDto.UpdateTaskInfo(); - updateTaskInfo.setId(competeStartOrder.getId()); - updateTaskInfo.setBeginTime(competeStartOrder.getStartTime()); - updateTaskInfo.setEndTime(competeStartOrder.getEndTime()); - updateTaskInfo.setToken(token); - log.info("修改tall的任务信息:{}",updateTaskInfo); - JsonResponse normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo); - log.info("修改tall的任务信息后返回:{}",normalTaskJsonResponse); - //失败return - if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200){ - return; - } - } - startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); - - }else{ - //添加tall的任务 - Long taskId = null; - TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); - addTask.setProjectId(tallProjectId); - addTask.setTaskName(project.getName() + competeOrder +"-" + site); - addTask.setBeginTime(projectStartTime); - addTask.setEndTime(projectStartTime + orderTime); - addTask.setExecutorId(tallRoleId); - addTask.setToken(token); - log.info("在tall内添加任务:{}",addTask); - JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); - //异常return - log.info("添加任务后返回:{}",normalTaskJsonResponse); - if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200) { - return; - } - TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); - if (ObjectUtil.isNotNull(normalTask)) { - taskId = normalTask.getDetailId(); - } - //添加出场顺序信息 - CompeteStartOrder competeStartOrder = new CompeteStartOrder(); - competeStartOrder.setId(snowflake.nextId()); - competeStartOrder.setProjectId(project.getId()); - competeStartOrder.setPlayerId(projectPlayer.getId()); - competeStartOrder.setSite((byte) site); - competeStartOrder.setTeam((byte) 0); - competeStartOrder.setCompeteOrder((byte) competeOrder); -// competeStartOrder.setTaskId(taskId); + //查询项目下的参赛人数或队伍 + List playerIdOrTeamIdList = competeProjectDao.queryJoinNum(project.getTeam(), project.getId()); + log.info("本项目参加的人数:{}", playerIdOrTeamIdList); + if (CollectionUtil.isNotEmpty(playerIdOrTeamIdList)) { + //计算场次 + int order = (int) Math.ceil(playerIdOrTeamIdList.size() / projectConfig.getSiteNum()); + //计算每个场次时间 + long projectStartTime = projectConfig.getStartTime(); + long orderTime = 0; + if (order != 0) { + orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order); + } else { + log.info("场次为0的比赛:{}------{}", project, projectConfig); + } + //场次 + int competeOrder = 1; + //场地 + int site = 1; + for (Long playerIdOrTeamId : playerIdOrTeamIdList) { + CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); + startOrderExample.createCriteria().andPlayerIdEqualTo(playerIdOrTeamId).andProjectIdEqualTo(project.getId()); + List startOrderList = startOrderMapper.selectByExample(startOrderExample); + log.info("当前选手或团队参加的场次信息:{}", startOrderList); + if (CollectionUtil.isNotEmpty(startOrderList)) { + CompeteStartOrder competeStartOrder = startOrderList.get(0); + competeStartOrder.setSite((byte) site); + competeStartOrder.setCompeteOrder((byte) competeOrder); + if (orderTime > 0 && (competeStartOrder.getStartTime() == projectStartTime || competeStartOrder.getEndTime() == projectStartTime + orderTime)) { competeStartOrder.setStartTime(projectStartTime); competeStartOrder.setEndTime(projectStartTime + orderTime); - startOrderMapper.insertSelective(competeStartOrder); - } - site++; - if(site > projectConfig.getSiteNum()){ - site = 1; - competeOrder++; - projectStartTime += orderTime; - } - } - } - } else { - //团体项目查找所有参赛队伍 - CompeteTeamExample teamExample = new CompeteTeamExample(); - teamExample.createCriteria().andProjectIdEqualTo(project.getId()); - List teamList = competeTeamDao.selectByExample(teamExample); - if(CollectionUtil.isNotEmpty(teamList)){ - //计算场次 - int order = (int) Math.ceil(teamList.size() / projectConfig.getSiteNum()); - //计算每个场次时间 - long projectStartTime = projectConfig.getStartTime() + Constant.UPLOAD_VIDEO_TIME; - long orderTime = 0; - if(order != 0) { - orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order); - } - //场次 - int competeOrder = 1; - //场地 - int site = 1; - for (CompeteTeam competeTeam : teamList) { - CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); - startOrderExample.createCriteria().andPlayerIdEqualTo(competeTeam.getId()).andProjectIdEqualTo(project.getId()); - List startOrderList = startOrderMapper.selectByExample(startOrderExample); - if(CollectionUtil.isNotEmpty(startOrderList)){ - CompeteStartOrder competeStartOrder = startOrderList.get(0); - competeStartOrder.setSite((byte) site); - competeStartOrder.setCompeteOrder((byte) competeOrder); - if(orderTime > 0 && (competeStartOrder.getStartTime() == projectStartTime || competeStartOrder.getEndTime() == projectStartTime + orderTime)){ - competeStartOrder.setStartTime(projectStartTime); - competeStartOrder.setEndTime(projectStartTime + orderTime); - //修改tall的任务 - TallTaskDto.UpdateTaskInfo updateTaskInfo = new TallTaskDto.UpdateTaskInfo(); - updateTaskInfo.setId(competeStartOrder.getId()); - updateTaskInfo.setBeginTime(competeStartOrder.getId()); - updateTaskInfo.setBeginTime(competeStartOrder.getEndTime()); - updateTaskInfo.setToken(token); - log.info("修改tall的任务信息:{}",updateTaskInfo); - JsonResponse normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo); - log.info("修改tall的任务信息后返回:{}",normalTaskJsonResponse); - //失败return - if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200){ - return; - } - } - startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); - - }else{ - //添加tall的任务 - Long taskId = null; - TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); - addTask.setProjectId(tallProjectId); - addTask.setTaskName(project.getName() + competeOrder +"-" + site); - addTask.setBeginTime(projectStartTime); - addTask.setEndTime(projectStartTime + orderTime); - addTask.setExecutorId(tallRoleId); - addTask.setToken(token); - log.info("在tall内添加任务:{}",addTask); - JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); - log.info("添加任务后返回:{}",normalTaskJsonResponse); - //异常return - log.info("添加任务后返回:{}",normalTaskJsonResponse); + // 修改tall的任务 + TallTaskDto.UpdateTaskInfo updateTaskInfo = new TallTaskDto.UpdateTaskInfo(); + updateTaskInfo.setId(competeStartOrder.getId()); + updateTaskInfo.setBeginTime(competeStartOrder.getStartTime()); + updateTaskInfo.setEndTime(competeStartOrder.getEndTime()); + updateTaskInfo.setToken(token); + log.info("修改tall的任务信息:{}", updateTaskInfo); + JsonResponse normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo); + log.info("修改tall的任务信息后返回:{}", normalTaskJsonResponse); + //失败return if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200) { return; } - TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); - if (ObjectUtil.isNotNull(normalTask)) { - taskId = normalTask.getDetailId(); - } - //添加出场顺序信息 - CompeteStartOrder competeStartOrder = new CompeteStartOrder(); - competeStartOrder.setId(snowflake.nextId()); - competeStartOrder.setProjectId(project.getId()); - competeStartOrder.setPlayerId(competeTeam.getId()); - competeStartOrder.setSite((byte) site); - competeStartOrder.setTeam((byte) 0); - competeStartOrder.setCompeteOrder((byte) competeOrder); -// competeStartOrder.setTaskId(taskId); - competeStartOrder.setStartTime(projectStartTime); - competeStartOrder.setEndTime(projectStartTime + orderTime); - startOrderMapper.insertSelective(competeStartOrder); } - site++; - if(site > projectConfig.getSiteNum()){ - site = 1; - competeOrder++; - projectStartTime += orderTime; + log.info("修改场次信息:{}", competeStartOrder); + startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); + } else { + //添加tall的任务 + Long taskId = null; + TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); + addTask.setProjectId(tallProjectId); + addTask.setTaskName(project.getName() + competeOrder + "-" + site); + addTask.setBeginTime(projectStartTime); + addTask.setEndTime(projectStartTime + orderTime); + addTask.setExecutorId(tallRoleId); + addTask.setToken(token); + log.info("在tall内添加任务:{}", addTask); + JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); + //异常return + log.info("添加任务后返回:{}", normalTaskJsonResponse); + if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200) { + return; } + TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); + if (ObjectUtil.isNotNull(normalTask)) { + taskId = normalTask.getDetailId(); + } + //添加出场顺序信息 + CompeteStartOrder competeStartOrder = new CompeteStartOrder(); + competeStartOrder.setId(snowflake.nextId()); + competeStartOrder.setProjectId(project.getId()); + competeStartOrder.setPlayerId(playerIdOrTeamId); + competeStartOrder.setSite((byte) site); + competeStartOrder.setTeam(project.getTeam()); + competeStartOrder.setCompeteOrder((byte) competeOrder); +// competeStartOrder.setTaskId(taskId); + competeStartOrder.setStartTime(projectStartTime); + competeStartOrder.setEndTime(projectStartTime + orderTime); + log.info("添加场次信息:{}", competeStartOrder); + startOrderMapper.insertSelective(competeStartOrder); + } + site++; + if (site > projectConfig.getSiteNum()) { + site = 1; + competeOrder++; + projectStartTime += orderTime; } } } } +// //判断是团队还是个人项目 +// if (project.getTeam() == 0) { +// //个人项目查找所有参赛信息 +// CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); +// projectPlayerExample.createCriteria().andProjectIdEqualTo(project.getId()); +// List projectPlayerList = projectPlayerMapper.selectByExample(projectPlayerExample); +// +// if (CollectionUtil.isNotEmpty(projectPlayerList)) { +// //计算场次 +// int order = (int) Math.ceil(projectPlayerList.size() / projectConfig.getSiteNum()); +// //计算每个场次时间 +// long projectStartTime = projectConfig.getStartTime(); +// long orderTime = 0; +// if(order != 0) { +// orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order); +// }else { +// log.info("场次为0的比赛:{}------{}",project,projectConfig); +// } +// //场次 +// int competeOrder = 1; +// //场地 +// int site = 1; +// for (CompeteProjectPlayer projectPlayer : projectPlayerList) { +// CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); +// startOrderExample.createCriteria().andPlayerIdEqualTo(projectPlayer.getId()).andProjectIdEqualTo(project.getId()); +// List startOrderList = startOrderMapper.selectByExample(startOrderExample); +// if(CollectionUtil.isNotEmpty(startOrderList)){ +// CompeteStartOrder competeStartOrder = startOrderList.get(0); +// competeStartOrder.setSite((byte) site); +// competeStartOrder.setCompeteOrder((byte) competeOrder); +// if(orderTime > 0 && (competeStartOrder.getStartTime() == projectStartTime || competeStartOrder.getEndTime() == projectStartTime + orderTime)){ +// competeStartOrder.setStartTime(projectStartTime); +// competeStartOrder.setEndTime(projectStartTime + orderTime); +// // 修改tall的任务 +// TallTaskDto.UpdateTaskInfo updateTaskInfo = new TallTaskDto.UpdateTaskInfo(); +// updateTaskInfo.setId(competeStartOrder.getId()); +// updateTaskInfo.setBeginTime(competeStartOrder.getStartTime()); +// updateTaskInfo.setEndTime(competeStartOrder.getEndTime()); +// updateTaskInfo.setToken(token); +// log.info("修改tall的任务信息:{}",updateTaskInfo); +// JsonResponse normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo); +// log.info("修改tall的任务信息后返回:{}",normalTaskJsonResponse); +// //失败return +// if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200){ +// return; +// } +// } +// startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); +// +// }else{ +// //添加tall的任务 +// Long taskId = null; +// TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); +// addTask.setProjectId(tallProjectId); +// addTask.setTaskName(project.getName() + competeOrder +"-" + site); +// addTask.setBeginTime(projectStartTime); +// addTask.setEndTime(projectStartTime + orderTime); +// addTask.setExecutorId(tallRoleId); +// addTask.setToken(token); +// log.info("在tall内添加任务:{}",addTask); +// JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); +// //异常return +// log.info("添加任务后返回:{}",normalTaskJsonResponse); +// if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200) { +// return; +// } +// TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); +// if (ObjectUtil.isNotNull(normalTask)) { +// taskId = normalTask.getDetailId(); +// } +// //添加出场顺序信息 +// CompeteStartOrder competeStartOrder = new CompeteStartOrder(); +// competeStartOrder.setId(snowflake.nextId()); +// competeStartOrder.setProjectId(project.getId()); +// competeStartOrder.setPlayerId(projectPlayer.getId()); +// competeStartOrder.setSite((byte) site); +// competeStartOrder.setTeam((byte) 0); +// competeStartOrder.setCompeteOrder((byte) competeOrder); +// competeStartOrder.setTaskId(taskId); +// competeStartOrder.setStartTime(projectStartTime); +// competeStartOrder.setEndTime(projectStartTime + orderTime); +// startOrderMapper.insertSelective(competeStartOrder); +// } +// site++; +// if(site > projectConfig.getSiteNum()){ +// site = 1; +// competeOrder++; +// projectStartTime += orderTime; +// } +// } +// } +// } else { +// //团体项目查找所有参赛队伍 +// CompeteTeamExample teamExample = new CompeteTeamExample(); +// teamExample.createCriteria().andProjectIdEqualTo(project.getId()); +// List teamList = competeTeamDao.selectByExample(teamExample); +// if(CollectionUtil.isNotEmpty(teamList)){ +// //计算场次 +// int order = (int) Math.ceil(teamList.size() / projectConfig.getSiteNum()); +// //计算每个场次时间 +// long projectStartTime = projectConfig.getStartTime(); +// long orderTime = 0; +// if(order != 0) { +// orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order); +// } +// //场次 +// int competeOrder = 1; +// //场地 +// int site = 1; +// for (CompeteTeam competeTeam : teamList) { +// CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); +// startOrderExample.createCriteria().andPlayerIdEqualTo(competeTeam.getId()).andProjectIdEqualTo(project.getId()); +// List startOrderList = startOrderMapper.selectByExample(startOrderExample); +// if(CollectionUtil.isNotEmpty(startOrderList)){ +// CompeteStartOrder competeStartOrder = startOrderList.get(0); +// competeStartOrder.setSite((byte) site); +// competeStartOrder.setCompeteOrder((byte) competeOrder); +// if(orderTime > 0 && (competeStartOrder.getStartTime() == projectStartTime || competeStartOrder.getEndTime() == projectStartTime + orderTime)){ +// competeStartOrder.setStartTime(projectStartTime); +// competeStartOrder.setEndTime(projectStartTime + orderTime); +// //修改tall的任务 +// TallTaskDto.UpdateTaskInfo updateTaskInfo = new TallTaskDto.UpdateTaskInfo(); +// updateTaskInfo.setId(competeStartOrder.getId()); +// updateTaskInfo.setBeginTime(competeStartOrder.getId()); +// updateTaskInfo.setBeginTime(competeStartOrder.getEndTime()); +// updateTaskInfo.setToken(token); +// log.info("修改tall的任务信息:{}",updateTaskInfo); +// JsonResponse normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo); +// log.info("修改tall的任务信息后返回:{}",normalTaskJsonResponse); +// //失败return +// if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200){ +// return; +// } +// } +// startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); +// +// }else{ +// //添加tall的任务 +// Long taskId = null; +// TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); +// addTask.setProjectId(tallProjectId); +// addTask.setTaskName(project.getName() + competeOrder +"-" + site); +// addTask.setBeginTime(projectStartTime); +// addTask.setEndTime(projectStartTime + orderTime); +// addTask.setExecutorId(tallRoleId); +// addTask.setToken(token); +// log.info("在tall内添加任务:{}",addTask); +// JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); +// log.info("添加任务后返回:{}",normalTaskJsonResponse); +// //异常return +// log.info("添加任务后返回:{}",normalTaskJsonResponse); +// if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200) { +// return; +// } +// TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); +// if (ObjectUtil.isNotNull(normalTask)) { +// taskId = normalTask.getDetailId(); +// } +// //添加出场顺序信息 +// CompeteStartOrder competeStartOrder = new CompeteStartOrder(); +// competeStartOrder.setId(snowflake.nextId()); +// competeStartOrder.setProjectId(project.getId()); +// competeStartOrder.setPlayerId(competeTeam.getId()); +// competeStartOrder.setSite((byte) site); +// competeStartOrder.setTeam((byte) 0); +// competeStartOrder.setCompeteOrder((byte) competeOrder); +// competeStartOrder.setTaskId(taskId); +// competeStartOrder.setStartTime(projectStartTime); +// competeStartOrder.setEndTime(projectStartTime + orderTime); +// startOrderMapper.insertSelective(competeStartOrder); +// } +// site++; +// if(site > projectConfig.getSiteNum()){ +// site = 1; +// competeOrder++; +// projectStartTime += orderTime; +// } +// } +// } +// } +// } } } @@ -315,7 +411,7 @@ public class CompeteTaskService implements ICompeteTaskService{ */ @Override public List queryStartOrderByCompany(ProvinceCompeteDto.QueryStartOrderByCompany param) { - return projectConfigDao.queryStartOrderByCompany(param.getCompanyId(),param.getProjectId(),param.getCompeteTimeId()); + return projectConfigDao.queryStartOrderByCompany(param.getCompanyId(), param.getProjectId(), param.getCompeteTimeId()); } /** @@ -323,38 +419,38 @@ public class CompeteTaskService implements ICompeteTaskService{ */ @Override public List queryJudgment(ProvinceCompeteDto.QueryJudgment param) { - List queryJudgmentList = competeJudgmentDao.queryJudgment(param.getCompeteTimeId(),param.getProjectId()); - if(CollectionUtil.isNotEmpty(queryJudgmentList)){ + List queryJudgmentList = competeJudgmentDao.queryJudgment(param.getCompeteTimeId(), param.getProjectId()); + if (CollectionUtil.isNotEmpty(queryJudgmentList)) { queryJudgmentList.forEach(projectJudgment -> { //裁判数量 int count = projectJudgment.getProjectType() == 0 ? 3 : 7; - for (int i = 0; i < projectJudgment.getSiteNums(); i++) { - if(i < projectJudgment.getSiteList().size()){ - ProvinceCompeteVo.ProjectSite siteJudgment = projectJudgment.getSiteList().get(i); - if (CollectionUtil.isEmpty(siteJudgment.getJudgmentList())) { - siteJudgment.setJudgmentList(new ArrayList<>()); - } - int a = siteJudgment.getJudgmentList().size(); - for (int j = 0; j < count - a; j++) { + for (int i = 0; i < projectJudgment.getSiteNums(); i++) { + if (i < projectJudgment.getSiteList().size()) { + ProvinceCompeteVo.ProjectSite siteJudgment = projectJudgment.getSiteList().get(i); + if (CollectionUtil.isEmpty(siteJudgment.getJudgmentList())) { + siteJudgment.setJudgmentList(new ArrayList<>()); + } + int a = siteJudgment.getJudgmentList().size(); + for (int j = 0; j < count - a; j++) { + ProvinceCompeteVo.SiteJudgment siteJudgment1 = new ProvinceCompeteVo.SiteJudgment(); + siteJudgment1.setJudgmentNum(a + j); + siteJudgment.getJudgmentList().add(siteJudgment1); + } + } else { + int a = projectJudgment.getSiteList().size(); + for (int j = 0; j < count - a; j++) { + ProvinceCompeteVo.ProjectSite siteJudgment = new ProvinceCompeteVo.ProjectSite(); + siteJudgment.setSiteNum(a + j + 1); + projectJudgment.getSiteList().add(siteJudgment); + int b = siteJudgment.getJudgmentList().size(); + for (int x = 0; x < count - b; x++) { ProvinceCompeteVo.SiteJudgment siteJudgment1 = new ProvinceCompeteVo.SiteJudgment(); - siteJudgment1.setJudgmentNum(a + j); + siteJudgment1.setJudgmentNum(b + x); siteJudgment.getJudgmentList().add(siteJudgment1); } - }else { - int a = projectJudgment.getSiteList().size(); - for (int j = 0; j < count - a; j++) { - ProvinceCompeteVo.ProjectSite siteJudgment = new ProvinceCompeteVo.ProjectSite(); - siteJudgment.setSiteNum(a + j + 1); - projectJudgment.getSiteList().add(siteJudgment); - int b = siteJudgment.getJudgmentList().size(); - for (int x = 0; x < count - b; x++) { - ProvinceCompeteVo.SiteJudgment siteJudgment1 = new ProvinceCompeteVo.SiteJudgment(); - siteJudgment1.setJudgmentNum(b + x); - siteJudgment.getJudgmentList().add(siteJudgment1); - } - } } } + } }); } return queryJudgmentList; @@ -364,17 +460,17 @@ public class CompeteTaskService implements ICompeteTaskService{ * 分配裁判 */ @Override - public List allocationJudgment(ProvinceCompeteDto.AllocationJudgmentAndTall param,String token) { + public List allocationJudgment(ProvinceCompeteDto.AllocationJudgmentAndTall param, String token) { //查找项目 - if(CollectionUtil.isNotEmpty(param.getAllocationJudgmentList())){ - for(ProvinceCompeteDto.AllocationJudgment allocationJudgment : param.getAllocationJudgmentList()) { + if (CollectionUtil.isNotEmpty(param.getAllocationJudgmentList())) { + for (ProvinceCompeteDto.AllocationJudgment allocationJudgment : param.getAllocationJudgmentList()) { CompeteProject project = competeProjectDao.selectByPrimaryKey(allocationJudgment.getProjectId()); if (ObjectUtil.isNotNull(project)) { if (CollectionUtil.isNotEmpty(allocationJudgment.getSiteJudgmentList())) { allocationJudgment.getSiteJudgmentList().forEach(siteJudgment -> { if (ObjectUtil.isNotNull(siteJudgment)) { siteJudgment.getJudgmentInfoList().forEach(judgmentInfo -> { - saveJudgmentAndTask(param.getCompeteTimeId(),param.getTallProjectId(), project, siteJudgment, judgmentInfo,token); + saveJudgmentAndTask(param.getCompeteTimeId(), param.getTallProjectId(), project, siteJudgment, judgmentInfo, token); }); } }); @@ -382,14 +478,14 @@ public class CompeteTaskService implements ICompeteTaskService{ } } } - return competeJudgmentDao.queryJudgment(param.getCompeteTimeId(),null); + return competeJudgmentDao.queryJudgment(param.getCompeteTimeId(), null); } /** * 添加裁判信息和tall内的角色成员任务 */ - private void saveJudgmentAndTask(Long competeTimeId,Long tallProjectId,CompeteProject project - , ProvinceCompeteDto.SiteJudgment siteJudgment, ProvinceCompeteDto.JudgmentInfo judgmentInfo,String token) { + private void saveJudgmentAndTask(Long competeTimeId, Long tallProjectId, CompeteProject project + , ProvinceCompeteDto.SiteJudgment siteJudgment, ProvinceCompeteDto.JudgmentInfo judgmentInfo, String token) { // TODO 查找该手机号在此项目之前的裁判信息,修改,同时修改tall内的成员角色信息 //添加裁判信息 //查找该项目下的该场地的裁判信息 @@ -398,7 +494,7 @@ public class CompeteTaskService implements ICompeteTaskService{ competeJudgmentExample.createCriteria().andProjectIdEqualTo(project.getId()).andCompeteTimeIdEqualTo(competeTimeId) .andSiteEqualTo(siteJudgment.getSite()).andChiefJudgmentEqualTo((byte) judgmentInfo.getJudgmentNum()); List competeJudgmentList = competeJudgmentDao.selectByExample(competeJudgmentExample); - if(CollectionUtil.isNotEmpty(competeJudgmentList)){ + if (CollectionUtil.isNotEmpty(competeJudgmentList)) { competeJudgment = competeJudgmentList.get(0); competeJudgment.setName(judgmentInfo.getJudgmentName()); competeJudgment.setPhone(judgmentInfo.getJudgmentPhone()); @@ -411,7 +507,7 @@ public class CompeteTaskService implements ICompeteTaskService{ //修改角色 //修改成员 //修改任务 - }else { + } else { competeJudgment = new CompeteJudgment(); competeJudgment.setId(snowflake.nextId()); competeJudgment.setName(judgmentInfo.getJudgmentName()); @@ -423,7 +519,6 @@ public class CompeteTaskService implements ICompeteTaskService{ competeJudgment.setChiefJudgment((byte) judgmentInfo.getJudgmentNum()); competeJudgmentDao.insertSelective(competeJudgment); - //添加角色 MemberRoleDto.SaveRole saveRole = new MemberRoleDto.SaveRole(); saveRole.setProjectId(tallProjectId); @@ -459,7 +554,7 @@ public class CompeteTaskService implements ICompeteTaskService{ Long memberId = null; if (ObjectUtil.isNotNull(memberJsonResponse)) { //code等于21代表成员已存在 - if(memberJsonResponse.getCode() == 21){ + if (memberJsonResponse.getCode() == 21) { //查询该手机号在项目内的成员的id MemberRoleDto.GetMemberByPhone getMemberByPhone = new MemberRoleDto.GetMemberByPhone(); getMemberByPhone.setProjectId(tallProjectId); @@ -473,7 +568,7 @@ public class CompeteTaskService implements ICompeteTaskService{ } } //将该成员添加至角色下 - if(ObjectUtil.isNotNull(roleId) && ObjectUtil.isNotNull(memberId)){ + if (ObjectUtil.isNotNull(roleId) && ObjectUtil.isNotNull(memberId)) { MemberRoleDto.SaveMemberInRole saveMemberInRole = new MemberRoleDto.SaveMemberInRole(); saveMemberInRole.setRoleId(roleId); saveMemberInRole.setMemberId(memberId); @@ -517,6 +612,9 @@ public class CompeteTaskService implements ICompeteTaskService{ } } } + competeJudgment.setRoleId(roleId); + competeJudgment.setMemberId(memberId); + competeJudgmentDao.updateByPrimaryKeySelective(competeJudgment); } } @@ -527,8 +625,8 @@ public class CompeteTaskService implements ICompeteTaskService{ public ProvinceCompeteVo.QueryProjectByTall queryProjectByTall(ProvinceCompeteDto.ProjectByTall param) { //查询比赛项目信息 ProvinceCompeteVo.QueryProjectByTall queryProjectByTall = projectConfigDao.queryProjectByTaskDetailId(param.getTaskDetailId()); - log.info("根据taskDetailId查询到的场次和项目信息:{}",queryProjectByTall); - if(ObjectUtil.isNull(queryProjectByTall)){ + log.info("根据taskDetailId查询到的场次和项目信息:{}", queryProjectByTall); + if (ObjectUtil.isNull(queryProjectByTall)) { queryProjectByTall = new ProvinceCompeteVo.QueryProjectByTall(); } //查询裁判信息 @@ -536,9 +634,9 @@ public class CompeteTaskService implements ICompeteTaskService{ CompeteJudgmentExample judgmentExample = new CompeteJudgmentExample(); judgmentExample.createCriteria().andRoleIdEqualTo(param.getRoleId()); List judgmentList = competeJudgmentDao.selectByExample(judgmentExample); - if(CollectionUtil.isNotEmpty(judgmentList)){ + if (CollectionUtil.isNotEmpty(judgmentList)) { judgment = judgmentList.get(0); - log.info("根据roleId查询到的裁判信息:{}",judgment); + log.info("根据roleId查询到的裁判信息:{}", judgment); queryProjectByTall.setJudgmentId(judgment.getId()); queryProjectByTall.setJudgmentNum(judgment.getChiefJudgment()); } diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java index 78dbb874..9e9c31f4 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteVedioService.java @@ -12,6 +12,8 @@ import com.ccsens.mt.persist.mapper.CompetePlayerLookMapper; import com.ccsens.mt.persist.mapper.CompeteProjectMapper; import com.ccsens.mt.persist.mapper.CompeteVideoMapper; import com.ccsens.util.bean.dto.QueryDto; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -116,8 +118,9 @@ public class CompeteVedioService implements ICompeteVedioService{ * @return */ @Override - public List selectCompanySignStatus(QueryDto params) { - return competeVideoDao.selectCompanySignStatus(params.getParam()); + public PageInfo selectCompanySignStatus(QueryDto params) { + PageHelper.startPage(params.getParam().getPageNum(),params.getParam().getPageSize()); + return new PageInfo<>(competeVideoDao.selectCompanySignStatus(params.getParam())); } /** * 查看教练的签到状态 @@ -125,9 +128,10 @@ public class CompeteVedioService implements ICompeteVedioService{ * @return */ @Override - public List selectCoachSignStatus(QueryDto params) { + public PageInfo selectCoachSignStatus(QueryDto params) { + PageHelper.startPage(params.getParam().getPageNum(),params.getParam().getPageSize()); log.info(params.getParam().toString()); - return competeVideoDao.selectCoachSignStatus(params.getParam()); + return new PageInfo<>(competeVideoDao.selectCoachSignStatus(params.getParam())); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java index ce9e1dc1..8c5277a5 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java @@ -29,10 +29,14 @@ import com.github.pagehelper.PageInfo; import lombok.Data; 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.xssf.usermodel.XSSFWorkbook; +import org.eclipse.jetty.util.StringUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -92,12 +96,13 @@ public class ExcelService implements IExcelService { private CompeteProjectConfigDao competeProjectConfigDao; @Resource private CompeteProjectDao competeProjectDao; - + @Resource + private CompeteScoreDao competeScoreDao; @Resource private ICompeteService competeService; @Resource private CompeteScoreDao competeScoreDao; - + @Override public String dasaiduiwuxinxiWPS(QueryDto params) { //这个里面包含联系人得信息 @@ -1159,7 +1164,7 @@ public class ExcelService implements IExcelService { @Override - public List getCompeteJoinDetail(CompeteDto.EnterInfo params) { + public PageInfo getCompeteJoinDetail(CompeteDto.EnterInfo params) { // List competeJoinList = new ArrayList<>(); // 个人项目查询 // PageHelper.startPage(params.getPage(),params.getSize()); @@ -1176,7 +1181,7 @@ public class ExcelService implements IExcelService { PageHelper.startPage(params.getPage(),params.getSize()); List competeJoinList = competeProjectConfigDao.selectPeople(params.getProjectId(), params.getGroupId(), params.getCompanyId(), params.getName(), params.getIdCard()); PageInfo pageInfo = new PageInfo<>(competeJoinList); - return competeJoinList; + return pageInfo; } @Override @@ -1271,7 +1276,7 @@ public class ExcelService implements IExcelService { String year = simpleDateFormat.format(date); Date date1 = new Date(schedulePlanDetail.getEndTime()); SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("HH:mm"); - String year1 = simpleDateFormat.format(date); + String year1 = simpleDateFormat1.format(date1); String string = schedulePlanDetail.getProjectName() + "(" + year +"-"+ year1 + ")"; stringBuilder.append(string+" \n"); @@ -1287,7 +1292,7 @@ public class ExcelService implements IExcelService { String year = simpleDateFormat.format(date); Date date1 = new Date(schedulePlanDetail.getEndTime()); SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("HH:mm"); - String year1 = simpleDateFormat.format(date); + String year1 = simpleDateFormat1.format(date1); String string = schedulePlanDetail.getProjectName() + "(" + year +"-"+ year1 + ")"; stringBuilder.append(string+" "); } @@ -1302,7 +1307,7 @@ public class ExcelService implements IExcelService { String year = simpleDateFormat.format(date); Date date1 = new Date(schedulePlanDetail.getEndTime()); SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("HH:mm"); - String year1 = simpleDateFormat.format(date); + String year1 = simpleDateFormat1.format(date1); String string = schedulePlanDetail.getProjectName() + "(" + year +"-"+ year1 + ")"; stringBuilder.append(string+" "); } @@ -1337,20 +1342,24 @@ public class ExcelService implements IExcelService { @Override - public String patternExpTable(ScoreDto.ShowResult param) { + public String patternExpTable(ScoreDto.ShowResultW param) { List totalScoreDisplays = competeService.showResult(param); List> list = new ArrayList<>(); + List zero=new ArrayList<>(); + PoiUtil.PoiUtilCell zeroOne=new PoiUtil.PoiUtilCell("比赛成绩公示(花样赛)", 14, 1); + zero.add(zeroOne); + list.add(zero); List one=new ArrayList<>(); PoiUtil.PoiUtilCell oneOne=new PoiUtil.PoiUtilCell("参赛单位", 1, 1); PoiUtil.PoiUtilCell oneTwo=new PoiUtil.PoiUtilCell("参赛队员", 1, 1); PoiUtil.PoiUtilCell oneThree=new PoiUtil.PoiUtilCell("创意编排分", 3, 1); PoiUtil.PoiUtilCell oneFour=new PoiUtil.PoiUtilCell("创意最后得分", 1, 1); PoiUtil.PoiUtilCell oneFive=new PoiUtil.PoiUtilCell("完成质量分", 3, 1); - PoiUtil.PoiUtilCell oneSix=new PoiUtil.PoiUtilCell("完成最后得分", 1, 1); - PoiUtil.PoiUtilCell oneSeven=new PoiUtil.PoiUtilCell("主裁判扣分", 1, 1); - PoiUtil.PoiUtilCell oneEight=new PoiUtil.PoiUtilCell("最后得分", 1, 1); - PoiUtil.PoiUtilCell oneNine=new PoiUtil.PoiUtilCell("名次", 1, 1); - PoiUtil.PoiUtilCell oneTen=new PoiUtil.PoiUtilCell("备注", 1, 1); + PoiUtil.PoiUtilCell oneSix=new PoiUtil.PoiUtilCell("完成最后得分", 1, 2); + PoiUtil.PoiUtilCell oneSeven=new PoiUtil.PoiUtilCell("主裁判扣分", 1, 2); + PoiUtil.PoiUtilCell oneEight=new PoiUtil.PoiUtilCell("最后得分", 1, 2); + PoiUtil.PoiUtilCell oneNine=new PoiUtil.PoiUtilCell("名次", 1, 2); + PoiUtil.PoiUtilCell oneTen=new PoiUtil.PoiUtilCell("备注", 1, 2); one.add(oneOne); one.add(oneTwo); one.add(oneThree); @@ -1362,21 +1371,228 @@ public class ExcelService implements IExcelService { one.add(oneNine); one.add(oneTen); list.add(one); + List two = new ArrayList<>(); + PoiUtil.PoiUtilCell twoOne = new PoiUtil.PoiUtilCell(); + PoiUtil.PoiUtilCell twoTwo = new PoiUtil.PoiUtilCell(); + PoiUtil.PoiUtilCell twoThree = new PoiUtil.PoiUtilCell("1", 1, 1); + PoiUtil.PoiUtilCell twoFour = new PoiUtil.PoiUtilCell("2", 1, 1); + PoiUtil.PoiUtilCell twoFive = new PoiUtil.PoiUtilCell("3", 1, 1); + PoiUtil.PoiUtilCell twoSix = new PoiUtil.PoiUtilCell(); + PoiUtil.PoiUtilCell twoSeven = new PoiUtil.PoiUtilCell("1", 1, 1); + PoiUtil.PoiUtilCell twoEight = new PoiUtil.PoiUtilCell("2", 1, 1); + PoiUtil.PoiUtilCell twoNight = new PoiUtil.PoiUtilCell("3", 1, 1); + two.add(twoOne); + two.add(twoTwo); + two.add(twoThree); + two.add(twoFour); + two.add(twoFive); + two.add(twoSix); + two.add(twoSeven); + two.add(twoEight); + two.add(twoNight); + list.add(two); + totalScoreDisplays.forEach(mes->{ + List three = new ArrayList<>(); + PoiUtil.PoiUtilCell threeOne = new PoiUtil.PoiUtilCell(mes.getCompanyName(), 1, 1); + PoiUtil.PoiUtilCell threeTwo = new PoiUtil.PoiUtilCell(mes.getPeopleName(), 1, 1); + three.add(threeOne); + three.add(threeTwo); + if(mes.getRemark()==(byte)0){ + PoiUtil.PoiUtilCell threeThree=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getReferee1()),1,1); + PoiUtil.PoiUtilCell threeFive=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getReferee2()),1,1); + PoiUtil.PoiUtilCell threeSix=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getReferee3()),1,1); + PoiUtil.PoiUtilCell threeSeven=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getAvg1To3()),1,1); + PoiUtil.PoiUtilCell threeEight=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getReferee4()),1,1); + PoiUtil.PoiUtilCell threeNight=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getReferee5()),1,1); + PoiUtil.PoiUtilCell threeTen=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getReferee6()),1,1); + PoiUtil.PoiUtilCell threeEle=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getAvg4To6()),1,1); + PoiUtil.PoiUtilCell threeTwe=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getReferee0()),1,1); + PoiUtil.PoiUtilCell threeThir=new PoiUtil.PoiUtilCell((StringUtil.valueOf(mes.getResult())),1,1); + PoiUtil.PoiUtilCell threeFour=new PoiUtil.PoiUtilCell((StringUtil.valueOf(mes.getOrder())),1,1); + three.add(threeThree); + three.add(threeFive); + three.add(threeSix); + three.add(threeSeven); + three.add(threeEight); + three.add(threeNight); + three.add(threeTen); + three.add(threeEle); + three.add(threeTwe); + three.add(threeThir); + three.add(threeFour); + }else { + PoiUtil.PoiUtilCell threeThree=new PoiUtil.PoiUtilCell("",1,1); + PoiUtil.PoiUtilCell threeFive=new PoiUtil.PoiUtilCell("",1,1); + PoiUtil.PoiUtilCell threeSix=new PoiUtil.PoiUtilCell("",1,1); + PoiUtil.PoiUtilCell threeSeven=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getAvg1To3()),1,1); + PoiUtil.PoiUtilCell threeEight=new PoiUtil.PoiUtilCell("",1,1); + PoiUtil.PoiUtilCell threeNight=new PoiUtil.PoiUtilCell("",1,1); + PoiUtil.PoiUtilCell threeTen=new PoiUtil.PoiUtilCell("",1,1); + PoiUtil.PoiUtilCell threeEle=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getAvg4To6()),1,1); + PoiUtil.PoiUtilCell threeTwe=new PoiUtil.PoiUtilCell("",1,1); + PoiUtil.PoiUtilCell threeThir=new PoiUtil.PoiUtilCell((StringUtil.valueOf(mes.getResult())),1,1); + PoiUtil.PoiUtilCell threeFour=new PoiUtil.PoiUtilCell("",1,1); + PoiUtil.PoiUtilCell threeFif=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL,1,1); + if(mes.getRemark()==(byte)1){ + threeFif.setValue("弃权"); + }else { + threeFif.setValue("取消比赛资格"); + } + three.add(threeThree); + three.add(threeFive); + three.add(threeSix); + three.add(threeSeven); + three.add(threeEight); + three.add(threeNight); + three.add(threeTen); + three.add(threeEle); + three.add(threeTwe); + three.add(threeThir); + three.add(threeFour); + three.add(threeFif); + } + list.add(three); + }); + List four = new ArrayList<>(); + PoiUtil.PoiUtilCell fourOne = new PoiUtil.PoiUtilCell(); + PoiUtil.PoiUtilCell fourTwo = new PoiUtil.PoiUtilCell(); + PoiUtil.PoiUtilCell fourThree = new PoiUtil.PoiUtilCell("裁判1", 1, 1); + PoiUtil.PoiUtilCell fourFour = new PoiUtil.PoiUtilCell("裁判2", 1, 1); + PoiUtil.PoiUtilCell fourFive = new PoiUtil.PoiUtilCell("裁判3", 1, 1); + PoiUtil.PoiUtilCell fourSix = new PoiUtil.PoiUtilCell("创意分平均", 1, 1); + PoiUtil.PoiUtilCell fourSeven = new PoiUtil.PoiUtilCell("裁判1", 1, 1); + PoiUtil.PoiUtilCell fourEigth = new PoiUtil.PoiUtilCell("裁判2", 1, 1); + PoiUtil.PoiUtilCell fourNine = new PoiUtil.PoiUtilCell("裁判3", 1, 1); + PoiUtil.PoiUtilCell fourTen = new PoiUtil.PoiUtilCell("完成分平均", 1, 1); + PoiUtil.PoiUtilCell fourEle = new PoiUtil.PoiUtilCell("主裁", 1, 1); + PoiUtil.PoiUtilCell fourTwe = new PoiUtil.PoiUtilCell("=创意分平均+完成分平均-主裁判扣分", 1, 1); + four.add(fourOne); + four.add(fourTwo); + four.add(fourThree); + four.add(fourFour); + four.add(fourFive); + four.add(fourSix); + four.add(fourSeven); + four.add(fourEigth); + four.add(fourNine); + four.add(fourTen); + four.add(fourEle); + four.add(fourTwe); + list.add(four); + Workbook workbook = new XSSFWorkbook(); + PoiUtil.exportWB("花样赛成绩表公示",list,workbook); + String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; + String path = PropUtil.path + filepath; + File tmpFile = new File(path); + if (!tmpFile.getParentFile().exists()) { + tmpFile.getParentFile().mkdirs(); + } + File file = new File(path); + try { + OutputStream outputStream = new FileOutputStream(file); + workbook.write(outputStream); + outputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + return PropUtil.domain + "file/download/know?path="+path; + } + + @Override + public String countExpTable(ScoreDto.ShowResult param) { + + + List countScoreCurrentSiteList = new ArrayList<>(); + CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); + if(ObjectUtil.isNotNull(competeProject)) { + if(competeProject.getTeam() == 0) { + countScoreCurrentSiteList = competeScoreDao.queryCountScoreAll(param.getProjectId()); + }else { + countScoreCurrentSiteList = competeScoreDao.queryCountScoreAllByTeam(param.getProjectId()); + } + } + List countScoreCurrentSites = countScoreCurrentSiteList; + + + List> list = new ArrayList<>(); + List zero=new ArrayList<>(); + PoiUtil.PoiUtilCell zeroOne=new PoiUtil.PoiUtilCell("比赛成绩公示(计数赛)", 10, 1); + zero.add(zeroOne); + list.add(zero); + List one=new ArrayList<>(); + PoiUtil.PoiUtilCell oneOne=new PoiUtil.PoiUtilCell("组别", 1, 2); + PoiUtil.PoiUtilCell oneTwo=new PoiUtil.PoiUtilCell("参赛单位", 1, 2); + PoiUtil.PoiUtilCell oneThree=new PoiUtil.PoiUtilCell("姓名", 1, 2); + PoiUtil.PoiUtilCell oneFour=new PoiUtil.PoiUtilCell("成绩", 2, 1); + PoiUtil.PoiUtilCell oneFive=new PoiUtil.PoiUtilCell("总成绩", 1, 2); + PoiUtil.PoiUtilCell oneSix=new PoiUtil.PoiUtilCell("扣除次数", 1, 2); + PoiUtil.PoiUtilCell oneSeven=new PoiUtil.PoiUtilCell("最终成绩", 1, 2); + PoiUtil.PoiUtilCell oneEight=new PoiUtil.PoiUtilCell("名词", 1, 2); + PoiUtil.PoiUtilCell oneNine=new PoiUtil.PoiUtilCell("备注", 1, 2); + one.add(oneOne); + one.add(oneTwo); + one.add(oneThree); + one.add(oneFour); + one.add(oneFive); + one.add(oneSix); + one.add(oneSeven); + one.add(oneEight); + one.add(oneNine); + list.add(one); List two=new ArrayList<>(); PoiUtil.PoiUtilCell twoOne=new PoiUtil.PoiUtilCell(); PoiUtil.PoiUtilCell twoTwo=new PoiUtil.PoiUtilCell(); - PoiUtil.PoiUtilCell twoThree=new PoiUtil.PoiUtilCell("1", 1, 1); - PoiUtil.PoiUtilCell twoFour=new PoiUtil.PoiUtilCell("2", 1, 1); - PoiUtil.PoiUtilCell twoFive=new PoiUtil.PoiUtilCell("3", 1, 1); - PoiUtil.PoiUtilCell twoSix=new PoiUtil.PoiUtilCell(); - PoiUtil.PoiUtilCell twoSeven=new PoiUtil.PoiUtilCell("1", 1, 1); - PoiUtil.PoiUtilCell twoEight=new PoiUtil.PoiUtilCell("2", 1, 1); - PoiUtil.PoiUtilCell twoNight=new PoiUtil.PoiUtilCell("3", 1, 1); + PoiUtil.PoiUtilCell twoThree=new PoiUtil.PoiUtilCell(); + PoiUtil.PoiUtilCell twoFour=new PoiUtil.PoiUtilCell("1", 1, 1); + PoiUtil.PoiUtilCell twoFive=new PoiUtil.PoiUtilCell("2", 1, 1); two.add(twoOne); two.add(twoTwo); two.add(twoThree); two.add(twoFour); - return null; + two.add(twoFive); + list.add(two); + + countScoreCurrentSites.forEach(mes->{ + List three=new ArrayList<>(); + PoiUtil.PoiUtilCell threeOne=new PoiUtil.PoiUtilCell(mes.getGroupName(),1,1); + PoiUtil.PoiUtilCell threeTwo=new PoiUtil.PoiUtilCell(mes.getCompanyName(),1,1); + PoiUtil.PoiUtilCell threeThree=new PoiUtil.PoiUtilCell(mes.getName(),1,1); + PoiUtil.PoiUtilCell threeFour=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getMainOneScore()),1,1); + PoiUtil.PoiUtilCell threeFive=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getMainTwoScore()),1,1); + PoiUtil.PoiUtilCell threeSix=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getShouldScore()),1,1); + PoiUtil.PoiUtilCell threeSeven=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getDeductTime()),1,1); + PoiUtil.PoiUtilCell threeEight=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getFinalScore()),1,1); + PoiUtil.PoiUtilCell threeNine=new PoiUtil.PoiUtilCell(StringUtil.valueOf(mes.getRangee()),1,1); + PoiUtil.PoiUtilCell threeTen=new PoiUtil.PoiUtilCell(mes.getRemark(),1,1); + three.add(threeOne); + three.add(threeTwo); + three.add(threeThree); + three.add(threeFour); + three.add(threeFive); + three.add(threeSix); + three.add(threeSeven); + three.add(threeEight); + three.add(threeNine); + three.add(threeTen); + list.add(three); + }); + Workbook workbook = new XSSFWorkbook(); + PoiUtil.exportWB("计数赛成绩公示",list,workbook); + String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; + String path = PropUtil.path + filepath; + File tmpFile = new File(path); + if (!tmpFile.getParentFile().exists()) { + tmpFile.getParentFile().mkdirs(); + } + File file = new File(path); + try { + OutputStream outputStream = new FileOutputStream(file); + workbook.write(outputStream); + outputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + return PropUtil.domain + "file/download/know?path="+path; } @Override diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java index 8ca886bc..699688e3 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java @@ -5,6 +5,7 @@ import com.ccsens.mt.bean.dto.ScoreDto; import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.bean.vo.ScoreVo; import com.ccsens.util.bean.dto.QueryDto; +import com.github.pagehelper.PageInfo; import java.io.FileNotFoundException; import java.io.IOException; @@ -154,8 +155,9 @@ public interface ICompeteService { void submitOrderList(ScoreDto.InformationSubmitted param); + PageInfo showResultPage(ScoreDto.ShowResultW param); - List showResult(ScoreDto.ShowResult param); + List showResult(ScoreDto.ShowResultW param); /** @@ -193,7 +195,7 @@ public interface ICompeteService { * @param params 项目id和场次id * @return 返回项目,开始时间和比赛状态 */ - List speedPass(CompeteDto.CompeteTimeAndProjectId params); + PageInfo speedPass(CompeteDto.CompeteTimeAndProjectId params); /** @@ -209,7 +211,7 @@ public interface ICompeteService { @param param @return */ - List queryCountScoreAll(ScoreDto.ShowResult param); + PageInfo queryCountScoreAll(ScoreDto.ShowResult param); CompeteVo.SelScropeVo selSubmitOrderList(ScoreDto.SelScrop param); diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteVedioService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteVedioService.java index 44028a80..d999120e 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteVedioService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteVedioService.java @@ -4,6 +4,7 @@ import com.ccsens.mt.bean.dto.VideoDto; import com.ccsens.mt.bean.po.CompetePlayerLook; import com.ccsens.mt.bean.vo.VideoProjectVo; import com.ccsens.util.bean.dto.QueryDto; +import com.github.pagehelper.PageInfo; import java.util.List; @@ -28,7 +29,7 @@ public interface ICompeteVedioService { List selectAllCompany(QueryDto params); - List selectCompanySignStatus(QueryDto params); + PageInfo selectCompanySignStatus(QueryDto params); - List selectCoachSignStatus(QueryDto params); + PageInfo selectCoachSignStatus(QueryDto params); } diff --git a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java index 55bd22a8..9e81105d 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java @@ -1,12 +1,11 @@ package com.ccsens.mt.service; -import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.mt.bean.dto.ProvinceCompeteDto; import com.ccsens.mt.bean.dto.ScoreDto; -import com.ccsens.mt.bean.vo.TableVo; -import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.vo.TableVo; import com.ccsens.util.bean.dto.QueryDto; +import com.github.pagehelper.PageInfo; import java.io.IOException; import java.util.List; @@ -43,7 +42,7 @@ public interface IExcelService { * @param params 大赛id * @return 返回失败的信息 */ - List getCompeteJoinDetail(CompeteDto.EnterInfo params); + PageInfo getCompeteJoinDetail(CompeteDto.EnterInfo params); /** @@ -106,4 +105,9 @@ public interface IExcelService { * @return 表格下载地址 */ String beforeEight(QueryDto params); + + String patternExpTable(ScoreDto.ShowResultW param); + + String countExpTable(ScoreDto.ShowResult param); + } diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 4ecd13fd..f59084b0 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,5 +1,5 @@ spring: profiles: - active: dev - include: common, util-dev + active: test + include: common, util-test diff --git a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml index d9006c30..34388a0a 100644 --- a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml @@ -52,7 +52,7 @@ + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml b/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml index b3c89b23..c782b16a 100644 --- a/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml @@ -104,6 +104,64 @@ and tccs.rec_status =0 and tcso.id =#{siteId} + + + + + + +