|
@ -3,6 +3,7 @@ import cn.hutool.core.date.DateUtil; |
|
|
import cn.hutool.core.util.IdcardUtil; |
|
|
import cn.hutool.core.util.IdcardUtil; |
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
import com.ccsens.mt.bean.dto.CompeteDto; |
|
|
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.po.*; |
|
|
import com.ccsens.mt.bean.vo.CompeteExcelVo; |
|
|
import com.ccsens.mt.bean.vo.CompeteExcelVo; |
|
|
import com.ccsens.mt.bean.vo.TableVo; |
|
|
import com.ccsens.mt.bean.vo.TableVo; |
|
@ -16,8 +17,11 @@ import com.ccsens.util.WebConstant; |
|
|
|
|
|
|
|
|
import com.ccsens.util.bean.dto.QueryDto; |
|
|
import com.ccsens.util.bean.dto.QueryDto; |
|
|
import com.ccsens.util.exception.BaseException; |
|
|
import com.ccsens.util.exception.BaseException; |
|
|
|
|
|
import com.ctc.wstx.util.DataUtil; |
|
|
|
|
|
import lombok.Data; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
import org.apache.commons.collections.map.HashedMap; |
|
|
import org.apache.commons.collections.map.HashedMap; |
|
|
|
|
|
import org.apache.commons.lang.time.DateUtils; |
|
|
import org.apache.poi.ss.usermodel.Workbook; |
|
|
import org.apache.poi.ss.usermodel.Workbook; |
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
|
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
|
|
import org.springframework.stereotype.Service; |
|
|
import org.springframework.stereotype.Service; |
|
@ -33,6 +37,11 @@ import java.io.OutputStream; |
|
|
import java.text.SimpleDateFormat; |
|
|
import java.text.SimpleDateFormat; |
|
|
import java.util.*; |
|
|
import java.util.*; |
|
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
|
import java.util.Date; |
|
|
|
|
|
import java.util.GregorianCalendar; |
|
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
@Slf4j |
|
|
@Slf4j |
|
|
@Service |
|
|
@Service |
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) |
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) |
|
@ -66,6 +75,10 @@ public class ExcelService implements IExcelService { |
|
|
|
|
|
|
|
|
@Resource |
|
|
@Resource |
|
|
private CompetePlayerMapper competePlayerMapper; |
|
|
private CompetePlayerMapper competePlayerMapper; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private CompeteProjectConfigDao competeProjectConfigDao; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private CompeteProjectDao competeProjectDao; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public String dasaiduiwuxinxiWPS(QueryDto<CompeteDto.CompeteTime> params) { |
|
|
public String dasaiduiwuxinxiWPS(QueryDto<CompeteDto.CompeteTime> params) { |
|
@ -309,6 +322,9 @@ public class ExcelService implements IExcelService { |
|
|
return path; |
|
|
return path; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private List<TableVo.CompeteJoin> getCompeteJoin(CompeteDto.CompeteTime params) { |
|
|
private List<TableVo.CompeteJoin> getCompeteJoin(CompeteDto.CompeteTime params) { |
|
|
List<TableVo.CompeteJoin> competeJoinList = new ArrayList<>(); |
|
|
List<TableVo.CompeteJoin> competeJoinList = new ArrayList<>(); |
|
|
Long competeTimeId = params.getCompeteTimeId(); |
|
|
Long competeTimeId = params.getCompeteTimeId(); |
|
@ -381,6 +397,8 @@ public class ExcelService implements IExcelService { |
|
|
// }
|
|
|
// }
|
|
|
//参赛项目名赋值
|
|
|
//参赛项目名赋值
|
|
|
competeJoin.setCompeteProject(projectName); |
|
|
competeJoin.setCompeteProject(projectName); |
|
|
|
|
|
//项目id
|
|
|
|
|
|
competeJoin.setProjectId(competeProject.getId()); |
|
|
competeJoinList.add(competeJoin); |
|
|
competeJoinList.add(competeJoin); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@ -451,6 +469,8 @@ public class ExcelService implements IExcelService { |
|
|
// }
|
|
|
// }
|
|
|
//参赛项目名赋值
|
|
|
//参赛项目名赋值
|
|
|
competeJoin.setCompeteProject(projectName); |
|
|
competeJoin.setCompeteProject(projectName); |
|
|
|
|
|
//项目id
|
|
|
|
|
|
competeJoin.setProjectId(competeProject.getId()); |
|
|
competeJoinList.add(competeJoin); |
|
|
competeJoinList.add(competeJoin); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@ -536,7 +556,8 @@ public class ExcelService implements IExcelService { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public String competeJoinCount(CompeteDto.CompeteTime params) throws IOException { |
|
|
public String |
|
|
|
|
|
competeJoinCount(CompeteDto.CompeteTime params) throws IOException { |
|
|
List<TableVo.CompeteOverview> competeOverviewList = competeJoinCountList(params); |
|
|
List<TableVo.CompeteOverview> competeOverviewList = competeJoinCountList(params); |
|
|
String path = getExcelFilePathForCompeteJoinCount(competeOverviewList); |
|
|
String path = getExcelFilePathForCompeteJoinCount(competeOverviewList); |
|
|
return path; |
|
|
return path; |
|
@ -816,6 +837,7 @@ public class ExcelService implements IExcelService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// private List<TableVo.CompeteAllCount> competeAllCountList(CompeteDto.CompeteTime params){
|
|
|
// private List<TableVo.CompeteAllCount> competeAllCountList(CompeteDto.CompeteTime params){
|
|
|
// //根据大赛查类型
|
|
|
// //根据大赛查类型
|
|
|
// Long competeTimeId = params.getCompeteTimeId();
|
|
|
// Long competeTimeId = params.getCompeteTimeId();
|
|
@ -943,5 +965,338 @@ public class ExcelService implements IExcelService { |
|
|
return path; |
|
|
return path; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public List<TableVo.DailyScheduleProcess> dailyScheduleProcess(CompeteDto.CompeteTime params) { |
|
|
|
|
|
List<TableVo.DailyScheduleProcess> 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<CompeteProject> 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()); |
|
|
|
|
|
//项目id
|
|
|
|
|
|
dailyScheduleProcess.setProjectId(competeProject.getId()); |
|
|
|
|
|
CompeteProjectConfig competeProjectConfig = competeProjectConfigDao.selectByProjectId(competeProject.getId()); |
|
|
|
|
|
if (ObjectUtil.isNotNull(competeProjectConfig)) { |
|
|
|
|
|
//单项时间
|
|
|
|
|
|
dailyScheduleProcess.setSingleTime(competeProjectConfig.getProjectDuration()); |
|
|
|
|
|
//场地
|
|
|
|
|
|
dailyScheduleProcess.setSiteNum(competeProjectConfig.getSiteNum()); |
|
|
|
|
|
//场次
|
|
|
|
|
|
double a = (double)count / (double)competeProjectConfig.getSiteNum(); |
|
|
|
|
|
double times = Math.ceil(a); |
|
|
|
|
|
dailyScheduleProcess.setGames(times); |
|
|
|
|
|
//总时间
|
|
|
|
|
|
double 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()); |
|
|
|
|
|
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)) { |
|
|
|
|
|
//单项时间
|
|
|
|
|
|
dailyScheduleProcess.setSingleTime(competeProjectConfig.getProjectDuration()); |
|
|
|
|
|
//场地
|
|
|
|
|
|
dailyScheduleProcess.setSiteNum(competeProjectConfig.getSiteNum()); |
|
|
|
|
|
//场次
|
|
|
|
|
|
double a = (double)count / (double)competeProjectConfig.getSiteNum(); |
|
|
|
|
|
double times = Math.ceil(a); |
|
|
|
|
|
dailyScheduleProcess.setGames(times); |
|
|
|
|
|
//总时间
|
|
|
|
|
|
double second = competeProjectConfig.getProjectDuration() * times; |
|
|
|
|
|
dailyScheduleProcess.setTimeSum(second); |
|
|
|
|
|
dailyScheduleProcess.setTimeSum(second); |
|
|
|
|
|
//项目开始时间
|
|
|
|
|
|
dailyScheduleProcess.setStartTime(competeProjectConfig.getStartTime()); |
|
|
|
|
|
//项目结束时间
|
|
|
|
|
|
dailyScheduleProcess.setEndTime(competeProjectConfig.getEndTime()); |
|
|
|
|
|
} |
|
|
|
|
|
dailyScheduleProcessList.add(dailyScheduleProcess); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
return dailyScheduleProcessList; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public List<TableVo.DailyScheduleProcess> updateAndSearch(ProvinceCompeteDto.UpdateAndSearchList params) { |
|
|
|
|
|
List<TableVo.DailyScheduleProcess> dailyScheduleProcessList = new ArrayList<>(); |
|
|
|
|
|
List<ProvinceCompeteDto.UpdateAndSearch> updateAndSearchList = params.getUpdateAndSearchList(); |
|
|
|
|
|
for (ProvinceCompeteDto.UpdateAndSearch updateAndSearch : updateAndSearchList){ |
|
|
|
|
|
//查询数据库中现有数据对象
|
|
|
|
|
|
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()); |
|
|
|
|
|
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(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; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public List<TableVo.CompeteJoin> getCompeteJoinDetail(CompeteDto.CompeteTime params) { |
|
|
|
|
|
List<TableVo.CompeteJoin> 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<CompeteProject> 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<CompeteProjectPlayer> competeProjectPlayerList = competeProjectPlayerMapper.selectByExample(competeProjectPlayerExample); |
|
|
|
|
|
for (CompeteProjectPlayer competeProjectPlayer : competeProjectPlayerList) { |
|
|
|
|
|
//查询每个报名人的详细信息下
|
|
|
|
|
|
CompetePlayer competePlayer = competePlayerDao.selectByPrimaryKey(competeProjectPlayer.getPlayerId()); |
|
|
|
|
|
TableVo.CompeteJoin competeJoin = new TableVo.CompeteJoin(); |
|
|
|
|
|
//项目id
|
|
|
|
|
|
competeJoin.setProjectId(competeProject.getId()); |
|
|
|
|
|
//姓名
|
|
|
|
|
|
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<CompeteTeam> competeTeamList = competeTeamDao.selectByExample(competeTeamExample); |
|
|
|
|
|
for (CompeteTeam competeTeam : competeTeamList) { |
|
|
|
|
|
//获取队伍下的成员集合
|
|
|
|
|
|
CompeteTeamMemberExample competeTeamMemberExample = new CompeteTeamMemberExample(); |
|
|
|
|
|
competeTeamMemberExample.createCriteria().andCompeteTeamIdEqualTo(competeTeam.getId()); |
|
|
|
|
|
List<CompeteTeamMember> competeTeamMemberList = competeTeamMemberMapper.selectByExample(competeTeamMemberExample); |
|
|
|
|
|
for (CompeteTeamMember competeTeamMember : competeTeamMemberList) { |
|
|
|
|
|
//查询成员详细信息
|
|
|
|
|
|
CompetePlayer competePlayer = competePlayerDao.selectByPrimaryKey(competeTeamMember.getPlayerId()); |
|
|
|
|
|
TableVo.CompeteJoin competeJoin = new TableVo.CompeteJoin(); |
|
|
|
|
|
//项目id
|
|
|
|
|
|
competeJoin.setProjectId(competeProject.getId()); |
|
|
|
|
|
//姓名
|
|
|
|
|
|
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; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
|
public TableVo.SchedulePlan schedulePlanning(CompeteDto.CompeteTime params) { |
|
|
|
|
|
List<TableVo.SchedulePlanDetailAllIn> schedulePlanDetailListUp = new ArrayList<>(); |
|
|
|
|
|
List<TableVo.SchedulePlanDetailAllIn> schedulePlanDetailListDown = new ArrayList<>(); |
|
|
|
|
|
//关联查询项目名,该项目在config和project中都存在
|
|
|
|
|
|
List <TableVo.SchedulePlanDetail> 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; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|