|
|
@ -5,6 +5,7 @@ import cn.hutool.core.lang.Snowflake; |
|
|
|
import cn.hutool.core.util.BooleanUtil; |
|
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
|
import cn.hutool.core.util.StrUtil; |
|
|
|
import com.ccsens.common.bean.dto.CPluginDto; |
|
|
|
import com.ccsens.common.bean.dto.CTaskDto; |
|
|
|
import com.ccsens.common.bean.message.TaskMessageWithStatus; |
|
|
|
import com.ccsens.common.bean.po.*; |
|
|
@ -73,6 +74,8 @@ public class TaskService implements ITaskService { |
|
|
|
private ProRoleTaskDao roleTaskDao; |
|
|
|
@Resource |
|
|
|
private ProProjectDao proProjectDao; |
|
|
|
@Resource |
|
|
|
private PluginDao pluginDao; |
|
|
|
|
|
|
|
/** |
|
|
|
* 判断当前用户的角色是否被设置不可见(是否有权限查看任务) |
|
|
@ -789,6 +792,12 @@ public class TaskService implements ITaskService { |
|
|
|
if (ObjectUtil.isNull(projectById)){ |
|
|
|
throw new BaseException(CommonCodeError.PROJECT_NOT_FOUND); |
|
|
|
} |
|
|
|
//TODO 权限判断
|
|
|
|
Integer pm = roleDao.isPmByUserId(userId, projectById.getId()); |
|
|
|
//只有负责人或者是项目经理才能操作
|
|
|
|
if (pm == null || pm < 1) { |
|
|
|
throw new BaseException(CommonCodeError.NOT_PERMISSION); |
|
|
|
} |
|
|
|
//修改任务信息
|
|
|
|
if(StrUtil.isNotBlank(param.getName())){ |
|
|
|
proTaskDetail.setName(param.getName()); |
|
|
@ -830,6 +839,17 @@ public class TaskService implements ITaskService { |
|
|
|
if (ObjectUtil.isNull(proTaskDetail)) { |
|
|
|
throw new BaseException(CommonCodeError.NOT_TASK); |
|
|
|
} |
|
|
|
//根据任务查找项目id
|
|
|
|
Long projectId = taskDetailDao.projectIdByTaskDetailId(proTaskDetail.getId()); |
|
|
|
if (ObjectUtil.isNull(projectId)) { |
|
|
|
throw new BaseException(CommonCodeError.NOT_TASK); |
|
|
|
} |
|
|
|
//权限判断
|
|
|
|
Integer pm = roleDao.isPmByUserId(userId, projectId); |
|
|
|
//只有负责人或者是项目经理才能操作
|
|
|
|
if (pm == null || pm < 1) { |
|
|
|
throw new BaseException(CommonCodeError.NOT_PERMISSION); |
|
|
|
} |
|
|
|
//删除任务详情
|
|
|
|
proTaskDetail.setRecStatus((byte) 2); |
|
|
|
taskDetailDao.updateByPrimaryKeySelective(proTaskDetail); |
|
|
@ -840,14 +860,53 @@ public class TaskService implements ITaskService { |
|
|
|
roleTaskDao.delByTaskDetailIdAndType(proTaskDetail.getId(), (byte)1); |
|
|
|
//删除任务标签信息
|
|
|
|
labelDao.delByBusinessIdAndType(proTaskDetail.getId(),(byte)0); |
|
|
|
|
|
|
|
//任务插件关联信息
|
|
|
|
taskPluginDao.delByTaskDetailId(proTaskDetail.getId()); |
|
|
|
//TODO 删除任务上下级关系
|
|
|
|
//TODO 删除任务流转信息
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<CPluginVo.TaskPlugin> queryPluginByTaskId(CTaskDto.FindSonTask param, Long userId) { |
|
|
|
return taskDetailDao.queryPluginByTaskId(param.getDetailId()); |
|
|
|
} |
|
|
|
|
|
|
|
return null; |
|
|
|
@Override |
|
|
|
public void saveTaskPlugin(CPluginDto.SaveTaskPlugin saveTaskPlugin, Long userId) { |
|
|
|
//查找任务
|
|
|
|
ProTaskDetail proTaskDetail = taskDetailDao.selectByPrimaryKey(saveTaskPlugin.getTaskDetailId()); |
|
|
|
if (ObjectUtil.isNull(proTaskDetail)) { |
|
|
|
throw new BaseException(CommonCodeError.NOT_TASK); |
|
|
|
} |
|
|
|
//根据任务查找项目id
|
|
|
|
Long projectId = taskDetailDao.projectIdByTaskDetailId(proTaskDetail.getId()); |
|
|
|
if (ObjectUtil.isNull(projectId)) { |
|
|
|
throw new BaseException(CommonCodeError.NOT_TASK); |
|
|
|
} |
|
|
|
//权限判断
|
|
|
|
Integer pm = roleDao.isPmByUserId(userId, projectId); |
|
|
|
//只有负责人或者是项目经理才能操作
|
|
|
|
if (pm == null || pm < 1) { |
|
|
|
throw new BaseException(CommonCodeError.NOT_PERMISSION); |
|
|
|
} |
|
|
|
//修改插件信息
|
|
|
|
if(CollectionUtil.isNotEmpty(saveTaskPlugin.getPluginList())){ |
|
|
|
//删除以前的插件信息
|
|
|
|
taskPluginDao.delByTaskDetailId(proTaskDetail.getId()); |
|
|
|
//添加插件信息
|
|
|
|
for (int i = 0; i < saveTaskPlugin.getPluginList().size(); i++) { |
|
|
|
CPluginDto.PluginConfig plugin = saveTaskPlugin.getPluginList().get(i); |
|
|
|
ProTaskPlugin proTaskPlugin = new ProTaskPlugin(); |
|
|
|
proTaskPlugin.setId(snowflake.nextId()); |
|
|
|
proTaskPlugin.setTaskDetailId(saveTaskPlugin.getTaskDetailId()); |
|
|
|
proTaskPlugin.setPluginId(plugin.getPluginId()); |
|
|
|
proTaskPlugin.setPlginRow(i + 1); |
|
|
|
proTaskPlugin.setPlginCol(plugin.getCol()); |
|
|
|
proTaskPlugin.setRowspan(plugin.getRowspan()); |
|
|
|
proTaskPlugin.setColspan(plugin.getColspan()); |
|
|
|
proTaskPlugin.setParam(plugin.getParam()); |
|
|
|
taskPluginDao.insertSelective(proTaskPlugin); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |