表头排序

This commit is contained in:
zhn
2023-09-07 11:45:48 +08:00
parent 81ed6ef9dc
commit 3e729b88b8
2 changed files with 166 additions and 4 deletions
@@ -58,7 +58,7 @@ public class NcrTrackController {
HttpServletRequest req) { HttpServletRequest req) {
List<NcrTrackVO> pageInfo = iNcrTrackService.getPageInfo(ncrTrackVO); List<NcrTrackVO> pageInfo = iNcrTrackService.getPageInfo(ncrTrackVO);
//表头排序 //表头排序
orderHeader(ncrTrackVO, pageInfo); // orderHeader(ncrTrackVO, pageInfo);
Page pages = iNcrTrackService.getPages(pageNo, pageSize, pageInfo); Page pages = iNcrTrackService.getPages(pageNo, pageSize, pageInfo);
return Result.OK(ncrTrackVO.getCut(),pages); return Result.OK(ncrTrackVO.getCut(),pages);
} }
@@ -1,6 +1,5 @@
package com.jero.modules.project.service.impl; package com.jero.modules.project.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -11,6 +10,7 @@ import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.LoginUser;
import com.jero.modules.document.entity.BussDocumentLibraryEO; import com.jero.modules.document.entity.BussDocumentLibraryEO;
import com.jero.modules.document.service.IBussDocumentLibraryEOService; import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.dummy.enums.OrderEnum;
import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.project.entity.ProblemManagementEO; import com.jero.modules.project.entity.ProblemManagementEO;
@@ -23,15 +23,14 @@ import com.jero.modules.project.enums.ReviewResultEnum;
import com.jero.modules.project.mapper.NcrTrackMapper; import com.jero.modules.project.mapper.NcrTrackMapper;
import com.jero.modules.project.mapper.ProblemManagementEOMapper; import com.jero.modules.project.mapper.ProblemManagementEOMapper;
import com.jero.modules.project.service.INcrTrackService; import com.jero.modules.project.service.INcrTrackService;
import com.jero.modules.project.service.IProblemManagementEOService;
import com.jero.modules.project.vo.NcrTrackInfoVO; import com.jero.modules.project.vo.NcrTrackInfoVO;
import com.jero.modules.project.vo.NcrTrackVO; import com.jero.modules.project.vo.NcrTrackVO;
import com.jero.modules.project.vo.ProblemManagementVO; import com.jero.modules.project.vo.ProblemManagementVO;
import com.jero.modules.system.entity.SysDictItem; import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.enums.DicCodeEnum; import com.jero.modules.system.enums.DicCodeEnum;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.IProjectUserDutyTerritoryService; import com.jero.modules.system.service.IProjectUserDutyTerritoryService;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.ISysUserService; import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.service.impl.SysDictItemServiceImpl; import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
import com.jero.modules.wkflow.enums.FlowTypeEnum; import com.jero.modules.wkflow.enums.FlowTypeEnum;
@@ -52,11 +51,15 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream; import java.io.OutputStream;
import java.text.Collator;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Locale;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -338,10 +341,169 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
} }
//条件查询 //条件查询
trackVOList = parameterQuery(ncrTrackVO, trackVOList); trackVOList = parameterQuery(ncrTrackVO, trackVOList);
//表头排序
heartSort(ncrTrackVO, trackVOList);
return trackVOList; return trackVOList;
} }
} }
private void heartSort(NcrTrackVO ncrTrackVO, List<NcrTrackVO> trackVOList) {
Collator comparator = Collator.getInstance(Locale.CHINESE);
if ("title".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getTitle()) ? e1.getTitle() : "";
String e2Field = StringUtils.isNotBlank(e2.getTitle()) ? e2.getTitle() : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getTitle()) ? e1.getTitle() : "";
String e2Field = StringUtils.isNotBlank(e2.getTitle()) ? e2.getTitle() : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("lawsName".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getLawsName()) ? e1.getLawsName() : "";
String e2Field = StringUtils.isNotBlank(e2.getLawsName()) ? e2.getLawsName() : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getLawsName()) ? e1.getLawsName() : "";
String e2Field = StringUtils.isNotBlank(e2.getLawsName()) ? e2.getLawsName() : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("projectName".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getProjectName()) ? e1.getProjectName() : "";
String e2Field = StringUtils.isNotBlank(e2.getProjectName()) ? e2.getProjectName() : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getProjectName()) ? e1.getProjectName() : "";
String e2Field = StringUtils.isNotBlank(e2.getProjectName()) ? e2.getProjectName() : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("problemType_dictText".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getProblemType_dictText()) ? e1.getProblemType_dictText() : "";
String e2Field = StringUtils.isNotBlank(e2.getProblemType_dictText()) ? e2.getProblemType_dictText() : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getProblemType_dictText()) ? e1.getProblemType_dictText() : "";
String e2Field = StringUtils.isNotBlank(e2.getProblemType_dictText()) ? e2.getProblemType_dictText() : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("dutyTerritory".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getDutyTerritory()) ? e1.getDutyTerritory() : "";
String e2Field = StringUtils.isNotBlank(e2.getDutyTerritory()) ? e2.getDutyTerritory() : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getDutyTerritory()) ? e1.getDutyTerritory() : "";
String e2Field = StringUtils.isNotBlank(e2.getDutyTerritory()) ? e2.getDutyTerritory() : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("problemState".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getProblemState()) ? e1.getProblemState() : "";
String e2Field = StringUtils.isNotBlank(e2.getProblemState()) ? e2.getProblemState() : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getProblemState()) ? e1.getProblemState() : "";
String e2Field = StringUtils.isNotBlank(e2.getProblemState()) ? e2.getProblemState() : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("createBy".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getCreateBy()) ? e1.getCreateBy() : "";
String e2Field = StringUtils.isNotBlank(e2.getCreateBy()) ? e2.getCreateBy() : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getCreateBy()) ? e1.getCreateBy() : "";
String e2Field = StringUtils.isNotBlank(e2.getCreateBy()) ? e2.getCreateBy() : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("createTime".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, new Comparator<NcrTrackVO>() {
@Override
public int compare(NcrTrackVO o1, NcrTrackVO o2) {
if (o1.getCreateTime() == null || o2.getCreateTime() == null) {
return 0;
}
return o1.getCreateTime().compareTo(o2.getCreateTime());
}
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, new Comparator<NcrTrackVO>() {
@Override
public int compare(NcrTrackVO o1, NcrTrackVO o2) {
if (o1.getCreateTime() == null || o2.getCreateTime() == null) {
return 0;
}
return o2.getCreateTime().compareTo(o1.getCreateTime());
}
});
}
}
if ("updateTime".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, new Comparator<NcrTrackVO>() {
@Override
public int compare(NcrTrackVO o1, NcrTrackVO o2) {
if (o1.getUpdateTime() == null || o2.getUpdateTime() == null) {
return 0;
}
return o1.getUpdateTime().compareTo(o2.getUpdateTime());
}
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, new Comparator<NcrTrackVO>() {
@Override
public int compare(NcrTrackVO o1, NcrTrackVO o2) {
if (o1.getUpdateTime() == null || o2.getUpdateTime() == null) {
return 0;
}
return o2.getUpdateTime().compareTo(o1.getUpdateTime());
}
});
}
}
}
@NotNull @NotNull
private List<NcrTrackVO> parameterQuery(NcrTrackVO ncrTrackVO, List<NcrTrackVO> trackVOList) { private List<NcrTrackVO> parameterQuery(NcrTrackVO ncrTrackVO, List<NcrTrackVO> trackVOList) {
if(!trackVOList.isEmpty()){ if(!trackVOList.isEmpty()){