@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.BooleanUtil ;
import cn.hutool.core.util.BooleanUtil ;
import cn.hutool.core.util.ObjectUtil ;
import cn.hutool.core.util.ObjectUtil ;
import com.ccsens.common.bean.dto.TaskDto ;
import com.ccsens.common.bean.dto.TaskDto ;
import com.ccsens.common.bean.po.ProTaskDetail ;
import com.ccsens.common.bean.po.ProTaskSub ;
import com.ccsens.common.bean.po.ProTaskSub ;
import com.ccsens.common.bean.vo.TaskVo ;
import com.ccsens.common.bean.vo.TaskVo ;
import com.ccsens.common.persist.dao.* ;
import com.ccsens.common.persist.dao.* ;
@ -202,7 +203,18 @@ public class TaskService implements ITaskService{
if ( ObjectUtil . isNull ( proTaskSub ) ) {
if ( ObjectUtil . isNull ( proTaskSub ) ) {
throw new BaseException ( CommonCodeError . NOT_TASK ) ;
throw new BaseException ( CommonCodeError . NOT_TASK ) ;
}
}
//根据任务查找项目id
Long projectId = taskDetailDao . projectIdByTaskDetailId ( proTaskSub . getTaskDetailId ( ) ) ;
if ( ObjectUtil . isNull ( projectId ) ) {
throw new BaseException ( CommonCodeError . NOT_TASK ) ;
}
//验证当前成员的权限(是该任务的负责人,或是项目经理,可以修改)
//验证当前成员的权限(是该任务的负责人,或是项目经理,可以修改)
Integer pm = roleDao . isPmByUserId ( userId , projectId ) ;
//验证是否是任务负责人
Integer executor = roleDao . isExecutorByUserId ( userId , proTaskSub . getTaskDetailId ( ) ) ;
if ( pm < 2 & & executor = = 0 ) {
throw new BaseException ( CommonCodeError . NOT_TASK ) ;
}
//根据状态修改信息
//根据状态修改信息
//开始 添加操作记录 修改任务的状态为进行中,实际开始时间为当前时间,实际时长清空
//开始 添加操作记录 修改任务的状态为进行中,实际开始时间为当前时间,实际时长清空
//暂停 判断任务是否是进行中, 修改任务的状态为暂停,计算实际时长 添加操作记录
//暂停 判断任务是否是进行中, 修改任务的状态为暂停,计算实际时长 添加操作记录