Lihong@123456 5 years ago
parent
commit
876864d502
  1. 17
      mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java
  2. 9
      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. 197
      mt/src/main/java/com/ccsens/mt/service/ExcelService.java
  6. 4
      mt/src/main/resources/application-common.yml
  7. 75
      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 { public static class TeamOrderPlayerList {
@ApiModelProperty("团队id") @ApiModelProperty("团队id")
private Long teamId; private Long teamId;
@ApiModelProperty("场次")
private String startOrder;
@ApiModelProperty("单位名称") @ApiModelProperty("单位名称")
private String companyName; private String companyName;
@ApiModelProperty("团队选手名字") @ApiModelProperty("团队选手名字")
private String playerNames; private String playerName;
} }
@Data @Data
@ -69,4 +71,17 @@ public class CompeteExcelVo {
private String eightNames; 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;
}
} }

9
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.collection.CollectionUtil;
import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.StrUtil;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
@ -46,6 +48,13 @@ public class TableVo {
private String bodyProtect; private String bodyProtect;
@ApiModelProperty("参赛队伍") @ApiModelProperty("参赛队伍")
private String joinTeam; private String joinTeam;
public int getAge(){
if(StrUtil.isNotEmpty(idCard) && age == 0){
return IdcardUtil.getAgeByIdCard(idCard);
}
return age;
}
} }

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

