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. 296
      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 lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.io.IOException;
@ -169,10 +166,10 @@ public class CompeteController {
String enrollPlayInfoList= competeService.enrollPlayInfoWps(params);
return JsonResponse.newInstance().ok(enrollPlayInfoList);
}
@MustLogin
@ApiOperation(value = "报名表详情表", notes = "")
@RequestMapping(value = "/enroll", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse enrollPlayInfo(@ApiParam @Validated @RequestBody QueryDto<CompeteDto.CompeteType> params) throws Exception {
@ApiOperation(value = "报名表详情表下载", notes = "")
@RequestMapping(value = "/enroll", method = RequestMethod.GET, produces = {"application/json;charset=UTF-8"})
public JsonResponse enrollPlayInfo(@ApiParam CompeteDto.CompeteType params) throws Exception {
log.info("查询各个项目报名人员信息:{}",params);
String enrollPlayInfoList= competeService.enrollPlayInfo(params);
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
public String enrollPlayInfo(QueryDto<CompeteDto.CompeteType> params) throws Exception {
CompeteDto.CompeteType competeType = params.getParam();
List<CompeteVo.EnrollPlayInfo> arrayList = getEnrollPlayInfos(competeType);
public String enrollPlayInfo(CompeteDto.CompeteType params) throws Exception {
// CompeteDto.CompeteType competeType = params.getParam();
List<CompeteVo.EnrollPlayInfo> arrayList = getEnrollPlayInfos(params);
String path = getExcelFilePath(arrayList);
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 项目类型信息
* @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:
profiles:
active: prod
include: common, util-prod
active: dev
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
public List<LabelVo.SelectLabel> taskAddLabel(Long currentUserId, LabelDto.TaskLabel taskLabel) {
// Long taskId = taskLabel.getTaskId();
// ProTaskSubTime proTaskSubTime = taskSubTimeMapper.selectByPrimaryKey(taskLabel.getTaskId());
// if (ObjectUtil.isNotNull(proTaskSubTime)) {
// taskId = proTaskSubTime.getTaskDetailId();
// }
// List<LabelVo.SelectLabel> selectLabelList;
// ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId);
// if (ObjectUtil.isNull(taskDetail)) {
// throw new BaseException(CodeEnum.NOT_TASK);
// }
// if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) {
// Long finalTaskId = taskId;
// taskLabel.getLabelList().forEach(labelId -> {
// SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId);
// if (ObjectUtil.isNull(sysLabel)) {
// throw new BaseException(CodeEnum.NOT_LABEL);
// }
// if (sysLabel.getUserId().longValue() != currentUserId) {
// throw new BaseException(CodeEnum.NOT_POWER);
// }
// //添加项目和标签的关联信息
// ProTaskLabel proTaskLabel = new ProTaskLabel();
// proTaskLabel.setId(snowflake.nextId());
// proTaskLabel.setTaskDetailId(finalTaskId);
// proTaskLabel.setLabelId(labelId);
// proTaskLabelMapper.insertSelective(proTaskLabel);
// });
// }
// //查询项目内的标签信息
// selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId);
// return selectLabelList;
return null;
Long taskId = taskLabel.getTaskId();
ProTaskSubTime proTaskSubTime = taskSubTimeDao.selectByPrimaryKey(taskLabel.getTaskId());
if (ObjectUtil.isNotNull(proTaskSubTime)) {
taskId = proTaskSubTime.getTaskDetailId();
}
List<LabelVo.SelectLabel> selectLabelList;
ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId);
if (ObjectUtil.isNull(taskDetail)) {
throw new BaseException(CodeEnum.NOT_TASK);
}
if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) {
Long finalTaskId = taskId;
taskLabel.getLabelList().forEach(labelId -> {
SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId);
if (ObjectUtil.isNull(sysLabel)) {
throw new BaseException(CodeEnum.NOT_LABEL);
}
if (sysLabel.getUserId().longValue() != currentUserId) {
throw new BaseException(CodeEnum.NOT_POWER);
}
//添加项目和标签的关联信息
ProTaskLabel proTaskLabel = new ProTaskLabel();
proTaskLabel.setId(snowflake.nextId());
proTaskLabel.setTaskDetailId(finalTaskId);
proTaskLabel.setLabelId(labelId);
proTaskLabelMapper.insertSelective(proTaskLabel);
});
}
//查询项目内的标签信息
selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId);
return selectLabelList;
}
@Override
public List<LabelVo.SelectLabel> taskRemoveLabel(Long currentUserId, LabelDto.TaskLabel taskLabel) {
// Long taskId = taskLabel.getTaskId();
// ProTaskSubTime proTaskSubTime = taskSubTimeMapper.selectByPrimaryKey(taskLabel.getTaskId());
// if (ObjectUtil.isNotNull(proTaskSubTime)) {
// taskId = proTaskSubTime.getTaskDetailId();
// }
// List<LabelVo.SelectLabel> selectLabelList;
// ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId);
// if (ObjectUtil.isNull(taskDetail)) {
// throw new BaseException(CodeEnum.NOT_TASK);
// }
// if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) {
// Long finalTaskId = taskId;
// taskLabel.getLabelList().forEach(labelId -> {
// SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId);
// if (ObjectUtil.isNull(sysLabel)) {
// throw new BaseException(CodeEnum.NOT_LABEL);
// }
// if (sysLabel.getUserId().longValue() != currentUserId) {
// throw new BaseException(CodeEnum.NOT_POWER);
// }
// //项目和标签的关联信息
// ProTaskLabelExample taskLabelExample = new ProTaskLabelExample();
// taskLabelExample.createCriteria().andTaskDetailIdEqualTo(finalTaskId).andLabelIdEqualTo(labelId);
// List<ProTaskLabel> proTaskLabelList = proTaskLabelMapper.selectByExample(taskLabelExample);
// if (CollectionUtil.isNotEmpty(proTaskLabelList)) {
// proTaskLabelList.forEach(label -> {
// label.setRecStatus((byte) 2);
// proTaskLabelMapper.updateByPrimaryKeySelective(label);
// });
// }
// });
// }
// //查询项目内的标签信息
// selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId);
// return selectLabelList;
return null;
Long taskId = taskLabel.getTaskId();
ProTaskSubTime proTaskSubTime = taskSubTimeDao.selectByPrimaryKey(taskLabel.getTaskId());
if (ObjectUtil.isNotNull(proTaskSubTime)) {
taskId = proTaskSubTime.getTaskDetailId();
}
List<LabelVo.SelectLabel> selectLabelList;
ProTaskDetail taskDetail = taskDetailDao.selectByPrimaryKey(taskId);
if (ObjectUtil.isNull(taskDetail)) {
throw new BaseException(CodeEnum.NOT_TASK);
}
if (CollectionUtil.isNotEmpty(taskLabel.getLabelList())) {
Long finalTaskId = taskId;
taskLabel.getLabelList().forEach(labelId -> {
SysLabel sysLabel = sysLabelDao.selectByPrimaryKey(labelId);
if (ObjectUtil.isNull(sysLabel)) {
throw new BaseException(CodeEnum.NOT_LABEL);
}
if (sysLabel.getUserId().longValue() != currentUserId) {
throw new BaseException(CodeEnum.NOT_POWER);
}
//项目和标签的关联信息
ProTaskLabelExample taskLabelExample = new ProTaskLabelExample();
taskLabelExample.createCriteria().andTaskDetailIdEqualTo(finalTaskId).andLabelIdEqualTo(labelId);
List<ProTaskLabel> proTaskLabelList = proTaskLabelMapper.selectByExample(taskLabelExample);
if (CollectionUtil.isNotEmpty(proTaskLabelList)) {
proTaskLabelList.forEach(label -> {
label.setRecStatus((byte) 2);
proTaskLabelMapper.updateByPrimaryKeySelective(label);
});
}
});
}
//查询项目内的标签信息
selectLabelList = sysLabelDao.selectLabelByTaskId(currentUserId, taskId);
return selectLabelList;
}
}

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

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

@ -1,4 +1,4 @@
spring:
profiles:
active: dev
include: util-dev,common
active: test
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,
`name`,
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=https://www.tall.wiki/compete-province&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
// 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 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 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();

Loading…
Cancel
Save