Browse Source

解决冲突

tiaosheng
zhizhi wu 5 years ago
parent
commit
7d29c3aee4
  1. 2
      mt/src/main/java/com/ccsens/mt/bean/vo/CompeteExcelVo.java
  2. 31
      mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java
  3. 6
      mt/src/main/java/com/ccsens/mt/persist/dao/CompeteScoreDao.java
  4. 288
      mt/src/main/java/com/ccsens/mt/service/ExcelService.java
  5. 2
      mt/src/main/resources/application-dev.yml
  6. 45
      mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml
  7. 93
      mt/src/main/resources/mapper_dao/CompetePlayerDao.xml
  8. 110
      mt/src/main/resources/mapper_dao/CompeteScoreDao.xml
  9. 2
      mt/src/main/resources/mapper_dao/CompeteVideoDao.xml

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

@ -32,7 +32,7 @@ public class CompeteExcelVo {
@ApiModelProperty("单位名称") @ApiModelProperty("单位名称")
private String companyName; private String companyName;
@ApiModelProperty("团队选手名字") @ApiModelProperty("团队选手名字")
private String playerNames; private String playerName;
} }
@Data @Data

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

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

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

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

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

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

2
mt/src/main/resources/application-dev.yml

@ -31,3 +31,5 @@ file:
signUpUrl: https://test.tall.wiki/compete/ signUpUrl: https://test.tall.wiki/compete/
domain: https://test.tall.wiki/gateway/mt/ domain: https://test.tall.wiki/gateway/mt/
imgDomain: https://test.tall.wiki/gateway/mt/uploads/ imgDomain: https://test.tall.wiki/gateway/mt/uploads/
logging:
path:

45
mt/src/main/resources/mapper_dao/CompeteCompanyDao.xml

@ -401,22 +401,41 @@
<select id="selectCompeteJoinCountList" resultType="com.ccsens.mt.bean.vo.TableVo$CompeteOverview"> <select id="selectCompeteJoinCountList" resultType="com.ccsens.mt.bean.vo.TableVo$CompeteOverview">
SELECT *, select t3.companyId,t3.companyName as companyName , t1.coachNum, t2.guideNum, t3.playerNum , IFNULL(t1.coachNum,0) + IFNULL(t2.guideNum,0) + IFNULL(t3.playerNum,0) as sum from
(coachNum+guideNum+playerNum) as sum (select t.companyId, t.companyName,count(t.id) as playerNum from
FROM
(SELECT (SELECT
tcc.`name` as companyName, DISTINCT(tcp.id) as id, tcc.id as companyId,tcc.`name` as companyName
tcc.id, FROM
(SELECT count(tcca.id) FROM t_compete_coach tcca WHERE tcc.id = tcca.company_id and identity = 1 and rec_status = 0) as coachNum, t_compete_company tcc
(SELECT count(tcca.id) FROM t_compete_coach tcca WHERE tcc.id = tcca.company_id and identity = 0 and rec_status = 0) as guideNum, left join
((SELECT COUNT(tcpp.id) FROM t_compete_project_player tcpp LEFT JOIN t_compete_player tcp on tcp.id = tcpp.player_id WHERE tcp.company_id = tcc.id and tcp.rec_status = 0 and tcpp.rec_status = 0 and tcp.rec_status = 0) + t_compete_player tcp on tcc.id = tcp.company_id
(SELECT COUNT(tctm.id) FROM t_compete_team_member tctm LEFT JOIN t_compete_team tct on tctm.compete_team_id = tct.id WHERE tct.company_id = tcc.id and tct.rec_status = 0 and tctm.rec_status = 0 ))as playerNum LEFT JOIN t_compete_project_player tcpp ON tcp.id = tcpp.player_id
WHERE
tcc.type = 0
AND tcp.company_id = tcc.id
AND tcc.rec_status = 0
AND tcp.rec_status = 0
AND tcpp.rec_status = 0
UNION
SELECT
DISTINCT(tcp.id) as id,tcc.id as companyId,tcc.`name` as companyName
FROM FROM
t_compete_company tcc t_compete_company tcc
LEFT JOIN t_compete_team tct ON tcc.id = tct.company_id
LEFT JOIN t_compete_team_member tctm on tct.id = tctm.compete_team_id
LEFT JOIN t_compete_player tcp ON tctm.player_id = tcp.id
WHERE WHERE
tcc.rec_status =0 tcc.type = 0
and tcc.compete_time_id = #{competeTimeId} AND tct.rec_status = 0
) c AND tctm.rec_status = 0
WHERE c.playerNum &lt;&gt; 0 And tcc.rec_status = 0
AND tcp.rec_status = 0) t
group by t.companyId
having count(t.id) > 0
) t3
left join
(SELECT tcc.id as companyId,tcc.`name` as companyName ,count(tcca.id) as coachNum FROM t_compete_company tcc left join (select * from t_compete_coach where rec_status = 0) tcca on tcc.id = tcca.company_id where tcc.type = 0 AND identity = 1 and tcc.rec_status = 0 GROUP BY tcc.id) t1 on t1.companyId = t3.companyId
left join
(SELECT tcc.id as companyId,tcc.`name` as companyName , count(tcca.id) as guideNum FROM t_compete_company tcc left join (select * from t_compete_coach where rec_status = 0) tcca on tcc.id = tcca.company_id where tcc.type = 0 AND identity = 0 and tcc.rec_status = 0 GROUP BY tcc.id) t2 on t2.companyId = t3.companyId
</select> </select>
</mapper> </mapper>

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

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

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

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

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

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

Loading…
Cancel
Save