Browse Source

修改全民健身比赛导出报表

tiaosheng
zy_Java 5 years ago
parent
commit
1a7cafc172
  1. 17
      mt/src/main/java/com/ccsens/mt/api/CompeteController.java
  2. 233
      mt/src/main/java/com/ccsens/mt/service/CompeteService.java
  3. 9
      mt/src/main/java/com/ccsens/mt/service/ICompeteService.java
  4. 4
      mt/src/main/resources/application.yml
  5. 136
      tall/src/main/java/com/ccsens/tall/service/LabelService.java
  6. 4
      tall/src/main/resources/application.yml
  7. 2
      tall/src/main/resources/mapper_dao/SysLabelDao.xml

17
mt/src/main/java/com/ccsens/mt/api/CompeteController.java

@ -161,10 +161,18 @@ public class CompeteController {
} }
@MustLogin
@ApiOperation(value = "报名表详情表(关联wps)", notes = "")
@RequestMapping(value = "/enrollWPS", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse enrollPlayInfoWps(@ApiParam @Validated @RequestBody QueryDto<CompeteDto.CompeteType> params) throws IOException {
log.info("查询各个项目报名人员信息:{}",params);
String enrollPlayInfoList= competeService.enrollPlayInfoWps(params);
return JsonResponse.newInstance().ok(enrollPlayInfoList);
}
@MustLogin @MustLogin
@ApiOperation(value = "报名表详情表", notes = "") @ApiOperation(value = "报名表详情表", notes = "")
@RequestMapping(value = "/enroll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/enroll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse enrollPlayInfo(@ApiParam @Validated @RequestBody QueryDto<CompeteDto.CompeteType> params) throws IOException { public JsonResponse enrollPlayInfo(@ApiParam @Validated @RequestBody QueryDto<CompeteDto.CompeteType> params) throws Exception {
log.info("查询各个项目报名人员信息:{}",params); log.info("查询各个项目报名人员信息:{}",params);
String enrollPlayInfoList= competeService.enrollPlayInfo(params); String enrollPlayInfoList= competeService.enrollPlayInfo(params);
return JsonResponse.newInstance().ok(enrollPlayInfoList); return JsonResponse.newInstance().ok(enrollPlayInfoList);
@ -173,15 +181,16 @@ public class CompeteController {
@ApiOperation(value = "报名表人数表下载", notes = "") @ApiOperation(value = "报名表人数表下载", notes = "")
@RequestMapping(value = "/enrollCountDownload", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/enrollCountDownload", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
public JsonResponse enrollPlayCountDownLoad() throws IOException { public JsonResponse enrollPlayCountDownLoad() throws IOException {
log.info("查询各个项目报名人员信息:{}"); log.info("导出各个项目报名人员信息");
String path = competeService.enrollPlayCountDownLoad(); String path = competeService.enrollPlayCountDownLoad();
return JsonResponse.newInstance().ok(path); return JsonResponse.newInstance().ok(path);
} }
@MustLogin
@ApiOperation(value = "报名表人数统计", notes = "") @ApiOperation(value = "报名表人数统计", notes = "")
@RequestMapping(value = "/enrollCount", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/enrollCount", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
public JsonResponse enrollPlayCount() throws IOException { public JsonResponse<List<CompeteVo.GroupNum>> enrollPlayCount(QueryDto params) throws IOException {
log.info("查询各个项目报名人员信息:{}"); log.info("查询各个项目报名人员信息");
List<CompeteVo.GroupNum> list = competeService.enrollPlayCount(); List<CompeteVo.GroupNum> list = competeService.enrollPlayCount();
return JsonResponse.newInstance().ok(list); return JsonResponse.newInstance().ok(list);
} }

233
mt/src/main/java/com/ccsens/mt/service/CompeteService.java

@ -35,7 +35,9 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.*; import java.io.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @author * @author
@ -606,20 +608,69 @@ public class CompeteService implements ICompeteService {
} }
@Override @Override
public String enrollPlayInfo(QueryDto<CompeteDto.CompeteType> params) { public String enrollPlayInfo(QueryDto<CompeteDto.CompeteType> params) throws Exception {
CompeteDto.CompeteType competeType = params.getParam(); CompeteDto.CompeteType competeType = params.getParam();
List<String> filePath = new ArrayList<>(); List<CompeteVo.EnrollPlayInfo> arrayList = getEnrollPlayInfos(competeType);
//查询大赛id String path = getExcelFilePath(arrayList);
CompeteVo.CompeteTime competeTimeByType = competeTimeDao.getCompeteTimeByType(competeType.getType(), System.currentTimeMillis());
// //查询此大赛是否关联wps return PropUtil.domain + "file/download/know?path="+path;
// WpsDto.VisitWpsUrl visitWpsUrl = new WpsDto.VisitWpsUrl(); }
// visitWpsUrl.setBusinessId(competeTimeByType.getId());
// visitWpsUrl.setBusinessType((byte) 11); private String getExcelFilePath(List<CompeteVo.EnrollPlayInfo> arrayList) throws IOException {
// visitWpsUrl.setUserId(params.getUserId()); //7:将数据放入excel表格
// filePath = tallFeignClient.queryVisitUrls(visitWpsUrl); List<List<PoiUtil.PoiUtilCell>> list = new ArrayList<>();
// if(CollectionUtil.isNotEmpty(filePath)){ List<PoiUtil.PoiUtilCell> title = new ArrayList<>();
// //TODO 删除以前的关联信息 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);
Workbook workbook = new XSSFWorkbook();
int i = 1;
for (CompeteVo.EnrollPlayInfo enrollPlayInfo : arrayList) {
//行对象
List<PoiUtil.PoiUtilCell> cells = new ArrayList<>();
cells.add(new PoiUtil.PoiUtilCell(i + "", 1, 1, 300, 18));
//单元格对象
PoiUtil.PoiUtilCell poiUtilCel = new PoiUtil.PoiUtilCell(enrollPlayInfo.getName());
cells.add(poiUtilCel);
PoiUtil.PoiUtilCell poiUtilCell = new PoiUtil.PoiUtilCell(enrollPlayInfo.getGroupName());
cells.add(poiUtilCell);
PoiUtil.PoiUtilCell poiUtilCel2 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getUsername());
cells.add(poiUtilCel2);
PoiUtil.PoiUtilCell poiUtilCel3 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getIdCard());
cells.add(poiUtilCel3);
PoiUtil.PoiUtilCell poiUtilCel4 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getPhone());
cells.add(poiUtilCel4);
if (StrUtil.isNotEmpty(enrollPlayInfo.getOthersName())) {
PoiUtil.PoiUtilCell poiUtilCel5 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getOthersName());
cells.add(poiUtilCel5);
}
list.add(cells);
i++;
}
//生成excel表格对象,并将数据放入
Workbook wbs = PoiUtil.exportWB("总表", list, workbook);
//8:关联金山在线文档
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属性,拼接生成写入信息的文件名,
File file = new File(path);
OutputStream stream = new FileOutputStream(file);
wbs.write(stream);
stream.close();
return path;
}
private ArrayList<CompeteVo.EnrollPlayInfo> getEnrollPlayInfos(CompeteDto.CompeteType competeType) {
//查询报名信息 //查询报名信息
int typeId = competeType.getType(); int typeId = competeType.getType();
ArrayList<CompeteVo.EnrollPlayInfo> arrayList = new ArrayList(); ArrayList<CompeteVo.EnrollPlayInfo> arrayList = new ArrayList();
@ -627,6 +678,7 @@ public class CompeteService implements ICompeteService {
//1:查询该类型下所有项目的id,name,team信息,排除level为1的 //1:查询该类型下所有项目的id,name,team信息,排除level为1的
List<CompeteVo.ProjectInfo> projectInfoList = competeEnrollDao.getProject(typeId); List<CompeteVo.ProjectInfo> projectInfoList = competeEnrollDao.getProject(typeId);
//2:根据team字段判断是否为团队项目 //2:根据team字段判断是否为团队项目
Map<Long, CompeteVo.EnrollPlayInfo> map = new HashMap<>();
for (CompeteVo.ProjectInfo projectInfo : projectInfoList) { for (CompeteVo.ProjectInfo projectInfo : projectInfoList) {
long team = projectInfo.getTeam(); long team = projectInfo.getTeam();
//3:若是单人项目,在t_compete_project_player表中根据传进来的项目名的项目id查询该项目下所有play_id-参赛选手id和该选手的所在组别id //3:若是单人项目,在t_compete_project_player表中根据传进来的项目名的项目id查询该项目下所有play_id-参赛选手id和该选手的所在组别id
@ -634,10 +686,18 @@ public class CompeteService implements ICompeteService {
List<CompeteVo.ProjectPlayer> projectPlayerList = competeEnrollDao.getProjectPlayer(projectInfo.getId()); List<CompeteVo.ProjectPlayer> projectPlayerList = competeEnrollDao.getProjectPlayer(projectInfo.getId());
for (CompeteVo.ProjectPlayer projectPlayer : projectPlayerList) { for (CompeteVo.ProjectPlayer projectPlayer : projectPlayerList) {
//4:然后根据查出来的play_id查询t_compete_player中play_id=id的所有信息,包括姓名,身份证,手机号;通过组别id,在t_compete_group中查找组别名称;单人项目不涉及同组参赛者 //4:然后根据查出来的play_id查询t_compete_player中play_id=id的所有信息,包括姓名,身份证,手机号;通过组别id,在t_compete_group中查找组别名称;单人项目不涉及同组参赛者
CompeteVo.EnrollPlayInfo enrollPlayInfo = competeEnrollDao.getPlayerAndProject(projectPlayer.getPlayer_id()); CompeteVo.EnrollPlayInfo enrollPlayInfo = map.get(projectPlayer.getPlayer_id());
if (ObjectUtil.isNull(enrollPlayInfo)) {
enrollPlayInfo = competeEnrollDao.getPlayerAndProject(projectPlayer.getPlayer_id());
map.put(projectPlayer.getPlayer_id(), enrollPlayInfo);
}
if (enrollPlayInfo != null) { if (enrollPlayInfo != null) {
enrollPlayInfo.setName(projectInfo.getName()); CompeteVo.EnrollPlayInfo enrollPlayInfo1 = new CompeteVo.EnrollPlayInfo();
arrayList.add(enrollPlayInfo); BeanUtil.copyProperties(enrollPlayInfo, enrollPlayInfo1);
enrollPlayInfo1.setName(projectInfo.getName());
arrayList.add(enrollPlayInfo1);
} }
} }
} else { } else {
@ -653,118 +713,41 @@ public class CompeteService implements ICompeteService {
} }
} }
} }
//7:将数据放入excel表格 return arrayList;
List<List<PoiUtil.PoiUtilCell>> list = new ArrayList<>(); }
List<PoiUtil.PoiUtilCell> title = new ArrayList<>();
title.add(new PoiUtil.PoiUtilCell()); @Override
title.add(new PoiUtil.PoiUtilCell("比赛项目名称")); public String enrollPlayInfoWps(QueryDto<CompeteDto.CompeteType> params) throws IOException {
title.add(new PoiUtil.PoiUtilCell("组别")); CompeteDto.CompeteType competeType = params.getParam();
title.add(new PoiUtil.PoiUtilCell("报名人姓名")); List<CompeteVo.EnrollPlayInfo> arrayList = getEnrollPlayInfos(competeType);
title.add(new PoiUtil.PoiUtilCell("身份证号")); String path = getExcelFilePath(arrayList);
title.add(new PoiUtil.PoiUtilCell("手机号")); File file = new File(path);
title.add(new PoiUtil.PoiUtilCell("其他参赛人员"));
list.add(title);
try {
Workbook workbook = new XSSFWorkbook();
int i = 1;
for (CompeteVo.EnrollPlayInfo enrollPlayInfo : arrayList) {
//行对象
List<PoiUtil.PoiUtilCell> cells = new ArrayList<>();
cells.add(new PoiUtil.PoiUtilCell(i + "", 1, 1, 300, 18));
//单元格对象
PoiUtil.PoiUtilCell poiUtilCel = new PoiUtil.PoiUtilCell(enrollPlayInfo.getName());
cells.add(poiUtilCel);
PoiUtil.PoiUtilCell poiUtilCell = new PoiUtil.PoiUtilCell(enrollPlayInfo.getGroupName());
cells.add(poiUtilCell);
PoiUtil.PoiUtilCell poiUtilCel2 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getUsername());
cells.add(poiUtilCel2);
PoiUtil.PoiUtilCell poiUtilCel3 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getIdCard());
cells.add(poiUtilCel3);
PoiUtil.PoiUtilCell poiUtilCel4 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getPhone());
cells.add(poiUtilCel4);
PoiUtil.PoiUtilCell poiUtilCel5 = new PoiUtil.PoiUtilCell(enrollPlayInfo.getOthersName());
cells.add(poiUtilCel5);
list.add(cells);
i++;
}
//生成excel表格对象,并将数据放入
Workbook wbs = PoiUtil.exportWB("总表", list, workbook);
//8:关联金山在线文档
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属性,拼接生成写入信息的文件名,
File file = new File(path);
OutputStream stream = new FileOutputStream(file);
wbs.write(stream);
stream.close();
//关联wps
WpsDto.Business business = new WpsDto.Business();
business.setBusinessId(competeTimeByType.getId());
business.setBusinessType((byte) 11);
business.setFileName(name);
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());
filePath = tallFeignClient.queryVisitUrls(visitWpsUrl);
} catch (IOException e) {
e.printStackTrace();
}
return filePath.get(0);
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(file.getName());
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());
return tallFeignClient.queryVisitUrls(visitWpsUrl).get(0);
} }
@Override @Override
public String enrollPlayCountDownLoad() throws IOException { public String enrollPlayCountDownLoad() throws IOException {
//查询该类型下所有项目的id,name,team信息,排除level为1的的集合 List<CompeteVo.GroupNum> list1 = enrollPlayCount();
int typeId = 2;
//放总数据集合
List<CompeteVo.GroupNum> list1 = new ArrayList<>();
//根据type 查项目
List<CompeteVo.ProjectInfo> projectInfoList = competeEnrollDao.getProject(typeId);
//根据type 查组别id,组别名
List<CompeteVo.Count> groupIdAndNameList = competeEnrollDao.getGroupIdNameFromGroup(typeId);
for (CompeteVo.ProjectInfo projectInfo : projectInfoList) {
CompeteVo.GroupNum groupNum = new CompeteVo.GroupNum();
groupNum.setName(projectInfo.getName());
List<CompeteVo.Count> countList = new ArrayList<>();
if (CollectionUtil.isNotEmpty(groupIdAndNameList)) {
for (CompeteVo.Count groupIdAndName : groupIdAndNameList) {
CompeteVo.Count count1 = new CompeteVo.Count();
count1.setGroup_name(groupIdAndName.getGroup_name());
// groupIdAndNameList.forEach(groupIdAndName -> {
if (projectInfo.getTeam() == 0) {
CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample();
projectPlayerExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id());
long count = competeProjectPlayerMapper.countByExample(projectPlayerExample);
count1.setCount((int) count);
} else {
CompeteTeamExample teamExample = new CompeteTeamExample();
teamExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id());
long count = competeTeamDao.countByExample(teamExample);
count1.setCount((int) count);
}
// });
countList.add(count1);
}
}
groupNum.setCountList(countList);
list1.add(groupNum);
}
//7:将数据放入excel表格 //7:将数据放入excel表格
ResourceLoader resourceLoader = new DefaultResourceLoader(); ResourceLoader resourceLoader = new DefaultResourceLoader();
InputStream is = resourceLoader.getResource("classpath:template/competeCount.xlsx").getInputStream(); InputStream is = resourceLoader.getResource("classpath:template/competeCount.xlsx").getInputStream();
@ -810,7 +793,7 @@ public class CompeteService implements ICompeteService {
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
return PropUtil.imgDomain + filepath; return PropUtil.domain + "file/download/know?path="+path;
} }
@Override @Override
@ -831,7 +814,6 @@ public class CompeteService implements ICompeteService {
for (CompeteVo.Count groupIdAndName : groupIdAndNameList) { for (CompeteVo.Count groupIdAndName : groupIdAndNameList) {
CompeteVo.Count count1 = new CompeteVo.Count(); CompeteVo.Count count1 = new CompeteVo.Count();
count1.setGroup_name(groupIdAndName.getGroup_name()); count1.setGroup_name(groupIdAndName.getGroup_name());
// groupIdAndNameList.forEach(groupIdAndName -> {
if (projectInfo.getTeam() == 0) { if (projectInfo.getTeam() == 0) {
CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample(); CompeteProjectPlayerExample projectPlayerExample = new CompeteProjectPlayerExample();
projectPlayerExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id()); projectPlayerExample.createCriteria().andProjectIdEqualTo(projectInfo.getId()).andCompeteGroupIdEqualTo(groupIdAndName.getCompete_group_id());
@ -843,7 +825,6 @@ public class CompeteService implements ICompeteService {
long count = competeTeamDao.countByExample(teamExample); long count = competeTeamDao.countByExample(teamExample);
count1.setCount((int) count); count1.setCount((int) count);
} }
// });
countList.add(count1); countList.add(count1);
} }
} }

