表头排序
This commit is contained in:
+1
-1
@@ -58,7 +58,7 @@ public class NcrTrackController {
|
||||
HttpServletRequest req) {
|
||||
List<NcrTrackVO> pageInfo = iNcrTrackService.getPageInfo(ncrTrackVO);
|
||||
//表头排序
|
||||
orderHeader(ncrTrackVO, pageInfo);
|
||||
// orderHeader(ncrTrackVO, pageInfo);
|
||||
Page pages = iNcrTrackService.getPages(pageNo, pageSize, pageInfo);
|
||||
return Result.OK(ncrTrackVO.getCut(),pages);
|
||||
}
|
||||
|
||||
+165
-3
@@ -1,6 +1,5 @@
|
||||
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.QueryWrapper;
|
||||
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.modules.document.entity.BussDocumentLibraryEO;
|
||||
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.service.IOSSFileService;
|
||||
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.ProblemManagementEOMapper;
|
||||
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.NcrTrackVO;
|
||||
import com.jero.modules.project.vo.ProblemManagementVO;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
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.ISysDictService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.service.impl.SysDictItemServiceImpl;
|
||||
import com.jero.modules.wkflow.enums.FlowTypeEnum;
|
||||
@@ -52,11 +51,15 @@ import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.text.Collator;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Date;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -338,10 +341,169 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
|
||||
}
|
||||
//条件查询
|
||||
trackVOList = parameterQuery(ncrTrackVO, trackVOList);
|
||||
//表头排序
|
||||
heartSort(ncrTrackVO, 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
|
||||
private List<NcrTrackVO> parameterQuery(NcrTrackVO ncrTrackVO, List<NcrTrackVO> trackVOList) {
|
||||
if(!trackVOList.isEmpty()){
|
||||
|
||||
Reference in New Issue
Block a user