Browse Source

查询项目组别分别参赛人数

tiaosheng
zy_Java 5 years ago
parent
commit
c32326aa81
  1. 5
      mt/src/main/java/com/ccsens/mt/api/DebugController.java
  2. 80
      mt/src/main/java/com/ccsens/mt/bean/vo/TableVo.java
  3. 5
      mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java
  4. 70
      mt/src/main/java/com/ccsens/mt/service/ExcelService.java
  5. 57
      mt/src/main/resources/mapper_dao/CompetePlayerDao.xml

5
mt/src/main/java/com/ccsens/mt/api/DebugController.java

@ -4,6 +4,7 @@ import com.ccsens.mt.bean.dto.LevelDto;
import com.ccsens.mt.bean.po.CompetePlayer; import com.ccsens.mt.bean.po.CompetePlayer;
import com.ccsens.mt.bean.po.LevelUser; import com.ccsens.mt.bean.po.LevelUser;
import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.bean.vo.ProvinceCompeteVo;
import com.ccsens.mt.bean.vo.TableVo;
import com.ccsens.mt.persist.dao.CompetePlayerDao; import com.ccsens.mt.persist.dao.CompetePlayerDao;
import com.ccsens.mt.service.ILevelUpService; import com.ccsens.mt.service.ILevelUpService;
import com.ccsens.util.JsonResponse; import com.ccsens.util.JsonResponse;
@ -73,8 +74,8 @@ public class DebugController {
}) })
@RequestMapping(value="/file",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"}) @RequestMapping(value="/file",method = RequestMethod.GET,produces = {"application/json;charset=UTF-8"})
public JsonResponse debug() throws Exception { public JsonResponse debug() throws Exception {
List<TableVo.CompeteAllCount> competeAllCount = competePlayerDao.getTeamJoinNumByType(1L);
return JsonResponse.newInstance().ok(); return JsonResponse.newInstance().ok(competeAllCount);
} }
} }

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

@ -1,10 +1,14 @@
package com.ccsens.mt.bean.vo; package com.ccsens.mt.bean.vo;
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;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/** /**
* @author li * @author li
*/ */
@ -30,7 +34,7 @@ public class TableVo {
@ApiModelProperty("一寸证件照") @ApiModelProperty("一寸证件照")
private String picture; private String picture;
@ApiModelProperty("学籍证明/俱乐部证明") @ApiModelProperty("学籍证明/俱乐部证明")
private String StudentPromise; private String studentPromise;
@ApiModelProperty("体检证明") @ApiModelProperty("体检证明")
private String bodyTest; private String bodyTest;
@ApiModelProperty("人身意外伤害保险证明") @ApiModelProperty("人身意外伤害保险证明")
@ -56,40 +60,54 @@ public class TableVo {
} }
// @Data
// @ApiModel("XXX比赛报名汇总表")
// public static class CompeteAllCount{
// @ApiModelProperty("参赛项目")
// private String projectName;
// @ApiModelProperty("小学男子组")
// private int primaryMale;
// @ApiModelProperty("小学女子组")
// private int primaryFemale;
// @ApiModelProperty("小学混合组")
// private int primary;
// @ApiModelProperty("中学男子组")
// private int middleMale;
// @ApiModelProperty("中学女子组")
// private int middleFemale;
// @ApiModelProperty("中学混合组")
// private int middle;
// @ApiModelProperty("高职院校男子组")
// private int highMale;
// @ApiModelProperty("高职院校女子组")
// private int highFemale;
// @ApiModelProperty("高职院校混合组")
// private int high;
// @ApiModelProperty("本科院校男子组")
// private int collegeMale;
// @ApiModelProperty("本科院校女子组")
// private int collegeFemale;
// @ApiModelProperty("本科院校混合组")
// private int college;
// @ApiModelProperty("俱乐部男子组(14岁及以下)")
// private int clubMale;
// @ApiModelProperty("俱乐部女子组(14岁及以下)")
// private int clubFemale;
// @ApiModelProperty("俱乐部混合组(14岁及以下)")
// private int club;
// }
@Data @Data
@ApiModel("XXX比赛报名汇总表") @ApiModel("XXX比赛报名汇总表")
@JsonIgnoreProperties(value = { "handler" })
public static class CompeteAllCount{ public static class CompeteAllCount{
@ApiModelProperty("参赛id")
private String projectId;
@ApiModelProperty("参赛项目") @ApiModelProperty("参赛项目")
private String projectName; private String projectName;
@ApiModelProperty("小学男子组") @ApiModelProperty("参赛人数 顺序:小学(女男混)→中学(女男混)→高职院校(女男混)→本科院校(女男混)→俱乐部(女男混)")
private int primaryMale; private List<Integer> nums = new ArrayList<>();
@ApiModelProperty("小学女子组")
private int primaryFemale;
@ApiModelProperty("小学混合组")
private int primary;
@ApiModelProperty("中学男子组")
private int middleMale;
@ApiModelProperty("中学女子组")
private int middleFemale;
@ApiModelProperty("中学混合组")
private int middle;
@ApiModelProperty("高职院校男子组")
private int highMale;
@ApiModelProperty("高职院校女子组")
private int highFemale;
@ApiModelProperty("高职院校混合组")
private int high;
@ApiModelProperty("本科院校男子组")
private int collegeMale;
@ApiModelProperty("本科院校女子组")
private int collegeFemale;
@ApiModelProperty("本科院校混合组")
private int college;
@ApiModelProperty("俱乐部男子组(14岁及以下)")
private int clubMale;
@ApiModelProperty("俱乐部女子组(14岁及以下)")
private int clubFemale;
@ApiModelProperty("俱乐部混合组(14岁及以下)")
private int club;
} }
} }

