认证-参数项收集-认证工程师来源为项目基本信息
This commit is contained in:
-3
@@ -62,9 +62,6 @@
|
||||
<when test="paramsCollectManifestEO.userTypes == 'sdt,dre'">
|
||||
AND (sdt = #{paramsCollectManifestEO.sdt} or dre = #{paramsCollectManifestEO.dreForAuth}) AND state in ('2','4','5','6','7','8')
|
||||
</when>
|
||||
<when test="paramsCollectManifestEO.userTypes == 'guest'">
|
||||
AND (sdt = #{paramsCollectManifestEO.sdt} or dre = #{paramsCollectManifestEO.dreForAuth})
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
|
||||
|
||||
+22
-26
@@ -274,8 +274,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
paramsCollectManifestEO.setSdt(loginUser.getUsername());
|
||||
paramsCollectManifestEO.setDreForAuth(loginUser.getUsername());
|
||||
} else if ("guest".equals(userTypes)) {
|
||||
paramsCollectManifestEO.setSdt(loginUser.getUsername());
|
||||
paramsCollectManifestEO.setDreForAuth(loginUser.getUsername());
|
||||
return page;
|
||||
}
|
||||
IPage pageInfo = paramsCollectManifestEOMapper.pageInfo(page, paramsCollectManifestEO); // 查询固定列
|
||||
List<ParamsCollectManifestEO> list = pageInfo.getRecords(); // 查询固定列
|
||||
@@ -888,31 +887,29 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
List<Map<String, String>> userTypeList = new ArrayList<>(); // 一个用户可以有多个用户类型
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录用户
|
||||
|
||||
// 查询项目下所有责任领域下的 homo,sdt人员
|
||||
// 查询项目下所有责任领域下的 homo人员
|
||||
List<ProjectLibraryBase> projectLibraryBaseList = projectLibraryBaseMapper.queryById(projectId);
|
||||
List<String> homoList = new ArrayList<>();
|
||||
if (CollectionUtil.isNotEmpty(projectLibraryBaseList)) {
|
||||
String homoIdStr = projectLibraryBaseList.get(0).getCertificationEngineer();
|
||||
if (StringUtils.isNotEmpty(homoIdStr)) {
|
||||
List<String> homoIdList = Arrays.asList(homoIdStr.split(",")).stream().distinct().collect(Collectors.toList());
|
||||
homoList = sysUserService.listByIds(homoIdList).stream().map(SysUser::getUsername).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
||||
// 查询项目下所有责任领域下的 sdt人员
|
||||
List<String> sdtList = new ArrayList<>();
|
||||
LambdaQueryWrapper<ProjectRelatedPersonnel> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(ProjectRelatedPersonnel::getProjectId, projectId);
|
||||
List<ProjectRelatedPersonnel> prpList = projectRelatedPersonnelService.list(queryWrapper);
|
||||
|
||||
String homoIdStr = prpList.stream().map(e -> e.getCertificationEngineer()).collect(Collectors.joining(","));
|
||||
// String homoIdStr = prpList.stream().map(e -> e.getCertificationEngineer()).collect(Collectors.joining(","));
|
||||
String sdtIdStr = prpList.stream().map(e -> e.getEngineeringInterfacePerson()).collect(Collectors.joining(","));
|
||||
List<String> homoList = new ArrayList<>();
|
||||
if (StringUtils.isNotEmpty(homoIdStr)) {
|
||||
List<String> homoIdList = Arrays.asList(homoIdStr.split(",")).stream().distinct().collect(Collectors.toList());
|
||||
homoList = sysUserService.listByIds(homoIdList).stream().map(SysUser::getUsername).collect(Collectors.toList());
|
||||
} else {
|
||||
Map<String, String> map = new HashMap<>();
|
||||
if (CutEnum.CN.getValue().equals(cut)) {
|
||||
map.put("label", CollectManifestUserTypeEnum.GUEST.getName());
|
||||
} else {
|
||||
map.put("label", CollectManifestUserTypeEnum.GUEST.getEnName());
|
||||
}
|
||||
map.put("value", CollectManifestUserTypeEnum.GUEST.getValue());
|
||||
userTypeList.add(map);
|
||||
return userTypeList;
|
||||
// 项目下有homo-->不一定有sdt
|
||||
if(StringUtils.isNotBlank(sdtIdStr)) {
|
||||
List<String> sdtIdList = Arrays.asList(sdtIdStr.split(",")).stream().distinct().collect(Collectors.toList());
|
||||
sdtList = sysUserService.listByIds(sdtIdList).stream().map(SysUser::getUsername).collect(Collectors.toList());
|
||||
}
|
||||
// 项目下有homo-->必定有sdt
|
||||
List<String> sdtIdList = Arrays.asList(sdtIdStr.split(",")).stream().distinct().collect(Collectors.toList());
|
||||
List<String> sdtList = sysUserService.listByIds(sdtIdList).stream().map(SysUser::getUsername).collect(Collectors.toList());
|
||||
|
||||
// 查询项目下参数清单下收集参数项中的 sdt,dre人员
|
||||
ParamsCollectManifestEO paramsCollectManifestEO = new ParamsCollectManifestEO();
|
||||
@@ -923,7 +920,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
.map(ParamsCollectManifestEO::getSdt)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
sdtList.addAll(sdtListOfPCM);
|
||||
sdtList.addAll(sdtListOfPCM); // 需要取并集,因为存在参数项开始收集但 人员相关名单中sdt被修改的情况
|
||||
|
||||
List<String> dreListOfPCM = pcmList.stream()
|
||||
.filter(e->StringUtils.isNotEmpty(e.getDre()))
|
||||
@@ -939,11 +936,10 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
|
||||
List<String> userRoleIdList = userRoles.stream().map(SysUserRole::getRoleId).collect(Collectors.toList());
|
||||
userRoleIds = roleIdList.stream().filter(e->userRoleIdList.contains(e)).collect(Collectors.toList());
|
||||
}
|
||||
// TODO 查询当前登录用户角色 是否是当前项目的studio
|
||||
// 查询当前登录用户角色 是否是当前项目的studio
|
||||
List<String> studioList = new ArrayList<>();
|
||||
List<ProjectLibraryBase> projectLibraryBaseList = projectLibraryBaseMapper.queryById(projectId);
|
||||
if (CollectionUtil.isNotEmpty(projectLibraryBaseList)) {
|
||||
studioList = projectLibraryBaseList.stream().map(ProjectLibraryBase::getStudioEngineerName).collect(Collectors.toList());
|
||||
studioList = projectLibraryBaseList.stream().map(ProjectLibraryBase::getStudioEngineerName).collect(Collectors.toList()); // studio 一个项目只有一个
|
||||
}
|
||||
|
||||
if (CollectionUtil.isEmpty(userRoleIds) && !studioList.contains(loginUser.getUsername())
|
||||
|
||||
Reference in New Issue
Block a user