Browse Source

20201017

tiaosheng
zy_Java 5 years ago
parent
commit
5142a9dc7e
  1. 13
      mt/src/main/java/com/ccsens/mt/api/CompeteController.java
  2. 6
      mt/src/main/java/com/ccsens/mt/service/CompeteService.java
  3. 2
      mt/src/main/java/com/ccsens/mt/service/ICompeteService.java
  4. 4
      mt/src/main/resources/application.yml
  5. 134
      tall/src/main/java/com/ccsens/tall/service/LabelService.java
  6. 378
      tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java
  7. 4
      tall/src/main/resources/application.yml
  8. 1
      tall/src/main/resources/mapper_dao/SysLabelDao.xml
  9. 6
      util/src/test/java/com/ccsens/util/TestQrCord.java

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

@ -11,10 +11,7 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.IOException; import java.io.IOException;
@ -169,10 +166,10 @@ public class CompeteController {
String enrollPlayInfoList= competeService.enrollPlayInfoWps(params); String enrollPlayInfoList= competeService.enrollPlayInfoWps(params);
return JsonResponse.newInstance().ok(enrollPlayInfoList); return JsonResponse.newInstance().ok(enrollPlayInfoList);
} }
@MustLogin
@ApiOperation(value = "报名表详情表", notes = "") @ApiOperation(value = "报名表详情表下载", notes = "")
@RequestMapping(value = "/enroll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @RequestMapping(value = "/enroll", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
public JsonResponse enrollPlayInfo(@ApiParam @Validated @RequestBody QueryDto<CompeteDto.CompeteType> params) throws Exception { public JsonResponse enrollPlayInfo(@ApiParam 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);

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

@ -608,9 +608,9 @@ public class CompeteService implements ICompeteService {
} }
@Override @Override
public String enrollPlayInfo(QueryDto<CompeteDto.CompeteType> params) throws Exception { public String enrollPlayInfo(CompeteDto.CompeteType params) throws Exception {
CompeteDto.CompeteType competeType = params.getParam(); // CompeteDto.CompeteType competeType = params.getParam();
List<CompeteVo.EnrollPlayInfo> arrayList = getEnrollPlayInfos(competeType); List<CompeteVo.EnrollPlayInfo> arrayList = getEnrollPlayInfos(params);
String path = getExcelFilePath(arrayList); String path = getExcelFilePath(arrayList);
return PropUtil.domain + "file/download/know?path="+path; return PropUtil.domain + "file/download/know?path="+path;

2
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, Exception; String enrollPlayInfo(CompeteDto.CompeteType params) throws IOException, Exception;
/** /**
* 根据项目类型查询参赛者信息 * 根据项目类型查询参赛者信息

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

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

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

@ -222,77 +222,75 @@ 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 = taskSubTimeDao.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 = taskSubTimeDao.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;
} }
} }

378
tall/src/main/java/com/ccsens/tall/service/ProTaskDetailService.java

@ -111,11 +111,11 @@ public class ProTaskDetailService implements IProTaskDetailService {
if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.PM.value)) { if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.PM.value)) {
obj = getTaskInfoByProjectIdAndPm(currentUserId, projectId, taskInfoByRoleId.getRoleId(), obj = getTaskInfoByProjectIdAndPm(currentUserId, projectId, taskInfoByRoleId.getRoleId(),
taskInfoByRoleId.getStartTime(), taskInfoByRoleId.getEndTime(), taskInfoByRoleId.getProcess(), taskInfoByRoleId.getStartTime(), taskInfoByRoleId.getEndTime(), taskInfoByRoleId.getProcess(),
taskInfoByRoleId.getPage(), taskInfoByRoleId.getPageSize(),taskInfoByRoleId.getPriority(),taskInfoByRoleId.getImitation()); taskInfoByRoleId.getPage(), taskInfoByRoleId.getPageSize(), taskInfoByRoleId.getPriority(), taskInfoByRoleId.getImitation());
} else if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.Member.value)) { } else if (parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.Member.value)) {
obj = getTaskInfoByProjectIdAndRoleId(currentUserId, projectId,taskInfoByRoleId.getRoleId(), obj = getTaskInfoByProjectIdAndRoleId(currentUserId, projectId, taskInfoByRoleId.getRoleId(),
taskInfoByRoleId.getStartTime(), taskInfoByRoleId.getEndTime(), taskInfoByRoleId.getProcess(), taskInfoByRoleId.getStartTime(), taskInfoByRoleId.getEndTime(), taskInfoByRoleId.getProcess(),
taskInfoByRoleId.getPage(), taskInfoByRoleId.getPageSize(),taskInfoByRoleId.getPriority(),taskInfoByRoleId.getImitation()); taskInfoByRoleId.getPage(), taskInfoByRoleId.getPageSize(), taskInfoByRoleId.getPriority(), taskInfoByRoleId.getImitation());
} }
} else { } else {
throw new BaseException(CodeEnum.NOT_ROLE); throw new BaseException(CodeEnum.NOT_ROLE);
@ -129,7 +129,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
*/ */
private TaskVo.ProTaskShow getProTaskShow(Long taskId) { private TaskVo.ProTaskShow getProTaskShow(Long taskId) {
TaskVo.ProTaskShow proTaskShow = proTaskShowDao.getProTaskShowByTaskId(taskId); TaskVo.ProTaskShow proTaskShow = proTaskShowDao.getProTaskShowByTaskId(taskId);
if(ObjectUtil.isNull(proTaskShow)){ if (ObjectUtil.isNull(proTaskShow)) {
proTaskShow = new TaskVo.ProTaskShow(); proTaskShow = new TaskVo.ProTaskShow();
proTaskShow.setTimeShow("MM-DD HH:mm"); proTaskShow.setTimeShow("MM-DD HH:mm");
proTaskShow.setDuration(0); proTaskShow.setDuration(0);
@ -142,6 +142,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
return proTaskShow; return proTaskShow;
} }
/** /**
* 查看任务 项目经理 * 查看任务 项目经理
*/ */
@ -171,7 +172,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
normalTask.setSequence(sequence); normalTask.setSequence(sequence);
// 查询任务名对应的配置 // 查询任务名对应的配置
ProPluginConfigExample configExample = new ProPluginConfigExample(); ProPluginConfigExample configExample = new ProPluginConfigExample();
configExample.createCriteria().andTaskIdEqualTo(firstTaskDetail.getId()).andPlaceLocationEqualTo((byte)0); configExample.createCriteria().andTaskIdEqualTo(firstTaskDetail.getId()).andPlaceLocationEqualTo((byte) 0);
List<ProPluginConfig> proPluginConfigs = proPluginConfigMapper.selectByExample(configExample); List<ProPluginConfig> proPluginConfigs = proPluginConfigMapper.selectByExample(configExample);
if (CollectionUtil.isNotEmpty(proPluginConfigs)) { if (CollectionUtil.isNotEmpty(proPluginConfigs)) {
ProPluginConfig config = proPluginConfigs.get(0); ProPluginConfig config = proPluginConfigs.get(0);
@ -189,23 +190,23 @@ public class ProTaskDetailService implements IProTaskDetailService {
normalTask.setProcess(firstSubTimeMember.getComplatedStatus()); normalTask.setProcess(firstSubTimeMember.getComplatedStatus());
} }
//查找一级任务下的二级任务 //查找一级任务下的二级任务
List<TaskVo.NormalTask> secondNormalTaskList = taskDetailDao.selectNormalTaskListByPM(projectId, firstTaskDetail.getId(), startTime, endTime,roleId); List<TaskVo.NormalTask> secondNormalTaskList = taskDetailDao.selectNormalTaskListByPM(projectId, firstTaskDetail.getId(), startTime, endTime, roleId);
if (CollectionUtil.isNotEmpty(secondNormalTaskList)) { if (CollectionUtil.isNotEmpty(secondNormalTaskList)) {
for (TaskVo.NormalTask task : secondNormalTaskList) { for (TaskVo.NormalTask task : secondNormalTaskList) {
//处理分数 //处理分数
BigDecimal score = mtFeignClient.getAdminScore(task.getProjectId(),task.getDetailId()); BigDecimal score = mtFeignClient.getAdminScore(task.getProjectId(), task.getDetailId());
if(ObjectUtil.isNotNull(score)){ if (ObjectUtil.isNotNull(score)) {
task.setScore(score); task.setScore(score);
} }
//处理插件 //处理插件
managePlugin(currentUserId,roleId,task,imitation); managePlugin(currentUserId, roleId, task, imitation);
//二级任务完成状态 //二级任务完成状态
if(task.getProcess() != 2) { if (task.getProcess() != 2) {
ProSubTimeMember subTimeMember = getProcessByUserIdAndTask(currentUserId, task.getId()); ProSubTimeMember subTimeMember = getProcessByUserIdAndTask(currentUserId, task.getId());
if (ObjectUtil.isNotNull(subTimeMember)) { if (ObjectUtil.isNotNull(subTimeMember)) {
task.setRealEndTime(subTimeMember.getRealFinishTime()); task.setRealEndTime(subTimeMember.getRealFinishTime());
task.setProcess(subTimeMember.getComplatedStatus()); task.setProcess(subTimeMember.getComplatedStatus());
}else if(task.getProcess() > 2){ } else if (task.getProcess() > 2) {
task.setRealEndTime((long) 0); task.setRealEndTime((long) 0);
task.setProcess(0); task.setProcess(0);
} }
@ -248,7 +249,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
* 查看任务 项目成员 * 查看任务 项目成员
*/ */
private TaskVo.ProTaskInfo getTaskInfoByProjectIdAndRoleId(Long currentUserId, Long projectId, Long roleId, Long startTime, private TaskVo.ProTaskInfo getTaskInfoByProjectIdAndRoleId(Long currentUserId, Long projectId, Long roleId, Long startTime,
Long endTime, Integer process, Integer page, Integer pageSize,Integer priority,Integer imitation) throws Exception { Long endTime, Integer process, Integer page, Integer pageSize, Integer priority, Integer imitation) throws Exception {
TaskVo.ProTaskInfo proTaskInfo = new TaskVo.ProTaskInfo(); TaskVo.ProTaskInfo proTaskInfo = new TaskVo.ProTaskInfo();
List<TaskVo.GlobalTask> globalTaskList = new ArrayList<>(); List<TaskVo.GlobalTask> globalTaskList = new ArrayList<>();
@ -262,27 +263,27 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
//查找该角色的所有任务(全体成员的任务也是这个角色的任务) //查找该角色的所有任务(全体成员的任务也是这个角色的任务)
List<TaskVo.NormalTask> secondTaskVoList = taskDetailDao.selectTaskByRoleAndAllMembers(projectId, roleId, List<TaskVo.NormalTask> secondTaskVoList = taskDetailDao.selectTaskByRoleAndAllMembers(projectId, roleId,
allMemberId, startTime, endTime,priority); allMemberId, startTime, endTime, priority);
if (CollectionUtil.isNotEmpty(secondTaskVoList)) { if (CollectionUtil.isNotEmpty(secondTaskVoList)) {
for (TaskVo.NormalTask normalTask : secondTaskVoList) { for (TaskVo.NormalTask normalTask : secondTaskVoList) {
//处理分数 //处理分数
MemberVo.MemberInfo memberInfo = proMemberService.getMemberByUserIdAndProjectId(currentUserId,normalTask.getProjectId()); MemberVo.MemberInfo memberInfo = proMemberService.getMemberByUserIdAndProjectId(currentUserId, normalTask.getProjectId());
if(ObjectUtil.isNotNull(memberInfo)) { if (ObjectUtil.isNotNull(memberInfo)) {
BigDecimal score = mtFeignClient.getMemberScore(normalTask.getDetailId(), memberInfo.getId()); BigDecimal score = mtFeignClient.getMemberScore(normalTask.getDetailId(), memberInfo.getId());
if (ObjectUtil.isNotNull(score)) { if (ObjectUtil.isNotNull(score)) {
normalTask.setScore(score); normalTask.setScore(score);
} }
} }
//处理插件 //处理插件
managePlugin(currentUserId,roleId,normalTask,imitation); managePlugin(currentUserId, roleId, normalTask, imitation);
//任务完成状态 //任务完成状态
if(normalTask.getProcess() != 2) { if (normalTask.getProcess() != 2) {
ProSubTimeMember subTimeMember = getProcessByUserIdAndTask(currentUserId, normalTask.getId()); ProSubTimeMember subTimeMember = getProcessByUserIdAndTask(currentUserId, normalTask.getId());
if (ObjectUtil.isNotNull(subTimeMember)) { if (ObjectUtil.isNotNull(subTimeMember)) {
normalTask.setProcess(subTimeMember.getComplatedStatus()); normalTask.setProcess(subTimeMember.getComplatedStatus());
normalTask.setRealEndTime(subTimeMember.getRealFinishTime()); normalTask.setRealEndTime(subTimeMember.getRealFinishTime());
}else if(normalTask.getProcess() > 2){ } else if (normalTask.getProcess() > 2) {
normalTask.setRealEndTime((long) 0); normalTask.setRealEndTime((long) 0);
normalTask.setProcess(0); normalTask.setProcess(0);
} }
@ -305,7 +306,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
if (CollectionUtil.isNotEmpty(task.getCommonTask())) { if (CollectionUtil.isNotEmpty(task.getCommonTask())) {
if (priority == 0) { if (priority == 0) {
normalTaskList = sortTaskTime(task.getCommonTask()); normalTaskList = sortTaskTime(task.getCommonTask());
}else { } else {
normalTaskList = task.getCommonTask(); normalTaskList = task.getCommonTask();
} }
} }
@ -403,7 +404,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
continue; continue;
} }
if(secondTaskVo.getBeginTime() < startTime && secondTaskVo.getEndTime() <= endTime && secondTaskVo.getEndTime() > startTime) { if (secondTaskVo.getBeginTime() < startTime && secondTaskVo.getEndTime() <= endTime && secondTaskVo.getEndTime() > startTime) {
secondTaskVo.setBeginTime(startTime); secondTaskVo.setBeginTime(startTime);
secondTaskVoList.add(secondTaskVo); secondTaskVoList.add(secondTaskVo);
} else if (secondTaskVo.getBeginTime() >= startTime && secondTaskVo.getEndTime() <= endTime) { } else if (secondTaskVo.getBeginTime() >= startTime && secondTaskVo.getEndTime() <= endTime) {
@ -443,29 +444,29 @@ public class ProTaskDetailService implements IProTaskDetailService {
* 处理任务的插件 * 处理任务的插件
*/ */
@Override @Override
public void managePlugin(Long userId,Long roleId,TaskVo.NormalTask normalTask,Integer imitation) throws Exception { public void managePlugin(Long userId, Long roleId, TaskVo.NormalTask normalTask, Integer imitation) throws Exception {
Boolean isMain = proMemberService.userIsBelongRole(userId,roleId,imitation); Boolean isMain = proMemberService.userIsBelongRole(userId, roleId, imitation);
if(!isMain){ if (!isMain) {
normalTask.setPlugins(null); normalTask.setPlugins(null);
}else { } else {
if(CollectionUtil.isNotEmpty(normalTask.getPlugins())){ if (CollectionUtil.isNotEmpty(normalTask.getPlugins())) {
List<TaskVo.PluginVo> pluginVoList = new ArrayList<>(); List<TaskVo.PluginVo> pluginVoList = new ArrayList<>();
for(TaskVo.PluginVo pluginVo : normalTask.getPlugins()){ for (TaskVo.PluginVo pluginVo : normalTask.getPlugins()) {
String[] pluginIds = pluginVo.getId().split(","); String[] pluginIds = pluginVo.getId().split(",");
String[] pluginNames = pluginVo.getName().split(","); String[] pluginNames = pluginVo.getName().split(",");
String[] pluginDescription = pluginVo.getDescription().split(","); String[] pluginDescription = pluginVo.getDescription().split(",");
String[] pluginShowType = pluginVo.getShowType().split(","); String[] pluginShowType = pluginVo.getShowType().split(",");
TaskVo.PluginVo plugin; TaskVo.PluginVo plugin;
for(int i = 0;i<pluginIds.length;i++){ for (int i = 0; i < pluginIds.length; i++) {
plugin = new TaskVo.PluginVo(); plugin = new TaskVo.PluginVo();
plugin.setId(pluginIds[i]); plugin.setId(pluginIds[i]);
plugin.setName(pluginNames[i]); plugin.setName(pluginNames[i]);
plugin.setDescription(pluginDescription[i]); plugin.setDescription(pluginDescription[i]);
plugin.setShowType(pluginShowType[i]); plugin.setShowType(pluginShowType[i]);
//查找插件的配置信息 //查找插件的配置信息
ProPluginConfig proPluginConfig = sysPluginDao.getPluginConfigByTaskPluginId(pluginIds[i],normalTask.getDetailId()); ProPluginConfig proPluginConfig = sysPluginDao.getPluginConfigByTaskPluginId(pluginIds[i], normalTask.getDetailId());
if(ObjectUtil.isNotNull(proPluginConfig)) { if (ObjectUtil.isNotNull(proPluginConfig)) {
plugin.setWebPath(proPluginConfig.getWebPath()); plugin.setWebPath(proPluginConfig.getWebPath());
plugin.setRoutineLocation(proPluginConfig.getRoutineLocation()); plugin.setRoutineLocation(proPluginConfig.getRoutineLocation());
plugin.setImportParam(proPluginConfig.getImportParam()); plugin.setImportParam(proPluginConfig.getImportParam());
@ -520,13 +521,13 @@ public class ProTaskDetailService implements IProTaskDetailService {
//检查人信息 //检查人信息
taskDeliverByMvp.setChecker(proRoleService.selectRoleByCheckOrExecutor(task.getCheckerRole())); taskDeliverByMvp.setChecker(proRoleService.selectRoleByCheckOrExecutor(task.getCheckerRole()));
//查找任务下的交付物 //查找任务下的交付物
if(task.getHasGroup() == 0){ if (task.getHasGroup() == 0) {
taskDeliverByMvp.setDelivers(taskDeliverService.selectDeliverOrInputByTask(task.getId(), 0)); taskDeliverByMvp.setDelivers(taskDeliverService.selectDeliverOrInputByTask(task.getId(), 0));
}else { } else {
Long now = System.currentTimeMillis(); Long now = System.currentTimeMillis();
log.info(task.getName()); log.info(task.getName());
TaskVo.TaskIdAndSubTimeIdByParentIdAndTime taskAndSubTime = taskDetailDao.selectSubTimeByTaskParentIdAndTime(task.getId(), now); TaskVo.TaskIdAndSubTimeIdByParentIdAndTime taskAndSubTime = taskDetailDao.selectSubTimeByTaskParentIdAndTime(task.getId(), now);
if(ObjectUtil.isNotNull(taskAndSubTime)){ if (ObjectUtil.isNotNull(taskAndSubTime)) {
taskDeliverByMvp.setDelivers(taskDeliverService.selectDeliverOrInputByTask(taskAndSubTime.getTaskId(), 0)); taskDeliverByMvp.setDelivers(taskDeliverService.selectDeliverOrInputByTask(taskAndSubTime.getTaskId(), 0));
} }
} }
@ -552,79 +553,82 @@ public class ProTaskDetailService implements IProTaskDetailService {
@Override @Override
public TaskVo.NormalTask getTaskInfoByTaskId(Long currentUserId, Long projectId, Long taskId, Integer imitation) throws Exception { public TaskVo.NormalTask getTaskInfoByTaskId(Long currentUserId, Long projectId, Long taskId, Integer imitation) throws Exception {
ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(taskId); ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(taskId);
TaskVo.NormalTask taskDetail = null;
if (ObjectUtil.isNotNull(subTime)) { if (ObjectUtil.isNotNull(subTime)) {
ProTaskDetail task = taskDetailDao.selectByPrimaryKey(subTime.getTaskDetailId()); taskId = subTime.getTaskDetailId();
taskDetail = taskDetailDao.selectTaskByTaskId(subTime.getId(), subTime.getTaskDetailId(),task.getExecutorRole()); }
if(ObjectUtil.isNotNull(taskDetail)) { TaskVo.NormalTask taskDetail;
//处理查询到的任务的插件 ProTaskDetail task = taskDetailDao.selectByPrimaryKey(taskId);
managePlugin(currentUserId,task.getExecutorRole(),taskDetail,imitation); if (ObjectUtil.isNull(task)) {
//任务的完成状态 throw new BaseException(CodeEnum.NOT_TASK);
if(taskDetail.getProcess() != 2) { }
ProSubTimeMember subTimeMember = getProcessByUserIdAndTask(currentUserId, taskDetail.getId()); taskDetail = taskDetailDao.selectTaskByTaskId(null, taskId, task.getExecutorRole());
if (ObjectUtil.isNotNull(subTimeMember)) { if (ObjectUtil.isNotNull(taskDetail)) {
taskDetail.setProcess(subTimeMember.getComplatedStatus()); //处理查询到的任务的插件
taskDetail.setRealEndTime(subTimeMember.getRealFinishTime()); managePlugin(currentUserId, task.getExecutorRole(), taskDetail, imitation);
}else if(taskDetail.getProcess() > 2){ //任务的完成状态
taskDetail.setRealEndTime((long) 0); if (taskDetail.getProcess() != 2) {
taskDetail.setProcess(0); ProSubTimeMember subTimeMember = getProcessByUserIdAndTask(currentUserId, taskDetail.getId());
} if (ObjectUtil.isNotNull(subTimeMember)) {
taskDetail.setProcess(subTimeMember.getComplatedStatus());
taskDetail.setRealEndTime(subTimeMember.getRealFinishTime());
} else if (taskDetail.getProcess() > 2) {
taskDetail.setRealEndTime((long) 0);
taskDetail.setProcess(0);
} }
//任务配置 }
taskDetail.setProTaskConfig(getProTaskShow(taskDetail.getDetailId())); //任务配置
taskDetail.setProTaskConfig(getProTaskShow(taskDetail.getDetailId()));
//添加项目信息
normalTaskAddPlugin(subTime.getTaskDetailId(), taskDetail); //添加项目信息
normalTaskAddPlugin(taskId, taskDetail);
List<TaskVo.NormalTask> groupTaskList = new ArrayList<>();
//提醒信息 List<TaskVo.NormalTask> groupTaskList = new ArrayList<>();
taskDetail.setRemindInfoList(proRemindDao.queryRemindByTask(taskDetail.getId())); //提醒信息
//获取此任务的子任务 taskDetail.setRemindInfoList(proRemindDao.queryRemindByTask(taskDetail.getId()));
ProTaskDetailExample detailExample = new ProTaskDetailExample(); //获取此任务的子任务
detailExample.createCriteria().andParentIdEqualTo(taskDetail.getDetailId()); ProTaskDetailExample detailExample = new ProTaskDetailExample();
List<ProTaskDetail> detailList = taskDetailDao.selectByExample(detailExample); detailExample.createCriteria().andParentIdEqualTo(taskDetail.getDetailId());
if(CollectionUtil.isNotEmpty(detailList)){ List<ProTaskDetail> detailList = taskDetailDao.selectByExample(detailExample);
for(ProTaskDetail detail : detailList){ if (CollectionUtil.isNotEmpty(detailList)) {
TaskVo.NormalTask groupTask; for (ProTaskDetail detail : detailList) {
Long subTimeId = taskDeliverService.isTaskOrSubTime(detail.getId()); TaskVo.NormalTask groupTask;
if(ObjectUtil.isNotNull(subTimeId)){ Long subTimeId = taskDeliverService.isTaskOrSubTime(detail.getId());
groupTask = taskDetailDao.selectTaskByTaskId(subTimeId, detail.getId(),detail.getExecutorRole()); if (ObjectUtil.isNotNull(subTimeId)) {
if(ObjectUtil.isNotNull(groupTask)){ groupTask = taskDetailDao.selectTaskByTaskId(subTimeId, detail.getId(), detail.getExecutorRole());
//处理查询到的任务的插件 if (ObjectUtil.isNotNull(groupTask)) {
managePlugin(currentUserId,task.getExecutorRole(),taskDetail,imitation); //处理查询到的任务的插件
//任务的完成状态 managePlugin(currentUserId, task.getExecutorRole(), taskDetail, imitation);
if(taskDetail.getProcess() != 2) { //任务的完成状态
ProSubTimeMember proSubTimeMember = getProcessByUserIdAndTask(currentUserId, groupTask.getId()); if (taskDetail.getProcess() != 2) {
if (ObjectUtil.isNotNull(proSubTimeMember)) { ProSubTimeMember proSubTimeMember = getProcessByUserIdAndTask(currentUserId, groupTask.getId());
groupTask.setProcess(proSubTimeMember.getComplatedStatus()); if (ObjectUtil.isNotNull(proSubTimeMember)) {
groupTask.setRealEndTime(proSubTimeMember.getRealFinishTime()); groupTask.setProcess(proSubTimeMember.getComplatedStatus());
}else if(taskDetail.getProcess() > 2){ groupTask.setRealEndTime(proSubTimeMember.getRealFinishTime());
taskDetail.setRealEndTime((long) 0); } else if (taskDetail.getProcess() > 2) {
taskDetail.setProcess(0); taskDetail.setRealEndTime((long) 0);
} taskDetail.setProcess(0);
} }
}
//添加项目信息和插件信息 //添加项目信息和插件信息
normalTaskAddPlugin(groupTask.getDetailId(), groupTask); normalTaskAddPlugin(groupTask.getDetailId(), groupTask);
//修改返回时子任务的名字(“任务名+(xx和XX)”) //修改返回时子任务的名字(“任务名+(xx和XX)”)
if (detail.getAllMember() == 0) { if (detail.getAllMember() == 0) {
groupTask.setName(updateSubTaskName(groupTask.getDetailId(), groupTask.getName())); groupTask.setName(updateSubTaskName(groupTask.getDetailId(), groupTask.getName()));
}
groupTaskList.add(groupTask);
} }
groupTaskList.add(groupTask);
} }
} }
taskDetail.setSecondTasks(new ArrayList<>());
taskDetail.getSecondTasks().addAll(groupTaskList);
} }
taskDetail.setSecondTasks(new ArrayList<>());
taskDetail.getSecondTasks().addAll(groupTaskList);
} }
} }
return taskDetail; return taskDetail;
} }
private void normalTaskAddPlugin( Long taskId, TaskVo.NormalTask normalTask) { private void normalTaskAddPlugin(Long taskId, TaskVo.NormalTask normalTask) {
ProTaskDetail task = taskDetailDao.selectByPrimaryKey(taskId); ProTaskDetail task = taskDetailDao.selectByPrimaryKey(taskId);
//添加项目信息 //添加项目信息
SysProject project = sysProjectDao.selectByPrimaryKey(task.getProjectId()); SysProject project = sysProjectDao.selectByPrimaryKey(task.getProjectId());
@ -692,7 +696,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
case "创建者": case "创建者":
for (SysProject project : projectList) { for (SysProject project : projectList) {
if (project.getCreatorId().longValue() == currentUserId.longValue()) { if (project.getCreatorId().longValue() == currentUserId.longValue()) {
List<TaskVo.NormalTask> taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime,null); List<TaskVo.NormalTask> taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime, null);
if (CollectionUtil.isNotEmpty(taskList)) { if (CollectionUtil.isNotEmpty(taskList)) {
normalTaskList.addAll(taskList); normalTaskList.addAll(taskList);
} }
@ -702,7 +706,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
case "参与者": case "参与者":
for (SysProject project : projectList) { for (SysProject project : projectList) {
if (project.getCreatorId().longValue() != currentUserId.longValue()) { if (project.getCreatorId().longValue() != currentUserId.longValue()) {
List<TaskVo.NormalTask> taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime,null); List<TaskVo.NormalTask> taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime, null);
if (CollectionUtil.isNotEmpty(taskList)) { if (CollectionUtil.isNotEmpty(taskList)) {
normalTaskList.addAll(taskList); normalTaskList.addAll(taskList);
} }
@ -714,7 +718,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
} else { } else {
for (SysProject project : projectList) { for (SysProject project : projectList) {
List<TaskVo.NormalTask> taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime,null); List<TaskVo.NormalTask> taskList = getTaskInfoByProjectIdAndUserId(project, currentUserId, startMillisTime, endMillisTime, null);
if (CollectionUtil.isNotEmpty(taskList)) { if (CollectionUtil.isNotEmpty(taskList)) {
normalTaskList.addAll(taskList); normalTaskList.addAll(taskList);
} }
@ -765,14 +769,14 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
private List<TaskVo.NormalTask> getTaskInfoByProjectIdAndUserId(SysProject project, Long userId, private List<TaskVo.NormalTask> getTaskInfoByProjectIdAndUserId(SysProject project, Long userId,
Long startTime, Long endTime,Set<Long> roleList) throws Exception { Long startTime, Long endTime, Set<Long> roleList) throws Exception {
List<TaskVo.NormalTask> normalTaskList = new ArrayList<>(); List<TaskVo.NormalTask> normalTaskList = new ArrayList<>();
//获取用户的角色 //获取用户的角色
if(CollectionUtil.isEmpty(roleList)){ if (CollectionUtil.isEmpty(roleList)) {
roleList = new HashSet<>(); roleList = new HashSet<>();
//查询此用户在项目中的的所有角色的任务 //查询此用户在项目中的的所有角色的任务
List<ProRole> roles = proMemberService.selectRolesByUserIdAndProjectId(userId, project.getId(),null); List<ProRole> roles = proMemberService.selectRolesByUserIdAndProjectId(userId, project.getId(), null);
for (ProRole role : roles){ for (ProRole role : roles) {
roleList.add(role.getId()); roleList.add(role.getId());
} }
// roles.forEach(role->{ // roles.forEach(role->{
@ -789,16 +793,16 @@ public class ProTaskDetailService implements IProTaskDetailService {
for (Long roleId : roleList) { for (Long roleId : roleList) {
// SysProject sysProject = sysProjectDao.selectByPrimaryKey(role.getProjectId()); // SysProject sysProject = sysProjectDao.selectByPrimaryKey(role.getProjectId());
List<TaskVo.NormalTask> taskList = List<TaskVo.NormalTask> taskList =
taskDetailDao.selectTaskByRoleAndAllMembers(project.getId(), roleId, null,startTime, endTime,0); taskDetailDao.selectTaskByRoleAndAllMembers(project.getId(), roleId, null, startTime, endTime, 0);
if (CollectionUtil.isNotEmpty(taskList)) { if (CollectionUtil.isNotEmpty(taskList)) {
for (TaskVo.NormalTask normalTask : taskList) { for (TaskVo.NormalTask normalTask : taskList) {
//任务的完成状态 //任务的完成状态
if(normalTask.getProcess() != 2) { if (normalTask.getProcess() != 2) {
ProSubTimeMember proSubTimeMember = getProcessByUserIdAndTask(userId, normalTask.getId()); ProSubTimeMember proSubTimeMember = getProcessByUserIdAndTask(userId, normalTask.getId());
if (ObjectUtil.isNotNull(proSubTimeMember)) { if (ObjectUtil.isNotNull(proSubTimeMember)) {
normalTask.setProcess(proSubTimeMember.getComplatedStatus()); normalTask.setProcess(proSubTimeMember.getComplatedStatus());
normalTask.setRealEndTime(proSubTimeMember.getRealFinishTime()); normalTask.setRealEndTime(proSubTimeMember.getRealFinishTime());
}else if(normalTask.getProcess() > 2){ } else if (normalTask.getProcess() > 2) {
normalTask.setRealEndTime((long) 0); normalTask.setRealEndTime((long) 0);
normalTask.setProcess(0); normalTask.setProcess(0);
} }
@ -842,18 +846,18 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
//获取需查询的角色 //获取需查询的角色
Set<Long> roleList = new HashSet<>(); Set<Long> roleList = new HashSet<>();
if(ObjectUtil.isNotNull(list.getRoleList())){ if (ObjectUtil.isNotNull(list.getRoleList())) {
list.getRoleList().forEach(roleId -> { list.getRoleList().forEach(roleId -> {
ProRole role = proRoleDao.selectByPrimaryKey(roleId); ProRole role = proRoleDao.selectByPrimaryKey(roleId);
if(ObjectUtil.isNotNull(role)){ if (ObjectUtil.isNotNull(role)) {
ProRole parentRole = proRoleDao.selectByPrimaryKey(role.getParentId()); ProRole parentRole = proRoleDao.selectByPrimaryKey(role.getParentId());
if(ObjectUtil.isNotNull(parentRole)){ if (ObjectUtil.isNotNull(parentRole)) {
//若角色为项目经理或MVP,则查询全部角色 //若角色为项目经理或MVP,则查询全部角色
if (role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.MVP.value) || if (role.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.MVP.value) ||
parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.PM.value)) { parentRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.PM.value)) {
//查询项目下所有角色 //查询项目下所有角色
List<ProjectVo.RoleInfo> roleInfoList = proRoleService.getRealMemberRolesByProjectId(list.getProjectId()); List<ProjectVo.RoleInfo> roleInfoList = proRoleService.getRealMemberRolesByProjectId(list.getProjectId());
if(CollectionUtil.isNotEmpty(roleInfoList)) { if (CollectionUtil.isNotEmpty(roleInfoList)) {
for (ProjectVo.RoleInfo roleInfo : roleInfoList) { for (ProjectVo.RoleInfo roleInfo : roleInfoList) {
// ProRole proRole = proRoleDao.selectByPrimaryKey(roleInfo.getId()); // ProRole proRole = proRoleDao.selectByPrimaryKey(roleInfo.getId());
roleList.add(roleInfo.getId()); roleList.add(roleInfo.getId());
@ -863,7 +867,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
} }
}); });
if(CollectionUtil.isEmpty(roleList)){ if (CollectionUtil.isEmpty(roleList)) {
roleList.addAll(list.getRoleList()); roleList.addAll(list.getRoleList());
} }
@ -896,7 +900,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
//获取项目 //获取项目
SysProject sysProject = sysProjectDao.selectByPrimaryKey(list.getProjectId()); SysProject sysProject = sysProjectDao.selectByPrimaryKey(list.getProjectId());
if (ObjectUtil.isNotNull(sysProject)) { if (ObjectUtil.isNotNull(sysProject)) {
List<TaskVo.NormalTask> taskList = getTaskInfoByProjectIdAndUserId(sysProject, currentUserId, startMillisTime, endMillisTime,roleList); List<TaskVo.NormalTask> taskList = getTaskInfoByProjectIdAndUserId(sysProject, currentUserId, startMillisTime, endMillisTime, roleList);
if (CollectionUtil.isNotEmpty(taskList)) { if (CollectionUtil.isNotEmpty(taskList)) {
normalTaskList.addAll(taskList); normalTaskList.addAll(taskList);
} }
@ -974,11 +978,11 @@ public class ProTaskDetailService implements IProTaskDetailService {
public ProSubTimeMember getProcessByUserIdAndTask(Long userId, Long subTimeId) throws Exception { public ProSubTimeMember getProcessByUserIdAndTask(Long userId, Long subTimeId) throws Exception {
ProSubTimeMember subTimeMember = null; ProSubTimeMember subTimeMember = null;
ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(subTimeId); ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(subTimeId);
if(ObjectUtil.isNull(subTime)){ if (ObjectUtil.isNull(subTime)) {
throw new BaseException(CodeEnum.NOT_TASK); throw new BaseException(CodeEnum.NOT_TASK);
} }
ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(subTime.getTaskDetailId()); ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(subTime.getTaskDetailId());
if(ObjectUtil.isNull(taskDetail)){ if (ObjectUtil.isNull(taskDetail)) {
throw new BaseException(CodeEnum.NOT_TASK); throw new BaseException(CodeEnum.NOT_TASK);
} }
ProSubTimeMemberExample subTimeMemberExample = new ProSubTimeMemberExample(); ProSubTimeMemberExample subTimeMemberExample = new ProSubTimeMemberExample();
@ -988,20 +992,20 @@ public class ProTaskDetailService implements IProTaskDetailService {
if (CollectionUtil.isNotEmpty(subTimeMemberList)) { if (CollectionUtil.isNotEmpty(subTimeMemberList)) {
if (taskDetail.getFinishNeedAll() == 0) { if (taskDetail.getFinishNeedAll() == 0) {
subTimeMember = subTimeMemberList.get(0); subTimeMember = subTimeMemberList.get(0);
}else { } else {
//查找此用户在任务下的成员 //查找此用户在任务下的成员
ProMember porMember = proMemberService.selectByUserId(userId, taskDetail.getProjectId()); ProMember porMember = proMemberService.selectByUserId(userId, taskDetail.getProjectId());
//该用户是否是任务的负责人 //该用户是否是任务的负责人
ProRole role = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole()); ProRole role = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole());
Boolean isBelongRole = proMemberService.userIsBelongRole(userId, role.getId(),null); Boolean isBelongRole = proMemberService.userIsBelongRole(userId, role.getId(), null);
if (isBelongRole) { if (isBelongRole) {
for(ProSubTimeMember sTimeMember:subTimeMemberList){ for (ProSubTimeMember sTimeMember : subTimeMemberList) {
if(sTimeMember.getMemberId().longValue() == porMember.getId()){ if (sTimeMember.getMemberId().longValue() == porMember.getId()) {
subTimeMember = sTimeMember; subTimeMember = sTimeMember;
break; break;
} }
} }
}else { } else {
//查找任务负责人下的所有成员 //查找任务负责人下的所有成员
List<ProMember> memberList = proMemberService.selectByRole(taskDetail.getExecutorRole()); List<ProMember> memberList = proMemberService.selectByRole(taskDetail.getExecutorRole());
@ -1019,7 +1023,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
subTimeMember = subTimeMemberList.get(0); subTimeMember = subTimeMemberList.get(0);
} }
if(flag){ if (flag) {
subTimeMember = null; subTimeMember = null;
} }
} }
@ -1045,13 +1049,13 @@ public class ProTaskDetailService implements IProTaskDetailService {
} else { } else {
taskDetail = taskDetailDao.selectByPrimaryKey(taskId); taskDetail = taskDetailDao.selectByPrimaryKey(taskId);
} }
if(ObjectUtil.isNull(taskDetail)){ if (ObjectUtil.isNull(taskDetail)) {
throw new BaseException(CodeEnum.NOT_TASK); throw new BaseException(CodeEnum.NOT_TASK);
} }
// //本用户在项目中的角色 // //本用户在项目中的角色
// List<ProRole> proRoles = proRoleService.getProRoleByProjectIdAndUserId(taskDetail.getProjectId(), currentUserId); // List<ProRole> proRoles = proRoleService.getProRoleByProjectIdAndUserId(taskDetail.getProjectId(), currentUserId);
//用户在项目中的最高权限 //用户在项目中的最高权限
int power = proRoleService.selectPowerByRoleName(currentUserId,taskDetail.getProjectId()); int power = proRoleService.selectPowerByRoleName(currentUserId, taskDetail.getProjectId());
if (power > 1) { if (power > 1) {
if (ObjectUtil.isNotNull(taskDetail)) { if (ObjectUtil.isNotNull(taskDetail)) {
//修改任务删除状态 //修改任务删除状态
@ -1064,7 +1068,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
throw new BaseException(CodeEnum.NOT_POWER); throw new BaseException(CodeEnum.NOT_POWER);
} }
//通过智能助手发送消息 //通过智能助手发送消息
robotService.deleteTaskRobotSend(currentUserId,taskDetail); robotService.deleteTaskRobotSend(currentUserId, taskDetail);
} }
@Override @Override
@ -1072,8 +1076,8 @@ public class ProTaskDetailService implements IProTaskDetailService {
ProTaskDetailExample taskDetailExample = new ProTaskDetailExample(); ProTaskDetailExample taskDetailExample = new ProTaskDetailExample();
taskDetailExample.createCriteria().andExecutorRoleEqualTo(roleId); taskDetailExample.createCriteria().andExecutorRoleEqualTo(roleId);
List<ProTaskDetail> detailList = taskDetailDao.selectByExample(taskDetailExample); List<ProTaskDetail> detailList = taskDetailDao.selectByExample(taskDetailExample);
if(CollectionUtil.isNotEmpty(detailList)){ if (CollectionUtil.isNotEmpty(detailList)) {
for(ProTaskDetail taskDetail:detailList){ for (ProTaskDetail taskDetail : detailList) {
deleteTaskByTaskId(taskDetail.getId()); deleteTaskByTaskId(taskDetail.getId());
} }
} }
@ -1091,8 +1095,8 @@ public class ProTaskDetailService implements IProTaskDetailService {
ProTaskMemberExample taskMemberExample = new ProTaskMemberExample(); ProTaskMemberExample taskMemberExample = new ProTaskMemberExample();
taskMemberExample.createCriteria().andTaskDetailIdEqualTo(taskId); taskMemberExample.createCriteria().andTaskDetailIdEqualTo(taskId);
List<ProTaskMember> proTaskMemberList = taskMemberDao.selectByExample(taskMemberExample); List<ProTaskMember> proTaskMemberList = taskMemberDao.selectByExample(taskMemberExample);
if(CollectionUtil.isNotEmpty(proTaskMemberList)){ if (CollectionUtil.isNotEmpty(proTaskMemberList)) {
for(ProTaskMember proTaskMember : proTaskMemberList){ for (ProTaskMember proTaskMember : proTaskMemberList) {
proTaskMember.setRecStatus((byte) 2); proTaskMember.setRecStatus((byte) 2);
taskMemberDao.updateByPrimaryKeySelective(proTaskMember); taskMemberDao.updateByPrimaryKeySelective(proTaskMember);
} }
@ -1111,22 +1115,22 @@ public class ProTaskDetailService implements IProTaskDetailService {
ProTaskDetail taskDetail; ProTaskDetail taskDetail;
ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(updateTaskInfo.getId()); ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(updateTaskInfo.getId());
if(ObjectUtil.isNotNull(taskSubTime)){ if (ObjectUtil.isNotNull(taskSubTime)) {
taskDetail = taskDetailDao.selectByPrimaryKey(taskSubTime.getTaskDetailId()); taskDetail = taskDetailDao.selectByPrimaryKey(taskSubTime.getTaskDetailId());
}else { } else {
taskDetail = taskDetailDao.selectByPrimaryKey(updateTaskInfo.getId()); taskDetail = taskDetailDao.selectByPrimaryKey(updateTaskInfo.getId());
} }
if(ObjectUtil.isNotNull(taskDetail)) { if (ObjectUtil.isNotNull(taskDetail)) {
SysProject project = sysProjectDao.selectByPrimaryKey(taskDetail.getProjectId()); SysProject project = sysProjectDao.selectByPrimaryKey(taskDetail.getProjectId());
if(ObjectUtil.isNotNull(project)) { if (ObjectUtil.isNotNull(project)) {
//查找权限 //查找权限
int power = proRoleService.selectPowerByRoleName(currentUserId, project.getId()); int power = proRoleService.selectPowerByRoleName(currentUserId, project.getId());
//当前用户是否是此任务的负责人 //当前用户是否是此任务的负责人
boolean flag = false; boolean flag = false;
ProRole executorRole = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole()); ProRole executorRole = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole());
if(executorRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase)){ if (executorRole.getName().equalsIgnoreCase(WebConstant.ROLE_NAME.AllMember.phase)) {
flag = true; flag = true;
}else { } else {
ProMemberExample memberExample = new ProMemberExample(); ProMemberExample memberExample = new ProMemberExample();
memberExample.createCriteria().andUserIdEqualTo(currentUserId).andProjectIdEqualTo(project.getId()); memberExample.createCriteria().andUserIdEqualTo(currentUserId).andProjectIdEqualTo(project.getId());
List<ProMember> memberList = proMemberDao.selectByExample(memberExample); List<ProMember> memberList = proMemberDao.selectByExample(memberExample);
@ -1143,50 +1147,50 @@ public class ProTaskDetailService implements IProTaskDetailService {
if (power > 1 || flag) { if (power > 1 || flag) {
//任务名 //任务名
if(StrUtil.isNotEmpty(updateTaskInfo.getName())){ if (StrUtil.isNotEmpty(updateTaskInfo.getName())) {
taskDetail.setName(updateTaskInfo.getName()); taskDetail.setName(updateTaskInfo.getName());
} }
//详情 //详情
if(StrUtil.isNotEmpty(updateTaskInfo.getDescription())){ if (StrUtil.isNotEmpty(updateTaskInfo.getDescription())) {
taskDetail.setDescription(updateTaskInfo.getDescription()); taskDetail.setDescription(updateTaskInfo.getDescription());
} }
//负责人 //负责人
if(ObjectUtil.isNotNull(updateTaskInfo.getExecutorRole())){ if (ObjectUtil.isNotNull(updateTaskInfo.getExecutorRole())) {
taskDetail.setExecutorRole(updateTaskInfo.getExecutorRole()); taskDetail.setExecutorRole(updateTaskInfo.getExecutorRole());
} }
//奖惩金额 //奖惩金额
if(ObjectUtil.isNotNull(updateTaskInfo.getMoney())){ if (ObjectUtil.isNotNull(updateTaskInfo.getMoney())) {
taskDetail.setMoney(updateTaskInfo.getMoney()); taskDetail.setMoney(updateTaskInfo.getMoney());
} }
//切换模式 //切换模式
if(ObjectUtil.isNotNull(updateTaskInfo.getDelay())){ if (ObjectUtil.isNotNull(updateTaskInfo.getDelay())) {
taskDetail.setDelay((byte) updateTaskInfo.getDelay()); taskDetail.setDelay((byte) updateTaskInfo.getDelay());
} }
//修改任务优先级 //修改任务优先级
if(ObjectUtil.isNotNull(updateTaskInfo.getPriority())){ if (ObjectUtil.isNotNull(updateTaskInfo.getPriority())) {
taskDetail.setPriority(updateTaskInfo.getPriority()); taskDetail.setPriority(updateTaskInfo.getPriority());
} }
//延迟切换时间 //延迟切换时间
if(ObjectUtil.isNotNull(updateTaskInfo.getDelayTime()) && if (ObjectUtil.isNotNull(updateTaskInfo.getDelayTime()) &&
(taskDetail.getDelay() == WebConstant.TASK_DELAY.DelayManual.value)){ (taskDetail.getDelay() == WebConstant.TASK_DELAY.DelayManual.value)) {
taskDetail.setDelayTime(updateTaskInfo.getDelayTime()); taskDetail.setDelayTime(updateTaskInfo.getDelayTime());
} }
//是否是里程碑 //是否是里程碑
if(ObjectUtil.isNotNull(updateTaskInfo.getMilestone())){ if (ObjectUtil.isNotNull(updateTaskInfo.getMilestone())) {
taskDetail.setMilestone(updateTaskInfo.getMilestone()); taskDetail.setMilestone(updateTaskInfo.getMilestone());
} }
//时间 //时间
if(ObjectUtil.isNotNull(updateTaskInfo.getBeginTime()) || if (ObjectUtil.isNotNull(updateTaskInfo.getBeginTime()) ||
ObjectUtil.isNotNull(updateTaskInfo.getEndTime()) || ObjectUtil.isNotNull(updateTaskInfo.getEndTime()) ||
StrUtil.isNotEmpty(updateTaskInfo.getCycle())){ StrUtil.isNotEmpty(updateTaskInfo.getCycle())) {
//一级任务没有时间,不能修改 //一级任务没有时间,不能修改
if(taskDetail.getLevel() != 1 && taskDetail.getLevel() != 0) { if (taskDetail.getLevel() != 1 && taskDetail.getLevel() != 0) {
changeTime(taskDetail,updateTaskInfo.getBeginTime(),updateTaskInfo.getEndTime(),project); changeTime(taskDetail, updateTaskInfo.getBeginTime(), updateTaskInfo.getEndTime(), project);
if (StrUtil.isNotEmpty(updateTaskInfo.getCycle())) { if (StrUtil.isNotEmpty(updateTaskInfo.getCycle())) {
taskDetail.setCycle(updateTaskInfo.getCycle()); taskDetail.setCycle(updateTaskInfo.getCycle());
} }
//时间赋完值后,检查开始时间是否小于结束时间。(赋值前判断太麻烦) //时间赋完值后,检查开始时间是否小于结束时间。(赋值前判断太麻烦)
if (taskDetail.getBeginTime() >= taskDetail.getEndTime()){ if (taskDetail.getBeginTime() >= taskDetail.getEndTime()) {
throw new BaseException(CodeEnum.TIME_ERROR_BEGIN); throw new BaseException(CodeEnum.TIME_ERROR_BEGIN);
} }
//删掉旧的subTime //删掉旧的subTime
@ -1199,12 +1203,12 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
//如果传入的插件不为空,先将原来的插件删除, //如果传入的插件不为空,先将原来的插件删除,
if(CollectionUtil.isNotEmpty(updateTaskInfo.getPlugins())){ if (CollectionUtil.isNotEmpty(updateTaskInfo.getPlugins())) {
ProTaskPluginExample pluginExample = new ProTaskPluginExample(); ProTaskPluginExample pluginExample = new ProTaskPluginExample();
pluginExample.createCriteria().andTaskDetailIdEqualTo(taskDetail.getId()) pluginExample.createCriteria().andTaskDetailIdEqualTo(taskDetail.getId())
.andMemberRoleIdEqualTo(taskDetail.getExecutorRole()); .andMemberRoleIdEqualTo(taskDetail.getExecutorRole());
List<ProTaskPlugin> pluginList = taskPluginDao.selectByExample(pluginExample); List<ProTaskPlugin> pluginList = taskPluginDao.selectByExample(pluginExample);
if(CollectionUtil.isNotEmpty(pluginList)){ if (CollectionUtil.isNotEmpty(pluginList)) {
pluginList.forEach(proTaskPlugin -> { pluginList.forEach(proTaskPlugin -> {
proTaskPlugin.setRecStatus((byte) 2); proTaskPlugin.setRecStatus((byte) 2);
taskPluginDao.updateByPrimaryKeySelective(proTaskPlugin); taskPluginDao.updateByPrimaryKeySelective(proTaskPlugin);
@ -1213,7 +1217,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
//将新的插件加入任务 //将新的插件加入任务
updateTaskInfo.getPlugins().forEach(taskPlugin -> { updateTaskInfo.getPlugins().forEach(taskPlugin -> {
SysPlugin sysPlugin = sysPluginDao.selectByPrimaryKey(taskPlugin); SysPlugin sysPlugin = sysPluginDao.selectByPrimaryKey(taskPlugin);
if(ObjectUtil.isNull(sysPlugin)){ if (ObjectUtil.isNull(sysPlugin)) {
throw new BaseException(CodeEnum.WBS_NOT_PLUGIN); throw new BaseException(CodeEnum.WBS_NOT_PLUGIN);
} }
ProTaskPlugin plugin = new ProTaskPlugin(); ProTaskPlugin plugin = new ProTaskPlugin();
@ -1225,16 +1229,16 @@ public class ProTaskDetailService implements IProTaskDetailService {
}); });
} }
//修改交付物信息 //修改交付物信息
if(CollectionUtil.isNotEmpty(updateTaskInfo.getDeliverList())){ if (CollectionUtil.isNotEmpty(updateTaskInfo.getDeliverList())) {
updateTaskInfo.getDeliverList().forEach(taskDeliver -> { updateTaskInfo.getDeliverList().forEach(taskDeliver -> {
if(StrUtil.isNotEmpty(taskDeliver.getDeliverName())){ if (StrUtil.isNotEmpty(taskDeliver.getDeliverName())) {
if(ObjectUtil.isNotNull(taskDeliver.getDeliverId())) { if (ObjectUtil.isNotNull(taskDeliver.getDeliverId())) {
ProTaskDeliver deliver = taskDeliverDao.selectByPrimaryKey(taskDeliver.getDeliverId()); ProTaskDeliver deliver = taskDeliverDao.selectByPrimaryKey(taskDeliver.getDeliverId());
if (ObjectUtil.isNotNull(deliver)) { if (ObjectUtil.isNotNull(deliver)) {
deliver.setName(taskDeliver.getDeliverName()); deliver.setName(taskDeliver.getDeliverName());
taskDeliverDao.updateByPrimaryKeySelective(deliver); taskDeliverDao.updateByPrimaryKeySelective(deliver);
} }
}else { } else {
ProTaskDeliver deliver = new ProTaskDeliver(); ProTaskDeliver deliver = new ProTaskDeliver();
deliver.setId(snowflake.nextId()); deliver.setId(snowflake.nextId());
deliver.setTaskDetailId(taskDetail.getId()); deliver.setTaskDetailId(taskDetail.getId());
@ -1250,12 +1254,12 @@ public class ProTaskDetailService implements IProTaskDetailService {
//修改数据 //修改数据
taskDetailDao.updateByPrimaryKeySelective(taskDetail); taskDetailDao.updateByPrimaryKeySelective(taskDetail);
//修改提醒信息 //修改提醒信息
if(CollectionUtil.isNotEmpty(updateTaskInfo.getTaskRemindList())){ if (CollectionUtil.isNotEmpty(updateTaskInfo.getTaskRemindList())) {
//删除之前的提醒信息 //删除之前的提醒信息
ProRemindExample proRemindExample = new ProRemindExample(); ProRemindExample proRemindExample = new ProRemindExample();
proRemindExample.createCriteria().andSubTaskIdEqualTo(updateTaskInfo.getId()); proRemindExample.createCriteria().andSubTaskIdEqualTo(updateTaskInfo.getId());
List<ProRemind> proRemindList = proRemindDao.selectByExample(proRemindExample); List<ProRemind> proRemindList = proRemindDao.selectByExample(proRemindExample);
if(CollectionUtil.isNotEmpty(proRemindList)){ if (CollectionUtil.isNotEmpty(proRemindList)) {
proRemindList.forEach(proRemind -> { proRemindList.forEach(proRemind -> {
proRemind.setRecStatus((byte) 2); proRemind.setRecStatus((byte) 2);
proRemindDao.updateByPrimaryKeySelective(proRemind); proRemindDao.updateByPrimaryKeySelective(proRemind);
@ -1263,7 +1267,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
updateTaskInfo.getTaskRemindList().forEach(updateTaskRemind -> { updateTaskInfo.getTaskRemindList().forEach(updateTaskRemind -> {
try { try {
taskSubTimeService.saveRemind(currentUserId,updateTaskRemind); taskSubTimeService.saveRemind(currentUserId, updateTaskRemind);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -1271,30 +1275,31 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
//返回的任务详细信息 //返回的任务详细信息
Long subTimeId = taskDeliverService.isTaskOrSubTime(taskDetail.getId()); Long subTimeId = taskDeliverService.isTaskOrSubTime(taskDetail.getId());
normalTask = getTaskInfoByTaskId(currentUserId,project.getId(),subTimeId,null); normalTask = getTaskInfoByTaskId(currentUserId, project.getId(), subTimeId, null);
} else { } else {
throw new BaseException(CodeEnum.NOT_POWER); throw new BaseException(CodeEnum.NOT_POWER);
} }
}else { } else {
throw new BaseException(CodeEnum.NOT_POWER); throw new BaseException(CodeEnum.NOT_POWER);
} }
}else { } else {
throw new BaseException(CodeEnum.NOT_TASK); throw new BaseException(CodeEnum.NOT_TASK);
} }
robotService.changeTaskRobotSend(currentUserId,normalTask); robotService.changeTaskRobotSend(currentUserId, normalTask);
return normalTask; return normalTask;
} }
private void changeTime(ProTaskDetail taskDetail,Long beginTime,Long endTime,SysProject project){
if((ObjectUtil.isNotNull(beginTime) && beginTime >= project.getEndTime()) || private void changeTime(ProTaskDetail taskDetail, Long beginTime, Long endTime, SysProject project) {
(ObjectUtil.isNotNull(endTime) && endTime <= project.getBeginTime())){ if ((ObjectUtil.isNotNull(beginTime) && beginTime >= project.getEndTime()) ||
(ObjectUtil.isNotNull(endTime) && endTime <= project.getBeginTime())) {
throw new BaseException(CodeEnum.TIME_ERROR_PROJECT); throw new BaseException(CodeEnum.TIME_ERROR_PROJECT);
} }
if(taskDetail.getLevel() == 2){ if (taskDetail.getLevel() == 2) {
//组任务不能修改时间(组任务的时间是其子任务的最早和最晚的时间) //组任务不能修改时间(组任务的时间是其子任务的最早和最晚的时间)
if(taskDetail.getHasGroup() == 1){ if (taskDetail.getHasGroup() == 1) {
throw new BaseException(CodeEnum.HAS_GROUP_TIME_CHANGE); throw new BaseException(CodeEnum.HAS_GROUP_TIME_CHANGE);
}else { } else {
if (ObjectUtil.isNotNull(beginTime)) { if (ObjectUtil.isNotNull(beginTime)) {
taskDetail.setBeginTime(beginTime); taskDetail.setBeginTime(beginTime);
} }
@ -1302,18 +1307,18 @@ public class ProTaskDetailService implements IProTaskDetailService {
taskDetail.setEndTime(endTime); taskDetail.setEndTime(endTime);
} }
} }
}else if(taskDetail.getLevel() == 3){ } else if (taskDetail.getLevel() == 3) {
ProTaskDetail parentTask = taskDetailDao.selectByPrimaryKey(taskDetail.getParentId()); ProTaskDetail parentTask = taskDetailDao.selectByPrimaryKey(taskDetail.getParentId());
if(parentTask.getHasGroup() == 1){ if (parentTask.getHasGroup() == 1) {
//查找组任务中的最早和最晚时间 //查找组任务中的最早和最晚时间
Long bTime = null; Long bTime = null;
Long eTime = null; Long eTime = null;
ProTaskDetailExample detailExample = new ProTaskDetailExample(); ProTaskDetailExample detailExample = new ProTaskDetailExample();
detailExample.createCriteria().andParentIdEqualTo(parentTask.getId()); detailExample.createCriteria().andParentIdEqualTo(parentTask.getId());
List<ProTaskDetail> groupTaskList = taskDetailDao.selectByExample(detailExample); List<ProTaskDetail> groupTaskList = taskDetailDao.selectByExample(detailExample);
if(CollectionUtil.isNotEmpty(groupTaskList)){ if (CollectionUtil.isNotEmpty(groupTaskList)) {
for (ProTaskDetail groupTask : groupTaskList){ for (ProTaskDetail groupTask : groupTaskList) {
if(groupTask.getId().longValue() == taskDetail.getId().longValue()){ if (groupTask.getId().longValue() == taskDetail.getId().longValue()) {
if (ObjectUtil.isNotNull(beginTime)) { if (ObjectUtil.isNotNull(beginTime)) {
groupTask.setBeginTime(beginTime); groupTask.setBeginTime(beginTime);
taskDetail.setBeginTime(beginTime); taskDetail.setBeginTime(beginTime);
@ -1323,10 +1328,10 @@ public class ProTaskDetailService implements IProTaskDetailService {
taskDetail.setEndTime(endTime); taskDetail.setEndTime(endTime);
} }
} }
if(ObjectUtil.isNull(bTime)){ if (ObjectUtil.isNull(bTime)) {
bTime = groupTask.getBeginTime(); bTime = groupTask.getBeginTime();
} }
if(ObjectUtil.isNull(eTime)){ if (ObjectUtil.isNull(eTime)) {
eTime = groupTask.getEndTime(); eTime = groupTask.getEndTime();
} }
bTime = bTime < groupTask.getBeginTime() ? bTime : groupTask.getBeginTime(); bTime = bTime < groupTask.getBeginTime() ? bTime : groupTask.getBeginTime();
@ -1334,7 +1339,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
} }
//如果子任务最早最晚时间和父任务不同,则修改父任务时间 //如果子任务最早最晚时间和父任务不同,则修改父任务时间
if(ObjectUtil.isNotNull(bTime) && ObjectUtil.isNotNull(eTime)) { if (ObjectUtil.isNotNull(bTime) && ObjectUtil.isNotNull(eTime)) {
if (bTime != parentTask.getBeginTime().longValue() || eTime != parentTask.getEndTime().longValue()) { if (bTime != parentTask.getBeginTime().longValue() || eTime != parentTask.getEndTime().longValue()) {
parentTask.setBeginTime(bTime); parentTask.setBeginTime(bTime);
parentTask.setEndTime(eTime); parentTask.setEndTime(eTime);
@ -1351,7 +1356,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
} }
} }
}else { } else {
if (ObjectUtil.isNotNull(beginTime)) { if (ObjectUtil.isNotNull(beginTime)) {
taskDetail.setBeginTime(beginTime); taskDetail.setBeginTime(beginTime);
} }
@ -1361,7 +1366,8 @@ public class ProTaskDetailService implements IProTaskDetailService {
} }
} }
} }
private void partTaskSubTime(ProTaskDetail taskDetail){
private void partTaskSubTime(ProTaskDetail taskDetail) {
//cycle为空或者组任务,只加一条数据 //cycle为空或者组任务,只加一条数据
if (StrUtil.isEmpty(taskDetail.getCycle()) || taskDetail.getHasGroup() == 1) { if (StrUtil.isEmpty(taskDetail.getCycle()) || taskDetail.getHasGroup() == 1) {
ProTaskSubTime proTaskSubTime = new ProTaskSubTime(); ProTaskSubTime proTaskSubTime = new ProTaskSubTime();
@ -1394,13 +1400,13 @@ public class ProTaskDetailService implements IProTaskDetailService {
TaskVo.TaskInfoWithFeign taskInfo = null; TaskVo.TaskInfoWithFeign taskInfo = null;
ProTaskDetail detail; ProTaskDetail detail;
ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(taskId); ProTaskSubTime subTime = taskSubTimeDao.selectByPrimaryKey(taskId);
if(ObjectUtil.isNull(subTime)){ if (ObjectUtil.isNull(subTime)) {
detail = taskDetailDao.selectByPrimaryKey(taskId); detail = taskDetailDao.selectByPrimaryKey(taskId);
}else { } else {
detail = taskDetailDao.selectByPrimaryKey(subTime.getTaskDetailId()); detail = taskDetailDao.selectByPrimaryKey(subTime.getTaskDetailId());
} }
if(ObjectUtil.isNotNull(detail)){ if (ObjectUtil.isNotNull(detail)) {
taskInfo = new TaskVo.TaskInfoWithFeign(); taskInfo = new TaskVo.TaskInfoWithFeign();
taskInfo.setId(detail.getId()); taskInfo.setId(detail.getId());
@ -1408,7 +1414,7 @@ public class ProTaskDetailService implements IProTaskDetailService {
taskInfo.setProjectId(detail.getProjectId()); taskInfo.setProjectId(detail.getProjectId());
SysProject project = sysProjectDao.selectByPrimaryKey(detail.getProjectId()); SysProject project = sysProjectDao.selectByPrimaryKey(detail.getProjectId());
if(ObjectUtil.isNotNull(project)){ if (ObjectUtil.isNotNull(project)) {
taskInfo.setProjectName(project.getName()); taskInfo.setProjectName(project.getName());
} }
} }
@ -1419,9 +1425,9 @@ public class ProTaskDetailService implements IProTaskDetailService {
public TaskVo.NormalTask updateTaskConfig(Long userId, TaskDto.UpdateTaskConfig updateTaskConfig) throws Exception { public TaskVo.NormalTask updateTaskConfig(Long userId, TaskDto.UpdateTaskConfig updateTaskConfig) throws Exception {
//检查任务是否存在 //检查任务是否存在
ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(updateTaskConfig.getTaskId()); ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(updateTaskConfig.getTaskId());
if(ObjectUtil.isNull(taskDetail)){ if (ObjectUtil.isNull(taskDetail)) {
ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(updateTaskConfig.getTaskId()); ProTaskSubTime taskSubTime = taskSubTimeDao.selectByPrimaryKey(updateTaskConfig.getTaskId());
if(ObjectUtil.isNull(taskSubTime)) { if (ObjectUtil.isNull(taskSubTime)) {
throw new BaseException(CodeEnum.NOT_TASK); throw new BaseException(CodeEnum.NOT_TASK);
} }
taskDetail = taskDetailDao.selectByPrimaryKey(taskSubTime.getTaskDetailId()); taskDetail = taskDetailDao.selectByPrimaryKey(taskSubTime.getTaskDetailId());
@ -1430,21 +1436,21 @@ public class ProTaskDetailService implements IProTaskDetailService {
ProTaskShowExample taskShowExample = new ProTaskShowExample(); ProTaskShowExample taskShowExample = new ProTaskShowExample();
taskShowExample.createCriteria().andTaskDetailIdEqualTo(taskDetail.getId()); taskShowExample.createCriteria().andTaskDetailIdEqualTo(taskDetail.getId());
List<ProTaskShow> proTaskShowList = proTaskShowDao.selectByExample(taskShowExample); List<ProTaskShow> proTaskShowList = proTaskShowDao.selectByExample(taskShowExample);
if(CollectionUtil.isEmpty(proTaskShowList)){ if (CollectionUtil.isEmpty(proTaskShowList)) {
//没有则新建配置信息 //没有则新建配置信息
ProTaskShow proTaskShow = new ProTaskShow(); ProTaskShow proTaskShow = new ProTaskShow();
BeanUtil.copyProperties(updateTaskConfig,proTaskShow); BeanUtil.copyProperties(updateTaskConfig, proTaskShow);
proTaskShow.setId(snowflake.nextId()); proTaskShow.setId(snowflake.nextId());
proTaskShow.setProjectId(taskDetail.getProjectId()); proTaskShow.setProjectId(taskDetail.getProjectId());
proTaskShow.setTaskDetailId(taskDetail.getId()); proTaskShow.setTaskDetailId(taskDetail.getId());
proTaskShowDao.insertSelective(proTaskShow); proTaskShowDao.insertSelective(proTaskShow);
}else { } else {
//有则修改 //有则修改
ProTaskShow proTaskShow = proTaskShowList.get(0); ProTaskShow proTaskShow = proTaskShowList.get(0);
BeanUtil.copyProperties(updateTaskConfig,proTaskShow); BeanUtil.copyProperties(updateTaskConfig, proTaskShow);
proTaskShowDao.updateByPrimaryKeySelective(proTaskShow); proTaskShowDao.updateByPrimaryKeySelective(proTaskShow);
} }
return getTaskInfoByTaskId(userId,taskDetail.getProjectId(),updateTaskConfig.getTaskId(),null); return getTaskInfoByTaskId(userId, taskDetail.getProjectId(), updateTaskConfig.getTaskId(), null);
} }
@Override @Override
@ -1462,8 +1468,8 @@ public class ProTaskDetailService implements IProTaskDetailService {
if (CollectionUtil.isNotEmpty(firstTaskDetailList)) { if (CollectionUtil.isNotEmpty(firstTaskDetailList)) {
firstTaskDetailList.forEach(firstTaskDetail -> { firstTaskDetailList.forEach(firstTaskDetail -> {
TaskVo.TaskListByProjectId firstTask = taskDetailDao.getTaskById(firstTaskDetail.getId()); TaskVo.TaskListByProjectId firstTask = taskDetailDao.getTaskById(firstTaskDetail.getId());
List<TaskVo.TaskListByProjectId> secondTaskList = taskDetailDao.getTaskByParentId(firstTaskDetail.getId(),null); List<TaskVo.TaskListByProjectId> secondTaskList = taskDetailDao.getTaskByParentId(firstTaskDetail.getId(), null);
if(CollectionUtil.isNotEmpty(secondTaskList)){ if (CollectionUtil.isNotEmpty(secondTaskList)) {
secondTaskList.forEach(secondTask -> secondTask.setParentName(firstTaskDetail.getName())); secondTaskList.forEach(secondTask -> secondTask.setParentName(firstTaskDetail.getName()));
} }
firstTask.setSecondTasks(secondTaskList); firstTask.setSecondTasks(secondTaskList);

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

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

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

@ -4,7 +4,6 @@
<select id="selectLabelByUserId" parameterType="java.util.Map" resultType="com.ccsens.tall.bean.vo.LabelVo$SelectLabel"> <select id="selectLabelByUserId" parameterType="java.util.Map" resultType="com.ccsens.tall.bean.vo.LabelVo$SelectLabel">
select select
*
id, id,
`name`, `name`,
code, code,

6
util/src/test/java/com/ccsens/util/TestQrCord.java

@ -31,8 +31,10 @@ public class TestQrCord {
// String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=http://www.tall.wiki/pt-dev/vote&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; // String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=http://www.tall.wiki/pt-dev/vote&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
// String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://www.tall.wiki/compete-province&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; // String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://www.tall.wiki/compete-province&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
// String fileName = "zzz/" + "远程比赛-省赛(生产).png"; // String fileName = "zzz/" + "远程比赛-省赛(生产).png";
String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://www.tall.wiki/compete-people&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"; // String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://www.tall.wiki/compete-people&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
String fileName = "zzz/" + "远程比赛-全民健身跳绳大赛(生产).png"; // String fileName = "zzz/" + "远程比赛-全民健身跳绳大赛(生产).png";
String text = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7af1bf1e14facf82&redirect_uri=https://test.tall.wiki/compete-people&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
String fileName = "zzz/" + "远程比赛-全民健身跳绳大赛(测试)1.png";
QRCodeWriter qrCodeWriter = new QRCodeWriter(); QRCodeWriter qrCodeWriter = new QRCodeWriter();

Loading…
Cancel
Save