@ -104,4 +104,10 @@ public interface CompeteScoreDao {
* @return * @return
*/ */
List<CompeteVo.MesBiao> selCanSaiDuiWuMes(); 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.setBeginTime(competeStartOrder.getStartTime());
updateTaskInfo.setEndTime(competeStartOrder.getEndTime()); updateTaskInfo.setEndTime(competeStartOrder.getEndTime());
updateTaskInfo.setToken(token); updateTaskInfo.setToken(token);
log.info("修改tall的任务信息:{}", updateTaskInfo); // TODO
JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo); // log.info("修改tall的任务信息:{}", updateTaskInfo);
log.info("修改tall的任务信息后返回:{}", normalTaskJsonResponse); // JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo);
//失败return // log.info("修改tall的任务信息后返回:{}", normalTaskJsonResponse);
if (ObjectUtil.isNull(normalTaskJsonResponse)) { // //失败return
log.info("调用tall返回null"); // if (ObjectUtil.isNull(normalTaskJsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if(normalTaskJsonResponse.getCode() != 200){ // }
log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg()); // if(normalTaskJsonResponse.getCode() != 200){
return; // log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg());
} // return;
// }
} }
log.info("修改场次信息:{}", competeStartOrder); log.info("修改场次信息:{}", competeStartOrder);
startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); startOrderMapper.updateByPrimaryKeySelective(competeStartOrder);
@ -191,22 +192,23 @@ public class CompeteTaskService implements ICompeteTaskService {
addTask.setEndTime(projectStartTime + orderTime); addTask.setEndTime(projectStartTime + orderTime);
addTask.setExecutorId(tallRoleId); addTask.setExecutorId(tallRoleId);
addTask.setToken(token); addTask.setToken(token);
log.info("在tall内添加任务:{}", addTask); // TODO
JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask); // log.info("在tall内添加任务:{}", addTask);
//异常return // JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask);
log.info("添加任务后返回:{}", normalTaskJsonResponse); // //异常return
if (ObjectUtil.isNull(normalTaskJsonResponse)) { // log.info("添加任务后返回:{}", normalTaskJsonResponse);
log.info("调用tall返回null"); // if (ObjectUtil.isNull(normalTaskJsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if(normalTaskJsonResponse.getCode() != 200){ // }
log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg()); // if(normalTaskJsonResponse.getCode() != 200){
return; // log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg());
} // return;
TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); // }
if (ObjectUtil.isNotNull(normalTask)) { // TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData();
taskId = normalTask.getDetailId(); // if (ObjectUtil.isNotNull(normalTask)) {
} // taskId = normalTask.getDetailId();
// }
//添加出场顺序信息 //添加出场顺序信息
CompeteStartOrder competeStartOrder = new CompeteStartOrder(); CompeteStartOrder competeStartOrder = new CompeteStartOrder();
competeStartOrder.setId(snowflake.nextId()); 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; return queryJudgmentList;
@ -555,159 +343,160 @@ public class CompeteTaskService implements ICompeteTaskService {
//修改成员 //修改成员
//修改任务 //修改任务
} else { } else {
//添加角色 // TODO
MemberRoleDto.SaveRole saveRole = new MemberRoleDto.SaveRole(); // //添加角色
saveRole.setProjectId(tallProjectId); // MemberRoleDto.SaveRole saveRole = new MemberRoleDto.SaveRole();
String jdgmentNum = ""; // saveRole.setProjectId(tallProjectId);
if (judgmentInfo.getJudgmentNum() == 0) { // String jdgmentNum = "";
jdgmentNum = "主裁判"; // if (judgmentInfo.getJudgmentNum() == 0) {
} else { // jdgmentNum = "主裁判";
jdgmentNum = "裁判" + judgmentInfo.getJudgmentNum(); // } else {
} // jdgmentNum = "裁判" + judgmentInfo.getJudgmentNum();
saveRole.setRoleName(project.getName() + "-场地" + siteJudgment.getSite() + "-" + jdgmentNum); // }
Long roleId = null; // saveRole.setRoleName(project.getName() + "-场地" + siteJudgment.getSite() + "-" + jdgmentNum);
saveRole.setToken(token); // Long roleId = null;
log.info("在tall内添加角色:{}", saveRole); // saveRole.setToken(token);
JsonResponse<MemberVo.RoleInfo> roleJsonResponse = tallFeignClient.saveRole(saveRole); // log.info("在tall内添加角色:{}", saveRole);
log.info("添加角色后返回:{}", roleJsonResponse); // JsonResponse<MemberVo.RoleInfo> roleJsonResponse = tallFeignClient.saveRole(saveRole);
//失败return // log.info("添加角色后返回:{}", roleJsonResponse);
if (ObjectUtil.isNull(roleJsonResponse)) { // //失败return
log.info("调用tall返回null"); // if (ObjectUtil.isNull(roleJsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if( roleJsonResponse.getCode() != 200) { // }
log.info("调用tall异常后返回:{}", roleJsonResponse.getMsg()); // if( roleJsonResponse.getCode() != 200) {
return; // log.info("调用tall异常后返回:{}", roleJsonResponse.getMsg());
} // return;
MemberVo.RoleInfo roleInfo = roleJsonResponse.getData(); // }
if (ObjectUtil.isNotNull(roleInfo)) { // MemberVo.RoleInfo roleInfo = roleJsonResponse.getData();
roleId = roleInfo.getRoleId(); // if (ObjectUtil.isNotNull(roleInfo)) {
} // roleId = roleInfo.getRoleId();
//添加成员 // }
MemberRoleDto.SaveMember saveMember = new MemberRoleDto.SaveMember(); // //添加成员
saveMember.setMemberName(judgmentInfo.getJudgmentName()); // MemberRoleDto.SaveMember saveMember = new MemberRoleDto.SaveMember();
saveMember.setProjectId(tallProjectId); // saveMember.setMemberName(judgmentInfo.getJudgmentName());
saveMember.setPhone(judgmentInfo.getJudgmentPhone()); // saveMember.setProjectId(tallProjectId);
saveMember.setRoleId(Arrays.asList(roleId)); // saveMember.setPhone(judgmentInfo.getJudgmentPhone());
saveMember.setToken(token); // saveMember.setRoleId(Arrays.asList(roleId));
log.info("在tall内添加成员:{}", saveMember); // saveMember.setToken(token);
JsonResponse<MemberVo.Member> memberJsonResponse = tallFeignClient.saveMember(saveMember); // log.info("在tall内添加成员:{}", saveMember);
log.info("添加成员后返回:{}", memberJsonResponse); // JsonResponse<MemberVo.Member> memberJsonResponse = tallFeignClient.saveMember(saveMember);
//如果成员已存在,查询成员信息然后添加至角色内 // log.info("添加成员后返回:{}", memberJsonResponse);
Long memberId = null; // //如果成员已存在,查询成员信息然后添加至角色内
Long userId = null; // Long memberId = null;
//失败return // Long userId = null;
if (ObjectUtil.isNull(memberJsonResponse)) { // //失败return
log.info("调用tall返回null"); // if (ObjectUtil.isNull(memberJsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if(memberJsonResponse.getCode() != 200 && memberJsonResponse.getCode() != 21){ // }
log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg()); // if(memberJsonResponse.getCode() != 200 && memberJsonResponse.getCode() != 21){
return; // log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg());
} // return;
if(roleJsonResponse.getCode() == 200){ // }
MemberVo.Member member = memberJsonResponse.getData(); // if(roleJsonResponse.getCode() == 200){
if(ObjectUtil.isNotNull(member)){ // MemberVo.Member member = memberJsonResponse.getData();
userId = member.getUserId(); // if(ObjectUtil.isNotNull(member)){
} // userId = member.getUserId();
} // }
//code等于21代表成员已存在 // }
if (memberJsonResponse.getCode() == 21) { // //code等于21代表成员已存在
log.info("该成员已存在:{}", memberJsonResponse.getMsg()); // if (memberJsonResponse.getCode() == 21) {
//查询该手机号在项目内的成员的id // log.info("该成员已存在:{}", memberJsonResponse.getMsg());
MemberRoleDto.GetMemberByPhone getMemberByPhone = new MemberRoleDto.GetMemberByPhone(); // //查询该手机号在项目内的成员的id
getMemberByPhone.setProjectId(tallProjectId); // MemberRoleDto.GetMemberByPhone getMemberByPhone = new MemberRoleDto.GetMemberByPhone();
getMemberByPhone.setPhone(judgmentInfo.getJudgmentPhone()); // getMemberByPhone.setProjectId(tallProjectId);
getMemberByPhone.setToken(token); // getMemberByPhone.setPhone(judgmentInfo.getJudgmentPhone());
log.info("查找该手机号以前的成员信息:{}", judgmentInfo.getJudgmentPhone()); // getMemberByPhone.setToken(token);
JsonResponse<MemberVo.MemberList> memberListJsonResponse = tallFeignClient.queryMemberByPhone(getMemberByPhone); // log.info("查找该手机号以前的成员信息:{}", judgmentInfo.getJudgmentPhone());
log.info("查找该手机号以前的成员信息返回:{}", memberListJsonResponse); // JsonResponse<MemberVo.MemberList> memberListJsonResponse = tallFeignClient.queryMemberByPhone(getMemberByPhone);
//失败return // log.info("查找该手机号以前的成员信息返回:{}", memberListJsonResponse);
if (ObjectUtil.isNull(memberListJsonResponse)) { // //失败return
log.info("调用tall返回null"); // if (ObjectUtil.isNull(memberListJsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if(memberListJsonResponse.getCode() != 200){ // }
log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg()); // if(memberListJsonResponse.getCode() != 200){
return; // log.info("调用tall异常后返回:{}", memberJsonResponse.getMsg());
} // return;
// }
MemberVo.MemberList memberList = memberListJsonResponse.getData(); //
if (ObjectUtil.isNotNull(memberList)) { // MemberVo.MemberList memberList = memberListJsonResponse.getData();
memberId = memberList.getMemberId(); // if (ObjectUtil.isNotNull(memberList)) {
userId = memberList.getUserId(); // memberId = memberList.getMemberId();
} // userId = memberList.getUserId();
// }
//将该成员添加至角色下 //
if (ObjectUtil.isNotNull(roleId) && ObjectUtil.isNotNull(memberId)) { // //将该成员添加至角色下
MemberRoleDto.SaveMemberInRole saveMemberInRole = new MemberRoleDto.SaveMemberInRole(); // if (ObjectUtil.isNotNull(roleId) && ObjectUtil.isNotNull(memberId)) {
saveMemberInRole.setRoleId(roleId); // MemberRoleDto.SaveMemberInRole saveMemberInRole = new MemberRoleDto.SaveMemberInRole();
saveMemberInRole.setMemberId(memberId); // saveMemberInRole.setRoleId(roleId);
saveMemberInRole.setToken(token); // saveMemberInRole.setMemberId(memberId);
log.info("将该成员添加至角色内"); // saveMemberInRole.setToken(token);
JsonResponse jsonResponse = tallFeignClient.saveMemberInRole(saveMemberInRole); // log.info("将该成员添加至角色内");
if (ObjectUtil.isNull(jsonResponse)) { // JsonResponse jsonResponse = tallFeignClient.saveMemberInRole(saveMemberInRole);
log.info("调用tall返回null"); // if (ObjectUtil.isNull(jsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if(jsonResponse.getCode() != 200){ // }
log.info("调用tall异常后返回:{}", jsonResponse.getMsg()); // if(jsonResponse.getCode() != 200){
return; // log.info("调用tall异常后返回:{}", jsonResponse.getMsg());
} // return;
} // }
} // }
// }
//添加任务 //
//查找场次信息表 // //添加任务
CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); // //查找场次信息表
startOrderExample.createCriteria().andProjectIdEqualTo(project.getId()) // CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample();
.andSiteEqualTo((byte) siteJudgment.getSite()); // startOrderExample.createCriteria().andProjectIdEqualTo(project.getId())
List<CompeteStartOrder> startOrderList = startOrderMapper.selectByExample(startOrderExample); // .andSiteEqualTo((byte) siteJudgment.getSite());
if (CollectionUtil.isNotEmpty(startOrderList)) { // List<CompeteStartOrder> startOrderList = startOrderMapper.selectByExample(startOrderExample);
for (CompeteStartOrder startOrder : startOrderList) { // if (CollectionUtil.isNotEmpty(startOrderList)) {
TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); // for (CompeteStartOrder startOrder : startOrderList) {
addTask.setProjectId(tallProjectId); // TallTaskDto.AddTask addTask = new TallTaskDto.AddTask();
addTask.setTaskName(project.getName() + startOrder.getCompeteOrder() + "-" // addTask.setProjectId(tallProjectId);
+ startOrder.getSite() + "-" + jdgmentNum); // addTask.setTaskName(project.getName() + startOrder.getCompeteOrder() + "-"
addTask.setBeginTime(startOrder.getStartTime()); // + startOrder.getSite() + "-" + jdgmentNum);
addTask.setEndTime(startOrder.getEndTime()); // addTask.setBeginTime(startOrder.getStartTime());
addTask.setExecutorId(roleId); // addTask.setEndTime(startOrder.getEndTime());
addTask.setParentTaskId(startOrder.getTaskId()); // addTask.setExecutorId(roleId);
addTask.setToken(token); // addTask.setParentTaskId(startOrder.getTaskId());
log.info("在tall内添加任务:{}", addTask); // addTask.setToken(token);
JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask); // log.info("在tall内添加任务:{}", addTask);
log.info("添加任务后返回:{}", normalTaskJsonResponse); // JsonResponse<TaskVo.NormalTask> normalTaskJsonResponse = tallFeignClient.saveTask(addTask);
if (ObjectUtil.isNull(normalTaskJsonResponse)) { // log.info("添加任务后返回:{}", normalTaskJsonResponse);
log.info("调用tall返回null"); // if (ObjectUtil.isNull(normalTaskJsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if(normalTaskJsonResponse.getCode() != 200){ // }
log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg()); // if(normalTaskJsonResponse.getCode() != 200){
return; // log.info("调用tall异常后返回:{}", normalTaskJsonResponse.getMsg());
} // return;
if (ObjectUtil.isNotNull(normalTaskJsonResponse)) { // }
TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); // if (ObjectUtil.isNotNull(normalTaskJsonResponse)) {
if (ObjectUtil.isNotNull(normalTask)) { // TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData();
//修改任务插件配置信息 // if (ObjectUtil.isNotNull(normalTask)) {
TallTaskDto.UpdatePluginConfig updatePluginConfig = new TallTaskDto.UpdatePluginConfig(); // //修改任务插件配置信息
updatePluginConfig.setWebPath("/home/osct/video-score"); // TallTaskDto.UpdatePluginConfig updatePluginConfig = new TallTaskDto.UpdatePluginConfig();
updatePluginConfig.setTaskId(normalTask.getDetailId()); // updatePluginConfig.setWebPath("/home/osct/video-score");
updatePluginConfig.setToken(token); // updatePluginConfig.setTaskId(normalTask.getDetailId());
log.info("修改tall内任务插件配置:{}", updatePluginConfig); // updatePluginConfig.setToken(token);
JsonResponse<TaskVo.PluginVo> pluginVoJsonResponse = tallFeignClient.updatePluginConfig(updatePluginConfig); // log.info("修改tall内任务插件配置:{}", updatePluginConfig);
log.info("修改任务插件配置后返回:{}", pluginVoJsonResponse); // JsonResponse<TaskVo.PluginVo> pluginVoJsonResponse = tallFeignClient.updatePluginConfig(updatePluginConfig);
if (ObjectUtil.isNull(pluginVoJsonResponse)) { // log.info("修改任务插件配置后返回:{}", pluginVoJsonResponse);
log.info("调用tall返回null"); // if (ObjectUtil.isNull(pluginVoJsonResponse)) {
return; // log.info("调用tall返回null");
} // return;
if(pluginVoJsonResponse.getCode() != 200){ // }
log.info("调用tall异常后返回:{}", pluginVoJsonResponse.getMsg()); // if(pluginVoJsonResponse.getCode() != 200){
return; // log.info("调用tall异常后返回:{}", pluginVoJsonResponse.getMsg());
} // return;
} // }
} // }
} // }
} // }
// }
//添加裁判 //添加裁判
competeJudgment = new CompeteJudgment(); competeJudgment = new CompeteJudgment();
competeJudgment.setId(snowflake.nextId()); competeJudgment.setId(snowflake.nextId());
@ -718,9 +507,9 @@ public class CompeteTaskService implements ICompeteTaskService {
competeJudgment.setProjectId(project.getId()); competeJudgment.setProjectId(project.getId());
competeJudgment.setSite(siteJudgment.getSite()); competeJudgment.setSite(siteJudgment.getSite());
competeJudgment.setChiefJudgment((byte) judgmentInfo.getJudgmentNum()); competeJudgment.setChiefJudgment((byte) judgmentInfo.getJudgmentNum());
competeJudgment.setRoleId(roleId); // competeJudgment.setRoleId(roleId);
competeJudgment.setMemberId(memberId); // competeJudgment.setMemberId(memberId);
competeJudgment.setUserId(userId); // competeJudgment.setUserId(userId);
competeJudgmentDao.insertSelective(competeJudgment); competeJudgmentDao.insertSelective(competeJudgment);
} }

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

