项目库列表-表头排序

This commit is contained in:
zhn
2022-12-15 17:03:15 +08:00
parent 88786beb89
commit 3086d524a6
@@ -10,10 +10,33 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.cert.collect.service.IParamsManifestEOService;
import com.jero.modules.dummy.enums.OrderEnum;
import com.jero.modules.enums.DictCodeEnum;
import com.jero.modules.project.entity.*;
import com.jero.modules.project.enums.*;
import com.jero.modules.project.mapper.*;
import com.jero.modules.project.entity.ConditionAssessmentEO;
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
import com.jero.modules.project.entity.ProjectLawsInventoryLogEO;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.ProjectLibraryRoleRelEO;
import com.jero.modules.project.entity.ProjectRelatedPersonnel;
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
import com.jero.modules.project.entity.ProjectTaskPlanning;
import com.jero.modules.project.entity.ProjectUserPermission;
import com.jero.modules.project.enums.CertificationProgressEnum;
import com.jero.modules.project.enums.CurrentProjectStatusEnum;
import com.jero.modules.project.enums.DesignComplianceStatusEnum;
import com.jero.modules.project.enums.InventoryAffirmStatusEnum;
import com.jero.modules.project.enums.OperatorTypeEnum;
import com.jero.modules.project.enums.PermissionDescriptionEnum;
import com.jero.modules.project.enums.ProjectRoleEnum;
import com.jero.modules.project.enums.ProjectUserLocationEnum;
import com.jero.modules.project.enums.TaskAffirmStatusEnum;
import com.jero.modules.project.enums.TopEnum;
import com.jero.modules.project.mapper.ProjectLawsInventoryEOMapper;
import com.jero.modules.project.mapper.ProjectLibraryBaseMapper;
import com.jero.modules.project.mapper.ProjectNameInfoEOMapper;
import com.jero.modules.project.mapper.ProjectRelatedPersonnelMapper;
import com.jero.modules.project.mapper.ProjectTaskInventoryEOMapper;
import com.jero.modules.project.mapper.ProjectUserPermissionMapper;
import com.jero.modules.project.service.IConditionAssessmentEOService;
import com.jero.modules.project.service.IProjectLibraryBaseService;
import com.jero.modules.project.service.IProjectLibraryRoleRelEOService;
@@ -46,8 +69,20 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.text.Collator;
import java.text.ParseException;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.stream.Collectors;
/**
@@ -837,11 +872,12 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
}
}
List<ProjectLibraryBase> resultLast = new ArrayList<>();
//权限筛选
if (isViewer != 0) {
return resultNew;
resultLast = resultNew;
} else {
List<ProjectLibraryBase> resultLast = new ArrayList<>();
for (ProjectLibraryBase projectLibraryBase : resultNew) {
//判断父项目是否有权限
if (!projectIds.contains(projectLibraryBase.getId())) {
@@ -871,7 +907,65 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
}
}
return resultLast;
}
//表头排序
// params.put("orderBy","1");
// params.put("orderByField","digitalPlatform");
hearSort(params, resultLast);
return resultLast;
}
private void hearSort(Map<String, Object> params, List<ProjectLibraryBase> resultLast) {
if(ObjectUtils.isNotEmpty(params.get("orderByField"))){
Collator comparator = Collator.getInstance(Locale.CHINESE);
//项目名称,R&H Studio,车型平台,数字平台
if("projectName".equals(params.get("orderByField"))){
if(OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))){
Collections.sort(resultLast,(e1, e2)->{
return comparator.compare(e1.getProjectName(),e2.getProjectName());
});
}else if(OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))){
Collections.sort(resultLast,(e1,e2)->{
return comparator.compare(e2.getProjectName(),e1.getProjectName());
});
}
}
//R&H Studio
if("studioEngineerName".equals(params.get("orderByField"))){
if(OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))){
Collections.sort(resultLast,(e1, e2)->{
return comparator.compare(e1.getStudioEngineerName(),e2.getStudioEngineerName());
});
}else if(OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))){
Collections.sort(resultLast,(e1,e2)->{
return comparator.compare(e2.getStudioEngineerName(),e1.getStudioEngineerName());
});
}
}
//车型平台
if("vehiclePlatform".equals(params.get("orderByField"))){
if(OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))){
Collections.sort(resultLast,(e1, e2)->{
return comparator.compare(e1.getVehiclePlatform(),e2.getVehiclePlatform());
});
}else if(OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))){
Collections.sort(resultLast,(e1,e2)->{
return comparator.compare(e2.getVehiclePlatform(),e1.getVehiclePlatform());
});
}
}
//数字平台
if("digitalPlatform".equals(params.get("orderByField"))){
if(OrderEnum.POSITIVE.getValue().equals(params.get("orderBy"))){
Collections.sort(resultLast,(e1, e2)->{
return comparator.compare(e1.getDigitalPlatform(),e2.getDigitalPlatform());
});
}else if(OrderEnum.REVERSE.getValue().equals(params.get("orderBy"))){
Collections.sort(resultLast,(e1,e2)->{
return comparator.compare(e2.getDigitalPlatform(),e1.getDigitalPlatform());
});
}
}
}
}