Lihong@123456 5 years ago
parent
commit
876864d502
  1. 17
      mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java
  2. 31
      mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java
  3. 6
      mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java
  4. 585
      mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java
  5. 285
      mt/src/main/java/com/ccsens/mt/service/ExcelService.java
  6. 4
      mt/src/main/resources/application-common.yml
  7. 93
      mt/src/main/resources/mapper_dao/CompetePlayerDao.xml
  8. 110
      mt/src/main/resources/mapper_dao/CompeteScoreDao.xml
  9. 2
      mt/src/main/resources/mapper_dao/CompeteVideoDao.xml
  10. 33
      tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java
  11. 12
      tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java
  12. 126
      tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java
  13. 1
      tall/src/main/resources/mapper_dao/TaskDetailDao.xml

17
mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java

@ -27,10 +27,12 @@ public class CompeteExcelVo {
public static class TeamOrderPlayerList {
@ApiModelProperty("团队id")
private Long teamId;
@ApiModelProperty("场次")
private String startOrder;
@ApiModelProperty("单位名称")
private String companyName;
@ApiModelProperty("团队选手名字")
private String playerNames;
private String playerName;
}
@Data
@ -69,4 +71,17 @@ public class CompeteExcelVo {
private String eightNames;
}
@Data
@ApiModel("出场顺序表-所有项目")
public static class Project{
@ApiModelProperty("项目Id")
private Long projectId;
@ApiModelProperty("项目名字")
private String projectName;
@ApiModelProperty("时间")
private String startTime;
@ApiModelProperty("项目信息")
private List<TeamOrderPlayer> projectList;
}
}

31
mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java

