|
@@ -50,7 +50,7 @@ import java.util.stream.Collectors;
|
|
|
* @Date 2023/11/21
|
|
|
*/
|
|
|
@Service
|
|
|
- public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTask> implements Business {
|
|
|
+public class ProjectTaskService extends ServiceImpl<ProjectTaskMapper, ProjectTask> implements Business {
|
|
|
|
|
|
@Autowired
|
|
|
private CacheUtils cacheUtils;
|
|
@@ -192,8 +192,8 @@ import java.util.stream.Collectors;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if(projectTaskDTO.getLastTaskId()!=null){
|
|
|
- ProjectTask projectTask =this.getById(projectTaskDTO.getLastTaskId());
|
|
|
+ if (projectTaskDTO.getLastTaskId() != null) {
|
|
|
+ ProjectTask projectTask = this.getById(projectTaskDTO.getLastTaskId());
|
|
|
if (projectTask.getTaskPath() == null) {
|
|
|
projectTaskDTO.setTaskPath(projectTask.getId().toString());
|
|
|
} else {
|
|
@@ -207,7 +207,7 @@ import java.util.stream.Collectors;
|
|
|
//获取登录人信息
|
|
|
PersonnelVO personnelVO = new PersonnelVO();
|
|
|
|
|
|
- personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+ personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
|
|
|
//设置任务的发起人
|
|
|
projectTask.setCreateId(personnelVO.getId());
|
|
@@ -255,7 +255,7 @@ import java.util.stream.Collectors;
|
|
|
@Override
|
|
|
public Object queryMessage(QueryRequest queryRequest) throws Exception {
|
|
|
List<String> sqls = formatQueryService.reSqls(queryRequest, "projectTask");
|
|
|
- sqls=this.loadSearchSql(sqls);
|
|
|
+ sqls = this.loadSearchSql(sqls);
|
|
|
//根据sql查询任务信息
|
|
|
List<ProjectTaskVO> projectTaskVOS = projectTaskMapper.getProjectTask(sqls.get(0), sqls.get(1), sqls.get(2));
|
|
|
//查询总数
|
|
@@ -367,7 +367,7 @@ import java.util.stream.Collectors;
|
|
|
//使用Optional避免空指针异常:使用Optional来处理可能为空的变量,例如currentTask和assoTask。
|
|
|
Optional<ProjectTask> currentTaskOptional = Optional.ofNullable(currentTask);
|
|
|
Integer assoTaskId = currentTaskOptional.map(ProjectTask::getAssoTaskId).orElse(null);
|
|
|
- String taskPath= currentTaskOptional.map(ProjectTask::getTaskPath).orElse(null);
|
|
|
+ String taskPath = currentTaskOptional.map(ProjectTask::getTaskPath).orElse(null);
|
|
|
List<ProjectTask> allProjectTasks = new ArrayList<>();
|
|
|
if (assoTaskId != null) {
|
|
|
//根据assoTaskId获取最初任务的详情
|
|
@@ -409,9 +409,9 @@ import java.util.stream.Collectors;
|
|
|
}
|
|
|
}
|
|
|
//根据assoTaskId查询所有任务的id
|
|
|
- List<Integer> ids =new ArrayList<>();
|
|
|
+ List<Integer> ids = new ArrayList<>();
|
|
|
ids.add(taskId);
|
|
|
- if(taskPath!=null) {
|
|
|
+ if (taskPath != null) {
|
|
|
List<String> a = Arrays.asList(taskPath.split("/"));
|
|
|
List<Integer> b = FormatUtil.StringTOIntegerList(a);
|
|
|
ids.addAll(b);
|
|
@@ -775,7 +775,6 @@ import java.util.stream.Collectors;
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
public Object addMessage(Object object, List<MultipartFile> files) {
|
|
|
return null;
|
|
@@ -828,7 +827,7 @@ import java.util.stream.Collectors;
|
|
|
/**
|
|
|
* 添加侵权分析协同任务
|
|
|
*/
|
|
|
- @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Throwable.class)
|
|
|
+ @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
|
|
|
public Integer addTortTask(TortTaskDTO tortTaskDTO) throws Exception {
|
|
|
Integer projectId = tortTaskDTO.getProjectId();
|
|
|
List<String> patentNos = tortTaskDTO.getPatentNos();
|
|
@@ -854,7 +853,7 @@ import java.util.stream.Collectors;
|
|
|
//获取登录人信息
|
|
|
PersonnelVO personnelVO = new PersonnelVO();
|
|
|
|
|
|
- personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+ personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
|
|
|
ProjectTask projectTask = new ProjectTask();
|
|
|
BeanUtils.copyProperties(tortTaskDTO, projectTask);
|
|
@@ -1111,7 +1110,7 @@ import java.util.stream.Collectors;
|
|
|
//获取登录人信息
|
|
|
PersonnelVO personnelVO = new PersonnelVO();
|
|
|
|
|
|
- personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+ personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
|
|
|
ProjectTask projectTask = new ProjectTask();
|
|
|
BeanUtils.copyProperties(tortTaskDTO, projectTask);
|
|
@@ -1267,10 +1266,11 @@ import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 更新任务
|
|
|
+ *
|
|
|
* @param updateProjectTaskDTO
|
|
|
* @return
|
|
|
*/
|
|
|
- public Integer updateTask(UpdateProjectTaskDTO updateProjectTaskDTO){
|
|
|
+ public Integer updateTask(UpdateProjectTaskDTO updateProjectTaskDTO) {
|
|
|
if (updateProjectTaskDTO == null) {
|
|
|
throw new XiaoShiException("入参为空");
|
|
|
}
|
|
@@ -1282,18 +1282,17 @@ import java.util.stream.Collectors;
|
|
|
}
|
|
|
return projectTask.getId();
|
|
|
}
|
|
|
+
|
|
|
//装载查询语句
|
|
|
- private List<String> loadSearchSql(List<String> sqls){
|
|
|
- PersonnelVO personnelVO =cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
- String id =personnelVO.getId();
|
|
|
- String rootSql ="(create_id ="+id+" or handler="+id+")";
|
|
|
- if(sqls.get(0)!=null&&!sqls.get(0).equals(""))
|
|
|
- {
|
|
|
- sqls.set(0,rootSql+" and"+"("+sqls.get(0)+")");
|
|
|
+ private List<String> loadSearchSql(List<String> sqls) {
|
|
|
+ PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+ String id = personnelVO.getId();
|
|
|
+ String rootSql = "(create_id =" + id + " or handler=" + id + ")";
|
|
|
+ if (sqls.get(0) != null && !sqls.get(0).equals("")) {
|
|
|
+ sqls.set(0, rootSql + " and" + "(" + sqls.get(0) + ")");
|
|
|
|
|
|
- }
|
|
|
- else {
|
|
|
- sqls.set(0,rootSql);
|
|
|
+ } else {
|
|
|
+ sqls.set(0, rootSql);
|
|
|
}
|
|
|
|
|
|
return sqls;
|
|
@@ -1302,17 +1301,20 @@ import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 处理任务参与人员与项目可见人员
|
|
|
- * @param type 1为新增 2为取消
|
|
|
+ *
|
|
|
+ * @param type 1为新增 2为取消
|
|
|
* @param handler
|
|
|
*/
|
|
|
public void checkProjectPerson(Integer type, String handler, Integer projectId, Integer taskId) {
|
|
|
//获取登录人信息
|
|
|
+ Integer roleType = 1;
|
|
|
PersonnelVO personnelVO = new PersonnelVO();
|
|
|
|
|
|
- personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+ personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
|
|
|
LambdaQueryWrapper<AssoProjectPerson> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.eq(AssoProjectPerson::getProjectId, projectId);
|
|
|
+ queryWrapper.eq(AssoProjectPerson::getRole, roleType);
|
|
|
List<AssoProjectPerson> assoProjectPeople = assoProjectPersonService.list(queryWrapper);
|
|
|
//新增任务的时候 需要将任务处理人添加到项目可见人中 先校验是否已经存在
|
|
|
if (type.equals(1)) {
|
|
@@ -1320,7 +1322,7 @@ import java.util.stream.Collectors;
|
|
|
assoProjectPerson.setProjectId(projectId);
|
|
|
assoProjectPerson.setPersonId(handler);
|
|
|
assoProjectPerson.setCreateId(personnelVO.getId());
|
|
|
- assoProjectPerson.setRole(1);
|
|
|
+ assoProjectPerson.setRole(roleType);
|
|
|
if (!assoProjectPeople.isEmpty()) {
|
|
|
List<String> people = assoProjectPeople.stream().map(AssoProjectPerson::getPersonId).collect(Collectors.toList());
|
|
|
if (!people.contains(handler)) {
|
|
@@ -1342,7 +1344,8 @@ import java.util.stream.Collectors;
|
|
|
if (projectTasks.isEmpty()) {
|
|
|
LambdaQueryWrapper<AssoProjectPerson> deleteWrapper = new LambdaQueryWrapper<>();
|
|
|
deleteWrapper.eq(AssoProjectPerson::getProjectId, projectId)
|
|
|
- .eq(AssoProjectPerson::getPersonId, handler);
|
|
|
+ .eq(AssoProjectPerson::getPersonId, handler)
|
|
|
+ .eq(AssoProjectPerson::getRole, roleType);
|
|
|
assoProjectPersonService.remove(deleteWrapper);
|
|
|
}
|
|
|
}
|