项目库列表查询

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.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.jero.common.aspect.annotation.Dict; import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@@ -25,6 +26,7 @@ import java.util.List;
@TableName("project_library_base") @TableName("project_library_base")
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@JsonIgnoreProperties
public class ProjectLibraryBase implements Comparable<ProjectLibraryBase> { public class ProjectLibraryBase implements Comparable<ProjectLibraryBase> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@@ -153,5 +155,44 @@ public class ProjectLibraryBase implements Comparable<ProjectLibraryBase> {
return projectName+yearName+targetMarket+projectVersion; 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"))){ if(ObjectUtils.isNotEmpty(params.get("projectName"))){
result = result.stream().filter(e->e.getProjectName().toLowerCase().contains(String.valueOf(params.get("projectName")).toLowerCase())).collect(Collectors.toList()); 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); 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() List<ProjectLibraryBase> children = result.stream()
.filter(e -> StringUtils.isNotBlank(e.getParentId()) && projectLibraryBase.getId().equals(e.getParentId())).collect(Collectors.toList()); .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()) { if (sysUserService.isAdministrator()) {
//管理员查看全部 //管理员查看全部
resultLast = resultNew; if(ObjectUtils.isNotEmpty(projectLibraryBaseParentList)){
resultLast = projectLibraryBaseParentList;
}else{
resultLast = resultNew;
}
} else { } else {
for (ProjectLibraryBase projectLibraryBase : resultNew) { for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseParentList) {
//判断父项目是否有权限 //判断父项目是否有权限
if (!projectIds.contains(projectLibraryBase.getId())) { 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); hearSort(params, resultLast);
return 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()); List<ProjectLibraryBase> collect1 = result.stream().filter(e -> StringUtils.isBlank(e.getParentId())).collect(Collectors.toList());
resultNew.addAll(collect1); resultNew.addAll(collect1);
List<ProjectLibraryBase> projectLibraryBaseList = new ArrayList<>();
for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseListParent) { for (ProjectLibraryBase projectLibraryBase : projectLibraryBaseListParent) {
List<ProjectLibraryBase> resultNewTemp = new ArrayList<>();
//子项目 //子项目
List<ProjectLibraryBase> collect = result.stream().filter(e -> projectLibraryBase.getId().equals(e.getParentId())).collect(Collectors.toList()); List<ProjectLibraryBase> collect = result.stream().filter(e -> projectLibraryBase.getId().equals(e.getParentId())).collect(Collectors.toList());
if(ObjectUtils.isNotEmpty(collect)){ if(ObjectUtils.isNotEmpty(collect)){
resultNew.add(projectLibraryBase); resultNewTemp.addAll(collect);
} }
//子项目的子项目 //子项目的子项目
if(ObjectUtils.isNotEmpty(resultChild)){ if(ObjectUtils.isNotEmpty(resultChild)){
List<ProjectLibraryBase> collect2 = resultChild.stream().filter(e -> e.getParentId().equals(projectLibraryBase.getId())).collect(Collectors.toList()); List<ProjectLibraryBase> collect2 = resultChild.stream().filter(e -> e.getParentId().equals(projectLibraryBase.getId())).collect(Collectors.toList());
if(ObjectUtils.isNotEmpty(collect2)){ 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()); // resultNew = resultNew.stream().distinct().collect(Collectors.toList());
return resultNew; return projectLibraryBaseList;
} }
// /** // /**
// * 分页列表查询 // * 分页列表查询