@ -2,6 +2,8 @@ package com.ccsens.mt.bean.vo;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ -46,6 +48,13 @@ public class TableVo {
private String bodyProtect;
@ApiModelProperty("参赛队伍")
private String joinTeam;
public int getAge(){
if(StrUtil.isNotEmpty(idCard) && age == 0){
return IdcardUtil.getAgeByIdCard(idCard);
}
return age;
}
}
@ -137,19 +146,19 @@ public class TableVo {
public List<String> getNums(){
List<String> nums = new ArrayList<>();
if(CollectionUtil.isNotEmpty(joinNum)){
if(certificate == 0){
joinNum.forEach(joinGroupNum -> {
nums.add(joinGroupNum.getNum());
});
}else {
int i = 0;
for(JoinGroupNum joinGroupNum : joinNum){
if(!"/".equalsIgnoreCase(joinGroupNum.getNum())){
i += Integer.parseInt(joinGroupNum.getNum());
if (certificate == 0) {
joinNum.forEach(joinGroupNum -> {
nums.add(joinGroupNum.getNum());
});
} else {
int i = 0;
for (JoinGroupNum joinGroupNum : joinNum) {
if (!"/".equalsIgnoreCase(joinGroupNum.getNum())) {
i += Integer.parseInt(joinGroupNum.getNum());
}
}
nums.add(String.valueOf(i));
}
nums.add(String.valueOf(i));
}
}
return nums;
}

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

@ -104,4 +104,10 @@ public interface CompeteScoreDao {
* @return
*/
List<CompeteVo.MesBiao> selCanSaiDuiWuMes();
/**
* 查询出场顺序表导出表格用
* @return
*/
List<CompeteExcelVo.Project> selAllOrder(@Param("type") byte type);
}

585
mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java

@ -166,18 +166,19 @@ public class CompeteTaskService implements ICompeteTaskService {
updateTaskInfo.setBeginTime(competeStartOrder.getStartTime());
updateTaskInfo.setEndTime(competeStartOrder.getEndTime());
updateTaskInfo.setToken(token);
log.info("修改tall的任务信息:{}", updateTaskInfo);
JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo);
log.info("修改tall的任务信息后返回:{}", normalTaskJsonResponse);
//失败return
if (ObjectUtil.isNull(normalTaskJsonResponse)) {
log.info("调用tall返回null");
return;
}
if(normalTaskJsonResponse.getCode() != 200){
log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg());
return;
}
// TODO
// log.info("修改tall的任务信息:{}", updateTaskInfo);
// JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo);
// log.info("修改tall的任务信息后返回:{}", normalTaskJsonResponse);
// //失败return
// if (ObjectUtil.isNull(normalTaskJsonResponse)) {
// log.info("调用tall返回null");
// return;
// }
// if(normalTaskJsonResponse.getCode() != 200){
// log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg());
// return;
// }
}
log.info("修改场次信息:{}", competeStartOrder);
startOrderMapper.updateByPrimaryKeySelective(competeStartOrder);
@ -191,22 +192,23 @@ public class CompeteTaskService implements ICompeteTaskService {
addTask.setEndTime(projectStartTime + orderTime);
addTask.setExecutorId(tallRoleId);
addTask.setToken(token);
log.info("在tall内添加任务:{}", addTask);
JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask);
//异常return
log.info("添加任务后返回:{}", normalTaskJsonResponse);
if (ObjectUtil.isNull(normalTaskJsonResponse)) {
log.info("调用tall返回null");
return;
}
if(normalTaskJsonResponse.getCode() != 200){
log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg());
return;
}
TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData();
if (ObjectUtil.isNotNull(normalTask)) {
taskId = normalTask.getDetailId();
}
// TODO
// log.info("在tall内添加任务:{}", addTask);
// JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask);
// //异常return
// log.info("添加任务后返回:{}", normalTaskJsonResponse);
// if (ObjectUtil.isNull(normalTaskJsonResponse)) {
// log.info("调用tall返回null");
// return;
// }
// if(normalTaskJsonResponse.getCode() != 200){
// log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg());
// return;
// }
// TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData();
// if (ObjectUtil.isNotNull(normalTask)) {
// taskId = normalTask.getDetailId();
// }
//添加出场顺序信息
CompeteStartOrder competeStartOrder = new CompeteStartOrder();
competeStartOrder.setId(snowflake.nextId());
@ -230,187 +232,6 @@ public class CompeteTaskService implements ICompeteTaskService {
}
}
}
// //判断是团队还是个人项目
// if (project.getTeam() == 0) {
// //个人项目查找所有参赛信息
// CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample();
// projectPlayerExample.createCriteria().andProjectIdEqualTo(project.getId());
// List<CompeteProjectPlayer> 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<CompeteStartOrder> 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<TaskVo.NormalTask> 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<TaskVo.NormalTask> 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<CompeteTeam> 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<CompeteStartOrder> 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<TaskVo.NormalTask> 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<TaskVo.NormalTask> 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;
// }
// }
// }
// }
// }
}
}
@ -463,39 +284,6 @@ public class CompeteTaskService implements ICompeteTaskService {
}
}
}
//
// projectJudgment.getSiteList().forEach(site-> judgmentMap.put(site.getSiteNum(),site.getSiteNum()));
// 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<>());
// }else {
// siteJudgment.getJudgmentList().forEach(judgment -> siteMap.put(judgment.getJudgmentNum(),judgment.getJudgmentNum()));
// }
// for (int j = 0; j < count; j++) {
// if(siteMap.get(j) == null) {
// ProvinceCompeteVo.SiteJudgment siteJudgment1 = new ProvinceCompeteVo.SiteJudgment();
// siteJudgment1.setJudgmentNum(j);
// siteJudgment.getJudgmentList().add(siteJudgment1);
// }
// }
// CollectionUtil.sort(siteJudgment.getJudgmentList(), Comparator.comparingInt(ProvinceCompeteVo.SiteJudgment::getJudgmentNum));
// } else {
// int a = projectJudgment.getSiteList().size();
// for (int j = 0; j < projectJudgment.getSiteNums(); 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;
@ -555,159 +343,160 @@ public class CompeteTaskService implements ICompeteTaskService {
//修改成员
//修改任务
} else {
//添加角色
MemberRoleDto.SaveRole saveRole = new MemberRoleDto.SaveRole();
saveRole.setProjectId(tallProjectId);
String jdgmentNum = "";
if (judgmentInfo.getJudgmentNum() == 0) {
jdgmentNum = "主裁判";
} else {
jdgmentNum = "裁判" + judgmentInfo.getJudgmentNum();
}
saveRole.setRoleName(project.getName() + "-场地" + siteJudgment.getSite() + "-" + jdgmentNum);
Long roleId = null;
saveRole.setToken(token);
log.info("在tall内添加角色:{}", saveRole);
JsonResponse<MemberVo.RoleInfo> roleJsonResponse = tallFeignClient.saveRole(saveRole);
log.info("添加角色后返回:{}", roleJsonResponse);
//失败return
if (ObjectUtil.isNull(roleJsonResponse)) {
log.info("调用tall返回null");
return;
}
if( roleJsonResponse.getCode() != 200) {
log.info("调用tall异常后返回:{}", roleJsonResponse.getMsg());
return;
}
MemberVo.RoleInfo roleInfo = roleJsonResponse.getData();
if (ObjectUtil.isNotNull(roleInfo)) {
roleId = roleInfo.getRoleId();
}
//添加成员
MemberRoleDto.SaveMember saveMember = new MemberRoleDto.SaveMember();
saveMember.setMemberName(judgmentInfo.getJudgmentName());
saveMember.setProjectId(tallProjectId);
saveMember.setPhone(judgmentInfo.getJudgmentPhone());
saveMember.setRoleId(Arrays.asList(roleId));
saveMember.setToken(token);
log.info("在tall内添加成员:{}", saveMember);
JsonResponse<MemberVo.Member> memberJsonResponse = tallFeignClient.saveMember(saveMember);
log.info("添加成员后返回:{}", memberJsonResponse);
//如果成员已存在,查询成员信息然后添加至角色内
Long memberId = null;
Long userId = null;
//失败return
if (ObjectUtil.isNull(memberJsonResponse)) {
log.info("调用tall返回null");
return;
}
if(memberJsonResponse.getCode() != 200 && memberJsonResponse.getCode() != 21){
log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg());
return;
}
if(roleJsonResponse.getCode() == 200){
MemberVo.Member member = memberJsonResponse.getData();
if(ObjectUtil.isNotNull(member)){
userId = member.getUserId();
}
}
//code等于21代表成员已存在
if (memberJsonResponse.getCode() == 21) {
log.info("该成员已存在:{}", memberJsonResponse.getMsg());
//查询该手机号在项目内的成员的id
MemberRoleDto.GetMemberByPhone getMemberByPhone = new MemberRoleDto.GetMemberByPhone();
getMemberByPhone.setProjectId(tallProjectId);
getMemberByPhone.setPhone(judgmentInfo.getJudgmentPhone());
getMemberByPhone.setToken(token);
log.info("查找该手机号以前的成员信息:{}", judgmentInfo.getJudgmentPhone());
JsonResponse<MemberVo.MemberList> memberListJsonResponse = tallFeignClient.queryMemberByPhone(getMemberByPhone);
log.info("查找该手机号以前的成员信息返回:{}", memberListJsonResponse);
//失败return
if (ObjectUtil.isNull(memberListJsonResponse)) {
log.info("调用tall返回null");
return;
}
if(memberListJsonResponse.getCode() != 200){
log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg());
return;
}
MemberVo.MemberList memberList = memberListJsonResponse.getData();
if (ObjectUtil.isNotNull(memberList)) {
memberId = memberList.getMemberId();
userId = memberList.getUserId();
}
//将该成员添加至角色下
if (ObjectUtil.isNotNull(roleId) && ObjectUtil.isNotNull(memberId)) {
MemberRoleDto.SaveMemberInRole saveMemberInRole = new MemberRoleDto.SaveMemberInRole();
saveMemberInRole.setRoleId(roleId);
saveMemberInRole.setMemberId(memberId);
saveMemberInRole.setToken(token);
log.info("将该成员添加至角色内");
JsonResponse jsonResponse = tallFeignClient.saveMemberInRole(saveMemberInRole);
if (ObjectUtil.isNull(jsonResponse)) {
log.info("调用tall返回null");
return;
}
if(jsonResponse.getCode() != 200){
log.info("调用tall异常后返回:{}", jsonResponse.getMsg());
return;
}
}
}
//添加任务
//查找场次信息表
CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample();
startOrderExample.createCriteria().andProjectIdEqualTo(project.getId())
.andSiteEqualTo((byte) siteJudgment.getSite());
List<CompeteStartOrder> startOrderList = startOrderMapper.selectByExample(startOrderExample);
if (CollectionUtil.isNotEmpty(startOrderList)) {
for (CompeteStartOrder startOrder : startOrderList) {
TallTaskDto.AddTask addTask = new TallTaskDto.AddTask();
addTask.setProjectId(tallProjectId);
addTask.setTaskName(project.getName() + startOrder.getCompeteOrder() + "-"
+ startOrder.getSite() + "-" + jdgmentNum);
addTask.setBeginTime(startOrder.getStartTime());
addTask.setEndTime(startOrder.getEndTime());
addTask.setExecutorId(roleId);
addTask.setParentTaskId(startOrder.getTaskId());
addTask.setToken(token);
log.info("在tall内添加任务:{}", addTask);
JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask);
log.info("添加任务后返回:{}", normalTaskJsonResponse);
if (ObjectUtil.isNull(normalTaskJsonResponse)) {
log.info("调用tall返回null");
return;
}
if(normalTaskJsonResponse.getCode() != 200){
log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg());
return;
}
if (ObjectUtil.isNotNull(normalTaskJsonResponse)) {
TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData();
if (ObjectUtil.isNotNull(normalTask)) {
//修改任务插件配置信息
TallTaskDto.UpdatePluginConfig updatePluginConfig = new TallTaskDto.UpdatePluginConfig();
updatePluginConfig.setWebPath("/home/osct/video-score");
updatePluginConfig.setTaskId(normalTask.getDetailId());
updatePluginConfig.setToken(token);
log.info("修改tall内任务插件配置:{}", updatePluginConfig);
JsonResponse<TaskVo.PluginVo> pluginVoJsonResponse = tallFeignClient.updatePluginConfig(updatePluginConfig);
log.info("修改任务插件配置后返回:{}", pluginVoJsonResponse);
if (ObjectUtil.isNull(pluginVoJsonResponse)) {
log.info("调用tall返回null");
return;
}
if(pluginVoJsonResponse.getCode() != 200){
log.info("调用tall异常后返回:{}", pluginVoJsonResponse.getMsg());
return;
}
}
}
}
}
// TODO
// //添加角色
// MemberRoleDto.SaveRole saveRole = new MemberRoleDto.SaveRole();
// saveRole.setProjectId(tallProjectId);
// String jdgmentNum = "";
// if (judgmentInfo.getJudgmentNum() == 0) {
// jdgmentNum = "主裁判";
// } else {
// jdgmentNum = "裁判" + judgmentInfo.getJudgmentNum();
// }
// saveRole.setRoleName(project.getName() + "-场地" + siteJudgment.getSite() + "-" + jdgmentNum);
// Long roleId = null;
// saveRole.setToken(token);
// log.info("在tall内添加角色:{}", saveRole);
// JsonResponse<MemberVo.RoleInfo> roleJsonResponse = tallFeignClient.saveRole(saveRole);
// log.info("添加角色后返回:{}", roleJsonResponse);
// //失败return
// if (ObjectUtil.isNull(roleJsonResponse)) {
// log.info("调用tall返回null");
// return;
// }
// if( roleJsonResponse.getCode() != 200) {
// log.info("调用tall异常后返回:{}", roleJsonResponse.getMsg());
// return;
// }
// MemberVo.RoleInfo roleInfo = roleJsonResponse.getData();
// if (ObjectUtil.isNotNull(roleInfo)) {
// roleId = roleInfo.getRoleId();
// }
// //添加成员
// MemberRoleDto.SaveMember saveMember = new MemberRoleDto.SaveMember();
// saveMember.setMemberName(judgmentInfo.getJudgmentName());
// saveMember.setProjectId(tallProjectId);
// saveMember.setPhone(judgmentInfo.getJudgmentPhone());
// saveMember.setRoleId(Arrays.asList(roleId));
// saveMember.setToken(token);
// log.info("在tall内添加成员:{}", saveMember);
// JsonResponse<MemberVo.Member> memberJsonResponse = tallFeignClient.saveMember(saveMember);
// log.info("添加成员后返回:{}", memberJsonResponse);
// //如果成员已存在,查询成员信息然后添加至角色内
// Long memberId = null;
// Long userId = null;
// //失败return
// if (ObjectUtil.isNull(memberJsonResponse)) {
// log.info("调用tall返回null");
// return;
// }
// if(memberJsonResponse.getCode() != 200 && memberJsonResponse.getCode() != 21){
// log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg());
// return;
// }
// if(roleJsonResponse.getCode() == 200){
// MemberVo.Member member = memberJsonResponse.getData();
// if(ObjectUtil.isNotNull(member)){
// userId = member.getUserId();
// }
// }
// //code等于21代表成员已存在
// if (memberJsonResponse.getCode() == 21) {
// log.info("该成员已存在:{}", memberJsonResponse.getMsg());
// //查询该手机号在项目内的成员的id
// MemberRoleDto.GetMemberByPhone getMemberByPhone = new MemberRoleDto.GetMemberByPhone();
// getMemberByPhone.setProjectId(tallProjectId);
// getMemberByPhone.setPhone(judgmentInfo.getJudgmentPhone());
// getMemberByPhone.setToken(token);
// log.info("查找该手机号以前的成员信息:{}", judgmentInfo.getJudgmentPhone());
// JsonResponse<MemberVo.MemberList> memberListJsonResponse = tallFeignClient.queryMemberByPhone(getMemberByPhone);
// log.info("查找该手机号以前的成员信息返回:{}", memberListJsonResponse);
// //失败return
// if (ObjectUtil.isNull(memberListJsonResponse)) {
// log.info("调用tall返回null");
// return;
// }
// if(memberListJsonResponse.getCode() != 200){
// log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg());
// return;
// }
//
// MemberVo.MemberList memberList = memberListJsonResponse.getData();
// if (ObjectUtil.isNotNull(memberList)) {
// memberId = memberList.getMemberId();
// userId = memberList.getUserId();
// }
//
// //将该成员添加至角色下
// if (ObjectUtil.isNotNull(roleId) && ObjectUtil.isNotNull(memberId)) {
// MemberRoleDto.SaveMemberInRole saveMemberInRole = new MemberRoleDto.SaveMemberInRole();
// saveMemberInRole.setRoleId(roleId);
// saveMemberInRole.setMemberId(memberId);
// saveMemberInRole.setToken(token);
// log.info("将该成员添加至角色内");
// JsonResponse jsonResponse = tallFeignClient.saveMemberInRole(saveMemberInRole);
// if (ObjectUtil.isNull(jsonResponse)) {
// log.info("调用tall返回null");
// return;
// }
// if(jsonResponse.getCode() != 200){
// log.info("调用tall异常后返回:{}", jsonResponse.getMsg());
// return;
// }
// }
// }
//
// //添加任务
// //查找场次信息表
// CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample();
// startOrderExample.createCriteria().andProjectIdEqualTo(project.getId())
// .andSiteEqualTo((byte) siteJudgment.getSite());
// List<CompeteStartOrder> startOrderList = startOrderMapper.selectByExample(startOrderExample);
// if (CollectionUtil.isNotEmpty(startOrderList)) {
// for (CompeteStartOrder startOrder : startOrderList) {
// TallTaskDto.AddTask addTask = new TallTaskDto.AddTask();
// addTask.setProjectId(tallProjectId);
// addTask.setTaskName(project.getName() + startOrder.getCompeteOrder() + "-"
// + startOrder.getSite() + "-" + jdgmentNum);
// addTask.setBeginTime(startOrder.getStartTime());
// addTask.setEndTime(startOrder.getEndTime());
// addTask.setExecutorId(roleId);
// addTask.setParentTaskId(startOrder.getTaskId());
// addTask.setToken(token);
// log.info("在tall内添加任务:{}", addTask);
// JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask);
// log.info("添加任务后返回:{}", normalTaskJsonResponse);
// if (ObjectUtil.isNull(normalTaskJsonResponse)) {
// log.info("调用tall返回null");
// return;
// }
// if(normalTaskJsonResponse.getCode() != 200){
// log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg());
// return;
// }
// if (ObjectUtil.isNotNull(normalTaskJsonResponse)) {
// TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData();
// if (ObjectUtil.isNotNull(normalTask)) {
// //修改任务插件配置信息
// TallTaskDto.UpdatePluginConfig updatePluginConfig = new TallTaskDto.UpdatePluginConfig();
// updatePluginConfig.setWebPath("/home/osct/video-score");
// updatePluginConfig.setTaskId(normalTask.getDetailId());
// updatePluginConfig.setToken(token);
// log.info("修改tall内任务插件配置:{}", updatePluginConfig);
// JsonResponse<TaskVo.PluginVo> pluginVoJsonResponse = tallFeignClient.updatePluginConfig(updatePluginConfig);
// log.info("修改任务插件配置后返回:{}", pluginVoJsonResponse);
// if (ObjectUtil.isNull(pluginVoJsonResponse)) {
// log.info("调用tall返回null");
// return;
// }
// if(pluginVoJsonResponse.getCode() != 200){
// log.info("调用tall异常后返回:{}", pluginVoJsonResponse.getMsg());
// return;
// }
// }
// }
// }
// }
//添加裁判
competeJudgment = new CompeteJudgment();
competeJudgment.setId(snowflake.nextId());
@ -718,9 +507,9 @@ public class CompeteTaskService implements ICompeteTaskService {
competeJudgment.setProjectId(project.getId());
competeJudgment.setSite(siteJudgment.getSite());
competeJudgment.setChiefJudgment((byte) judgmentInfo.getJudgmentNum());
competeJudgment.setRoleId(roleId);
competeJudgment.setMemberId(memberId);
competeJudgment.setUserId(userId);
// competeJudgment.setRoleId(roleId);
// competeJudgment.setMemberId(memberId);
// competeJudgment.setUserId(userId);
competeJudgmentDao.insertSelective(competeJudgment);
}

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