9
mt/src/main/java/com/ccsens/mt/service/ICompeteService.java

@ -120,7 +120,7 @@ public interface ICompeteService {
* @param params 项目类型信息 * @param params 项目类型信息
* @return 返回参赛者的详细信息 * @return 返回参赛者的详细信息
*/ */
String enrollPlayInfo(QueryDto<CompeteDto.CompeteType> params) throws IOException; String enrollPlayInfo(QueryDto<CompeteDto.CompeteType> params) throws IOException, Exception;
/** /**
* 根据项目类型查询参赛者信息 * 根据项目类型查询参赛者信息
@ -133,7 +133,12 @@ public interface ICompeteService {
* @return 返回参赛者数量统计 * @return 返回参赛者数量统计
*/ */
List<CompeteVo.GroupNum> enrollPlayCount() throws IOException; List<CompeteVo.GroupNum> enrollPlayCount() throws IOException;
/**
* 根据项目类型查询参赛者信息(关联wps)
* @param params 项目类型信息
* @return 返回参赛者的详细信息
*/
String enrollPlayInfoWps(QueryDto<CompeteDto.CompeteType> params) throws IOException;
} }

4
mt/src/main/resources/application.yml

@ -1,4 +1,4 @@
spring: spring:
profiles: profiles:
active: dev active: prod
include: common, util-dev include: common, util-prod

