|
|
@ -5,18 +5,12 @@ import cn.hutool.core.collection.CollectionUtil; |
|
|
|
import cn.hutool.core.lang.Snowflake; |
|
|
|
import cn.hutool.core.util.ObjectUtil; |
|
|
|
import cn.hutool.core.util.StrUtil; |
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
import com.ccsens.cloudutil.feign.MtFeignClient; |
|
|
|
import com.ccsens.tall.bean.dto.ProjectDto; |
|
|
|
import com.ccsens.tall.bean.dto.TaskDto; |
|
|
|
import com.ccsens.tall.bean.po.*; |
|
|
|
import com.ccsens.tall.bean.vo.*; |
|
|
|
import com.ccsens.tall.persist.dao.*; |
|
|
|
import com.ccsens.tall.persist.dao.ProTaskShowDao; |
|
|
|
import com.ccsens.tall.persist.mapper.ProPluginConfigMapper; |
|
|
|
import com.ccsens.tall.persist.mapper.ProTaskDeliverMapper; |
|
|
|
import com.ccsens.tall.persist.mapper.ProTaskInputDocMapper; |
|
|
|
import com.ccsens.tall.util.TallConstant; |
|
|
|
import com.ccsens.tall.util.TaskUtil; |
|
|
|
import com.ccsens.util.CodeEnum; |
|
|
|
import com.ccsens.util.DateUtil; |
|
|
@ -25,18 +19,14 @@ import com.ccsens.util.WebConstant; |
|
|
|
import com.ccsens.util.cron.CronConstant; |
|
|
|
import com.ccsens.util.cron.NatureToDate; |
|
|
|
import com.ccsens.util.exception.BaseException; |
|
|
|
import com.fasterxml.jackson.annotation.JsonFormat; |
|
|
|
import com.github.pagehelper.PageHelper; |
|
|
|
import com.github.pagehelper.PageInfo; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.apache.commons.lang.StringUtils; |
|
|
|
import org.apache.ibatis.annotations.Param; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Propagation; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.*; |
|
|
|
|
|
|
|
|
|
|
@ -204,6 +194,39 @@ public class ProTaskDetailService implements IProTaskDetailService { |
|
|
|
normalTask.setDetailId(firstTaskDetail.getId()); |
|
|
|
normalTask.setId(taskDeliverService.isTaskOrSubTime(firstTaskDetail.getId())); |
|
|
|
normalTask.setSequence(sequence); |
|
|
|
if(ObjectUtil.isNotNull(firstTaskDetail.getProjectId())){ |
|
|
|
SysProject sysProject = sysProjectDao.selectByPrimaryKey(firstTaskDetail.getProjectId()); |
|
|
|
if(ObjectUtil.isNotNull(sysProject)){ |
|
|
|
normalTask.setProjectName(sysProject.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
//负责人
|
|
|
|
if(ObjectUtil.isNotNull(firstTaskDetail.getExecutorRole())){ |
|
|
|
ProRole proRole = proRoleDao.selectByPrimaryKey(firstTaskDetail.getExecutorRole()); |
|
|
|
if(ObjectUtil.isNotNull(proRole)){ |
|
|
|
normalTask.setExecutorRoleName(proRole.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
//检查人
|
|
|
|
if(ObjectUtil.isNotNull(firstTaskDetail.getCheckerRole())){ |
|
|
|
ProRole proRole = proRoleDao.selectByPrimaryKey(firstTaskDetail.getCheckerRole()); |
|
|
|
if(ObjectUtil.isNotNull(proRole)){ |
|
|
|
normalTask.setCheckerRoleName(proRole.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
//查询当前任务的父任务
|
|
|
|
if(null != firstTaskDetail.getParentId() && 0 != firstTaskDetail.getParentId()){ |
|
|
|
ProTaskDetail parentTask = taskDetailDao.selectByPrimaryKey(firstTaskDetail.getParentId()); |
|
|
|
if(ObjectUtil.isNotNull(parentTask)){ |
|
|
|
normalTask.setParentId(parentTask.getId()); |
|
|
|
normalTask.setParentName(parentTask.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//firstTaskDetail.getProjectId(); //项目id
|
|
|
|
//firstTaskDetail.getExecutorRole(); //负责人id
|
|
|
|
//firstTaskDetail.getCheckerRole(); //检查人id
|
|
|
|
|
|
|
|
// 查询任务对应的配置
|
|
|
|
ProPluginConfigExample configExample = new ProPluginConfigExample(); |
|
|
|
configExample.createCriteria().andTaskIdEqualTo(firstTaskDetail.getId()).andPlaceLocationEqualTo((byte) 0); |
|
|
@ -232,6 +255,52 @@ public class ProTaskDetailService implements IProTaskDetailService { |
|
|
|
// if (ObjectUtil.isNotNull(score)) {
|
|
|
|
// task.setScore(score);
|
|
|
|
// }
|
|
|
|
ProTaskDetail proTaskDetail = taskDetailDao.selectByPrimaryKey(task.getDetailId()); |
|
|
|
if(ObjectUtil.isNotNull(proTaskDetail.getParentId())){ |
|
|
|
task.setParentId(proTaskDetail.getParentId()); |
|
|
|
ProTaskDetail proTaskDetail1 = taskDetailDao.selectByPrimaryKey(proTaskDetail.getParentId()); |
|
|
|
if(ObjectUtil.isNotNull(proTaskDetail1)){ |
|
|
|
task.setParentName(proTaskDetail1.getName()); |
|
|
|
} |
|
|
|
}else{ |
|
|
|
task.setParentId(proTaskDetail.getParentId()); |
|
|
|
} |
|
|
|
|
|
|
|
if(ObjectUtil.isNotNull(proTaskDetail)){ |
|
|
|
//proTaskDetail.getProjectId()//项目id
|
|
|
|
//proTaskDetail.getCheckerRole(); //检查人id
|
|
|
|
//proTaskDetail.getExecutorRole(); // 负责人id
|
|
|
|
if(ObjectUtil.isNotNull(proTaskDetail.getProjectId())){ |
|
|
|
SysProject sysProject = sysProjectDao.selectByPrimaryKey(proTaskDetail.getProjectId()); |
|
|
|
if(ObjectUtil.isNotNull(sysProject)){ |
|
|
|
task.setProjectName(sysProject.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
//检查人
|
|
|
|
if(ObjectUtil.isNotNull(proTaskDetail.getCheckerRole())){ |
|
|
|
ProRole proRole = proRoleDao.selectByPrimaryKey(proTaskDetail.getCheckerRole()); |
|
|
|
if(ObjectUtil.isNotNull(proRole)){ |
|
|
|
task.setExecutorRoleName(proRole.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
//负责人
|
|
|
|
if(ObjectUtil.isNotNull(proTaskDetail.getExecutorRole())){ |
|
|
|
ProRole proRole = proRoleDao.selectByPrimaryKey(proTaskDetail.getExecutorRole()); |
|
|
|
if(ObjectUtil.isNotNull(proRole)){ |
|
|
|
task.setCheckerRoleName(proRole.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
//查询当前任务的父任务
|
|
|
|
if(null != proTaskDetail.getParentId() && 0 != proTaskDetail.getParentId()){ |
|
|
|
ProTaskDetail parentTask = taskDetailDao.selectByPrimaryKey(proTaskDetail.getParentId()); |
|
|
|
if(ObjectUtil.isNotNull(parentTask)){ |
|
|
|
task.setParentId(parentTask.getId()); |
|
|
|
task.setParentName(parentTask.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
//处理插件
|
|
|
|
managePlugin(currentUserId, roleId, task, imitation); |
|
|
|
//二级任务完成状态
|
|
|
@ -434,6 +503,13 @@ public class ProTaskDetailService implements IProTaskDetailService { |
|
|
|
// normalTask.setScore(score);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//查找所属项目名
|
|
|
|
if (null!=normalTask.getProjectId() && 0!=normalTask.getProjectId()){ |
|
|
|
SysProject project = sysProjectDao.selectByPrimaryKey(normalTask.getProjectId()); |
|
|
|
if (ObjectUtil.isNotNull(project)){ |
|
|
|
normalTask.setProjectName(project.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
//通过角色id查找 负责人名称 检查人名称
|
|
|
|
Long executorRole = normalTask.getExecutorRole(); |
|
|
|
ProRole executor = proRoleDao.selectByPrimaryKey(executorRole); |
|
|
@ -454,6 +530,14 @@ public class ProTaskDetailService implements IProTaskDetailService { |
|
|
|
normalTask.setCheckerRoleName(proRole.getName()); |
|
|
|
} |
|
|
|
|
|
|
|
//查询当前任务的父任务
|
|
|
|
if(null != normalTask.getParentId() && 0 != normalTask.getParentId()){ |
|
|
|
ProTaskDetail parentTask = taskDetailDao.selectByPrimaryKey(normalTask.getParentId()); |
|
|
|
if(ObjectUtil.isNotNull(parentTask)){ |
|
|
|
normalTask.setParentId(parentTask.getId()); |
|
|
|
normalTask.setParentName(parentTask.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//处理插件
|
|
|
|
managePlugin(currentUserId, roleId, normalTask, imitation); |
|
|
@ -850,8 +934,18 @@ public class ProTaskDetailService implements IProTaskDetailService { |
|
|
|
//根据任务id查询项目下项目经理
|
|
|
|
Long pmId = taskDetailDao.selectPmByTaskId(task.getId()); |
|
|
|
ProRole proRole = proRoleDao.selectByPrimaryKey(pmId); |
|
|
|
taskDetail.setCheckerRole(proRole.getId()); |
|
|
|
taskDetail.setCheckerRoleName(proRole.getName()); |
|
|
|
if (ObjectUtil.isNotNull(proRole)){ |
|
|
|
taskDetail.setCheckerRole(proRole.getId()); |
|
|
|
taskDetail.setCheckerRoleName(proRole.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
//查询当前任务的父任务
|
|
|
|
if(null != taskDetail.getParentId() && 0 != taskDetail.getParentId()){ |
|
|
|
ProTaskDetail parentTask = taskDetailDao.selectByPrimaryKey(taskDetail.getParentId()); |
|
|
|
if(ObjectUtil.isNotNull(parentTask)){ |
|
|
|
taskDetail.setParentId(parentTask.getId()); |
|
|
|
taskDetail.setParentName(parentTask.getName()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|