@ -695,212 +695,97 @@ public class ExcelService implements IExcelService {
*/
@Override
public String iCompetitionOrderService(QueryDto<CompeteDto.CompeteTime> params) {
List<CompeteExcelVo.AllProject> competeProjectList= competeCompanyDao.selectProjectByType(params.getParam().getCompeteTimeId());
for (int i=0;i<competeProjectList.size();i++){
CompeteExcelVo.AllProject competeProject=competeProjectList.get(i);
SimpleDateFormat start=new SimpleDateFormat("HH:mm");
SimpleDateFormat end=new SimpleDateFormat("HH:mm");
SimpleDateFormat date=new SimpleDateFormat("MM-dd a");
String startStr=start.format(new Date(competeProject.getStartTime()));
competeProject.setStartTimeStr(startStr);
String endStr=end.format(new Date(competeProject.getEndTime()));
competeProject.setEndTimeStr(endStr);
String year=date.format(new Date(competeProject.getStartTime()));
competeProject.setYear(year);
int siteNum=competeProject.getSiteNum();
competeProject.setSiteNum(siteNum);
int size;
if(competeProject.getTeam().equals((byte) 0)){
List<CompeteExcelVo.TeamOrderPlayer> singleOrderPlayerList=competePlayerDao.selectSinglePlayerByProjectId(competeProject.getId());
size = singleOrderPlayerList.stream().mapToInt(singleOrderPlayer -> singleOrderPlayer.getCompanyNameList().size()).sum();
competeProject.setProjectList(singleOrderPlayerList);
}else {
List<CompeteExcelVo.TeamOrderPlayer> teamOrderPlayerList= competeTeamDao.selectTeamMemberByProjectId(competeProject.getId());
size = teamOrderPlayerList.stream().mapToInt(teamOrderPlayer -> teamOrderPlayer.getCompanyNameList().size()).sum();
competeProject.setProjectList(teamOrderPlayerList);
}
competeProject.setSize(size);
}
String dasia=competeTimeDao.selectByPrimaryKey(params.getParam().getCompeteTimeId()).getName();
//创建excle表格对象
List<List<PoiUtil.PoiUtilCell>> biao = new ArrayList<>();
List<PoiUtil.PoiUtilCell> one = new ArrayList<>();
PoiUtil.PoiUtilCell yuandongyuan=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 6, 1);
yuandongyuan.setValue(dasia+"出场顺序表");
one.add(yuandongyuan);
biao.add(one);
for (int j=0 ;j<competeProjectList.size();j++){
List<PoiUtil.PoiUtilCell> three = new ArrayList<>();
PoiUtil.PoiUtilCell threeDate=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 6, 1);
if(j==0){
threeDate.setValue(competeProjectList.get(j).getYear());
three.add(threeDate);
biao.add(three);
List<PoiUtil.PoiUtilCell> two = new ArrayList<>();
PoiUtil.PoiUtilCell two1=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two1.setValue("时间");
PoiUtil.PoiUtilCell two2=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two2.setValue("项目");
PoiUtil.PoiUtilCell two3=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two3.setValue("组别");
PoiUtil.PoiUtilCell two4=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two4.setValue("场次/场地");
PoiUtil.PoiUtilCell two5=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two5.setValue("参赛单位");
PoiUtil.PoiUtilCell two6=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two6.setValue("参赛人员");
two.add(two1);
two.add(two2);
two.add(two3);
two.add(two4);
two.add(two5);
two.add(two6);
biao.add(two);
}else{
if (!competeProjectList.get(j).getYear().equals(competeProjectList.get(j-1).getYear())){
threeDate.setValue(competeProjectList.get(j).getYear());
three.add(threeDate);
biao.add(three);
List<PoiUtil.PoiUtilCell> two = new ArrayList<>();
PoiUtil.PoiUtilCell two1=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two1.setValue("时间");
PoiUtil.PoiUtilCell two2=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two2.setValue("项目");
PoiUtil.PoiUtilCell two3=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two3.setValue("组别");
PoiUtil.PoiUtilCell two4=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two4.setValue("场次/场地");
PoiUtil.PoiUtilCell two5=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two5.setValue("参赛单位");
PoiUtil.PoiUtilCell two6=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two6.setValue("参赛人员");
two.add(two1);
two.add(two2);
two.add(two3);
two.add(two4);
two.add(two5);
two.add(two6);
biao.add(two);
}
}
//m行循环 是16次 k 是组次数得循环 4 次 n是组里面得循环
for(int k=0,m=0,n=0;m<competeProjectList.get(j).getSize();m++){
//代表一行
List<PoiUtil.PoiUtilCell> four = new ArrayList<>();
if(m==0){
PoiUtil.PoiUtilCell fourOne=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, competeProjectList.get(j).getSize());
fourOne.setValue(competeProjectList.get(j).getStartTimeStr()+"-"+competeProjectList.get(j).getEndTimeStr());
four.add(fourOne);
PoiUtil.PoiUtilCell fourTwo=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, competeProjectList.get(j).getSize());
fourTwo.setValue(competeProjectList.get(j).getProjectName());
four.add(fourTwo);
}else {
four.add(new PoiUtil.PoiUtilCell());
four.add(new PoiUtil.PoiUtilCell());
}
PoiUtil.PoiUtilCell fourThree=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, competeProjectList.get(j).getProjectList().get(k).getCompanyNameList().size());
if(n>0){
fourThree=new PoiUtil.PoiUtilCell();
}else {
fourThree.setValue(competeProjectList.get(j).getProjectList().get(k++).getGroupName());
n++;
}
if(n==competeProjectList.get(j).getProjectList().get(k-1).getCompanyNameList().size()){
n=0;
//k++
CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(params.getParam().getCompeteTimeId());
if(competeTime!=null){
List<CompeteExcelVo.Project> allProjectList = competeScoreDao.selAllOrder(competeTime.getType());
List<List<PoiUtil.PoiUtilCell>> biao = new ArrayList<>();
List<PoiUtil.PoiUtilCell> one = new ArrayList<>();
PoiUtil.PoiUtilCell yuandongyuan=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 6, 1);
yuandongyuan.setValue(competeTime.getName()+"出场顺序表");
one.add(yuandongyuan);
biao.add(one);
List<PoiUtil.PoiUtilCell> two = new ArrayList<>();
PoiUtil.PoiUtilCell two1=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two1.setValue("时间");
PoiUtil.PoiUtilCell two2=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two2.setValue("项目");
PoiUtil.PoiUtilCell two3=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two3.setValue("组别");
PoiUtil.PoiUtilCell two4=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two4.setValue("场次/场地");
PoiUtil.PoiUtilCell two5=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two5.setValue("参赛单位");
PoiUtil.PoiUtilCell two6=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two6.setValue("参赛人员");
two.add(two1);
two.add(two2);
two.add(two3);
two.add(two4);
two.add(two5);
two.add(two6);
biao.add(two);
for (CompeteExcelVo.Project project : allProjectList) {
int j = 0, q = 0;//一个项目得长度 项目循环
for (CompeteExcelVo.TeamOrderPlayer teamOrderPlayer : project.getProjectList()) {
j += teamOrderPlayer.getCompanyNameList().size();
}
four.add(fourThree);
PoiUtil.PoiUtilCell fourFour=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
int x=competeProjectList.get(j).getTeam();
if(x<=0){
x=2;
}
if((m+1)%x==0){
fourFour.setValue(""+((m+1)/x)+"--"+x);
}else {
fourFour.setValue(""+((m+1)/x+1)+"--"+((m+1)%x));
}
four.add(fourFour);
PoiUtil.PoiUtilCell fourFive=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
if(n==0){
log.info("j:{}, k:{}, n:{}", j,k,n);
fourFive.setValue(competeProjectList.get(j).getProjectList().get(k-1).getCompanyNameList().get(n).getCompanyName());
}else {
fourFive.setValue(competeProjectList.get(j).getProjectList().get(k-1).getCompanyNameList().get(n-1).getCompanyName());
}
four.add(fourFive);
PoiUtil.PoiUtilCell fourSix=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
if(n==0){
fourSix.setValue(competeProjectList.get(j).getProjectList().get(k-1).getCompanyNameList().get(n).getPlayerNames());
}else {
fourSix.setValue(competeProjectList.get(j).getProjectList().get(k-1).getCompanyNameList().get(n-1).getPlayerNames());
for (int k = 0; k < project.getProjectList().size(); k++) {
int t = 0;//组别得长度 组别循环
for (int m = 0; m < project.getProjectList().get(k).getCompanyNameList().size(); m++) {
List<PoiUtil.PoiUtilCell> three = new ArrayList<>();
PoiUtil.PoiUtilCell three1;
PoiUtil.PoiUtilCell three2;
if (q == 0) {
three1 = new PoiUtil.PoiUtilCell(project.getStartTime(), 1, j);
three2 = new PoiUtil.PoiUtilCell(project.getProjectName(), 1, j);
q++;
} else {
three1 = new PoiUtil.PoiUtilCell();
three2 = new PoiUtil.PoiUtilCell();
}
PoiUtil.PoiUtilCell three3;
if (t == 0) {
three3 = new PoiUtil.PoiUtilCell(project.getProjectList().get(k).getGroupName(), 1, project.getProjectList().get(k).getCompanyNameList().size());
++t;
} else {
three3 = new PoiUtil.PoiUtilCell();
}
PoiUtil.PoiUtilCell three4 = new PoiUtil.PoiUtilCell(project.getProjectList().get(k).getCompanyNameList().get(m).getStartOrder(), 1, 1);
PoiUtil.PoiUtilCell three5 = new PoiUtil.PoiUtilCell(project.getProjectList().get(k).getCompanyNameList().get(m).getCompanyName(), 1, 1);
PoiUtil.PoiUtilCell three6 = new PoiUtil.PoiUtilCell(project.getProjectList().get(k).getCompanyNameList().get(m).getPlayerName(), 1, 1);
three.add(three1);
three.add(three2);
three.add(three3);
three.add(three4);
three.add(three5);
three.add(three6);
biao.add(three);
}
}
four.add(fourSix);
biao.add(four);
}
Workbook workbook = new XSSFWorkbook();
PoiUtil.exportWB("出场顺序表",biao,workbook);
String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx";
String path = PropUtil.path + filepath;
String path1="C:/d/"+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;
}
Workbook workbook = new XSSFWorkbook();
PoiUtil.exportWB("出场顺序",biao,workbook);
String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx";
String path = PropUtil.path + filepath;
String path1="C:/d/"+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;
return "";
}
// private List<TableVo.CompeteAllCount> competeAllCountList(CompeteDto.CompeteTime params){
// //根据大赛查类型
// Long competeTimeId = params.getCompeteTimeId();
// CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(competeTimeId);
// int type = competeTime.getType();
// Byte level = 2;
// CompeteProjectExample competeProjectExample = new CompeteProjectExample();
// competeProjectExample.createCriteria().andTypeEqualTo((byte) type).andLevelEqualTo(level);
// //获取参赛项目集合
// List<CompeteProject> competeProjectList = competeProjectMapper.selectByExample(competeProjectExample);
// CompeteGroupExample competeGroupExample = new CompeteGroupExample();
// competeGroupExample.createCriteria().andTypeEqualTo((byte) type);
// //获取组别集合
// List<CompeteGroup> competeGroupList = competeGroupMapper.selectByExample(competeGroupExample);
// for (CompeteProject competeProject : competeProjectList){
// //若不是团队项目
// if (competeProject.getTeam() == 0){
// TableVo.CompeteAllCount competeAllCount = new TableVo.CompeteAllCount();
// //项目名赋值
// competeAllCount.setProjectName(competeProject.getName());
// //遍历组别集合
// int i = 0;
// for(CompeteGroup competeGroup : competeGroupList){
// CompetePlayerExample competePlayerExample = new CompetePlayerExample();
// competePlayerExample.createCriteria().andCompeteGroupIdEqualTo(competeGroup.getId());
// //计算每个组别人数
// long count = competePlayerDao.countByExample(competePlayerExample);
// }
// }
// }
// return null;
// }
private List<TableVo.CompeteAllCount> competeAllCountList(CompeteDto.CompeteTime params){
//查询个人赛的数量统计

4
mt/src/main/resources/application-common.yml

@ -25,6 +25,6 @@ spring:
max-file-size: 10MB
max-request-size: 100MB
snowflake:
datacenterId: 1
workerId: 1
datacenterId: 2
workerId: 2

93
mt/src/main/resources/mapper_dao/CompetePlayerDao.xml

@ -405,64 +405,61 @@
</select>
<select id="getJoinRuleTeamNumByType" resultMap="teamNum1">
SELECT
g.id as groupId,
g.group_name,
g.projectId,
g.`projectName`,
g.`certificate`,
g.`team`,
g.`joinRule`,
if(count(t.teamId) = 0,'/',count(t.teamId)) as aNum
FROM
(
SELECT
gr.*,
p.id as projectId,
p.`name` as projectName,
p.certificate as certificate,
a.groupId as groupId,
a.aNum as aNum,
p.team as team,
p.join_rule as joinRule
FROM
t_compete_project p
LEFT JOIN(
SELECT
g.id as groupId,
g.group_name as groupName,
g.sequence as sequence,
t.projectId,
if(t.num is null,'/',t.num) as aNum
FROM
t_compete_group g
LEFT JOIN
(
SELECT
g.id as gid,
g.group_name,
count(t.teamId) as num,
t.projectId as projectId
FROM
t_compete_group g
LEFT JOIN
(
SELECT
t.id as teamId,
t.project_id as projectId,
t.gender_group,
t.group_remark
FROM
t_compete_team t
LEFT JOIN t_compete_company c on t.company_id = c.id
WHERE
(t.rec_status = 0 or t.rec_status is null)
and (c.rec_status = 0 or c.rec_status is null)
)t on ((t.gender_group = g.sex and t.group_remark = g.group_remark) or t.teamId is null)
WHERE
g.type = 0
and g.rec_status = 0
GROUP BY g.id,t.projectId
ORDER BY g.sequence
)t
on (t.gid = g.id or t.gid is null)
WHERE
g.type = 0
and g.rec_status = 0
)a on (p.id = a.projectId or a.projectId is null)
t_compete_project p ,
t_compete_group gr
WHERE
p.type = #{type}
p.type = 0
and gr.type = 0
and p.team = 1
and p.`level` = 2
and p.join_rule = 0
and p.rec_status = 0
ORDER BY p.id,a.sequence
and gr.rec_status = 0
)g
left join
(
SELECT
t.id as teamId,
t.project_id as projectId,
t.gender_group,
t.group_remark
FROM
t_compete_team t
LEFT JOIN t_compete_company c on t.company_id = c.id
LEFT JOIN t_compete_project p on t.project_id = p.id
WHERE
t.rec_status = 0
and p.type = 0
and p.team = 1
and p.`level` = 2
and p.join_rule = 0
and p.rec_status = 0
and c.rec_status = 0
)t on t.gender_group = g.sex
and t.group_remark = g.group_remark
and t.projectId = g.projectId
WHERE
g.type = 0
and g.rec_status = 0
GROUP BY g.projectId,g.id
ORDER BY g.projectId,g.sequence
</select>
</mapper>

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

@ -862,6 +862,116 @@
ORDER BY
tt.id
</select>
<resultMap id="selAllOrder" type="com.ccsens.mt.bean.vo.CompeteExcelVo$Project">
<id column="projectId" property="projectId"></id>
<result column="projectName" property="projectName" />
<result property="startTime" column="startTime" />
<collection property="projectList" column="groupId" ofType="com.ccsens.mt.bean.vo.CompeteExcelVo$TeamOrderPlayer">
<id property="groupId" column="groupId"/>
<result property="groupName" column="groupName"/>
<collection property="companyNameList" ofType="com.ccsens.mt.bean.vo.CompeteExcelVo$TeamOrderPlayerList">
<result column="startOrder" property="startOrder"/>
<result column="companyName" property="companyName"/>
<result column="playerName" property="playerName"/>
<result property="teamId" column="teamId"/>
</collection>
</collection>
</resultMap>
<select id="selAllOrder" resultMap="selAllOrder" >
SELECT
*
FROM
(
SELECT
CONCAT( FROM_UNIXTIME( pc.start_time / 1000, '%y-%m-%d %H:%i' ), '~', FROM_UNIXTIME( pc.end_time / 1000, '%H:%i' ) ) AS startTime,
p.`name` AS projectName,
g.`group_name` AS groupName,
CONCAT( so.compete_order, '--', so.site ) AS startOrder,
c.`name` AS companyName,
pl.`name` AS playerName,
c.id AS companyId,
p.id AS projectId,
g.id AS groupId,
pl.id AS playerId,
so.compete_order AS competeOrder,
so.site AS site,
pc.start_time AS st,
pp.id AS teamId
FROM
t_compete_project_player pp
LEFT JOIN t_compete_project p ON p.id = pp.project_id
LEFT JOIN t_compete_player pl ON pp.player_id = pl.id
LEFT JOIN t_compete_company c ON pl.company_id = c.id
LEFT JOIN t_compete_group g ON g.id = pl.compete_group_id
LEFT JOIN t_compete_project_config pc ON pc.project_id = p.id
LEFT JOIN t_compete_start_order so ON pp.id = so.player_id
WHERE
p.type = #{type}
AND p.`level` = 2
AND p.join_rule = 0
AND p.team = 0
AND p.rec_status = 0
AND pp.rec_status = 0
AND c.rec_status = 0
AND pl.rec_status = 0
AND g.rec_status = 0
AND pc.rec_status = 0
AND so.rec_status = 0 UNION
SELECT
CONCAT( FROM_UNIXTIME( pc.start_time / 1000, '%y-%m-%d %H:%i' ), '~', FROM_UNIXTIME( pc.end_time / 1000, '%H:%i' ) ) AS startTime,
p.`name` AS projectName,
g.`group_name` AS groupName,
CONCAT( so.compete_order, '--', so.site ) AS startOrder,
c.`name` AS companyName,
GROUP_CONCAT( pl.`name` SEPARATOR '、' ) AS playerName,
c.id AS companyId,
p.id AS projectId,
g.id AS groupId,
pl.id AS playerId,
so.compete_order AS competeOrder,
so.site AS site,
pc.start_time AS st,
t.id AS teamId
FROM
t_compete_project p
LEFT JOIN t_compete_team t ON p.id = t.project_id
LEFT JOIN t_compete_team_member m ON t.id = m.compete_team_id
LEFT JOIN t_compete_company c ON t.company_id = c.id
LEFT JOIN t_compete_player pl ON m.player_id = pl.id
LEFT JOIN t_compete_group g ON t.gender_group = g.sex
AND t.group_remark = g.group_remark
LEFT JOIN t_compete_project_config pc ON pc.project_id = p.id
LEFT JOIN t_compete_start_order so ON t.id = so.player_id
WHERE
p.type = #{type}
AND p.`level` = 2
AND p.team = 1
AND p.rec_status = 0
AND m.rec_status = 0
AND t.rec_status = 0
AND pl.rec_status = 0
AND g.rec_status = 0
AND c.rec_status = 0
AND pc.rec_status = 0
AND so.rec_status = 0
GROUP BY
c.id,
g.id,
t.id
) t
GROUP BY
t.companyId,
t.groupId,
t.projectId,
t.teamId
ORDER BY
t.st,
t.projectId,
t.groupId,
t.competeOrder,
t.site
</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

2
mt/src/main/resources/mapper_dao/CompeteVideoDao.xml

@ -30,8 +30,6 @@
<!-- ) group by company id-->
) tcpl on tcpl.company_id=tcc.id
where
tct.id= #{param.id}