@ -695,75 +695,16 @@ public class ExcelService implements IExcelService {
*/ */
@Override @Override
public String iCompetitionOrderService(QueryDto<CompeteDto.CompeteTime> params) { public String iCompetitionOrderService(QueryDto<CompeteDto.CompeteTime> params) {
List<CompeteExcelVo.AllProject> competeProjectList= competeCompanyDao.selectProjectByType(params.getParam().getCompeteTimeId()); CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(params.getParam().getCompeteTimeId());
for (int i=0;i<competeProjectList.size();i++){
CompeteExcelVo.AllProject competeProject=competeProjectList.get(i); if(competeTime!=null){
SimpleDateFormat start=new SimpleDateFormat("HH:mm"); List<CompeteExcelVo.Project> allProjectList = competeScoreDao.selAllOrder(competeTime.getType());
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<List<PoiUtil.PoiUtilCell>> biao = new ArrayList<>();
List<PoiUtil.PoiUtilCell> one = new ArrayList<>(); List<PoiUtil.PoiUtilCell> one = new ArrayList<>();
PoiUtil.PoiUtilCell yuandongyuan=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 6, 1); PoiUtil.PoiUtilCell yuandongyuan=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 6, 1);
yuandongyuan.setValue(dasia+"出场顺序表"); yuandongyuan.setValue(competeTime.getName()+"出场顺序表");
one.add(yuandongyuan); one.add(yuandongyuan);
biao.add(one); 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<>(); List<PoiUtil.PoiUtilCell> two = new ArrayList<>();
PoiUtil.PoiUtilCell two1=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1); PoiUtil.PoiUtilCell two1=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1);
two1.setValue("时间"); two1.setValue("时间");
@ -784,69 +725,47 @@ public class ExcelService implements IExcelService {
two.add(two5); two.add(two5);
two.add(two6); two.add(two6);
biao.add(two); biao.add(two);
} for (CompeteExcelVo.Project project : allProjectList) {
} int j = 0, q = 0;//一个项目得长度 项目循环
//m行循环 是16次 k 是组次数得循环 4 次 n是组里面得循环 for (CompeteExcelVo.TeamOrderPlayer teamOrderPlayer : project.getProjectList()) {
for(int k=0,m=0,n=0;m<competeProjectList.get(j).getSize();m++){ j += teamOrderPlayer.getCompanyNameList().size();
//代表一行 }
List<PoiUtil.PoiUtilCell> four = new ArrayList<>(); for (int k = 0; k < project.getProjectList().size(); k++) {
if(m==0){ int t = 0;//组别得长度 组别循环
PoiUtil.PoiUtilCell fourOne=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, competeProjectList.get(j).getSize()); for (int m = 0; m < project.getProjectList().get(k).getCompanyNameList().size(); m++) {
fourOne.setValue(competeProjectList.get(j).getStartTimeStr()+"-"+competeProjectList.get(j).getEndTimeStr()); List<PoiUtil.PoiUtilCell> three = new ArrayList<>();
four.add(fourOne); PoiUtil.PoiUtilCell three1;
PoiUtil.PoiUtilCell fourTwo=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, competeProjectList.get(j).getSize()); PoiUtil.PoiUtilCell three2;
fourTwo.setValue(competeProjectList.get(j).getProjectName()); if (q == 0) {
four.add(fourTwo); three1 = new PoiUtil.PoiUtilCell(project.getStartTime(), 1, j);
}else { three2 = new PoiUtil.PoiUtilCell(project.getProjectName(), 1, j);
four.add(new PoiUtil.PoiUtilCell()); q++;
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++
}
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 { } else {
fourFive.setValue(competeProjectList.get(j).getProjectList().get(k-1).getCompanyNameList().get(n-1).getCompanyName()); three1 = new PoiUtil.PoiUtilCell();
three2 = new PoiUtil.PoiUtilCell();
} }
four.add(fourFive); PoiUtil.PoiUtilCell three3;
PoiUtil.PoiUtilCell fourSix=new PoiUtil.PoiUtilCell(WebConstant.CELL_NULL, 1, 1); if (t == 0) {
if(n==0){ three3 = new PoiUtil.PoiUtilCell(project.getProjectList().get(k).getGroupName(), 1, project.getProjectList().get(k).getCompanyNameList().size());
fourSix.setValue(competeProjectList.get(j).getProjectList().get(k-1).getCompanyNameList().get(n).getPlayerNames()); ++t;
} else { } else {
fourSix.setValue(competeProjectList.get(j).getProjectList().get(k-1).getCompanyNameList().get(n-1).getPlayerNames()); 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(); Workbook workbook = new XSSFWorkbook();
PoiUtil.exportWB("出场顺序",biao,workbook); PoiUtil.exportWB("出场顺序表",biao,workbook);
String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx";
String path = PropUtil.path + filepath; String path = PropUtil.path + filepath;
String path1="C:/d/"+filepath;//本地的路径 String path1="C:/d/"+filepath;//本地的路径
@ -864,42 +783,8 @@ public class ExcelService implements IExcelService {
} }
return PropUtil.domain + "file/download/know?path="+path; 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){ 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-file-size: 10MB
max-request-size: 100MB max-request-size: 100MB
snowflake: snowflake:
datacenterId: 1 datacenterId: 2
workerId: 1 workerId: 2

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

@ -405,34 +405,36 @@
</select> </select>
<select id="getJoinRuleTeamNumByType" resultMap="teamNum1"> <select id="getJoinRuleTeamNumByType" resultMap="teamNum1">
SELECT 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.id as projectId,
p.`name` as projectName, p.`name` as projectName,
p.certificate as certificate, p.certificate as certificate,
a.groupId as groupId,
a.aNum as aNum,
p.team as team, p.team as team,
p.join_rule as joinRule p.join_rule as joinRule
FROM FROM
t_compete_project p t_compete_project p ,
LEFT JOIN( t_compete_group gr
SELECT WHERE
g.id as groupId, p.type = 0
g.group_name as groupName, and gr.type = 0
g.sequence as sequence, and p.team = 1
t.projectId, and p.`level` = 2
if(t.num is null,'/',t.num) as aNum and p.join_rule = 0
FROM and p.rec_status = 0
t_compete_group g and gr.rec_status = 0
LEFT JOIN )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 SELECT
t.id as teamId, t.id as teamId,
@ -442,27 +444,22 @@
FROM FROM
t_compete_team t t_compete_team t
LEFT JOIN t_compete_company c on t.company_id = c.id 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 WHERE
(t.rec_status = 0 or t.rec_status is null) t.rec_status = 0
and (c.rec_status = 0 or c.rec_status is null) and p.type = 0
)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)
WHERE
p.type = #{type}
and p.team = 1 and p.team = 1
and p.`level` = 2 and p.`level` = 2
and p.join_rule = 0 and p.join_rule = 0
and p.rec_status = 0 and p.rec_status = 0
ORDER BY p.id,a.sequence 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> </select>
</mapper> </mapper>

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

@ -862,6 +862,116 @@
ORDER BY ORDER BY
tt.id tt.id
</select> </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 id="queryEightGroupLimit" resultType="com.ccsens.mt.bean.vo.CompeteExcelVo$BeforeEight">
select t1.group_name as groupName, GROUP_CONCAT(t1.name) as eightNames from select t1.group_name as groupName, GROUP_CONCAT(t1.name) as eightNames from

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

@ -30,8 +30,6 @@
<!-- ) group by company id--> <!-- ) group by company id-->
) tcpl on tcpl.company_id=tcc.id ) tcpl on tcpl.company_id=tcc.id
where where
tct.id= #{param.id} 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.NotEmpty;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
import java.util.List; import java.util.List;
@Data @Data
public class TaskDto { public class TaskDto {
@ -45,6 +46,38 @@ public class TaskDto {
private TaskRemindByAdd taskRemind; 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 @Data
@ApiModel("添加时设置任务提醒") @ApiModel("添加时设置任务提醒")
public static class TaskRemindByAdd{ 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 * @return
*/ */
List<TaskVo.TaskListByProjectId> getTaskByParentId(@Param("parentTaskId")Long parentTaskId,@Param("milestone")Integer milestone,@Param("beginTime")Long beginTime,@Param("endTime")Long endTime); 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.tall.util.TallConstant;
import com.ccsens.util.CodeEnum; import com.ccsens.util.CodeEnum;
import com.ccsens.util.JacksonUtil; import com.ccsens.util.JacksonUtil;
import com.ccsens.util.TransactionUtil;
import com.ccsens.util.WebConstant; import com.ccsens.util.WebConstant;
import com.ccsens.util.bean.message.common.InMessage; import com.ccsens.util.bean.message.common.InMessage;
import com.ccsens.util.bean.message.common.MessageConstant; 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 * @param projectId 项目id

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

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

Loading…
Cancel
Save