136
tall/src/main/java/com/ccsens/tall/service/LabelService.java

@ -35,7 +35,7 @@ public class LabelService implements ILabelService {
@Resource @Resource
private ProTaskLabelMapper proTaskLabelMapper; private ProTaskLabelMapper proTaskLabelMapper;
@Resource @Resource
private ProTaskSubTimeMapper taskSubTimeMapper; private TaskSubTimeDao taskSubTimeDao;
@Resource @Resource
private TaskDetailDao taskDetailDao; private TaskDetailDao taskDetailDao;
@ -222,75 +222,77 @@ public class LabelService implements ILabelService {
@Override @Override
public List<LabelVo.SelectLabel> taskAddLabel(Long currentUserId, LabelDto.TaskLabel taskLabel) { public List<LabelVo.SelectLabel> taskAddLabel(Long currentUserId, LabelDto.TaskLabel taskLabel) {
Long taskId = taskLabel.getTaskId(); // Long taskId = taskLabel.getTaskId();
ProTaskSubTime proTaskSubTime = taskSubTimeMapper.selectByPrimaryKey(taskLabel.getTaskId()); // ProTaskSubTime proTaskSubTime = taskSubTimeMapper.selectByPrimaryKey(taskLabel.getTaskId());
if (ObjectUtil.isNotNull(proTaskSubTime)) { // if (ObjectUtil.isNotNull(proTaskSubTime)) {
taskId = proTaskSubTime.getTaskDetailId(); // taskId = proTaskSubTime.getTaskDetailId();
} // }
List<LabelVo.SelectLabel> selectLabelList; // List<LabelVo.SelectLabel> selectLabelList;
ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId); // ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId);
if (ObjectUtil.isNull(taskDetail)) { // if (ObjectUtil.isNull(taskDetail)) {
throw new BaseException(CodeEnum.NOT_TASK); // throw new BaseException(CodeEnum.NOT_TASK);
} // }
if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) { // if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) {
Long finalTaskId = taskId; // Long finalTaskId = taskId;
taskLabel.getLabelList().forEach(labelId -> { // taskLabel.getLabelList().forEach(labelId -> {
SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); // SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId);
if (ObjectUtil.isNull(sysLabel)) { // if (ObjectUtil.isNull(sysLabel)) {
throw new BaseException(CodeEnum.NOT_LABEL); // throw new BaseException(CodeEnum.NOT_LABEL);
} // }
if (sysLabel.getUserId().longValue() != currentUserId) { // if (sysLabel.getUserId().longValue() != currentUserId) {
throw new BaseException(CodeEnum.NOT_POWER); // throw new BaseException(CodeEnum.NOT_POWER);
} // }
//添加项目和标签的关联信息 // //添加项目和标签的关联信息
ProTaskLabel proTaskLabel = new ProTaskLabel(); // ProTaskLabel proTaskLabel = new ProTaskLabel();
proTaskLabel.setId(snowflake.nextId()); // proTaskLabel.setId(snowflake.nextId());
proTaskLabel.setTaskDetailId(finalTaskId); // proTaskLabel.setTaskDetailId(finalTaskId);
proTaskLabel.setLabelId(labelId); // proTaskLabel.setLabelId(labelId);
proTaskLabelMapper.insertSelective(proTaskLabel); // proTaskLabelMapper.insertSelective(proTaskLabel);
}); // });
} // }
//查询项目内的标签信息 // //查询项目内的标签信息
selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId); // selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId);
return selectLabelList; // return selectLabelList;
return null;
} }
@Override @Override
public List<LabelVo.SelectLabel> taskRemoveLabel(Long currentUserId, LabelDto.TaskLabel taskLabel) { public List<LabelVo.SelectLabel> taskRemoveLabel(Long currentUserId, LabelDto.TaskLabel taskLabel) {
Long taskId = taskLabel.getTaskId(); // Long taskId = taskLabel.getTaskId();
ProTaskSubTime proTaskSubTime = taskSubTimeMapper.selectByPrimaryKey(taskLabel.getTaskId()); // ProTaskSubTime proTaskSubTime = taskSubTimeMapper.selectByPrimaryKey(taskLabel.getTaskId());
if (ObjectUtil.isNotNull(proTaskSubTime)) { // if (ObjectUtil.isNotNull(proTaskSubTime)) {
taskId = proTaskSubTime.getTaskDetailId(); // taskId = proTaskSubTime.getTaskDetailId();
} // }
List<LabelVo.SelectLabel> selectLabelList; // List<LabelVo.SelectLabel> selectLabelList;
ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId); // ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId);
if (ObjectUtil.isNull(taskDetail)) { // if (ObjectUtil.isNull(taskDetail)) {
throw new BaseException(CodeEnum.NOT_TASK); // throw new BaseException(CodeEnum.NOT_TASK);
} // }
if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) { // if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) {
Long finalTaskId = taskId; // Long finalTaskId = taskId;
taskLabel.getLabelList().forEach(labelId -> { // taskLabel.getLabelList().forEach(labelId -> {
SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId); // SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId);
if (ObjectUtil.isNull(sysLabel)) { // if (ObjectUtil.isNull(sysLabel)) {
throw new BaseException(CodeEnum.NOT_LABEL); // throw new BaseException(CodeEnum.NOT_LABEL);
} // }
if (sysLabel.getUserId().longValue() != currentUserId) { // if (sysLabel.getUserId().longValue() != currentUserId) {
throw new BaseException(CodeEnum.NOT_POWER); // throw new BaseException(CodeEnum.NOT_POWER);
} // }
//项目和标签的关联信息 // //项目和标签的关联信息
ProTaskLabelExample taskLabelExample = new ProTaskLabelExample(); // ProTaskLabelExample taskLabelExample = new ProTaskLabelExample();
taskLabelExample.createCriteria().andTaskDetailIdEqualTo(finalTaskId).andLabelIdEqualTo(labelId); // taskLabelExample.createCriteria().andTaskDetailIdEqualTo(finalTaskId).andLabelIdEqualTo(labelId);
List<ProTaskLabel> proTaskLabelList = proTaskLabelMapper.selectByExample(taskLabelExample); // List<ProTaskLabel> proTaskLabelList = proTaskLabelMapper.selectByExample(taskLabelExample);
if (CollectionUtil.isNotEmpty(proTaskLabelList)) { // if (CollectionUtil.isNotEmpty(proTaskLabelList)) {
proTaskLabelList.forEach(label -> { // proTaskLabelList.forEach(label -> {
label.setRecStatus((byte) 2); // label.setRecStatus((byte) 2);
proTaskLabelMapper.updateByPrimaryKeySelective(label); // proTaskLabelMapper.updateByPrimaryKeySelective(label);
}); // });
} // }
}); // });
} // }
//查询项目内的标签信息 // //查询项目内的标签信息
selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId); // selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId);
return selectLabelList; // return selectLabelList;
return null;
} }
} }

4
tall/src/main/resources/application.yml

@ -1,4 +1,4 @@
spring: spring:
profiles: profiles:
active: test active: dev
include: util-test,common include: util-dev,common

2
tall/src/main/resources/mapper_dao/SysLabelDao.xml

@ -43,7 +43,7 @@
and and
l.user_id = #{userId} l.user_id = #{userId}
</select> </select>
<select id="selectLabelByTaskId" resultType="com.ccsens.tall.bean.vo.LabelVo$SelectLabel"> <select id="selectLabelByTaskId" parameterType="java.util.Map" resultType="com.ccsens.tall.bean.vo.LabelVo$SelectLabel">
select select
l.id as id, l.id as id,
l.`name` as `name`, l.`name` as `name`,

Loading…
Cancel
Save