项目库列表查询

This commit is contained in:
zhn
2023-01-13 14:07:30 +08:00
parent 770bd8a418
commit 421aa6778b
2 changed files with 61 additions and 11 deletions
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -25,6 +26,7 @@ import java.util.List;
@TableName("project_library_base")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@JsonIgnoreProperties
public class ProjectLibraryBase implements Comparable<ProjectLibraryBase> {
private static final long serialVersionUID = 1L;
@@ -153,5 +155,44 @@ public class ProjectLibraryBase implements Comparable<ProjectLibraryBase> {
return projectName+yearName+targetMarket+projectVersion;
}
@Override
public String toString() {
return "ProjectLibraryBase{" +
"id='" + id + '\'' +
", projectNameId='" + projectNameId + '\'' +
", projectName='" + projectName + '\'' +
", yearNameId='" + yearNameId + '\'' +
", yearName='" + yearName + '\'' +
", targetMarket='" + targetMarket + '\'' +
", projectStatus='" + projectStatus + '\'' +
", studioEngineer='" + studioEngineer + '\'' +
", studioEngineerName='" + studioEngineerName + '\'' +
", certificationEngineer='" + certificationEngineer + '\'' +
", certificationEngineerName='" + certificationEngineerName + '\'' +
", vehiclePlatform='" + vehiclePlatform + '\'' +
", digitalPlatform='" + digitalPlatform + '\'' +
", ipdInfo='" + ipdInfo + '\'' +
", vehicleDevelopmentPlan='" + vehicleDevelopmentPlan + '\'' +
", attestationPlan='" + attestationPlan + '\'' +
", createBy='" + createBy + '\'' +
", createTime=" + createTime +
", updateBy='" + updateBy + '\'' +
", sysOrgCode='" + sysOrgCode + '\'' +
", updateTime=" + updateTime +
", cut='" + cut + '\'' +
", startTime='" + startTime + '\'' +
", endTime='" + endTime + '\'' +
", targetMarketName='" + targetMarketName + '\'' +
", parentId='" + parentId + '\'' +
", projectVersion='" + projectVersion + '\'' +
", softwareVersion='" + softwareVersion + '\'' +
", versionLast='" + versionLast + '\'' +
", explanation='" + explanation + '\'' +
", sort='" + sort + '\'' +
", flag='" + flag + '\'' +
", brand='" + brand + '\'' +
", brandText='" + brandText + '\'' +
", brandTextEn='" + brandTextEn + '\'' +
'}';
}
}
@@ -874,9 +874,10 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
if(ObjectUtils.isNotEmpty(params.get("projectName"))){
result = result.stream().filter(e->e.getProjectName().toLowerCase().contains(String.valueOf(params.get("projectName")).toLowerCase())).collect(Collectors.toList());
}
List<ProjectLibraryBase> projectLibraryBaseParentList = result.stream().filter(e -> StringUtils.isBlank(e.getParentId())).distinct().collect(Collectors.toList());
//处理搜索版本号,(因为列表展示数据是以主项目为主并绑定子项目, 所以搜索的时候只有子项目这种情况需要特殊处理)
List<ProjectLibraryBase> resultNew = getProjectLibraryBases(result, projectLibraryBaseListParent);
disposeData(resultNew,"",false);
//数据组装
@@ -887,7 +888,7 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
// }
// }
for (ProjectLibraryBase projectLibraryBase : resultNew) {
for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseParentList) {
//子项目
List<ProjectLibraryBase> children = result.stream()
.filter(e -> StringUtils.isNotBlank(e.getParentId()) && projectLibraryBase.getId().equals(e.getParentId())).collect(Collectors.toList());
@@ -916,9 +917,13 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
//权限筛选
if (sysUserService.isAdministrator()) {
//管理员查看全部
resultLast = resultNew;
if(ObjectUtils.isNotEmpty(projectLibraryBaseParentList)){
resultLast = projectLibraryBaseParentList;
}else{
resultLast = resultNew;
}
} else {
for (ProjectLibraryBase projectLibraryBase : resultNew) {
for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseParentList) {
//判断父项目是否有权限
if (!projectIds.contains(projectLibraryBase.getId())) {
//判断子项目是否有权限
@@ -949,8 +954,6 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
}
}
//表头排序
// params.put("orderBy","1");
// params.put("orderByField","digitalPlatform");
hearSort(params, resultLast);
return resultLast;
}
@@ -1050,22 +1053,28 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
//主项目
List<ProjectLibraryBase> collect1 = result.stream().filter(e -> StringUtils.isBlank(e.getParentId())).collect(Collectors.toList());
resultNew.addAll(collect1);
List<ProjectLibraryBase> projectLibraryBaseList = new ArrayList<>();
for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseListParent) {
List<ProjectLibraryBase> resultNewTemp = new ArrayList<>();
//子项目
List<ProjectLibraryBase> collect = result.stream().filter(e -> projectLibraryBase.getId().equals(e.getParentId())).collect(Collectors.toList());
if(ObjectUtils.isNotEmpty(collect)){
resultNew.add(projectLibraryBase);
resultNewTemp.addAll(collect);
}
//子项目的子项目
if(ObjectUtils.isNotEmpty(resultChild)){
List<ProjectLibraryBase> collect2 = resultChild.stream().filter(e -> e.getParentId().equals(projectLibraryBase.getId())).collect(Collectors.toList());
if(ObjectUtils.isNotEmpty(collect2)){
resultNew.add(projectLibraryBase);
resultNewTemp.addAll(collect2);
}
}
if(ObjectUtils.isNotEmpty(resultNewTemp)){
projectLibraryBase.setChildren(resultNewTemp);
projectLibraryBaseList.add(projectLibraryBase);
}
}
resultNew = resultNew.stream().distinct().collect(Collectors.toList());
return resultNew;
// resultNew = resultNew.stream().distinct().collect(Collectors.toList());
return projectLibraryBaseList;
}
// /**
// * 分页列表查询