表头排序

This commit is contained in:
zhn
2023-08-29 10:18:12 +08:00
parent 17ffa7dbdc
commit cb570dc40d
2 changed files with 88 additions and 1 deletions
@@ -97,4 +97,12 @@ public class ProjectRxswinEO implements Serializable {
@ApiModelProperty(value = "编号")
private String serialNumber;
@TableField(exist = false)
@ApiModelProperty(value = "表头排序字段")
private java.lang.String orderByField;
@TableField(exist = false)
@ApiModelProperty(value = "排序")
private java.lang.String orderBy;
}
@@ -9,6 +9,7 @@ import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PageUtil;
import com.jero.modules.document.entity.BussDocumentLibraryEO;
import com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl;
import com.jero.modules.dummy.enums.OrderEnum;
import com.jero.modules.project.entity.ProjectLibraryBase;
import com.jero.modules.project.entity.ProjectRxswinEO;
import com.jero.modules.project.enums.StatusEnum;
@@ -19,10 +20,12 @@ import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.Collator;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import java.util.UUID;
import java.util.stream.Collectors;
@@ -141,7 +144,9 @@ public class ProjectRxswinEOServiceImpl extends ServiceImpl<ProjectRxswinEOMappe
if(StringUtils.isNotBlank(projectRxswinEO.getRxswin())){
wrapper.like(ProjectRxswinEO::getRxswin,projectRxswinEO.getRxswin());
}
if(StringUtils.isBlank(projectRxswinEO.getOrderByField())){
wrapper.orderByDesc(ProjectRxswinEO::getCreateTime);
}
List<ProjectRxswinEO> projectRxswinEOList = this.list(wrapper);
if(!projectRxswinEOList.isEmpty()){
@@ -158,6 +163,7 @@ public class ProjectRxswinEOServiceImpl extends ServiceImpl<ProjectRxswinEOMappe
projectRxswinEOList = projectRxswinEOList.stream()
.filter(e -> e.getSerialNumber().contains(projectRxswinEO.getSerialNumber())).collect(Collectors.toList());
}
heartSort(projectRxswinEO,projectRxswinEOList);
}
return PageUtil.getPages(pageNo,pageSize,projectRxswinEOList);
}
@@ -211,6 +217,9 @@ public class ProjectRxswinEOServiceImpl extends ServiceImpl<ProjectRxswinEOMappe
if(StringUtils.isNotBlank(projectRxswinEO.getRxswin())){
wrapper.like(ProjectRxswinEO::getRxswin,projectRxswinEO.getRxswin());
}
if(StringUtils.isBlank(projectRxswinEO.getOrderByField())){
wrapper.orderByDesc(ProjectRxswinEO::getCreateTime);
}
List<ProjectRxswinEO> projectRxswinEOList = this.list(wrapper);
@@ -228,6 +237,7 @@ public class ProjectRxswinEOServiceImpl extends ServiceImpl<ProjectRxswinEOMappe
projectRxswinEOList = projectRxswinEOList.stream()
.filter(e -> e.getSerialNumber().contains(projectRxswinEO.getSerialNumber())).collect(Collectors.toList());
}
heartSort(projectRxswinEO,projectRxswinEOList);
}
return PageUtil.getPages(pageNo,pageSize,projectRxswinEOList);
}
@@ -365,4 +375,73 @@ public class ProjectRxswinEOServiceImpl extends ServiceImpl<ProjectRxswinEOMappe
wrapper.in(BussDocumentLibraryEO::getId,documentIdList);
return bussDocumentLibraryEOService.list(wrapper);
}
private void heartSort(ProjectRxswinEO projectRxswinEO, List<ProjectRxswinEO> projectRxswinEOList) {
Collator comparator = Collator.getInstance(Locale.CHINESE);
// 编号
if ("serialNumber".equals(projectRxswinEO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(projectRxswinEO.getOrderBy())) {
Collections.sort(projectRxswinEOList, (e1, e2) -> {
String e1PlannedBpLaunchBatch = com.jero.modules.system.util.StringUtils.isNotBlank(e1.getSerialNumber()) ? e1.getSerialNumber() : "";
String e2PlannedBpLaunchBatch = com.jero.modules.system.util.StringUtils.isNotBlank(e2.getSerialNumber()) ? e2.getSerialNumber() : "";
return comparator.compare(e1PlannedBpLaunchBatch, e2PlannedBpLaunchBatch);
});
} else if (OrderEnum.REVERSE.getValue().equals(projectRxswinEO.getOrderBy())) {
Collections.sort(projectRxswinEOList, (e1, e2) -> {
String e1PlannedBpLaunchBatch = com.jero.modules.system.util.StringUtils.isNotBlank(e1.getSerialNumber()) ? e1.getSerialNumber() : "";
String e2PlannedBpLaunchBatch = com.jero.modules.system.util.StringUtils.isNotBlank(e2.getSerialNumber()) ? e2.getSerialNumber() : "";
return comparator.compare(e2PlannedBpLaunchBatch, e1PlannedBpLaunchBatch);
});
}
}
// 主题
if ("theme".equals(projectRxswinEO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(projectRxswinEO.getOrderBy())) {
Collections.sort(projectRxswinEOList, (e1, e2) -> {
String e1Market = com.jero.modules.system.util.StringUtils.isNotBlank(e1.getTheme()) ? e1.getTheme() : "";
String e2Market = com.jero.modules.system.util.StringUtils.isNotBlank(e2.getTheme()) ? e2.getTheme() : "";
return comparator.compare(e1Market, e2Market);
});
} else if (OrderEnum.REVERSE.getValue().equals(projectRxswinEO.getOrderBy())) {
Collections.sort(projectRxswinEOList, (e1, e2) -> {
String e1Market = com.jero.modules.system.util.StringUtils.isNotBlank(e1.getTheme()) ? e1.getTheme() : "";
String e2Market = com.jero.modules.system.util.StringUtils.isNotBlank(e2.getTheme()) ? e2.getTheme() : "";
return comparator.compare(e2Market, e1Market);
});
}
}
//RXSWIN
if ("rxswin".equals(projectRxswinEO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(projectRxswinEO.getOrderBy())) {
Collections.sort(projectRxswinEOList, (e1, e2) -> {
String e1Market = com.jero.modules.system.util.StringUtils.isNotBlank(e1.getRxswin()) ? e1.getRxswin() : "";
String e2Market = com.jero.modules.system.util.StringUtils.isNotBlank(e2.getRxswin()) ? e2.getRxswin() : "";
return comparator.compare(e1Market, e2Market);
});
} else if (OrderEnum.REVERSE.getValue().equals(projectRxswinEO.getOrderBy())) {
Collections.sort(projectRxswinEOList, (e1, e2) -> {
String e1Market = com.jero.modules.system.util.StringUtils.isNotBlank(e1.getRxswin()) ? e1.getRxswin() : "";
String e2Market = com.jero.modules.system.util.StringUtils.isNotBlank(e2.getRxswin()) ? e2.getRxswin() : "";
return comparator.compare(e2Market, e1Market);
});
}
}
//对应版本
if ("version".equals(projectRxswinEO.getOrderByField())) {
if (OrderEnum.POSITIVE.getValue().equals(projectRxswinEO.getOrderBy())) {
Collections.sort(projectRxswinEOList, (e1, e2) -> {
String e1Market = com.jero.modules.system.util.StringUtils.isNotBlank(e1.getVersion()) ? e1.getVersion() : "";
String e2Market = com.jero.modules.system.util.StringUtils.isNotBlank(e2.getVersion()) ? e2.getVersion() : "";
return comparator.compare(e1Market, e2Market);
});
} else if (OrderEnum.REVERSE.getValue().equals(projectRxswinEO.getOrderBy())) {
Collections.sort(projectRxswinEOList, (e1, e2) -> {
String e1Market = com.jero.modules.system.util.StringUtils.isNotBlank(e1.getVersion()) ? e1.getVersion() : "";
String e2Market = com.jero.modules.system.util.StringUtils.isNotBlank(e2.getVersion()) ? e2.getVersion() : "";
return comparator.compare(e2Market, e1Market);
});
}
}
}
}