33
tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java

@ -10,6 +10,7 @@ import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
@Data
public class TaskDto {
@ -45,6 +46,38 @@ public class TaskDto {
private TaskRemindByAdd taskRemind;
}
@ApiModel("批量添加任务")
@Data
public static class AddTaskList {
@NotNull(message = "任务id不能为空")
@ApiModelProperty("任务id")
private Long id;
@NotNull(message = "项目id不能为空")
@ApiModelProperty("关联项目Id")
private Long projectId;
@ApiModelProperty("关联的任务id(detailId)")
private Long parentId;
@ApiModelProperty("任务名称")
@NotEmpty(message = "任务名不能为空")
private String name;
@ApiModelProperty("任务描述")
private String description;
@ApiModelProperty("负责人id")
@NotNull(message = "请选择负责人")
private Long executorRole;
@ApiModelProperty("开始时间")
private Long beginTime;
@ApiModelProperty("结束时间")
private Long endTime;
@ApiModelProperty("重复周期")
private String cycle;
@ApiModelProperty("交付物")
private String taskDeliver;
@ApiModelProperty("任务等级")
private Byte level;
}
@Data
@ApiModel("添加时设置任务提醒")
public static class TaskRemindByAdd{

12
tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java

@ -53,4 +53,16 @@ public interface TaskDetailDao extends ProTaskDetailMapper {
* @return
*/
List<TaskVo.TaskListByProjectId> getTaskByParentId(@Param("parentTaskId")Long parentTaskId,@Param("milestone")Integer milestone,@Param("beginTime")Long beginTime,@Param("endTime")Long endTime);
// /**
// * 批量添加任务详情表
// * @param taskDetailList
// */
// void saveTaskList(List<ProTaskDetail> taskDetailList);
//
// /**
// * 批量添加subtime
// * @param subList
// */
// void saveSubTimeTaskList(List<ProTaskSubTime> subList);
}

126
tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java

@ -15,6 +15,7 @@ import com.ccsens.tall.persist.dao.*;
import com.ccsens.tall.util.TallConstant;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.JacksonUtil;
import com.ccsens.util.TransactionUtil;
import com.ccsens.util.WebConstant;
import com.ccsens.util.bean.message.common.InMessage;
import com.ccsens.util.bean.message.common.MessageConstant;
@ -492,6 +493,131 @@ public class TaskSubTimeService implements ITaskSubTimeService {
}
/**
* 批量添加任务
*/
// @Override
public void addTaskList(Long currentUserId, List<TaskDto.AddTaskList> addTaskList) throws Exception {
if(CollectionUtil.isEmpty(addTaskList)){
return;
}
List<ProTaskDetail> taskDetailList = new ArrayList<>();
List<ProTaskSubTime> proTaskSubTimeList = new ArrayList<>();
addTaskList.forEach(addTask -> {
if(!(ObjectUtil.isNotNull(addTask.getBeginTime()) && ObjectUtil.isNotNull(addTask.getEndTime())) && StrUtil.isEmpty(addTask.getCycle())){
throw new BaseException(CodeEnum.PARAM_ERROR);
}
ProTaskDetail detail = new ProTaskDetail();
BeanUtil.copyProperties(addTask,detail);
// taskDetailDao.insertSelective(detail);
taskDetailList.add(detail);
//cycle为空,只加一条数据
if (StrUtil.isEmpty(detail.getCycle())) {
ProTaskSubTime proTaskSubTime = new ProTaskSubTime();
proTaskSubTime.setId(snowflake.nextId());
proTaskSubTime.setTaskDetailId(detail.getId());
proTaskSubTime.setBeginTime(detail.getBeginTime());
proTaskSubTime.setEndTime(detail.getEndTime());
// taskSubTimeDao.insertSelective(proTaskSubTime);
proTaskSubTimeList.add(proTaskSubTime);
} else {
Date startDate = new Date(detail.getBeginTime());
Date endDate = new Date(detail.getEndTime());
List<CronConstant.TaskDate> taskDateList =
NatureToDate.generateDates(detail.getCycle(), startDate, endDate);
if (CollectionUtil.isNotEmpty(taskDateList)) {
for (CronConstant.TaskDate taskDate : taskDateList) {
ProTaskSubTime proTaskSubTime = new ProTaskSubTime();
proTaskSubTime.setId(snowflake.nextId());
proTaskSubTime.setTaskDetailId(detail.getId());
proTaskSubTime.setBeginTime(taskDate.getStartDate().getTime());
proTaskSubTime.setEndTime(taskDate.getEndDate().getTime());
// taskSubTimeDao.insertSelective(proTaskSubTime);
proTaskSubTimeList.add(proTaskSubTime);
}
}
}
});
// for (int i = 0; i < taskDetailList.size(); i+=100) {
// int end = Math.min(i + 100, taskDetailList.size());
// TransactionStatus transactionStatus = TransactionUtil.getTransactionStatus(transactionManager);
// taskDetailDao.saveTaskList(taskDetailList.subList(i, end));
// transactionManager.commit(transactionStatus);
// }
// for (int i = 0; i < proTaskSubTimeList.size(); i+=100) {
// int end = Math.min(i + 100, taskDetailList.size());
// TransactionStatus transactionStatus = TransactionUtil.getTransactionStatus(transactionManager);
// taskDetailDao.saveSubTimeTaskList(proTaskSubTimeList.subList(i, end));
// transactionManager.commit(transactionStatus);
// }
// taskDetailDao.saveTaskList(taskDetailList);
//批量添加
// SysProject project;
// if (ObjectUtil.isNotNull(addTask.getProjectId())) {
// project = sysProjectDao.selectByPrimaryKey(addTask.getProjectId());
// if (ObjectUtil.isNotNull(project)) {
// detail.setProjectId(addTask.getProjectId());
// detail.setBeginTime(project.getBeginTime());
// detail.setEndTime(project.getEndTime());
// detail.setLevel((byte) 2);
// } else {
// throw new BaseException("项目信息不正确");
// }
// } else {
// throw new BaseException(CodeEnum.PARAM_ERROR);
// }
// if (ObjectUtil.isNotNull(addTask.getParentTaskId())) {
// ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(addTask.getParentTaskId());
// if (ObjectUtil.isNotNull(taskDetail)) {
// detail.setBeginTime(taskDetail.getBeginTime());
// detail.setEndTime(taskDetail.getEndTime());
// detail.setLevel((byte) (taskDetail.getLevel() + 1));
//// if (taskDetail.getLevel() == 1) {
//// detail.setBeginTime(System.currentTimeMillis());
//// detail.setEndTime(com.ccsens.util.DateUtil.getYMD(DateUtil.tomorrow()).getTime());
//// }
// } else {
// throw new BaseException("任务信息不正确");
// }
// } else {
// detail.setLevel((byte) 1);
// }
// if (ObjectUtil.isNotNull(addTask.getBeginTime())) {
// detail.setBeginTime(addTask.getBeginTime());
// }
// if (ObjectUtil.isNotNull(addTask.getEndTime())) {
// detail.setEndTime(addTask.getEndTime());
// }
// //修改项目时间
// if (ObjectUtil.isNotNull(addTask.getProjectId())) {
// if (ObjectUtil.isNotNull(project)) {
// if (detail.getBeginTime() < project.getBeginTime()) {
// project.setBeginTime(detail.getBeginTime());
// }
// if (detail.getEndTime() > project.getEndTime()) {
// project.setEndTime(detail.getEndTime());
// }
// sysProjectDao.updateByPrimaryKeySelective(project);
// }
// }
//TaskSubTime
// //交付物
// if (StrUtil.isNotEmpty(addTask.getTaskDeliver())) {
// ProTaskDeliver deliver = new ProTaskDeliver();
// deliver.setId(snowflake.nextId());
// deliver.setTaskDetailId(detail.getId());
// deliver.setName(addTask.getTaskDeliver());
// deliver.setIsInput(0);
// taskDeliverDao.insertSelective(deliver);
// }
}
/**
* 清空项目下所有任务的实际开始结束时间和运行状态
* @param projectId 项目id

1
tall/src/main/resources/mapper_dao/TaskDetailDao.xml

@ -57,6 +57,7 @@
<result column="sId" property="subTimeId" />
</resultMap>
<select id="selectTaskByRoleAndAllMembers" parameterType="java.util.Map"
resultMap="secondTask">
SELECT

Loading…
Cancel
Save