parent
475d022a95
commit
015f1998c3
@ -765,6 +765,10 @@ public class AssepcNewDynamicEdut extends AbstractFormPlugin implements BeforeBi
|
||||
getQueryResult().setDataCount(data.size());
|
||||
// 把列数据返回
|
||||
DynamicObjectCollection datas = DealData(data);
|
||||
|
||||
// 按照图册编号进行排序
|
||||
sortDynamicObjectCollection(datas);
|
||||
|
||||
Setistcardviewap(datas);
|
||||
return datas;
|
||||
}
|
||||
@ -772,6 +776,45 @@ public class AssepcNewDynamicEdut extends AbstractFormPlugin implements BeforeBi
|
||||
}
|
||||
}
|
||||
|
||||
public static void sortDynamicObjectCollection(DynamicObjectCollection data) {
|
||||
List<DynamicObject> list = new ArrayList<>(data);
|
||||
|
||||
Collections.sort(list, new Comparator<DynamicObject>() {
|
||||
@Override
|
||||
public int compare(DynamicObject o1, DynamicObject o2) {
|
||||
BigDecimal num1 = parseBigDecimal(o1.getString("yem_atlasno"));
|
||||
BigDecimal num2 = parseBigDecimal(o2.getString("yem_atlasno"));
|
||||
|
||||
// 如果两个都转换成功,按数值比较
|
||||
if (num1 != null && num2 != null) {
|
||||
return num1.compareTo(num2);
|
||||
}
|
||||
|
||||
if (num1 != null) {
|
||||
return -1;
|
||||
}
|
||||
if (num2 != null) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
// 如果两个都失败,按字符串比较
|
||||
return o1.getString("yem_atlasno").compareTo(o2.getString("yem_atlasno"));
|
||||
}
|
||||
});
|
||||
|
||||
// 将排序后的结果重新赋值给原集合
|
||||
data.clear();
|
||||
data.addAll(list);
|
||||
}
|
||||
|
||||
private static BigDecimal parseBigDecimal(String value) {
|
||||
try {
|
||||
return new BigDecimal(value);
|
||||
} catch (NumberFormatException e) {
|
||||
return null; // 转换失败返回 null
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 给图号单据体赋值
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user