5
mt/src/main/java/com/ccsens/mt/persist/dao/CompetePlayerDao.java

@ -2,6 +2,7 @@ package com.ccsens.mt.persist.dao;
import com.ccsens.mt.bean.vo.CompeteVo; import com.ccsens.mt.bean.vo.CompeteVo;
import com.ccsens.mt.bean.vo.ProvinceCompeteVo; import com.ccsens.mt.bean.vo.ProvinceCompeteVo;
import com.ccsens.mt.bean.vo.TableVo;
import com.ccsens.mt.persist.mapper.CompetePlayerMapper; import com.ccsens.mt.persist.mapper.CompetePlayerMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -67,4 +68,8 @@ public interface CompetePlayerDao extends CompetePlayerMapper {
* @return 返回性别组和备注 * @return 返回性别组和备注
*/ */
ProvinceCompeteVo.TeamGroupRemark getTeamGroupRemark(@Param("teamId")Long teamId); ProvinceCompeteVo.TeamGroupRemark getTeamGroupRemark(@Param("teamId")Long teamId);
List<TableVo.CompeteAllCount> getTeamJoinNumByType(@Param("timeId")Long timeId);
List<Integer> getTeamJoinNumByProjectId(@Param("projectId")Long projectId);
} }

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

@ -8,9 +8,11 @@ import com.ccsens.mt.bean.po.*;
import com.ccsens.mt.bean.vo.TableVo; import com.ccsens.mt.bean.vo.TableVo;
import com.ccsens.mt.persist.dao.*; import com.ccsens.mt.persist.dao.*;
import com.ccsens.mt.persist.mapper.*; import com.ccsens.mt.persist.mapper.*;
import com.ccsens.util.CodeEnum;
import com.ccsens.util.PoiUtil; import com.ccsens.util.PoiUtil;
import com.ccsens.util.PropUtil; import com.ccsens.util.PropUtil;
import com.ccsens.util.bean.dto.QueryDto; import com.ccsens.util.bean.dto.QueryDto;
import com.ccsens.util.exception.BaseException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
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;
@ -392,41 +394,43 @@ public class ExcelService implements IExcelService {
return null; return null;
} }
private List<TableVo.CompeteAllCount> competeAllCountList(CompeteDto.CompeteTime params){ // private List<TableVo.CompeteAllCount> competeAllCountList(CompeteDto.CompeteTime params){
//根据大赛查类型 // //根据大赛查类型
Long competeTimeId = params.getCompeteTimeId(); // Long competeTimeId = params.getCompeteTimeId();
CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(competeTimeId); // CompeteTime competeTime = competeTimeDao.selectByPrimaryKey(competeTimeId);
int type = competeTime.getType(); // int type = competeTime.getType();
Byte level = 2; // Byte level = 2;
CompeteProjectExample competeProjectExample = new CompeteProjectExample(); // CompeteProjectExample competeProjectExample = new CompeteProjectExample();
competeProjectExample.createCriteria().andTypeEqualTo((byte) type).andLevelEqualTo(level); // competeProjectExample.createCriteria().andTypeEqualTo((byte) type).andLevelEqualTo(level);
//获取参赛项目集合 // //获取参赛项目集合
List<CompeteProject> competeProjectList = competeProjectMapper.selectByExample(competeProjectExample); // List<CompeteProject> competeProjectList = competeProjectMapper.selectByExample(competeProjectExample);
CompeteGroupExample competeGroupExample = new CompeteGroupExample(); // CompeteGroupExample competeGroupExample = new CompeteGroupExample();
competeGroupExample.createCriteria().andTypeEqualTo((byte) type); // competeGroupExample.createCriteria().andTypeEqualTo((byte) type);
//获取组别集合 // //获取组别集合
List<CompeteGroup> competeGroupList = competeGroupMapper.selectByExample(competeGroupExample); // List<CompeteGroup> competeGroupList = competeGroupMapper.selectByExample(competeGroupExample);
for (CompeteProject competeProject : competeProjectList){ // for (CompeteProject competeProject : competeProjectList){
//若不是团队项目 // //若不是团队项目
if (competeProject.getTeam() == 0){ // if (competeProject.getTeam() == 0){
TableVo.CompeteAllCount competeAllCount = new TableVo.CompeteAllCount(); // TableVo.CompeteAllCount competeAllCount = new TableVo.CompeteAllCount();
//项目名赋值 // //项目名赋值
competeAllCount.setProjectName(competeProject.getName()); // competeAllCount.setProjectName(competeProject.getName());
//遍历组别集合 // //遍历组别集合
int i = 0; // int i = 0;
for(CompeteGroup competeGroup : competeGroupList){ // for(CompeteGroup competeGroup : competeGroupList){
CompetePlayerExample competePlayerExample = new CompetePlayerExample(); // CompetePlayerExample competePlayerExample = new CompetePlayerExample();
competePlayerExample.createCriteria().andCompeteGroupIdEqualTo(competeGroup.getId()); // competePlayerExample.createCriteria().andCompeteGroupIdEqualTo(competeGroup.getId());
//计算每个组别人数 // //计算每个组别人数
long count = competePlayerDao.countByExample(competePlayerExample); // long count = competePlayerDao.countByExample(competePlayerExample);
} // }
} // }
} // }
return null; // return null;
} // }
private List<TableVo.CompeteAllCount> competeAllCountList(CompeteDto.CompeteTime params){
return competePlayerDao.getTeamJoinNumByType(params.getCompeteTimeId());
}
} }

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

