记录一下拖动排序的代码
public List<DebtTZqglPfbz> swapOrder(List<DebtTZqglPfbz> list, DebtTZqglPfbz source, DebtTZqglPfbz target) {
if (source.getPfbzOrder() < target.getPfbzOrder()) {
return downSwap(list, source, target);
}
if (source.getPfbzOrder() > target.getPfbzOrder()) {
return upSwap(list, source, target);
}
return null;
}
public List<DebtTZqglPfbz> downSwap(List<DebtTZqglPfbz> list,
DebtTZqglPfbz source, DebtTZqglPfbz target) {
int sourceSort = source.getPfbzOrder();
int targetPfbzOrder = target.getPfbzOrder();
list.sort(Comparator.comparing(DebtTZqglPfbz::getPfbzOrder));
List<DebtTZqglPfbz> debtTZqglPfbzs = new ArrayList<>();
list.forEach(e -> {
if (sourceSort <= e.getPfbzOrder() && e.getPfbzOrder() <= targetPfbzOrder) {
exchange(source, e);
debtTZqglPfbzs.add(e);
}
});
return debtTZqglPfbzs;
}
public List<DebtTZqglPfbz> upSwap(List<DebtTZqglPfbz> list, DebtTZqglPfbz source, DebtTZqglPfbz target) {
int sourceSort = source.getPfbzOrder();
int targetPfbzOrder = target.getPfbzOrder();
list.sort(Comparator.comparing(DebtTZqglPfbz::getPfbzOrder));
List<DebtTZqglPfbz> debtTZqglPfbzs = new ArrayList<>();
for (int i = list.size(); i > 0; i--) {
DebtTZqglPfbz e = list.get(i - 1);
if (sourceSort >= e.getPfbzOrder() && e.getPfbzOrder() >= targetPfbzOrder) {
exchange(source, e);
debtTZqglPfbzs.add(e);
}
}
return debtTZqglPfbzs;
}
public void exchange(DebtTZqglPfbz source, DebtTZqglPfbz target) {
DebtTZqglPfbz temp = new DebtTZqglPfbz();
temp.setPfbzOrder(source.getPfbzOrder());
source.setPfbzOrder(target.getPfbzOrder());
target.setPfbzOrder(temp.getPfbzOrder());
}