diff --git a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql index 8e78d8f34..9f052808b 100644 --- a/jero-boot/db/蔚来标准sql/dev_2nd_period.sql +++ b/jero-boot/db/蔚来标准sql/dev_2nd_period.sql @@ -27,3 +27,8 @@ ALTER TABLE `laws_weilai`.`params_manifest_history` ADD COLUMN `project_version` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '相关项目版本' AFTER `params_template_name`, ADD COLUMN `explanation` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '说明' AFTER `project_version`; +-- 认证参数历史列表添加字段--------2022-11-23 未同步生产环境 +ALTER TABLE `laws_weilai`.`params_manifest` + ADD COLUMN `project_version_id` varchar(50) NULL COMMENT '项目相关版本对应的项目id' AFTER `explanation`; +ALTER TABLE `laws_weilai`.`params_manifest_history` + ADD COLUMN `project_version_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目相关版本对应的项目id' AFTER `explanation`; \ No newline at end of file diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java index 4c73955ec..d4b022ffa 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/entity/ParamsManifestEO.java @@ -103,10 +103,13 @@ public class ParamsManifestEO implements Serializable { @TableField(exist = false) private String projectName; - //相关项目版本 + @ApiModelProperty(value = "相关项目版本") private String projectVersion; - //说明 + @ApiModelProperty(value = "说明") private String explanation; + @ApiModelProperty(value = "项目相关版本对应的项目id") + private String projectVersionId; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml index a8fc7249b..9e9dbf9ef 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/mapper/xml/ParamsManifestEOMapper.xml @@ -18,6 +18,7 @@ + diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java index 0c2a23c82..b3d445ef2 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java @@ -49,6 +49,7 @@ import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.project.entity.ProjectLibraryBase; import com.jero.modules.project.entity.ProjectRelatedPersonnel; import com.jero.modules.project.mapper.ProjectLibraryBaseMapper; +import com.jero.modules.project.service.IProjectLibraryBaseService; import com.jero.modules.project.service.IProjectRelatedPersonnelService; import com.jero.modules.split.common.FileUnZip; import com.jero.modules.split.common.ReadExcel; @@ -147,6 +148,8 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl paramsInfoPublishEOList = paramsCollectManifestVO.getParamsInfoPublishEOList(); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + ParamsManifestEO paramsManifestEO = paramsManifestEOService.getById(paramsManifestId); // 复制参数项 List paramsCollectManifestEOList = new ArrayList<>(); @@ -192,7 +196,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl> querySdtList(ParamsCollectManifestVO paramsCollectManifestVO) { + // 根据主项目ID 查询 相关项目版本的项目ID + String projectVersionId = projectLibraryBaseService.getIdByVersionAndParentId(paramsCollectManifestVO.getProjectVersion(), paramsCollectManifestVO.getProjectId()); + List> sdtList = new ArrayList<>(); - ProjectRelatedPersonnel projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritory(paramsCollectManifestVO.getProjectId(), paramsCollectManifestVO.getDutyTerritory()); + ProjectRelatedPersonnel projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritory(projectVersionId, paramsCollectManifestVO.getDutyTerritory()); if (ObjectUtil.isNotEmpty(projectRelatedPersonnel)) { String sdtIds = projectRelatedPersonnel.getEngineeringInterfacePerson(); if (StringUtils.isNotBlank(sdtIds)) { @@ -1075,15 +1081,30 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl> userTypeList = new ArrayList<>(); // 一个用户可以有多个用户类型 LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); // 获取当前登录用户 - // 查询项目下所有责任领域下的 homo人员 - List projectLibraryBaseList = projectLibraryBaseMapper.queryById(projectId); - List homoList = new ArrayList<>(); + + List projectLibraryBaseList = projectLibraryBaseService.getParentAndChildern(projectId); + List homoList = new ArrayList<>(); //homo人员 + List studioList = new ArrayList<>(); //studio人员 if (CollectionUtil.isNotEmpty(projectLibraryBaseList)) { - String homoIdStr = projectLibraryBaseList.get(0).getCertificationEngineer(); - if (StringUtils.isNotEmpty(homoIdStr)) { - List homoIdList = Arrays.asList(homoIdStr.split(",")).stream().distinct().collect(Collectors.toList()); - homoList = sysUserService.listByIds(homoIdList).stream().map(SysUser::getUsername).collect(Collectors.toList()); + for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseList) { + // 查询主项目及子项目下所有 homo人员 + List homoIdList1 = Arrays.asList(projectLibraryBase.getCertificationEngineer().split(",")).stream().collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(homoIdList1)) { + homoList.addAll(sysUserService.listByIds(homoIdList1).stream().map(SysUser::getUsername).collect(Collectors.toList())); + } + + // 查询当前登录用户角色 是否是当前项目的studio + List studioList1 = Arrays.asList(projectLibraryBase.getStudioEngineer().split(",")).stream().collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(studioList1)) { + studioList.addAll(sysUserService.listByIds(studioList1).stream().map(SysUser::getUsername).collect(Collectors.toList())); // studio 一个项目只有一个 + } + } + + // 去重 + homoList = homoList.stream().distinct().collect(Collectors.toList()); + studioList = studioList.stream().distinct().collect(Collectors.toList()); + } // 查询项目下所有责任领域下的 sdt人员 @@ -1124,11 +1145,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl userRoleIdList = userRoles.stream().map(SysUserRole::getRoleId).collect(Collectors.toList()); userRoleIds = roleIdList.stream().filter(e->userRoleIdList.contains(e)).collect(Collectors.toList()); } - // 查询当前登录用户角色 是否是当前项目的studio - List studioList = new ArrayList<>(); - if (CollectionUtil.isNotEmpty(projectLibraryBaseList)) { - studioList = projectLibraryBaseList.stream().map(ProjectLibraryBase::getStudioEngineerName).collect(Collectors.toList()); // studio 一个项目只有一个 - } + String loginUserName = loginUser.getUsername().toLowerCase(); studioList = toLowerCaseOfList(studioList); @@ -1460,7 +1477,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl { // 根据负责领域处理工程接口人(零个,一个,多个): 领域中仅有一个人时,添加该字段 - ProjectRelatedPersonnel projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritory(projectId, collectManifestEO.getDutyTerritory()); + ProjectRelatedPersonnel projectRelatedPersonnel = projectRelatedPersonnelService.queryByProjectIdAndDutyTerritory(paramsManifestEO.getProjectVersionId(), collectManifestEO.getDutyTerritory()); if (ObjectUtil.isNotEmpty(projectRelatedPersonnel)) { String sdtId = projectRelatedPersonnel.getEngineeringInterfacePerson(); if (org.apache.commons.lang.StringUtils.isNotBlank(sdtId) && !sdtId.contains(",")) { // 领域中仅有一个人时,添加该字段 @@ -2870,6 +2890,9 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.in(ParamsCollectManifestEO::getId, paramsCollectManifestIdList); List paramsCollectManifestEOList = paramsCollectManifestEOMapper.selectList(queryWrapper); @@ -2885,7 +2908,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl paramsInfoPublishEOList = paramsInfoPublishEOService.getListByPublishVersion(paramsManifestEO.getParamsTemplateId(),paramsManifestEO.getParamsTemplatePublishVersion()); @@ -135,7 +142,7 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl paramsInfoPublishEOList = paramsInfoPublishEOService.getListByPublishVersion(paramsTemplateId, paramsTemplatePublishVersion); @@ -630,7 +645,7 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl * @return */ List versionStatistics(String id); + + /** + * 通过主项目id和子项目版本号 + * @param version + * @param parentId + * @return + */ + String getIdByVersionAndParentId(String version, String parentId); + + /** + * 查询主项目及其所有子项目 + * @param parentId + * @return + */ + List getParentAndChildern(String parentId); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java index c3678aa5f..fcd925db5 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/project/service/impl/ProjectLibraryBaseServiceImpl.java @@ -1316,6 +1316,38 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ProjectLibraryBase::getProjectVersion,version); + wrapper.eq(ProjectLibraryBase::getParentId, parentId); + List list = this.list(wrapper); + if (CollectionUtils.isNotEmpty(list)) { + return list.get(0).getId(); + } else { + return null; + } + + } + + @Override + public List getParentAndChildern(String parentId) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(ProjectLibraryBase::getId,parentId); + wrapper.or().eq(ProjectLibraryBase::getParentId, parentId); + List list = this.list(wrapper); + return list; + } } diff --git a/jero-web/src/components/tableCollection/index.vue b/jero-web/src/components/tableCollection/index.vue index 0ee777753..0e6fde52c 100644 --- a/jero-web/src/components/tableCollection/index.vue +++ b/jero-web/src/components/tableCollection/index.vue @@ -450,6 +450,7 @@ this.getquerySdtId = record.id getAction(this.url.getquerySdtList, { projectId: this.$route.query.projectId, + projectVersion:this.$route.query.projectVersion, dutyTerritory: record.dutyTerritory }).then((res) => { if (res.success) {