diff --git a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/WpsDto.java b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/WpsDto.java index 7656dfc4..c5346406 100644 --- a/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/WpsDto.java +++ b/cloudutil/src/main/java/com/ccsens/cloudutil/bean/tall/dto/WpsDto.java @@ -24,6 +24,8 @@ public class WpsDto { private String fileName; @ApiModelProperty("文件路径,默认在WebConstant.UPLOAD_PATH_BASE下") private String filePath; + @ApiModelProperty("文件实际存储路径") + private String realFilePath; @ApiModelProperty("文件大小") private Long fileSize; @ApiModelProperty("操作类型 值:WebConstant Wps USER_OPERATION... ") diff --git a/game/src/main/java/com/ccsens/game/service/ScreenService.java b/game/src/main/java/com/ccsens/game/service/ScreenService.java index 50591e68..62ae1cc9 100644 --- a/game/src/main/java/com/ccsens/game/service/ScreenService.java +++ b/game/src/main/java/com/ccsens/game/service/ScreenService.java @@ -1456,6 +1456,7 @@ public class ScreenService implements IScreenService { business.setUserId(params.getUserId()); business.setFileName(name); business.setFilePath(fileName); + business.setRealFilePath(path); business.setFileSize(tmpFile.length()); business.setOperation(WebConstant.Wps.USER_OPERATION_NEW); business.setPrivilege(WebConstant.Wps.PROJECT_PRIVILEGE_WRITE); diff --git a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java index 42601be1..5559ee0c 100644 --- a/mt/src/main/java/com/ccsens/mt/api/CompeteController.java +++ b/mt/src/main/java/com/ccsens/mt/api/CompeteController.java @@ -166,7 +166,7 @@ public class CompeteController { @RequestMapping(value = "/enroll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public JsonResponse enrollPlayInfo(@ApiParam @Validated @RequestBody QueryDto params) throws IOException { log.info("查询各个项目报名人员信息:{}",params); - List enrollPlayInfoList= competeService.enrollPlayInfo(params); + String enrollPlayInfoList= competeService.enrollPlayInfo(params); return JsonResponse.newInstance().ok(enrollPlayInfoList); } diff --git a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java index 988016fb..433051ff 100644 --- a/mt/src/main/java/com/ccsens/mt/service/CompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/CompeteService.java @@ -596,8 +596,21 @@ public class CompeteService implements ICompeteService{ } @Override - public List enrollPlayInfo(QueryDto params) { + public String enrollPlayInfo(QueryDto params) { CompeteDto.CompeteType competeType = params.getParam(); + List filePath = new ArrayList<>(); + //查询大赛id + CompeteVo.CompeteTime competeTimeByType = competeTimeDao.getCompeteTimeByType(competeType.getType(), System.currentTimeMillis()); +// //查询此大赛是否关联wps +// WpsDto.VisitWpsUrl visitWpsUrl = new WpsDto.VisitWpsUrl(); +// visitWpsUrl.setBusinessId(competeTimeByType.getId()); +// visitWpsUrl.setBusinessType((byte) 11); +// visitWpsUrl.setUserId(params.getUserId()); +// filePath = tallFeignClient.queryVisitUrls(visitWpsUrl); +// if(CollectionUtil.isNotEmpty(filePath)){ +// //TODO 删除以前的关联信息 +// } + //查询报名信息 int typeId = competeType.getType(); ArrayList arrayList = new ArrayList(); //1:查询该类型下所有项目的id,name,team信息,排除level为1的 @@ -622,20 +635,31 @@ public class CompeteService implements ICompeteService{ for (CompeteVo.Team team1 : teamList){ //6:获取团队下队员的详细信息 CompeteVo.EnrollPlayInfo enrollPlayInfo = competeEnrollDao.getPlayerAndProjectForTeam(team1.getPlayer_id()); - enrollPlayInfo.setName(projectInfo.getName()); - arrayList.add(enrollPlayInfo); + if(ObjectUtil.isNotNull(enrollPlayInfo)) { + enrollPlayInfo.setName(projectInfo.getName()); + arrayList.add(enrollPlayInfo); + } } } } //7:将数据放入excel表格 - InputStream inputStream = null; - //excel表格行列对象 List> list = new ArrayList<>(); + List title = new ArrayList<>(); + title.add(new PoiUtil.PoiUtilCell()); + title.add(new PoiUtil.PoiUtilCell("比赛项目名称")); + title.add(new PoiUtil.PoiUtilCell("组别")); + title.add(new PoiUtil.PoiUtilCell("报名人姓名")); + title.add(new PoiUtil.PoiUtilCell("身份证号")); + title.add(new PoiUtil.PoiUtilCell("手机号")); + title.add(new PoiUtil.PoiUtilCell("其他参赛人员")); + list.add(title); try { Workbook workbook = new XSSFWorkbook(); + int i = 1; for (CompeteVo.EnrollPlayInfo enrollPlayInfo : arrayList){ //行对象 List cells = new ArrayList<>(); + cells.add(new PoiUtil.PoiUtilCell(i+"",1,1,300,18)); //单元格对象 PoiUtil.PoiUtilCell poiUtilCel = new PoiUtil.PoiUtilCell(enrollPlayInfo.getName()); cells.add(poiUtilCel); @@ -650,40 +674,47 @@ public class CompeteService implements ICompeteService{ PoiUtil.PoiUtilCell poiUtilCel5 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getOthersName()); cells.add(poiUtilCel5); list.add(cells); + i++; } //生成excel表格对象,并将数据放入 - Workbook wbs = PoiUtil.exportWB("Sheet1", list, workbook); + Workbook wbs = PoiUtil.exportWB("总表", list, workbook); //8:关联金山在线文档 - String name = "报名表" + ".xlsx"; + String name = "跳绳比赛报名表" + ".xlsx"; String filepath = "mt/" + DateUtil.today() + "/" + System.currentTimeMillis() + ".xlsx"; + + String path = PropUtil.path + filepath; + File tmpFile = new File(path); + if (!tmpFile.getParentFile().exists()) { + tmpFile.getParentFile().mkdirs(); + } //PropUtil.path获取配置文件中的path属性,拼接生成写入信息的文件名, - String path = PropUtil.path + File.separator + filepath; File file = new File(path); OutputStream stream = new FileOutputStream(file); wbs.write(stream); stream.close(); - //获取比赛的第几届信息 - CompeteVo.CompeteTime competeTimeByType = competeTimeDao.getCompeteTimeByType(competeType.getType(), System.currentTimeMillis()); + //关联wps WpsDto.Business business = new WpsDto.Business(); business.setBusinessId(competeTimeByType.getId()); business.setBusinessType((byte) 11); business.setFileName(name); - business.setFilePath(filepath); + business.setFilePath(path); + business.setRealFilePath(path); business.setFileSize(file.length()); business.setUserId(params.getUserId()); business.setOperation(WebConstant.Wps.USER_OPERATION_NEW); business.setPrivilege(WebConstant.Wps.PROJECT_PRIVILEGE_READ); + log.info("跳绳比赛报名表关联wps:{}",business); tallFeignClient.saveWpsFile(business); + //查询wps WpsDto.VisitWpsUrl visitWpsUrl = new WpsDto.VisitWpsUrl(); visitWpsUrl.setBusinessId(competeTimeByType.getId()); visitWpsUrl.setBusinessType((byte) 11); visitWpsUrl.setUserId(params.getUserId()); - tallFeignClient.queryVisitUrls(visitWpsUrl); + filePath = tallFeignClient.queryVisitUrls(visitWpsUrl); } catch (IOException e) { e.printStackTrace(); } - return arrayList; - + return filePath.get(0); } diff --git a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java index d7da4e5c..87c616c4 100644 --- a/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java +++ b/mt/src/main/java/com/ccsens/mt/service/ICompeteService.java @@ -120,5 +120,5 @@ public interface ICompeteService { * @param params 项目类型信息 * @return 返回参赛者的详细信息 */ - List enrollPlayInfo(QueryDto params) throws IOException; + String enrollPlayInfo(QueryDto params) throws IOException; } diff --git a/mt/src/main/resources/application.yml b/mt/src/main/resources/application.yml index 5889ff7f..d082c0ea 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: prod + include: common, util-prod \ No newline at end of file diff --git a/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml b/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml index b7250ad0..2572f53d 100644 --- a/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml +++ b/mt/src/main/resources/mapper_dao/CompeteEnrollDao.xml @@ -56,6 +56,9 @@ a.id = #{playerId} AND b.id = c.compete_group_id AND a.id = c.player_id + and a.rec_status = 0 + and c.rec_status = 0 + GROUP BY a.id + \ No newline at end of file diff --git a/tall/src/main/resources/mapper_dao/WpsFileDao.xml b/tall/src/main/resources/mapper_dao/WpsFileDao.xml index 1ae71d7e..908ca8a1 100644 --- a/tall/src/main/resources/mapper_dao/WpsFileDao.xml +++ b/tall/src/main/resources/mapper_dao/WpsFileDao.xml @@ -92,5 +92,6 @@ AND p.business_type = #{businessType} AND p.rec_status = 0 AND f.rec_status = 0 + order by p.id DESC \ No newline at end of file