diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java index b6e64ca2..f1fd1a83 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java +++ b/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 projectList; + } + } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java index 1a7f20ff..db7437eb 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java +++ b/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 getNums(){ List 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; } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java index 98dbefd7..cbdba9a9 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java @@ -104,4 +104,10 @@ public interface CompeteScoreDao { * @return */ List selCanSaiDuiWuMes(); + + /** + * 查询出场顺序表(导出表格用) + * @return + */ + List selAllOrder(@Param("type") byte type); } diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java index 9cc4d6f1..66f52e62 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteTaskService.java +++ b/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 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 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 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 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 projectPlayerList = projectPlayerMapper.selectByExample(projectPlayerExample); -// -// if (CollectionUtil.isNotEmpty(projectPlayerList)) { -// //计算场次 -// int order = (int) Math.ceil(projectPlayerList.size() / projectConfig.getSiteNum()); -// //计算每个场次时间 -// long projectStartTime = projectConfig.getStartTime(); -// long orderTime = 0; -// if(order != 0) { -// orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order); -// }else { -// log.info("场次为0的比赛:{}------{}",project,projectConfig); -// } -// //场次 -// int competeOrder = 1; -// //场地 -// int site = 1; -// for (CompeteProjectPlayer projectPlayer : projectPlayerList) { -// CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); -// startOrderExample.createCriteria().andPlayerIdEqualTo(projectPlayer.getId()).andProjectIdEqualTo(project.getId()); -// List startOrderList = startOrderMapper.selectByExample(startOrderExample); -// if(CollectionUtil.isNotEmpty(startOrderList)){ -// CompeteStartOrder competeStartOrder = startOrderList.get(0); -// competeStartOrder.setSite((byte) site); -// competeStartOrder.setCompeteOrder((byte) competeOrder); -// if(orderTime > 0 && (competeStartOrder.getStartTime() == projectStartTime || competeStartOrder.getEndTime() == projectStartTime + orderTime)){ -// competeStartOrder.setStartTime(projectStartTime); -// competeStartOrder.setEndTime(projectStartTime + orderTime); -// // 修改tall的任务 -// TallTaskDto.UpdateTaskInfo updateTaskInfo = new TallTaskDto.UpdateTaskInfo(); -// updateTaskInfo.setId(competeStartOrder.getId()); -// updateTaskInfo.setBeginTime(competeStartOrder.getStartTime()); -// updateTaskInfo.setEndTime(competeStartOrder.getEndTime()); -// updateTaskInfo.setToken(token); -// log.info("修改tall的任务信息:{}",updateTaskInfo); -// JsonResponse normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo); -// log.info("修改tall的任务信息后返回:{}",normalTaskJsonResponse); -// //失败return -// if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200){ -// return; -// } -// } -// startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); -// -// }else{ -// //添加tall的任务 -// Long taskId = null; -// TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); -// addTask.setProjectId(tallProjectId); -// addTask.setTaskName(project.getName() + competeOrder +"-" + site); -// addTask.setBeginTime(projectStartTime); -// addTask.setEndTime(projectStartTime + orderTime); -// addTask.setExecutorId(tallRoleId); -// addTask.setToken(token); -// log.info("在tall内添加任务:{}",addTask); -// JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); -// //异常return -// log.info("添加任务后返回:{}",normalTaskJsonResponse); -// if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200) { -// return; -// } -// TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); -// if (ObjectUtil.isNotNull(normalTask)) { -// taskId = normalTask.getDetailId(); -// } -// //添加出场顺序信息 -// CompeteStartOrder competeStartOrder = new CompeteStartOrder(); -// competeStartOrder.setId(snowflake.nextId()); -// competeStartOrder.setProjectId(project.getId()); -// competeStartOrder.setPlayerId(projectPlayer.getId()); -// competeStartOrder.setSite((byte) site); -// competeStartOrder.setTeam((byte) 0); -// competeStartOrder.setCompeteOrder((byte) competeOrder); -// competeStartOrder.setTaskId(taskId); -// competeStartOrder.setStartTime(projectStartTime); -// competeStartOrder.setEndTime(projectStartTime + orderTime); -// startOrderMapper.insertSelective(competeStartOrder); -// } -// site++; -// if(site > projectConfig.getSiteNum()){ -// site = 1; -// competeOrder++; -// projectStartTime += orderTime; -// } -// } -// } -// } else { -// //团体项目查找所有参赛队伍 -// CompeteTeamExample teamExample = new CompeteTeamExample(); -// teamExample.createCriteria().andProjectIdEqualTo(project.getId()); -// List teamList = competeTeamDao.selectByExample(teamExample); -// if(CollectionUtil.isNotEmpty(teamList)){ -// //计算场次 -// int order = (int) Math.ceil(teamList.size() / projectConfig.getSiteNum()); -// //计算每个场次时间 -// long projectStartTime = projectConfig.getStartTime(); -// long orderTime = 0; -// if(order != 0) { -// orderTime = (long) Math.floor((projectConfig.getEndTime() - projectStartTime) / order); -// } -// //场次 -// int competeOrder = 1; -// //场地 -// int site = 1; -// for (CompeteTeam competeTeam : teamList) { -// CompeteStartOrderExample startOrderExample = new CompeteStartOrderExample(); -// startOrderExample.createCriteria().andPlayerIdEqualTo(competeTeam.getId()).andProjectIdEqualTo(project.getId()); -// List startOrderList = startOrderMapper.selectByExample(startOrderExample); -// if(CollectionUtil.isNotEmpty(startOrderList)){ -// CompeteStartOrder competeStartOrder = startOrderList.get(0); -// competeStartOrder.setSite((byte) site); -// competeStartOrder.setCompeteOrder((byte) competeOrder); -// if(orderTime > 0 && (competeStartOrder.getStartTime() == projectStartTime || competeStartOrder.getEndTime() == projectStartTime + orderTime)){ -// competeStartOrder.setStartTime(projectStartTime); -// competeStartOrder.setEndTime(projectStartTime + orderTime); -// //修改tall的任务 -// TallTaskDto.UpdateTaskInfo updateTaskInfo = new TallTaskDto.UpdateTaskInfo(); -// updateTaskInfo.setId(competeStartOrder.getId()); -// updateTaskInfo.setBeginTime(competeStartOrder.getId()); -// updateTaskInfo.setBeginTime(competeStartOrder.getEndTime()); -// updateTaskInfo.setToken(token); -// log.info("修改tall的任务信息:{}",updateTaskInfo); -// JsonResponse normalTaskJsonResponse = tallFeignClient.updataTask(updateTaskInfo); -// log.info("修改tall的任务信息后返回:{}",normalTaskJsonResponse); -// //失败return -// if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200){ -// return; -// } -// } -// startOrderMapper.updateByPrimaryKeySelective(competeStartOrder); -// -// }else{ -// //添加tall的任务 -// Long taskId = null; -// TallTaskDto.AddTask addTask = new TallTaskDto.AddTask(); -// addTask.setProjectId(tallProjectId); -// addTask.setTaskName(project.getName() + competeOrder +"-" + site); -// addTask.setBeginTime(projectStartTime); -// addTask.setEndTime(projectStartTime + orderTime); -// addTask.setExecutorId(tallRoleId); -// addTask.setToken(token); -// log.info("在tall内添加任务:{}",addTask); -// JsonResponse normalTaskJsonResponse = tallFeignClient.saveTask(addTask); -// log.info("添加任务后返回:{}",normalTaskJsonResponse); -// //异常return -// log.info("添加任务后返回:{}",normalTaskJsonResponse); -// if (ObjectUtil.isNull(normalTaskJsonResponse) || normalTaskJsonResponse.getCode() != 200) { -// return; -// } -// TaskVo.NormalTask normalTask = normalTaskJsonResponse.getData(); -// if (ObjectUtil.isNotNull(normalTask)) { -// taskId = normalTask.getDetailId(); -// } -// //添加出场顺序信息 -// CompeteStartOrder competeStartOrder = new CompeteStartOrder(); -// competeStartOrder.setId(snowflake.nextId()); -// competeStartOrder.setProjectId(project.getId()); -// competeStartOrder.setPlayerId(competeTeam.getId()); -// competeStartOrder.setSite((byte) site); -// competeStartOrder.setTeam((byte) 0); -// competeStartOrder.setCompeteOrder((byte) competeOrder); -// competeStartOrder.setTaskId(taskId); -// competeStartOrder.setStartTime(projectStartTime); -// competeStartOrder.setEndTime(projectStartTime + orderTime); -// startOrderMapper.insertSelective(competeStartOrder); -// } -// site++; -// if(site > projectConfig.getSiteNum()){ -// site = 1; -// competeOrder++; -// projectStartTime += orderTime; -// } -// } -// } -// } -// } } } @@ -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 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 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 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 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 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 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 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 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 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 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 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 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); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java index f844a746..b24a3de5 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java @@ -695,212 +695,97 @@ public class ExcelService implements IExcelService { */ @Override public String iCompetitionOrderService(QueryDto params) { - List competeProjectList= competeCompanyDao.selectProjectByType(params.getParam().getCompeteTimeId()); - for (int i=0;i singleOrderPlayerList=competePlayerDao.selectSinglePlayerByProjectId(competeProject.getId()); - size = singleOrderPlayerList.stream().mapToInt(singleOrderPlayer -> singleOrderPlayer.getCompanyNameList().size()).sum(); - competeProject.setProjectList(singleOrderPlayerList); - }else { - List 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> biao = new ArrayList<>(); - List 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 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 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 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 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 allProjectList = competeScoreDao.selAllOrder(competeTime.getType()); + List> biao = new ArrayList<>(); + List 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 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 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 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 competeProjectList = competeProjectMapper.selectByExample(competeProjectExample); -// CompeteGroupExample competeGroupExample = new CompeteGroupExample(); -// competeGroupExample.createCriteria().andTypeEqualTo((byte) type); -// //获取组别集合 -// List 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 competeAllCountList(CompeteDto.CompeteTime params){ //查询个人赛的数量统计 diff --git a/mt/src/main/resources/application-common.yml b/mt/src/main/resources/application-common.yml index 40efee80..b870f11f 100644 --- a/mt/src/main/resources/application-common.yml +++ b/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 diff --git a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml index 0a52901b..5cd8e03f 100644 --- a/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml +++ b/mt/src/main/resources/mapper_dao/CompetePlayerDao.xml @@ -405,64 +405,61 @@ \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml b/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml index c060d25d..5bde88b5 100644 --- a/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteScoreDao.xml @@ -862,6 +862,116 @@ ORDER BY tt.id + + + + + + + + + + + + + + + + - - ) tcpl on tcpl.company_id=tcc.id where tct.id= #{param.id} diff --git a/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java b/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java index 2f99736e..3496c018 100644 --- a/tall/src/main/java/com/ccsens/tall/bean/dto/TaskDto.java +++ b/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{ diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java index a59e7fef..69fa31fa 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/TaskDetailDao.java @@ -53,4 +53,16 @@ public interface TaskDetailDao extends ProTaskDetailMapper { * @return */ List getTaskByParentId(@Param("parentTaskId")Long parentTaskId,@Param("milestone")Integer milestone,@Param("beginTime")Long beginTime,@Param("endTime")Long endTime); + +// /** +// * 批量添加任务详情表 +// * @param taskDetailList +// */ +// void saveTaskList(List taskDetailList); +// +// /** +// * 批量添加subtime +// * @param subList +// */ +// void saveSubTimeTaskList(List subList); } diff --git a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java b/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java index 536d849a..0d9b5653 100644 --- a/tall/src/main/java/com/ccsens/tall/service/TaskSubTimeService.java +++ b/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 addTaskList) throws Exception { + if(CollectionUtil.isEmpty(addTaskList)){ + return; + } + List taskDetailList = new ArrayList<>(); + List 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 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 diff --git a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml index 323ed68f..76c06b71 100644 --- a/tall/src/main/resources/mapper_dao/TaskDetailDao.xml +++ b/tall/src/main/resources/mapper_dao/TaskDetailDao.xml @@ -57,6 +57,7 @@ +