diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java index c8aed41..07ba7ff 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/task/EquipmentCardTaskPlugin.java @@ -22,10 +22,7 @@ import java.time.LocalDateTime; import java.time.YearMonth; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 实物卡片同步设备定时任务 @@ -126,8 +123,23 @@ public class EquipmentCardTaskPlugin extends AbstractTask { String zcgjDebillno = entry.getString("zcgj_debillno"); entrys.removeIf(record -> isLastMonth(zcgjDebillno));//若属于上个月那就删除重新塞入 } + } DynamicObject[] depresplitdetails = BusinessDataServiceHelper.load("fa_depresplitdetail", "billno,period,splitdept,assentry.costcentrer,assentry.splitamount", new QFilter[]{qf}); + Arrays.sort(depresplitdetails, (o1, o2) -> { + DynamicObject p1 = o1.getDynamicObject("period"); + DynamicObject p2 = o2.getDynamicObject("period"); + + // 处理null值 + if (p1 == null && p2 == null) return 0; + if (p1 == null) return -1; + if (p2 == null) return 1; + + String c1 = p1.getString("number") != null ? p1.getString("number") : ""; + String c2 = p2.getString("number") != null ? p2.getString("number") : ""; + + return c1.compareTo(c2); // 升序排序 + }); for (DynamicObject depresplitdetail : depresplitdetails) { String billno = depresplitdetail.getString("billno"); DynamicObject period = depresplitdetail.getDynamicObject("period");//折旧区间