问题管理-表头排序(问题优先级)

This commit is contained in:
zhn
2024-01-16 15:34:27 +08:00
parent 7a969015cc
commit be3c193e03
3 changed files with 41 additions and 3 deletions
@@ -149,6 +149,7 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
prehomoName = "PreHomo confirmation";
verifyName = "Verification of compliance process";
}
List<DictModel> problemPriorityList = sysDictService.queryDictItemsByCode(DicCodeEnum.PROBLEM_PRIORITY.getCode());
List<SysDictItem> dictItemList = sysDictItemServiceImpl.selectItemsAll();
Set<String> userIdSet = new HashSet<>();
for (NcrTrackVO trackVO : infoList) {
@@ -381,7 +382,7 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
//条件查询
trackVOList = parameterQuery(ncrTrackVO, trackVOList);
//表头排序
heartSort(ncrTrackVO, trackVOList);
heartSort(ncrTrackVO, trackVOList,problemPriorityList,ncrTrackVO.getCut());
if(StringUtils.isBlank(ncrTrackVO.getOrderByField())){
Collections.sort(trackVOList, new Comparator<NcrTrackVO>() {
@Override
@@ -404,8 +405,37 @@ public class NcrTrackServiceImpl extends ServiceImpl<NcrTrackMapper, NcrTrackVO>
return problemManagement;
}
private void heartSort(NcrTrackVO ncrTrackVO, List<NcrTrackVO> trackVOList) {
private void heartSort(NcrTrackVO ncrTrackVO, List<NcrTrackVO> trackVOList,List<DictModel> problemPriorityList,String cut) {
Collator comparator = Collator.getInstance(Locale.CHINESE);
if("problemPriority".equals(ncrTrackVO.getOrderByField())){
//优先级数据字典转换
for (NcrTrackVO trackVO : trackVOList) {
String problemPriority = trackVO.getProblemPriority();
if(StringUtils.isNotBlank(problemPriority)){
List<DictModel> collect = problemPriorityList.stream().filter(e -> problemPriority.equals(e.getValue())).collect(Collectors.toList());
if(ObjectUtils.isNotEmpty(collect)){
if(CutEnum.CN.getValue().equals(cut)){
trackVO.setProblemPriorityName(collect.get(0).getText());
}else{
trackVO.setProblemPriorityName(collect.get(0).getTextEn());
}
}
}
}
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getProblemPriorityName()) ? e1.getProblemPriorityName() : "";
String e2Field = StringUtils.isNotBlank(e2.getProblemPriorityName()) ? e2.getProblemPriorityName() : "";
return comparator.compare(e1Field, e2Field);
});
} else if (OrderEnum.REVERSE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
String e1Field = StringUtils.isNotBlank(e1.getProblemPriorityName()) ? e1.getProblemPriorityName() : "";
String e2Field = StringUtils.isNotBlank(e2.getProblemPriorityName()) ? e2.getProblemPriorityName() : "";
return comparator.compare(e2Field, e1Field);
});
}
}
if ("title".equals(ncrTrackVO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(ncrTrackVO.getOrderBy())) {
Collections.sort(trackVOList, (e1, e2) -> {
@@ -97,6 +97,8 @@ public class NcrTrackVO implements Serializable {
@ApiModelProperty(value = "问题优先级")
private java.lang.String problemPriority;
private java.lang.String problemPriorityName;
private java.lang.String problemPriority_dictText;
/**描述和分析*/
@@ -301,6 +301,7 @@
align: 'left',
dataIndex: 'problemPriority_dictText',
width: 120,
sorter:true,
ellipsis: true,
},
{
@@ -432,7 +433,12 @@
},
tableOnChange(pagination, filters, sorter) {
this.orderBy = sorter.order == 'ascend' ? '1' : '2'
this.orderByField = sorter.columnKey
if (sorter.columnKey == 'problemPriority_dictText'){
this.orderByField = 'problemPriority'
}else{
this.orderByField = sorter.columnKey
}
this.getList()
},
getList() {