表头排序
This commit is contained in:
+8
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
+80
-1
@@ -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);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user