合并分支 'fix_2nd_20230103' 到 'master'

Fix 2nd 20230103

查看合并请求 laws-nio/laws-weilai!279
This commit is contained in:
高嵩
2023-01-13 17:23:59 +08:00
6 changed files with 118 additions and 43 deletions
@@ -160,11 +160,16 @@ ALTER TABLE `laws_weilai`.`params_report_detail`
-- 更新拆分详情列 展示顺序不在列表头展示sql 2022-12-30 已同步生产环境
UPDATE `laws_weilai`.`onl_cgform_field` SET `is_show_list` = 0 WHERE `id` = '1529373706885799937'
-- 项目库置顶 2023-1-12 未同步生产环境
CREATE TABLE `laws_weilai`.`top_project` (
`id` varchar(36) NOT NULL COMMENT 'id',
`project_library_base_id` varchar(36) NULL COMMENT '项目id',
`flag` varchar(255) NULL COMMENT '置顶标识',
`sort` varchar(255) NULL COMMENT '置顶排序',
PRIMARY KEY (`id`)
);
-- 项目库置顶 2023-1-12 已同步生产环境
CREATE TABLE `top_project` (
`id` varchar(36) NOT NULL,
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
`sys_org_code` varchar(64) DEFAULT NULL COMMENT '所属部门',
`project_library_base_id` varchar(32) DEFAULT NULL COMMENT '项目id',
`flag` varchar(32) DEFAULT NULL COMMENT '置顶标识',
`sort` varchar(255) DEFAULT NULL COMMENT '置顶排序',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
@@ -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;
}
// /**
// * 分页列表查询