From 4b041919235a0ae677a3985ac345d3916445ff8e Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Tue, 10 Nov 2020 16:45:31 +0800 Subject: [PATCH 1/7] 1 --- .../com/ccsens/mt/api/ExcelController.java | 30 +- .../mt/bean/dto/ProvinceCompeteDto.java | 27 ++ .../java/com/ccsens/mt/bean/vo/TableVo.java | 22 ++ .../persist/dao/CompeteProjectConfigDao.java | 18 ++ .../mt/persist/dao/CompeteProjectDao.java | 17 ++ .../com/ccsens/mt/service/ExcelService.java | 285 ++++++++++++++++++ .../com/ccsens/mt/service/IExcelService.java | 31 ++ .../mapper_dao/CompeteProjectConfigDao.xml | 19 ++ .../mapper_dao/CompeteProjectDao.xml | 9 + 9 files changed, 457 insertions(+), 1 deletion(-) create mode 100644 mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java create mode 100644 mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectDao.java create mode 100644 mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml create mode 100644 mt/src/main/resources/mapper_dao/CompeteProjectDao.xml diff --git a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java index ec2ee354..4fc1403a 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java @@ -3,7 +3,8 @@ package com.ccsens.mt.api; import com.ccsens.cloudutil.annotation.MustLogin; import com.ccsens.mt.bean.dto.CompeteDto; -import com.ccsens.mt.service.ICompeteService; +import com.ccsens.mt.bean.dto.ProvinceCompeteDto; +import com.ccsens.mt.bean.vo.TableVo; import com.ccsens.mt.service.IExcelService; import com.ccsens.util.JsonResponse; import com.ccsens.util.bean.dto.QueryDto; @@ -19,6 +20,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.io.IOException; +import java.util.List; /** * @author li @@ -78,6 +80,32 @@ public class ExcelController { return JsonResponse.newInstance().ok(path); } + @MustLogin + @ApiOperation(value = "日程安排中间表", notes = "") + @RequestMapping(value = "/dailyScheduleProcess", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse dailyScheduleProcess(@ApiParam @Validated @RequestBody CompeteDto.CompeteTime params) { + log.info("日程安排中间表:{}",params); + List dailyScheduleProcessList = excelService.dailyScheduleProcess(params); + return JsonResponse.newInstance().ok(dailyScheduleProcessList); + } + + @MustLogin + @ApiOperation(value = "日程安排更新", notes = "") + @RequestMapping(value = "/updateAndSearchSchedule", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse updateAndSearch(@ApiParam @Validated @RequestBody ProvinceCompeteDto.UpdateAndSearchList params) { + log.info("日程安排更新:{}",params); + excelService.updateAndSearch(params); + return JsonResponse.newInstance().ok(); + } + + @MustLogin + @ApiOperation(value = "xxx大赛报名表", notes = "") + @RequestMapping(value = "/enterInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse getEnterInfo(@ApiParam @Validated @RequestBody CompeteDto.CompeteTime params) { + log.info("日程安排更新:{}",params); + excelService.getCompeteJoinDetail(params); + return JsonResponse.newInstance().ok(); + } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java index f57e3ab8..1d8447a2 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -127,4 +127,31 @@ public class ProvinceCompeteDto { @ApiModelProperty("教练证") private Long coachCertificate; //教练证(只有教练需要,文件类型) } + + @Data + @ApiModel("修改日程安排") + public static class UpdateAndSearch{ + @ApiModelProperty("参赛项目") + private String projectName; + @ApiModelProperty("参赛人/队伍") + private int joinNum; + @ApiModelProperty("单项时间") + private long singleTime; + @ApiModelProperty("场地") + private int siteNum; + @ApiModelProperty("场次") + private long games; + @ApiModelProperty("总时间") + private long timeSum; + @ApiModelProperty("项目开始时间") + private Long startTime; + @ApiModelProperty("项目结束时间") + private Long endTime; + } + + @Data + @ApiModel("修改日程安排") + public static class UpdateAndSearchList{ + private List updateAndSearchList; + } } 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 0cfcf459..7df4ca4f 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 @@ -110,4 +110,26 @@ public class TableVo { private List nums = new ArrayList<>(); } + @Data + @ApiModel("日程安排") + public static class DailyScheduleProcess{ + @ApiModelProperty("参赛项目") + private String projectName; + @ApiModelProperty("参赛人/队伍") + private int joinNum; + @ApiModelProperty("单项时间") + private long singleTime; + @ApiModelProperty("场地") + private int siteNum; + @ApiModelProperty("场次") + private long games; + @ApiModelProperty("总时间") + private long timeSum; + @ApiModelProperty("项目开始时间") + private Long startTime; + @ApiModelProperty("项目结束时间") + private Long endTime; + + } + } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java new file mode 100644 index 00000000..023bb3f4 --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java @@ -0,0 +1,18 @@ +package com.ccsens.mt.persist.dao; + +import com.ccsens.mt.bean.po.CompeteProjectConfig; +import com.ccsens.mt.bean.po.CompeteProjectConfigExample; +import com.ccsens.mt.persist.mapper.CompeteProjectConfigMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * + * @author: li + * + */ +public interface CompeteProjectConfigDao extends CompeteProjectConfigMapper { + CompeteProjectConfig selectByProjectId(@Param("projectId") Long projectId); + +} \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectDao.java new file mode 100644 index 00000000..2955fd3d --- /dev/null +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectDao.java @@ -0,0 +1,17 @@ +package com.ccsens.mt.persist.dao; + +import com.ccsens.mt.bean.po.CompeteProject; +import com.ccsens.mt.bean.po.CompeteProjectConfig; +import com.ccsens.mt.persist.mapper.CompeteProjectConfigMapper; +import com.ccsens.mt.persist.mapper.CompeteProjectMapper; +import org.apache.ibatis.annotations.Param; + +/** + * + * @author: li + * + */ +public interface CompeteProjectDao extends CompeteProjectMapper { + CompeteProject getProjectByProjectName(@Param("projectName") String projectId); + +} \ No newline at end of file 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 0e8aef44..83eed9fe 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java @@ -3,6 +3,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdcardUtil; import cn.hutool.core.util.ObjectUtil; import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.dto.ProvinceCompeteDto; import com.ccsens.mt.bean.po.*; import com.ccsens.mt.bean.vo.TableVo; import com.ccsens.mt.persist.dao.*; @@ -60,6 +61,10 @@ public class ExcelService implements IExcelService { @Resource private CompetePlayerMapper competePlayerMapper; + @Resource + private CompeteProjectConfigDao competeProjectConfigDao; + @Resource + private CompeteProjectDao competeProjectDao; @Override public String dasaiduiwuxinxiWPS(QueryDto params) { @@ -303,6 +308,9 @@ public class ExcelService implements IExcelService { return path; } + + + private List getCompeteJoin(CompeteDto.CompeteTime params) { List competeJoinList = new ArrayList<>(); Long competeTimeId = params.getCompeteTimeId(); @@ -632,6 +640,7 @@ public class ExcelService implements IExcelService { return path; } + // private List competeAllCountList(CompeteDto.CompeteTime params){ // //根据大赛查类型 // Long competeTimeId = params.getCompeteTimeId(); @@ -759,5 +768,281 @@ public class ExcelService implements IExcelService { return path; } + + + + @Override + public List dailyScheduleProcess(CompeteDto.CompeteTime params) { + List dailyScheduleProcessList = new ArrayList<>(); + //查询项目 + CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(params.getCompeteTimeId()); + CompeteProjectExample competeProjectExample = new CompeteProjectExample(); + int level = 2; + competeProjectExample.createCriteria().andTypeEqualTo(competeTime.getType()).andLevelEqualTo((byte) level); + //项目集合 + List competeProjectList = competeProjectMapper.selectByExample(competeProjectExample); + for (CompeteProject competeProject : competeProjectList) { + //判断是否团队 + if (competeProject.getTeam() == 0) { + //不是团队 + CompeteProjectPlayerExample competeProjectPlayerExample = new CompeteProjectPlayerExample(); + competeProjectPlayerExample.createCriteria().andProjectIdEqualTo(competeProject.getId()); + long count = competeProjectPlayerMapper.countByExample(competeProjectPlayerExample); + TableVo.DailyScheduleProcess dailyScheduleProcess = new TableVo.DailyScheduleProcess(); + //队伍/人数 + dailyScheduleProcess.setJoinNum((int) count); + //项目名 + dailyScheduleProcess.setProjectName(competeProject.getName()); + + CompeteProjectConfig competeProjectConfig = competeProjectConfigDao.selectByProjectId(competeProject.getId()); + if (ObjectUtil.isNotNull(competeProjectConfig)) { + //单项时间 + dailyScheduleProcess.setSingleTime(competeProjectConfig.getProjectDuration()); + //场地 + dailyScheduleProcess.setSiteNum(competeProjectConfig.getSiteNum()); + //场次 + long times = count / competeProjectConfig.getSiteNum(); + dailyScheduleProcess.setGames(times); + //总时间 + long second = competeProjectConfig.getProjectDuration() * times; + dailyScheduleProcess.setTimeSum(second); + //项目开始时间 + dailyScheduleProcess.setStartTime(competeProjectConfig.getStartTime()); + //项目结束时间 + dailyScheduleProcess.setEndTime(competeProjectConfig.getEndTime()); + } + dailyScheduleProcessList.add(dailyScheduleProcess); + } else { + //是团队 + CompeteTeamExample competeTeamExample = new CompeteTeamExample(); + competeTeamExample.createCriteria().andProjectIdEqualTo(competeProject.getId()); + long count = competeTeamDao.countByExample(competeTeamExample); + TableVo.DailyScheduleProcess dailyScheduleProcess = new TableVo.DailyScheduleProcess(); + //队伍/人数 + dailyScheduleProcess.setJoinNum((int) count); + //项目名 + dailyScheduleProcess.setProjectName(competeProject.getName()); + + CompeteProjectConfig competeProjectConfig = competeProjectConfigDao.selectByProjectId(competeProject.getId()); + if (ObjectUtil.isNotNull(competeProjectConfig)) { + //单项时间 + dailyScheduleProcess.setSingleTime(competeProjectConfig.getProjectDuration()); + //场地 + dailyScheduleProcess.setSiteNum(competeProjectConfig.getSiteNum()); + //场次 + long times = count / competeProjectConfig.getSiteNum(); + dailyScheduleProcess.setGames(times); + //总时间 + long second = competeProjectConfig.getProjectDuration() * times; + dailyScheduleProcess.setTimeSum(second); + //项目开始时间 + dailyScheduleProcess.setStartTime(competeProjectConfig.getStartTime()); + //项目结束时间 + dailyScheduleProcess.setEndTime(competeProjectConfig.getEndTime()); + } + dailyScheduleProcessList.add(dailyScheduleProcess); + } + + } + return dailyScheduleProcessList; + } + + @Override + public List updateAndSearch(ProvinceCompeteDto.UpdateAndSearchList params) { + List dailyScheduleProcessList = new ArrayList<>(); + List updateAndSearchList = params.getUpdateAndSearchList(); + for (ProvinceCompeteDto.UpdateAndSearch updateAndSearch : updateAndSearchList){ + //根据项目查项目id + CompeteProject competeProject = competeProjectDao.getProjectByProjectName(updateAndSearch.getProjectName()); + long projectId = competeProject.getId(); + //查询数据库中现有数据对象 + CompeteProjectConfig competeProjectConfig = competeProjectConfigDao.selectByProjectId(projectId); + //修改单项时间,场地和开始结束时间 + competeProjectConfig.setProjectDuration(updateAndSearch.getSingleTime()); + competeProjectConfig.setSiteNum(updateAndSearch.getSiteNum()); + competeProjectConfig.setStartTime(updateAndSearch.getStartTime()); + competeProjectConfig.setEndTime(updateAndSearch.getEndTime()); + competeProjectConfigDao.updateByPrimaryKeySelective(competeProjectConfig); + //返回前台的对象赋值 + TableVo.DailyScheduleProcess dailyScheduleProcess = new TableVo.DailyScheduleProcess(); + //项目名 + dailyScheduleProcess.setProjectName(updateAndSearch.getProjectName()); + //参赛人或者队伍 + dailyScheduleProcess.setJoinNum(updateAndSearch.getJoinNum()); + //单项时间 + CompeteProjectConfig competeProjectConfig1 = competeProjectConfigDao.selectByProjectId(competeProject.getId()); + dailyScheduleProcess.setSingleTime(competeProjectConfig1.getProjectDuration()); + //场地 + dailyScheduleProcess.setSiteNum(competeProjectConfig1.getSiteNum()); + //场次 + long games = updateAndSearch.getJoinNum()/competeProjectConfig1.getSiteNum(); + dailyScheduleProcess.setGames(games); + //总时间 + long second = competeProjectConfig1.getProjectDuration()*games; + dailyScheduleProcess.setTimeSum(second); + //开始时间 + dailyScheduleProcess.setStartTime(competeProjectConfig1.getStartTime()); + //结束时间 + dailyScheduleProcess.setEndTime(competeProjectConfig1.getEndTime()); + dailyScheduleProcessList.add(dailyScheduleProcess); + } + return dailyScheduleProcessList; + } + + + @Override + public List getCompeteJoinDetail(CompeteDto.CompeteTime params) { + List competeJoinList = new ArrayList<>(); + 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); + for (CompeteProject competeProject : competeProjectList) { + String projectName = competeProject.getName(); + if (competeProject.getTeam() == 0) { + //如果不是团队项目,查询该项目下报名人数集合 + CompeteProjectPlayerExample competeProjectPlayerExample = new CompeteProjectPlayerExample(); + competeProjectPlayerExample.createCriteria().andProjectIdEqualTo(competeProject.getId()); + List competeProjectPlayerList = competeProjectPlayerMapper.selectByExample(competeProjectPlayerExample); + for (CompeteProjectPlayer competeProjectPlayer : competeProjectPlayerList) { + //查询每个报名人的详细信息下 + CompetePlayer competePlayer = competePlayerDao.selectByPrimaryKey(competeProjectPlayer.getPlayerId()); + TableVo.CompeteJoin competeJoin = new TableVo.CompeteJoin(); + //姓名 + competeJoin.setName(competePlayer.getName()); + //身份证号 + competeJoin.setIdCard(competePlayer.getIdCard()); + //根据身份证获取选手年龄并赋值 + String idCard = competeJoin.getIdCard(); + int ageByIdCard = IdcardUtil.getAgeByIdCard(idCard); + competeJoin.setAge(ageByIdCard); + Byte gender = competePlayer.getGender(); + if (gender == 0) { + competeJoin.setGender("女"); + } else { + competeJoin.setGender("男"); + } + //查询单位,并赋值 + CompeteCompany competeCompany = competeCompanyMapper.selectByPrimaryKey(competePlayer.getCompanyId()); + if (ObjectUtil.isNotNull(competeCompany)) { + competeJoin.setJoinTeam(competeCompany.getName()); + } + //查询组别,并赋值 + CompeteGroup competeGroup = competeGroupMapper.selectByPrimaryKey(competePlayer.getCompeteGroupId()); + if (ObjectUtil.isNotNull(competeGroup)) { + competeJoin.setCompeteGroup(competePlayer.getName()); + } + //身份证明查询,并赋值 + CommonFile commonFile = commonFileMapper.selectByPrimaryKey(competePlayer.getIdCardFrontFile()); + if (ObjectUtil.isNotNull(commonFile)) { + competeJoin.setIdCardPromise(commonFile.getVisitLocation()); + } + //一寸证件照查询赋值 + CommonFile commonFile1 = commonFileMapper.selectByPrimaryKey(competePlayer.getIdPhotoFile()); + if (ObjectUtil.isNotNull(commonFile1)) { + competeJoin.setPicture(commonFile1.getVisitLocation()); + } + //学籍证明/俱乐部证明 + CommonFile commonFile2 = commonFileMapper.selectByPrimaryKey(competePlayer.getStudentRecordFile()); + if (ObjectUtil.isNotNull(commonFile2)) { + competeJoin.setStudentPromise(commonFile2.getVisitLocation()); + } + //体检证明 + CommonFile commonFile3 = commonFileMapper.selectByPrimaryKey(competePlayer.getHealthRecordFile()); + if (ObjectUtil.isNotNull(commonFile3)) { + competeJoin.setBodyTest(commonFile3.getVisitLocation()); + } + //人身意外伤害保险证明 + CommonFile commonFile4 = commonFileMapper.selectByPrimaryKey(competePlayer.getInsuranceRecordFile()); + if (ObjectUtil.isNotNull(commonFile4)) { + competeJoin.setBodyProtect(commonFile4.getVisitLocation()); + } + //参赛项目名赋值 + competeJoin.setCompeteProject(projectName); + competeJoinList.add(competeJoin); + } + + } else { //团队项目 + //获取参赛队伍集合 + CompeteTeamExample competeTeamExample = new CompeteTeamExample(); + competeTeamExample.createCriteria().andProjectIdEqualTo(competeProject.getId()); + List competeTeamList = competeTeamDao.selectByExample(competeTeamExample); + for (CompeteTeam competeTeam : competeTeamList) { + //获取队伍下的成员集合 + CompeteTeamMemberExample competeTeamMemberExample = new CompeteTeamMemberExample(); + competeTeamMemberExample.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); + List competeTeamMemberList = competeTeamMemberMapper.selectByExample(competeTeamMemberExample); + for (CompeteTeamMember competeTeamMember : competeTeamMemberList) { + //查询成员详细信息 + CompetePlayer competePlayer = competePlayerDao.selectByPrimaryKey(competeTeamMember.getPlayerId()); + TableVo.CompeteJoin competeJoin = new TableVo.CompeteJoin(); + //姓名 + competeJoin.setName(competePlayer.getName()); + //身份证号 + competeJoin.setIdCard(competePlayer.getIdCard()); + //根据身份证获取选手年龄并赋值 + String idCard = competeJoin.getIdCard(); + int ageByIdCard = IdcardUtil.getAgeByIdCard(idCard); + competeJoin.setAge(ageByIdCard); + //性别 + Byte gender = competePlayer.getGender(); + if (gender == 0) { + competeJoin.setGender("女"); + } else { + competeJoin.setGender("男"); + } + + //查询单位,并赋值 + CompeteCompany competeCompany = competeCompanyMapper.selectByPrimaryKey(competePlayer.getCompanyId()); + if (ObjectUtil.isNotNull(competeCompany)) { + competeJoin.setJoinTeam(competeCompany.getName()); + } + //查询组别,并赋值 + CompeteGroup competeGroup = competeGroupMapper.selectByPrimaryKey(competePlayer.getCompeteGroupId()); + if (ObjectUtil.isNotNull(competeGroup)) { + competeJoin.setCompeteGroup(competePlayer.getName()); + } + //身份证明查询,并赋值 + CommonFile commonFile = commonFileMapper.selectByPrimaryKey(competePlayer.getIdCardFrontFile()); + if (ObjectUtil.isNotNull(commonFile)){ + competeJoin.setIdCardPromise(commonFile.getVisitLocation()); + } + //一寸证件照查询赋值 + CommonFile commonFile1 = commonFileMapper.selectByPrimaryKey(competePlayer.getIdPhotoFile()); + if (ObjectUtil.isNotNull(commonFile1)){ + competeJoin.setPicture(commonFile1.getVisitLocation()); + } + //学籍证明/俱乐部证明 + CommonFile commonFile2 = commonFileMapper.selectByPrimaryKey(competePlayer.getStudentRecordFile()); + if (ObjectUtil.isNotNull(commonFile2)){ + competeJoin.setStudentPromise(commonFile2.getVisitLocation()); + } + //体检证明 + CommonFile commonFile3 = commonFileMapper.selectByPrimaryKey(competePlayer.getHealthRecordFile()); + if (ObjectUtil.isNotNull(commonFile3)){ + competeJoin.setBodyTest(commonFile3.getVisitLocation()); + } + //人身意外伤害保险证明 + CommonFile commonFile4 = commonFileMapper.selectByPrimaryKey(competePlayer.getInsuranceRecordFile()); + if (ObjectUtil.isNotNull(commonFile4)){ + competeJoin.setBodyProtect(commonFile4.getVisitLocation()); + } + //参赛项目名赋值 + competeJoin.setCompeteProject(projectName); + competeJoinList.add(competeJoin); + } + } + } + } + return competeJoinList; + } + + + + } diff --git a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java index 23dc6648..db04abd4 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java @@ -1,12 +1,19 @@ package com.ccsens.mt.service; import com.ccsens.mt.bean.dto.CompeteDto; +import com.ccsens.mt.bean.dto.ProvinceCompeteDto; +import com.ccsens.mt.bean.vo.TableVo; import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.mt.bean.dto.CompeteDto; import com.ccsens.util.bean.dto.QueryDto; import java.io.IOException; +import java.util.List; +/** + * 文件操作 + * @author li + */ public interface IExcelService { /** * 导出大赛队伍信息表 @@ -30,6 +37,12 @@ public interface IExcelService { */ String competeJoin(QueryDto params) throws IOException; + /** + * XXXX大赛报名表 + * @param params 大赛id + * @return 返回失败的信息 + */ + List getCompeteJoinDetail(CompeteDto.CompeteTime params); /** @@ -46,4 +59,22 @@ public interface IExcelService { * @return 返回失败的信息 */ String competeAllCount(CompeteDto.CompeteTime params) throws IOException; + + /** + * 日程安排中间表 + * @param params 大赛id + * @return 返回失败的信息 + */ + List dailyScheduleProcess(CompeteDto.CompeteTime params); + + /** + * 更新并查询 + * @param params 大赛id + * @return 返回失败的信息 + */ + List updateAndSearch(ProvinceCompeteDto.UpdateAndSearchList params); + + + + } diff --git a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml new file mode 100644 index 00000000..4af60200 --- /dev/null +++ b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteProjectDao.xml b/mt/src/main/resources/mapper_dao/CompeteProjectDao.xml new file mode 100644 index 00000000..599eee15 --- /dev/null +++ b/mt/src/main/resources/mapper_dao/CompeteProjectDao.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file From 756ebf8a2e66d13ccbaa95136d652a15147f39b7 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 11 Nov 2020 10:51:54 +0800 Subject: [PATCH 2/7] 20201111v1.1 --- .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 4 ++++ .../mt/persist/dao/CompeteCompanyDao.java | 4 +++- .../ccsens/mt/service/ProvinceService.java | 12 ++++++---- .../mapper_dao/CompeteCompanyDao.xml | 22 +++++++++++++++++-- 4 files changed, 35 insertions(+), 7 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index 450b41a3..dcd6c676 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -48,6 +48,10 @@ public class ProvinceCompeteVo { private Long groupId; @ApiModelProperty("组别名字") private String groupName; + @ApiModelProperty("性别组") + private int gender; + @ApiModelProperty("组别信息") + private int groupRemark; @ApiModelProperty("选手信息") private List playerList; } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java index 6266f255..f79d8f8e 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteCompanyDao.java @@ -102,7 +102,7 @@ public interface CompeteCompanyDao extends CompeteCompanyMapper { * @param type * @return */ - List getPlayerByTeamProject(@Param("projectId")Long projectId, @Param("type")Byte type); + List getPlayerByTeamProject(@Param("companyId")Long companyId, @Param("projectId")Long projectId, @Param("type")Byte type); /** * 根据大赛id查看当前大赛所有队伍信息,以及联系人的信息 * @param CompeteTimeId 大赛CompeteTimeId @@ -140,4 +140,6 @@ public interface CompeteCompanyDao extends CompeteCompanyMapper { */ int getTeamNumByPlayerIdAndGroup(@Param("competeTimeId")Long competeTimeId, @Param("playerId")Long playerId, @Param("projectId")Long projectId, @Param("companyId")Long companyId, @Param("gender")int gender, @Param("groupRemark")int groupRemark); + + List queryPlayersByTeamProject(@Param("companyId")Long companyId, @Param("projectId")Long projectId); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index b1ab657c..50d5e977 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -635,8 +635,8 @@ public class ProvinceService implements IProvinceService { competeTeam.setCompeteTimeId(param.getCompeteTimeId()); competeTeam.setProjectId(param.getProjectId()); competeTeam.setCompanyId(param.getCompanyId()); - competeTeam.setCompanyId((long) param.getGender()); - competeTeam.setCompanyId((long) param.getGroupRemark()); + competeTeam.setGenderGroup((byte) param.getGender()); + competeTeam.setGroupRemark((byte) param.getGroupRemark()); //添加团队表 competeTeamDao.insertSelective(competeTeam); } @@ -754,7 +754,7 @@ public class ProvinceService implements IProvinceService { //查找项目 CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); if(ObjectUtil.isNotNull(competeProject)){ - groupAndPlayerList = competeCompanyDao.getPlayerByTeamProject(param.getProjectId(),competeProject.getType()); + groupAndPlayerList = competeCompanyDao.getPlayerByTeamProject(param.getCompanyId(),param.getProjectId(),competeProject.getType()); } return groupAndPlayerList; } @@ -770,7 +770,11 @@ public class ProvinceService implements IProvinceService { if(ObjectUtil.isNotNull(competeProject) && competeProject.getTeam() == 1){ //如果同单位不限组别 if(competeProject.getJoinRule() == 1){ - groupAndPlayerList = competeCompanyDao.queryPlayerByGroupId(competeProject.getType(),param.getCompanyId(),null,param.getProjectId()); +// groupAndPlayerList = competeCompanyDao.queryPlayerByGroupId(competeProject.getType(),param.getCompanyId(),null,param.getProjectId()); + List playerInfoByGroupList = competeCompanyDao.queryPlayersByTeamProject(param.getCompanyId(),param.getProjectId()); + ProvinceCompeteVo.GroupAndPlayer groupAndPlayer = new ProvinceCompeteVo.GroupAndPlayer(); + groupAndPlayer.setGroupName("不限制组别"); + groupAndPlayer.setPlayerList(playerInfoByGroupList); } //如果同单位限制组别 if(competeProject.getJoinRule() == 0){ diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index 467c77f3..f8ae9d5b 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -19,6 +19,8 @@ + + @@ -245,8 +247,8 @@ LEFT JOIN t_compete_player p on m.player_id = p.id WHERE t.project_id = #{projectId} - and - g.type = #{type} + and t.company_id = #{companyId} + and g.type = #{type} and g.rec_status = 0 and t.rec_status = 0 and m.rec_status = 0 @@ -289,6 +291,8 @@ g.group_name as groupName, p.id as playerId, p.`name` as playerName, + a.mRemark as groupRemark, + a.mGender as gender, if(a.tId is null,0,1) as joinProject FROM t_compete_group g @@ -339,5 +343,19 @@ and t.rec_status = 0 and m.rec_status = 0 + \ No newline at end of file From 134e1e44b73e4cd42b96d85fcb08c63f985b11e9 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 11 Nov 2020 13:22:30 +0800 Subject: [PATCH 3/7] 20201111v1.3 --- .../com/ccsens/mt/api/ProvinceController.java | 10 ++++ .../mt/bean/dto/ProvinceCompeteDto.java | 8 ++++ .../ccsens/mt/bean/vo/ProvinceCompeteVo.java | 2 + .../ccsens/mt/service/IProvinceService.java | 6 +++ .../ccsens/mt/service/ProvinceService.java | 47 ++++++++++++++++--- .../mapper_dao/CompeteCompanyDao.xml | 6 ++- 6 files changed, 72 insertions(+), 7 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index d5e4dbeb..1b8daeb3 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -201,4 +201,14 @@ public class ProvinceController { log.info("团体报名查询可以参加和已经参加的选手:{}",groupAndPlayer); return JsonResponse.newInstance().ok(groupAndPlayer); } + + @MustLogin + @ApiOperation(value = "删除报名的队伍", notes = "") + @RequestMapping(value = "/del/team", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse delJoinTeam(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("删除报名的队伍:{}",params); + provinceService.delJoinTeam(params.getParam()); + log.info("删除报名的队伍"); + return JsonResponse.newInstance().ok(); + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java index e6de7633..6e72f124 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -159,4 +159,12 @@ public class ProvinceCompeteDto { @ApiModelProperty("组别信息") private int groupRemark; } + + @Data + @ApiModel("删除参赛队伍") + public static class DelTeam{ + @NotNull(message = "队伍id") + @ApiModelProperty("队伍id") + private Long teamId; + } } diff --git a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java index dcd6c676..3fb471a7 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java +++ b/mt/src/main/java/com/ccsens/mt/bean/vo/ProvinceCompeteVo.java @@ -52,6 +52,8 @@ public class ProvinceCompeteVo { private int gender; @ApiModelProperty("组别信息") private int groupRemark; + @ApiModelProperty("团队id") + private Long teamId; @ApiModelProperty("选手信息") private List playerList; } diff --git a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java index 965a40a3..53f30e7d 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -145,4 +145,10 @@ public interface IProvinceService { * @return 返回所有可参赛的选手和已经参赛的选手 */ List getPlayerByTeamProjectWithRule(ProvinceCompeteDto.GetPlayerByTeamProjectWithRule param); + + /** + * 删除参赛的队伍 + * @param param ok + */ + void delJoinTeam(ProvinceCompeteDto.DelTeam param); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 50d5e977..cbf48c89 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -754,7 +754,23 @@ public class ProvinceService implements IProvinceService { //查找项目 CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); if(ObjectUtil.isNotNull(competeProject)){ - groupAndPlayerList = competeCompanyDao.getPlayerByTeamProject(param.getCompanyId(),param.getProjectId(),competeProject.getType()); + if(competeProject.getJoinRule() == 0) { + groupAndPlayerList = competeCompanyDao.getPlayerByTeamProject(param.getCompanyId(), param.getProjectId(), competeProject.getType()); + }else { + List playerInfoByGroupList = competeCompanyDao.queryPlayersByTeamProject(param.getCompanyId(),param.getProjectId()); +// groupAndPlayerList = competeCompanyDao.queryPlayersByTeamProject(param.getCompanyId(),param.getProjectId()); + ProvinceCompeteVo.GroupAndPlayer groupAndPlayer = new ProvinceCompeteVo.GroupAndPlayer(); + + CompeteTeamExample teamExample = new CompeteTeamExample(); + teamExample.createCriteria().andProjectIdEqualTo(param.getProjectId()).andCompanyIdEqualTo(param.getCompanyId()); + List teamList = competeTeamDao.selectByExample(teamExample); + if(CollectionUtil.isNotEmpty(teamList)){ + groupAndPlayer.setTeamId(teamList.get(0).getId()); + } + groupAndPlayer.setGroupName("不限制组别"); + groupAndPlayer.setPlayerList(playerInfoByGroupList); + groupAndPlayerList.add(groupAndPlayer); + } } return groupAndPlayerList; } @@ -770,11 +786,11 @@ public class ProvinceService implements IProvinceService { if(ObjectUtil.isNotNull(competeProject) && competeProject.getTeam() == 1){ //如果同单位不限组别 if(competeProject.getJoinRule() == 1){ -// groupAndPlayerList = competeCompanyDao.queryPlayerByGroupId(competeProject.getType(),param.getCompanyId(),null,param.getProjectId()); - List playerInfoByGroupList = competeCompanyDao.queryPlayersByTeamProject(param.getCompanyId(),param.getProjectId()); - ProvinceCompeteVo.GroupAndPlayer groupAndPlayer = new ProvinceCompeteVo.GroupAndPlayer(); - groupAndPlayer.setGroupName("不限制组别"); - groupAndPlayer.setPlayerList(playerInfoByGroupList); + groupAndPlayerList = competeCompanyDao.queryPlayerByGroupId(competeProject.getType(),param.getCompanyId(),null,param.getProjectId()); +// List playerInfoByGroupList = competeCompanyDao.queryPlayersByTeamProject(param.getCompanyId(),param.getProjectId()); +// ProvinceCompeteVo.GroupAndPlayer groupAndPlayer = new ProvinceCompeteVo.GroupAndPlayer(); +// groupAndPlayer.setGroupName("不限制组别"); +// groupAndPlayer.setPlayerList(playerInfoByGroupList); } //如果同单位限制组别 if(competeProject.getJoinRule() == 0){ @@ -788,5 +804,24 @@ public class ProvinceService implements IProvinceService { } return groupAndPlayerList; } + + @Override + public void delJoinTeam(ProvinceCompeteDto.DelTeam param) { + CompeteTeam competeTeam = competeTeamDao.selectByPrimaryKey(param.getTeamId()); + if(ObjectUtil.isNotNull(competeTeam)){ + competeTeam.setRecStatus((byte) 2); + competeTeamDao.updateByPrimaryKeySelective(competeTeam); + + CompeteTeamMemberExample teamMemberExample = new CompeteTeamMemberExample(); + teamMemberExample.createCriteria().andCompeteTeamIdEqualTo(param.getTeamId()); + List teamMemberList = teamMemberMapper.selectByExample(teamMemberExample); + if(CollectionUtil.isNotEmpty(teamMemberList)){ + teamMemberList.forEach(teamMember -> { + teamMember.setRecStatus((byte) 2); + teamMemberMapper.updateByPrimaryKeySelective(teamMember); + }); + } + } + } } diff --git a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml index f8ae9d5b..57baa676 100644 --- a/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml @@ -21,6 +21,7 @@ + @@ -239,7 +240,10 @@ g.id as groupId, g.group_name as groupName, p.id as playerId, - p.`name` as playerName + p.`name` as playerName, + t.gender_group as gender, + t.group_remark as groupRemark, + t.id as teamId FROM t_compete_group g LEFT JOIN t_compete_team t on g.sex = t.gender_group and g.group_remark = t.group_remark From 0171df597084f84c33579112ef36a75330c387d2 Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Wed, 11 Nov 2020 13:29:59 +0800 Subject: [PATCH 4/7] 11-11 --- .../com/ccsens/mt/api/ExcelController.java | 16 ++-- .../com/ccsens/mt/api/ProvinceController.java | 18 ++--- .../mt/bean/dto/ProvinceCompeteDto.java | 11 ++- .../java/com/ccsens/mt/bean/vo/TableVo.java | 9 ++- .../com/ccsens/mt/service/ExcelService.java | 80 ++++++++++++------- .../ccsens/mt/service/IProvinceService.java | 12 +-- .../ccsens/mt/service/ProvinceService.java | 20 ++--- mt/src/main/resources/application.yml | 4 +- .../mapper_dao/CompeteProjectConfigDao.xml | 3 +- .../mapper_dao/CompeteProjectDao.xml | 3 +- 10 files changed, 106 insertions(+), 70 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java index 4fc1403a..899f0c7c 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java @@ -83,28 +83,28 @@ public class ExcelController { @MustLogin @ApiOperation(value = "日程安排中间表", notes = "") @RequestMapping(value = "/dailyScheduleProcess", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse dailyScheduleProcess(@ApiParam @Validated @RequestBody CompeteDto.CompeteTime params) { + public JsonResponse dailyScheduleProcess(@ApiParam @Validated @RequestBody QueryDto params) { log.info("日程安排中间表:{}",params); - List dailyScheduleProcessList = excelService.dailyScheduleProcess(params); + List dailyScheduleProcessList = excelService.dailyScheduleProcess(params.getParam()); return JsonResponse.newInstance().ok(dailyScheduleProcessList); } @MustLogin @ApiOperation(value = "日程安排更新", notes = "") @RequestMapping(value = "/updateAndSearchSchedule", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse updateAndSearch(@ApiParam @Validated @RequestBody ProvinceCompeteDto.UpdateAndSearchList params) { + public JsonResponse updateAndSearch(@ApiParam @Validated @RequestBody QueryDto params) { log.info("日程安排更新:{}",params); - excelService.updateAndSearch(params); - return JsonResponse.newInstance().ok(); + List dailyScheduleProcessList = excelService.updateAndSearch(params.getParam()); + return JsonResponse.newInstance().ok(dailyScheduleProcessList); } @MustLogin @ApiOperation(value = "xxx大赛报名表", notes = "") @RequestMapping(value = "/enterInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse getEnterInfo(@ApiParam @Validated @RequestBody CompeteDto.CompeteTime params) { + public JsonResponse getEnterInfo(@ApiParam @Validated @RequestBody QueryDto params) { log.info("日程安排更新:{}",params); - excelService.getCompeteJoinDetail(params); - return JsonResponse.newInstance().ok(); + List competeJoinList = excelService.getCompeteJoinDetail(params.getParam()); + return JsonResponse.newInstance().ok(competeJoinList); } diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index d5e4dbeb..e26611ba 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -182,15 +182,15 @@ public class ProvinceController { return JsonResponse.newInstance().ok(coachInfo); } - @MustLogin - @ApiOperation(value = "查找团体比赛已报名的选手信息", notes = "") - @RequestMapping(value = "/teamProject/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse> getPlayerByTeamProject(@ApiParam @Validated @RequestBody QueryDto params) { - log.info("查找团体比赛已报名的选手信息:{}",params); - List groupAndPlayer = provinceService.getPlayerByTeamProject(params.getParam()); - log.info("查找团体比赛已报名的选手信息:{}",groupAndPlayer); - return JsonResponse.newInstance().ok(groupAndPlayer); - } +// @MustLogin +// @ApiOperation(value = "查找团体比赛已报名的选手信息", notes = "") +// @RequestMapping(value = "/teamProject/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) +// public JsonResponse> getPlayerByTeamProject(@ApiParam @Validated @RequestBody QueryDto params) { +// log.info("查找团体比赛已报名的选手信息:{}",params); +//// List groupAndPlayer = provinceService.getPlayerByTeamProject(params.getParam()); +// log.info("查找团体比赛已报名的选手信息:{}",groupAndPlayer); +// return JsonResponse.newInstance().ok(groupAndPlayer); +// } @MustLogin @ApiOperation(value = "团体报名查询可以参加和已经参加的选手", notes = "") diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java index a2351388..1fe89e25 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotNull; +import java.util.Date; import java.util.List; /** @@ -133,18 +134,20 @@ public class ProvinceCompeteDto { @Data @ApiModel("修改日程安排") public static class UpdateAndSearch{ + @ApiModelProperty("项目id") + private Long projectId; @ApiModelProperty("参赛项目") private String projectName; @ApiModelProperty("参赛人/队伍") private int joinNum; @ApiModelProperty("单项时间") - private long singleTime; + private Long singleTime; @ApiModelProperty("场地") private int siteNum; @ApiModelProperty("场次") - private long games; + private Long games; @ApiModelProperty("总时间") - private long timeSum; + private Long timeSum; @ApiModelProperty("项目开始时间") private Long startTime; @ApiModelProperty("项目结束时间") @@ -156,6 +159,7 @@ public class ProvinceCompeteDto { public static class UpdateAndSearchList { private List updateAndSearchList; } + @ApiModel("查找团队项目下已参加的选手信息") public static class GetPlayerByTeamProject{ @NotNull(message = "请先填写基础信息") @@ -164,6 +168,7 @@ public class ProvinceCompeteDto { @NotNull(message = "请选择项目") @ApiModelProperty("项目id") private Long projectId; + } @Data 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 7df4ca4f..f4b9bef8 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 @@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -17,6 +18,8 @@ public class TableVo { @Data @ApiModel("XXXX大赛报名表") public static class CompeteJoin{ + @ApiModelProperty("参赛id") + private Long projectId; @ApiModelProperty("参赛项目") private String competeProject; @ApiModelProperty("组别") @@ -113,6 +116,8 @@ public class TableVo { @Data @ApiModel("日程安排") public static class DailyScheduleProcess{ + @ApiModelProperty("参赛id") + private Long projectId; @ApiModelProperty("参赛项目") private String projectName; @ApiModelProperty("参赛人/队伍") @@ -122,9 +127,9 @@ public class TableVo { @ApiModelProperty("场地") private int siteNum; @ApiModelProperty("场次") - private long games; + private double games; @ApiModelProperty("总时间") - private long timeSum; + private double timeSum; @ApiModelProperty("项目开始时间") private Long startTime; @ApiModelProperty("项目结束时间") 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 83eed9fe..b4adbe69 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java @@ -16,6 +16,8 @@ import com.ccsens.util.WebConstant; import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.util.exception.BaseException; +import com.ctc.wstx.util.DataUtil; +import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; @@ -27,7 +29,9 @@ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.List; @Slf4j @@ -383,6 +387,8 @@ public class ExcelService implements IExcelService { // } //参赛项目名赋值 competeJoin.setCompeteProject(projectName); + //项目id + competeJoin.setProjectId(competeProject.getId()); competeJoinList.add(competeJoin); } @@ -453,6 +459,8 @@ public class ExcelService implements IExcelService { // } //参赛项目名赋值 competeJoin.setCompeteProject(projectName); + //项目id + competeJoin.setProjectId(competeProject.getId()); competeJoinList.add(competeJoin); } } @@ -538,7 +546,8 @@ public class ExcelService implements IExcelService { @Override - public String competeJoinCount(CompeteDto.CompeteTime params) throws IOException { + public String + competeJoinCount(CompeteDto.CompeteTime params) throws IOException { List competeOverviewList = competeJoinCountList(params); String path = getExcelFilePathForCompeteJoinCount(competeOverviewList); return path; @@ -793,7 +802,8 @@ public class ExcelService implements IExcelService { dailyScheduleProcess.setJoinNum((int) count); //项目名 dailyScheduleProcess.setProjectName(competeProject.getName()); - + //项目id + dailyScheduleProcess.setProjectId(competeProject.getId()); CompeteProjectConfig competeProjectConfig = competeProjectConfigDao.selectByProjectId(competeProject.getId()); if (ObjectUtil.isNotNull(competeProjectConfig)) { //单项时间 @@ -801,10 +811,11 @@ public class ExcelService implements IExcelService { //场地 dailyScheduleProcess.setSiteNum(competeProjectConfig.getSiteNum()); //场次 - long times = count / competeProjectConfig.getSiteNum(); + double a = (double)count / (double)competeProjectConfig.getSiteNum(); + double times = Math.ceil(a); dailyScheduleProcess.setGames(times); //总时间 - long second = competeProjectConfig.getProjectDuration() * times; + double second = competeProjectConfig.getProjectDuration() * times; dailyScheduleProcess.setTimeSum(second); //项目开始时间 dailyScheduleProcess.setStartTime(competeProjectConfig.getStartTime()); @@ -816,13 +827,14 @@ public class ExcelService implements IExcelService { //是团队 CompeteTeamExample competeTeamExample = new CompeteTeamExample(); competeTeamExample.createCriteria().andProjectIdEqualTo(competeProject.getId()); - long count = competeTeamDao.countByExample(competeTeamExample); + int count = (int) competeTeamDao.countByExample(competeTeamExample); TableVo.DailyScheduleProcess dailyScheduleProcess = new TableVo.DailyScheduleProcess(); //队伍/人数 dailyScheduleProcess.setJoinNum((int) count); //项目名 dailyScheduleProcess.setProjectName(competeProject.getName()); - + //项目id + dailyScheduleProcess.setProjectId(competeProject.getId()); CompeteProjectConfig competeProjectConfig = competeProjectConfigDao.selectByProjectId(competeProject.getId()); if (ObjectUtil.isNotNull(competeProjectConfig)) { //单项时间 @@ -830,10 +842,12 @@ public class ExcelService implements IExcelService { //场地 dailyScheduleProcess.setSiteNum(competeProjectConfig.getSiteNum()); //场次 - long times = count / competeProjectConfig.getSiteNum(); + double a = (double)count / (double)competeProjectConfig.getSiteNum(); + double times = Math.ceil(a); dailyScheduleProcess.setGames(times); //总时间 - long second = competeProjectConfig.getProjectDuration() * times; + double second = competeProjectConfig.getProjectDuration() * times; + dailyScheduleProcess.setTimeSum(second); dailyScheduleProcess.setTimeSum(second); //项目开始时间 dailyScheduleProcess.setStartTime(competeProjectConfig.getStartTime()); @@ -852,38 +866,45 @@ public class ExcelService implements IExcelService { List dailyScheduleProcessList = new ArrayList<>(); List updateAndSearchList = params.getUpdateAndSearchList(); for (ProvinceCompeteDto.UpdateAndSearch updateAndSearch : updateAndSearchList){ - //根据项目查项目id - CompeteProject competeProject = competeProjectDao.getProjectByProjectName(updateAndSearch.getProjectName()); - long projectId = competeProject.getId(); //查询数据库中现有数据对象 - CompeteProjectConfig competeProjectConfig = competeProjectConfigDao.selectByProjectId(projectId); + CompeteProjectConfig competeProjectConfig = competeProjectConfigDao.selectByProjectId(updateAndSearch.getProjectId()); //修改单项时间,场地和开始结束时间 + if (ObjectUtil.isNotNull(competeProjectConfig)){ competeProjectConfig.setProjectDuration(updateAndSearch.getSingleTime()); competeProjectConfig.setSiteNum(updateAndSearch.getSiteNum()); competeProjectConfig.setStartTime(updateAndSearch.getStartTime()); competeProjectConfig.setEndTime(updateAndSearch.getEndTime()); - competeProjectConfigDao.updateByPrimaryKeySelective(competeProjectConfig); + CompeteProjectConfigExample competeProjectConfigExample = new CompeteProjectConfigExample(); + competeProjectConfigExample.createCriteria().andProjectIdEqualTo(updateAndSearch.getProjectId()); + int num = competeProjectConfigDao.updateByExampleSelective(competeProjectConfig,competeProjectConfigExample); + System.out.println(num); + } //返回前台的对象赋值 TableVo.DailyScheduleProcess dailyScheduleProcess = new TableVo.DailyScheduleProcess(); //项目名 dailyScheduleProcess.setProjectName(updateAndSearch.getProjectName()); + //项目id + dailyScheduleProcess.setProjectId(updateAndSearch.getProjectId()); //参赛人或者队伍 dailyScheduleProcess.setJoinNum(updateAndSearch.getJoinNum()); //单项时间 - CompeteProjectConfig competeProjectConfig1 = competeProjectConfigDao.selectByProjectId(competeProject.getId()); - dailyScheduleProcess.setSingleTime(competeProjectConfig1.getProjectDuration()); - //场地 - dailyScheduleProcess.setSiteNum(competeProjectConfig1.getSiteNum()); - //场次 - long games = updateAndSearch.getJoinNum()/competeProjectConfig1.getSiteNum(); - dailyScheduleProcess.setGames(games); - //总时间 - long second = competeProjectConfig1.getProjectDuration()*games; - dailyScheduleProcess.setTimeSum(second); - //开始时间 - dailyScheduleProcess.setStartTime(competeProjectConfig1.getStartTime()); - //结束时间 - dailyScheduleProcess.setEndTime(competeProjectConfig1.getEndTime()); + CompeteProjectConfig competeProjectConfig1 = competeProjectConfigDao.selectByProjectId(updateAndSearch.getProjectId()); + if (ObjectUtil.isNotNull(competeProjectConfig1)) { + dailyScheduleProcess.setSingleTime(competeProjectConfig1.getProjectDuration()); + //场地 + dailyScheduleProcess.setSiteNum(competeProjectConfig1.getSiteNum()); + //场次 + double a = (double) updateAndSearch.getJoinNum() /(double) competeProjectConfig1.getSiteNum(); + double games = Math.ceil(a); + dailyScheduleProcess.setGames(games); + //总时间 + double second = competeProjectConfig1.getProjectDuration() * games; + dailyScheduleProcess.setTimeSum(second); + //开始时间 + dailyScheduleProcess.setStartTime(competeProjectConfig1.getStartTime()); + //项目结束时间 + dailyScheduleProcess.setEndTime(competeProjectConfig1.getEndTime()); + } dailyScheduleProcessList.add(dailyScheduleProcess); } return dailyScheduleProcessList; @@ -912,6 +933,8 @@ public class ExcelService implements IExcelService { //查询每个报名人的详细信息下 CompetePlayer competePlayer = competePlayerDao.selectByPrimaryKey(competeProjectPlayer.getPlayerId()); TableVo.CompeteJoin competeJoin = new TableVo.CompeteJoin(); + //项目id + competeJoin.setProjectId(competeProject.getId()); //姓名 competeJoin.setName(competePlayer.getName()); //身份证号 @@ -980,6 +1003,8 @@ public class ExcelService implements IExcelService { //查询成员详细信息 CompetePlayer competePlayer = competePlayerDao.selectByPrimaryKey(competeTeamMember.getPlayerId()); TableVo.CompeteJoin competeJoin = new TableVo.CompeteJoin(); + //项目id + competeJoin.setProjectId(competeProject.getId()); //姓名 competeJoin.setName(competePlayer.getName()); //身份证号 @@ -995,7 +1020,6 @@ public class ExcelService implements IExcelService { } else { competeJoin.setGender("男"); } - //查询单位,并赋值 CompeteCompany competeCompany = competeCompanyMapper.selectByPrimaryKey(competePlayer.getCompanyId()); if (ObjectUtil.isNotNull(competeCompany)) { diff --git a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java index 965a40a3..1fff7087 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -132,12 +132,12 @@ public interface IProvinceService { */ ProvinceCompeteVo.GetCoach getCoachInfo(CompeteDto.LeaderId param); - /** - * 查找团队项目下已参加的选手信息 - * @param param 单位id和团体项目id - * @return 返回参加的选手的详细信息,按组别分类 - */ - List getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param); +// /** +// * 查找团队项目下已参加的选手信息 +// * @param param 单位id和团体项目id +// * @return 返回参加的选手的详细信息,按组别分类 +// */ +// List getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param); /** * 查找团队下符合规则的选手信息 diff --git a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java index 5eaf9556..abbade58 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ProvinceService.java @@ -631,16 +631,16 @@ public class ProvinceService implements IProvinceService { /** * 查找团体项目下的参赛选手信息 */ - @Override - public List getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param) { - List groupAndPlayerList = null; - //查找项目 - CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); - if(ObjectUtil.isNotNull(competeProject)){ - groupAndPlayerList = competeCompanyDao.getPlayerByTeamProject(param.getProjectId(),competeProject.getType()); - } - return groupAndPlayerList; - } +// @Override +// public List getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param) { +// List groupAndPlayerList = null; +// //查找项目 +// CompeteProject competeProject = competeProjectMapper.selectByPrimaryKey(param.getProjectId()); +// if(ObjectUtil.isNotNull(competeProject)){ +// groupAndPlayerList = competeCompanyDao.getPlayerByTeamProject(param.getProjectId(),competeProject.getType()); +// } +// return groupAndPlayerList; +// } /** * 查找符合参赛规则的选手信息 diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5889ff7f..5c2cd5c4 100644 --- a/mt/src/main/resources/application.yml +++ b/mt/src/main/resources/application.yml @@ -1,4 +1,4 @@ spring: profiles: - active: test - include: common, util-test \ No newline at end of file + active: dev + include: common, util-dev \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml index 4af60200..66940463 100644 --- a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml @@ -14,6 +14,7 @@ \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteProjectDao.xml b/mt/src/main/resources/mapper_dao/CompeteProjectDao.xml index 599eee15..233fac8c 100644 --- a/mt/src/main/resources/mapper_dao/CompeteProjectDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteProjectDao.xml @@ -4,6 +4,7 @@ \ No newline at end of file From 9e9310d8a4a58625d2f6fa27710e9b6c7e5dcf31 Mon Sep 17 00:00:00 2001 From: zy_Java <654600784@qq.com> Date: Wed, 11 Nov 2020 13:38:41 +0800 Subject: [PATCH 5/7] 20201111v1.4 --- .../com/ccsens/mt/api/ProvinceController.java | 18 +++++++++--------- .../mt/bean/dto/ProvinceCompeteDto.java | 1 + .../ccsens/mt/service/IProvinceService.java | 19 ++++++------------- 3 files changed, 16 insertions(+), 22 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java index 7e7d5aaa..1b8daeb3 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ProvinceController.java @@ -182,15 +182,15 @@ public class ProvinceController { return JsonResponse.newInstance().ok(coachInfo); } -// @MustLogin -// @ApiOperation(value = "查找团体比赛已报名的选手信息", notes = "") -// @RequestMapping(value = "/teamProject/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) -// public JsonResponse> getPlayerByTeamProject(@ApiParam @Validated @RequestBody QueryDto params) { -// log.info("查找团体比赛已报名的选手信息:{}",params); -//// List groupAndPlayer = provinceService.getPlayerByTeamProject(params.getParam()); -// log.info("查找团体比赛已报名的选手信息:{}",groupAndPlayer); -// return JsonResponse.newInstance().ok(groupAndPlayer); -// } + @MustLogin + @ApiOperation(value = "查找团体比赛已报名的选手信息", notes = "") + @RequestMapping(value = "/teamProject/player", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse> getPlayerByTeamProject(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("查找团体比赛已报名的选手信息:{}",params); + List groupAndPlayer = provinceService.getPlayerByTeamProject(params.getParam()); + log.info("查找团体比赛已报名的选手信息:{}",groupAndPlayer); + return JsonResponse.newInstance().ok(groupAndPlayer); + } @MustLogin @ApiOperation(value = "团体报名查询可以参加和已经参加的选手", notes = "") diff --git a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java index 75a4840c..c5c636b9 100644 --- a/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java +++ b/mt/src/main/java/com/ccsens/mt/bean/dto/ProvinceCompeteDto.java @@ -164,6 +164,7 @@ public class ProvinceCompeteDto { private List updateAndSearchList; } + @Data @ApiModel("查找团队项目下已参加的选手信息") public static class GetPlayerByTeamProject{ @NotNull(message = "请先填写基础信息") diff --git a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java index ac2324aa..d83db6eb 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IProvinceService.java @@ -88,13 +88,6 @@ public interface IProvinceService { */ ProvinceCompeteVo.CompeteCompanyHeadList queryCoach(ProvinceCompeteDto.CompanyIdVo param); -// /** -// * 添加领队和教练信息 -// * @param -// * @param -// * @return -// */ -// void saveCoach(CompeteDto.AddCoach param); /** * 删除领队和教练信息 @@ -132,12 +125,12 @@ public interface IProvinceService { */ ProvinceCompeteVo.GetCoach getCoachInfo(CompeteDto.LeaderId param); -// /** -// * 查找团队项目下已参加的选手信息 -// * @param param 单位id和团体项目id -// * @return 返回参加的选手的详细信息,按组别分类 -// */ -// List getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param); + /** + * 查找团队项目下已参加的选手信息 + * @param param 单位id和团体项目id + * @return 返回参加的选手的详细信息,按组别分类 + */ + List getPlayerByTeamProject(ProvinceCompeteDto.GetPlayerByTeamProject param); /** * 查找团队下符合规则的选手信息 From 7280af79ca1951e850706cf4c5b1218824833e45 Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Wed, 11 Nov 2020 14:14:17 +0800 Subject: [PATCH 6/7] 11-11-3 --- .../main/java/com/ccsens/mt/api/ExcelController.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java index 899f0c7c..92ffa3bb 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java @@ -34,7 +34,7 @@ public class ExcelController { private IExcelService excelService; @MustLogin - @ApiOperation(value = "xxx大赛报名表", notes = "") + @ApiOperation(value = "xxx大赛报名表(导出)", notes = "") @RequestMapping(value = "/competeJoin", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse competeJoin(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { log.info("xxx大赛报名表:{}",params); @@ -44,7 +44,7 @@ public class ExcelController { @MustLogin - @ApiOperation(value = "参赛人数统计表", notes = "") + @ApiOperation(value = "参赛人数统计表(导出)", notes = "") @RequestMapping(value = "/competeJoinCount", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse competeJoinCount(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { log.info("参赛人数统计表:{}",params); @@ -54,7 +54,7 @@ public class ExcelController { @MustLogin - @ApiOperation(value = "XXX比赛报名汇总表", notes = "") + @ApiOperation(value = "XXX比赛报名汇总表(导出)", notes = "") @RequestMapping(value = "/competeAllCount", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse competeAllCount(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { log.info("XXX比赛报名汇总表:{}",params); @@ -81,7 +81,7 @@ public class ExcelController { } @MustLogin - @ApiOperation(value = "日程安排中间表", notes = "") + @ApiOperation(value = "日程安排中间表(查询)", notes = "") @RequestMapping(value = "/dailyScheduleProcess", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse dailyScheduleProcess(@ApiParam @Validated @RequestBody QueryDto params) { log.info("日程安排中间表:{}",params); @@ -90,7 +90,7 @@ public class ExcelController { } @MustLogin - @ApiOperation(value = "日程安排更新", notes = "") + @ApiOperation(value = "日程安排更新(查询)", notes = "") @RequestMapping(value = "/updateAndSearchSchedule", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse updateAndSearch(@ApiParam @Validated @RequestBody QueryDto params) { log.info("日程安排更新:{}",params); @@ -99,7 +99,7 @@ public class ExcelController { } @MustLogin - @ApiOperation(value = "xxx大赛报名表", notes = "") + @ApiOperation(value = "xxx大赛报名表(查询)", notes = "") @RequestMapping(value = "/enterInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse getEnterInfo(@ApiParam @Validated @RequestBody QueryDto params) { log.info("日程安排更新:{}",params); From 99cd3aeb43e721381336064a7dcd48d9d3a9bc9a Mon Sep 17 00:00:00 2001 From: "Lihong@123456" <1090591095@qq.com> Date: Wed, 11 Nov 2020 19:18:12 +0800 Subject: [PATCH 7/7] 11-11-4 --- .../com/ccsens/mt/api/ExcelController.java | 10 +++- .../java/com/ccsens/mt/bean/vo/TableVo.java | 31 +++++++++++++ .../persist/dao/CompeteProjectConfigDao.java | 3 +- .../persist/mapper/CompeteProjectMapper.java | 4 ++ .../com/ccsens/mt/service/ExcelService.java | 46 ++++++++++++++++++- .../com/ccsens/mt/service/IExcelService.java | 6 +++ .../mapper_dao/CompeteProjectConfigDao.xml | 7 +++ 7 files changed, 104 insertions(+), 3 deletions(-) diff --git a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java index 92ffa3bb..5a66c731 100644 --- a/mt/src/main/java/com/ccsens/mt/api/ExcelController.java +++ b/mt/src/main/java/com/ccsens/mt/api/ExcelController.java @@ -101,12 +101,20 @@ public class ExcelController { @MustLogin @ApiOperation(value = "xxx大赛报名表(查询)", notes = "") @RequestMapping(value = "/enterInfo", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public JsonResponse getEnterInfo(@ApiParam @Validated @RequestBody QueryDto params) { + public JsonResponse getEnterInfo(@ApiParam @Validated @RequestBody QueryDto params) { log.info("日程安排更新:{}",params); List competeJoinList = excelService.getCompeteJoinDetail(params.getParam()); return JsonResponse.newInstance().ok(competeJoinList); } + @MustLogin + @ApiOperation(value = "日程安排(导出)", notes = "") + @RequestMapping(value = "/schedulePlanning", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) + public JsonResponse schedulePlanning(@ApiParam @Validated @RequestBody QueryDto params) { + log.info("日程安排更新:{}",params); + TableVo.SchedulePlan schedulePlanDetailAllInList = excelService.schedulePlanning(params.getParam()); + return JsonResponse.newInstance().ok(schedulePlanDetailAllInList); + } } 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 f4b9bef8..6e26d9fc 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 @@ -134,7 +134,38 @@ public class TableVo { private Long startTime; @ApiModelProperty("项目结束时间") private Long endTime; + } + + + @Data + @ApiModel("日程安排上下午") + public static class SchedulePlan{ + @ApiModelProperty("安排详情上午") + private List schedulePlanDetailListUp; + @ApiModelProperty("安排详情下午") + private List schedulePlanDetailListDown; + } + @Data + @ApiModel("日程安排") + public static class SchedulePlanDetail{ + @ApiModelProperty("参赛项目") + private String projectName; + @ApiModelProperty("项目开始时间") + private Long startTime; + @ApiModelProperty("项目结束时间") + private Long endTime; + @ApiModelProperty("项目所属日期") + private Long data; } + @Data + @ApiModel("日程安排组合") + public static class SchedulePlanDetailAllIn{ + @ApiModelProperty("字符拼接") + private String string; + @ApiModelProperty("项目所属日期") + private String data; + + } } diff --git a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java index 023bb3f4..27166e46 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java +++ b/mt/src/main/java/com/ccsens/mt/persist/dao/CompeteProjectConfigDao.java @@ -2,6 +2,7 @@ package com.ccsens.mt.persist.dao; import com.ccsens.mt.bean.po.CompeteProjectConfig; import com.ccsens.mt.bean.po.CompeteProjectConfigExample; +import com.ccsens.mt.bean.vo.TableVo; import com.ccsens.mt.persist.mapper.CompeteProjectConfigMapper; import org.apache.ibatis.annotations.Param; @@ -14,5 +15,5 @@ import java.util.List; */ public interface CompeteProjectConfigDao extends CompeteProjectConfigMapper { CompeteProjectConfig selectByProjectId(@Param("projectId") Long projectId); - + List selectDetail (); } \ No newline at end of file diff --git a/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteProjectMapper.java b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteProjectMapper.java index 47e4d6e6..323f429b 100644 --- a/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteProjectMapper.java +++ b/mt/src/main/java/com/ccsens/mt/persist/mapper/CompeteProjectMapper.java @@ -3,6 +3,8 @@ package com.ccsens.mt.persist.mapper; import com.ccsens.mt.bean.po.CompeteProject; import com.ccsens.mt.bean.po.CompeteProjectExample; import java.util.List; + +import com.ccsens.mt.bean.vo.TableVo; import org.apache.ibatis.annotations.Param; public interface CompeteProjectMapper { @@ -27,4 +29,6 @@ public interface CompeteProjectMapper { int updateByPrimaryKeySelective(CompeteProject record); int updateByPrimaryKey(CompeteProject record); + + } \ No newline at end of file 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 b4adbe69..65e5bf53 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ExcelService.java @@ -19,6 +19,7 @@ import com.ccsens.util.exception.BaseException; import com.ctc.wstx.util.DataUtil; import lombok.Data; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.time.DateUtils; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.stereotype.Service; @@ -32,6 +33,7 @@ import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; +import java.util.GregorianCalendar; import java.util.List; @Slf4j @@ -1065,7 +1067,49 @@ public class ExcelService implements IExcelService { return competeJoinList; } - + @Override + public TableVo.SchedulePlan schedulePlanning(CompeteDto.CompeteTime params) { + List schedulePlanDetailListUp = new ArrayList<>(); + List schedulePlanDetailListDown = new ArrayList<>(); + //关联查询项目名,该项目在config和project中都存在 + List schedulePlanDetailList = competeProjectConfigDao.selectDetail(); + for (TableVo.SchedulePlanDetail schedulePlanDetail : schedulePlanDetailList){ + //项目名 + String projectName = schedulePlanDetail.getProjectName(); + //开始时间yyyy-MM-dd HH:mm:ss + long startTime = schedulePlanDetail.getStartTime(); + Date date = new Date(startTime); + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm"); + String sm = simpleDateFormat.format(date); + //结束时间 + long endTime = schedulePlanDetail.getEndTime(); + Date date1 = new Date(endTime); + SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("HH:mm"); + String em = simpleDateFormat1.format(date1); + //拼接 + String string = projectName + "("+ sm +"-"+ em + ")"; + //项目开始日期 + SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("MM-dd"); + String md = simpleDateFormat2.format(date); + //上午项目 + if (Integer.parseInt(sm.substring(0,2)) >= 6 && Integer.parseInt(sm.substring(0,2)) <= 12){ + TableVo.SchedulePlanDetailAllIn schedulePlanDetailAllIn = new TableVo.SchedulePlanDetailAllIn(); + schedulePlanDetailAllIn.setData(md); + schedulePlanDetailAllIn.setString(string); + schedulePlanDetailListUp.add(schedulePlanDetailAllIn); + }//下午项目 + else if (Integer.parseInt(sm.substring(0,2)) > 12 && Integer.parseInt(sm.substring(0,2)) <= 18){ + TableVo.SchedulePlanDetailAllIn schedulePlanDetailAllIn1 = new TableVo.SchedulePlanDetailAllIn(); + schedulePlanDetailAllIn1.setData(md); + schedulePlanDetailAllIn1.setString(string); + schedulePlanDetailListDown.add(schedulePlanDetailAllIn1); + } + } + TableVo.SchedulePlan schedulePlan = new TableVo.SchedulePlan(); + schedulePlan.setSchedulePlanDetailListDown(schedulePlanDetailListDown); + schedulePlan.setSchedulePlanDetailListUp(schedulePlanDetailListUp); + return schedulePlan; + } } diff --git a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java index db04abd4..cfa61f56 100644 --- a/mt/src/main/java/com/ccsens/mt/service/IExcelService.java +++ b/mt/src/main/java/com/ccsens/mt/service/IExcelService.java @@ -74,6 +74,12 @@ public interface IExcelService { */ List updateAndSearch(ProvinceCompeteDto.UpdateAndSearchList params); + /** + * 更新并查询 + * @param params 大赛id + * @return 返回失败的信息 + */ + TableVo.SchedulePlan schedulePlanning(CompeteDto.CompeteTime params); diff --git a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml index 66940463..a7bd62b3 100644 --- a/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteProjectConfigDao.xml @@ -17,4 +17,11 @@ where project_id = #{projectId} and rec_status = 0 + \ No newline at end of file