|
@ -78,6 +78,8 @@ public class ProTaskDetailService implements IProTaskDetailService { |
|
|
private ProRemindDao proRemindDao; |
|
|
private ProRemindDao proRemindDao; |
|
|
@Resource |
|
|
@Resource |
|
|
private TaskDeliverDao taskDeliverDao; |
|
|
private TaskDeliverDao taskDeliverDao; |
|
|
|
|
|
@Resource |
|
|
|
|
|
private ProMemberRoleDao proMemberRoleDao; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void saveTaskDetail(ProTaskDetail taskDetail) { |
|
|
public void saveTaskDetail(ProTaskDetail taskDetail) { |
|
@ -462,7 +464,7 @@ public class ProTaskDetailService implements IProTaskDetailService { |
|
|
plugin.setDescription(pluginDescription[i]); |
|
|
plugin.setDescription(pluginDescription[i]); |
|
|
plugin.setShowType(pluginShowType[i]); |
|
|
plugin.setShowType(pluginShowType[i]); |
|
|
//查找插件的配置信息
|
|
|
//查找插件的配置信息
|
|
|
ProPluginConfig proPluginConfig = sysPluginDao.getPluginConfigByTaskPluginId(pluginIds[i]); |
|
|
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()); |
|
@ -1117,8 +1119,25 @@ public class ProTaskDetailService implements IProTaskDetailService { |
|
|
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()); |
|
|
if (power > 1) { |
|
|
//当前用户是否是此任务的负责人
|
|
|
|
|
|
boolean flag = false; |
|
|
|
|
|
ProRole executorRole = proRoleDao.selectByPrimaryKey(taskDetail.getExecutorRole()); |
|
|
|
|
|
ProMemberExample memberExample = new ProMemberExample(); |
|
|
|
|
|
memberExample.createCriteria().andUserIdEqualTo(currentUserId).andProjectIdEqualTo(project.getId()); |
|
|
|
|
|
List<ProMember> memberList = proMemberDao.selectByExample(memberExample); |
|
|
|
|
|
if(CollectionUtil.isNotEmpty(memberList)){ |
|
|
|
|
|
if(ObjectUtil.isNotNull(executorRole)){ |
|
|
|
|
|
ProMemberRoleExample memberRoleExample = new ProMemberRoleExample(); |
|
|
|
|
|
memberRoleExample.createCriteria().andRoleIdEqualTo(executorRole.getId()).andMemberIdEqualTo(memberList.get(0).getId()); |
|
|
|
|
|
if(proMemberRoleDao.countByExample(memberRoleExample) != 0){ |
|
|
|
|
|
flag = true; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (power > 1 || flag) { |
|
|
//任务名
|
|
|
//任务名
|
|
|
if(StrUtil.isNotEmpty(updateTaskInfo.getName())){ |
|
|
if(StrUtil.isNotEmpty(updateTaskInfo.getName())){ |
|
|
taskDetail.setName(updateTaskInfo.getName()); |
|
|
taskDetail.setName(updateTaskInfo.getName()); |
|
@ -1425,7 +1444,7 @@ public class ProTaskDetailService implements IProTaskDetailService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public List<TaskVo.TaskListByProjectId> queryAllTaskByProjectId(Long currentUserId, TaskDto.QueryAllTaskByProjectId projectIdDto) throws Exception { |
|
|
public List<TaskVo.TaskListByProjectId> queryAllTaskByProjectId(Long currentUserId, TaskDto.QueryAllTaskByProjectId projectIdDto) { |
|
|
List<TaskVo.TaskListByProjectId> taskList = new ArrayList<>(); |
|
|
List<TaskVo.TaskListByProjectId> taskList = new ArrayList<>(); |
|
|
//1、查找一级任务
|
|
|
//1、查找一级任务
|
|
|
SysProject project = sysProjectDao.selectByPrimaryKey(projectIdDto.getProjectId()); |
|
|
SysProject project = sysProjectDao.selectByPrimaryKey(projectIdDto.getProjectId()); |
|
@ -1439,11 +1458,9 @@ 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()); |
|
|
List<TaskVo.TaskListByProjectId> secondTaskList = taskDetailDao.getTaskByParentId(firstTaskDetail.getId(),null); |
|
|
if(CollectionUtil.isNotEmpty(secondTaskList)){ |
|
|
if(CollectionUtil.isNotEmpty(secondTaskList)){ |
|
|
secondTaskList.forEach(secondTask -> { |
|
|
secondTaskList.forEach(secondTask -> secondTask.setParentName(firstTaskDetail.getName())); |
|
|
secondTask.setParentName(firstTaskDetail.getName()); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
} |
|
|
firstTask.setSecondTasks(secondTaskList); |
|
|
firstTask.setSecondTasks(secondTaskList); |
|
|
taskList.add(firstTask); |
|
|
taskList.add(firstTask); |
|
|