认证-参数项收集-认证工程师来源为项目基本信息

This commit is contained in:
liyawei
2022-07-02 16:29:33 +08:00
parent 50a39809f7
commit 9d93aefbe7
2 changed files with 22 additions and 29 deletions
@@ -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>
@@ -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())