|
@@ -10,6 +10,7 @@ import cn.cslg.pas.common.utils.LoginUtils;
|
|
import cn.cslg.pas.common.vo.ProjectPersonVO;
|
|
import cn.cslg.pas.common.vo.ProjectPersonVO;
|
|
import cn.cslg.pas.domain.business.AssoProductPerson;
|
|
import cn.cslg.pas.domain.business.AssoProductPerson;
|
|
import cn.cslg.pas.domain.business.AssoProjectPerson;
|
|
import cn.cslg.pas.domain.business.AssoProjectPerson;
|
|
|
|
+import cn.cslg.pas.domain.business.Project;
|
|
import cn.cslg.pas.exception.XiaoShiException;
|
|
import cn.cslg.pas.exception.XiaoShiException;
|
|
import cn.cslg.pas.mapper.AssoProductPersonMapper;
|
|
import cn.cslg.pas.mapper.AssoProductPersonMapper;
|
|
import cn.cslg.pas.mapper.AssoProjectPersonMapper;
|
|
import cn.cslg.pas.mapper.AssoProjectPersonMapper;
|
|
@@ -20,6 +21,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.context.annotation.Lazy;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
@@ -40,6 +42,10 @@ public class AssoProjectPersonService extends ServiceImpl<AssoProjectPersonMappe
|
|
private CacheUtils cacheUtils;
|
|
private CacheUtils cacheUtils;
|
|
@Autowired
|
|
@Autowired
|
|
private LoginUtils loginUtils;
|
|
private LoginUtils loginUtils;
|
|
|
|
+ @Autowired
|
|
|
|
+ @Lazy
|
|
|
|
+ private ProjectService projectService;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 添加分享人
|
|
* 添加分享人
|
|
*
|
|
*
|
|
@@ -47,7 +53,7 @@ public class AssoProjectPersonService extends ServiceImpl<AssoProjectPersonMappe
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
public List<Integer> addProjectShare(AddProjectPersonDTO addProjectPersonDTO) {
|
|
public List<Integer> addProjectShare(AddProjectPersonDTO addProjectPersonDTO) {
|
|
- PersonnelVO personnelVO =cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
|
|
|
+ PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
|
|
|
List<Integer> reIds = new ArrayList<>();
|
|
List<Integer> reIds = new ArrayList<>();
|
|
List<String> personIds = addProjectPersonDTO.getPersonIds();
|
|
List<String> personIds = addProjectPersonDTO.getPersonIds();
|
|
@@ -56,7 +62,7 @@ public class AssoProjectPersonService extends ServiceImpl<AssoProjectPersonMappe
|
|
LambdaQueryWrapper<AssoProjectPerson> queryWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<AssoProjectPerson> queryWrapper = new LambdaQueryWrapper<>();
|
|
queryWrapper.select(AssoProjectPerson::getPersonId);
|
|
queryWrapper.select(AssoProjectPerson::getPersonId);
|
|
queryWrapper.in(AssoProjectPerson::getPersonId, personIds)
|
|
queryWrapper.in(AssoProjectPerson::getPersonId, personIds)
|
|
- .eq(AssoProjectPerson::getProjectId,projectId);
|
|
|
|
|
|
+ .eq(AssoProjectPerson::getProjectId, projectId);
|
|
List<AssoProjectPerson> assoProjectPersonList = this.list(queryWrapper);
|
|
List<AssoProjectPerson> assoProjectPersonList = this.list(queryWrapper);
|
|
List<String> ids = assoProjectPersonList.stream().map(AssoProjectPerson::getPersonId).collect(Collectors.toList());
|
|
List<String> ids = assoProjectPersonList.stream().map(AssoProjectPerson::getPersonId).collect(Collectors.toList());
|
|
if (ids != null) {
|
|
if (ids != null) {
|
|
@@ -162,4 +168,31 @@ public class AssoProjectPersonService extends ServiceImpl<AssoProjectPersonMappe
|
|
}
|
|
}
|
|
return projectPersonVOS;
|
|
return projectPersonVOS;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ public List<Integer> getRootProjectIds() {
|
|
|
|
+
|
|
|
|
+ PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
|
+ String createId = personnelVO.getId();
|
|
|
|
+ List<Integer> ids = new ArrayList<>();
|
|
|
|
+ LambdaQueryWrapper<Project> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ queryWrapper.select(Project::getId);
|
|
|
|
+ queryWrapper.eq(Project::getCreateId, createId)
|
|
|
|
+ .or().eq(Project::getHeadId, createId);
|
|
|
|
+ List<Project> projects =projectService.list(queryWrapper);
|
|
|
|
+
|
|
|
|
+ if(projects!=null&&projects.size()>0){
|
|
|
|
+ List<Integer> temIds =projects.stream().map(Project::getId).collect(Collectors.toList());
|
|
|
|
+ ids.addAll(temIds);
|
|
|
|
+ }
|
|
|
|
+ LambdaQueryWrapper<AssoProjectPerson> queryWrapper1 =new LambdaQueryWrapper<>();
|
|
|
|
+ queryWrapper1.select(AssoProjectPerson::getProjectId);
|
|
|
|
+ queryWrapper1.eq(AssoProjectPerson::getPersonId,createId);
|
|
|
|
+ List<AssoProjectPerson> assoProjectPersonList =this.list(queryWrapper1);
|
|
|
|
+ if(assoProjectPersonList!=null&&assoProjectPersonList.size()>0){
|
|
|
|
+ List<Integer> temIds =assoProjectPersonList.stream().map(AssoProjectPerson::getProjectId).collect(Collectors.toList());
|
|
|
|
+ ids.addAll(temIds);
|
|
|
|
+ }
|
|
|
|
+ return ids;
|
|
|
|
+ }
|
|
}
|
|
}
|