@ -24,6 +24,13 @@
</collection> </collection>
</resultMap> </resultMap>
<resultMap id="teamNum" type="com.ccsens.mt.bean.vo.TableVo$CompeteAllCount">
<id column="projectId" property="projectId"/>
<result column="projectName" property="projectName"/>
<collection property="nums" ofType="Integer" column="projectId" select="getTeamJoinNumByProjectId">
</collection>
</resultMap>
<select id="getInfo" resultType="com.ccsens.mt.bean.vo.CompeteVo$GetPlayerInfo"> <select id="getInfo" resultType="com.ccsens.mt.bean.vo.CompeteVo$GetPlayerInfo">
SELECT SELECT
p.id AS playerId, p.id AS playerId,
@ -205,4 +212,54 @@
and m.rec_status = 0 and m.rec_status = 0
and g.rec_status = 0 and g.rec_status = 0
</select> </select>
<select id="getTeamJoinNumByType" resultMap="teamNum">
SELECT
p.id as projectId,
p.`name` as projectName
FROM
t_compete_project p LEFT JOIN t_compete_time t on p.type = t.type
WHERE
t.id = #{timeId}
and p.`level` = 2
and t.rec_status = 0
and p.rec_status = 0
</select>
<select id="getTeamJoinNumByProjectId" resultType="Integer">
SELECT
if(p.team = 1,(if(t1.co is null,0,t1.co)),(if(t2.co is null,0,t2.co)))
from
t_compete_project p
LEFT JOIN
t_compete_group g on p.type = g.type
LEFT JOIN
(
SELECT
count(id) as co,
group_remark as re,
gender_group as ge,
project_id as tpId
FROM
t_compete_team
WHERE
rec_status = 0
GROUP BY group_remark,gender_group
)t1 on g.sequence = (t1.re*10 + t1.ge) and t1.tpId = p.id
LEFT JOIN
(
SELECT
pl.compete_group_id as groupId,
count(pp.id) as co
FROM
t_compete_project_player pp
LEFT JOIN t_compete_player pl on pp.player_id = pl.id
WHERE
pl.rec_status = 0 and pp.rec_status = 0
GROUP BY pl.compete_group_id
)t2 on g.id = t2.groupId
WHERE
p.id = #{projectId}
and g.rec_status in (0,1)
ORDER BY g.sequence
</select>
</mapper> </mapper>
Loading…
Cancel
Save