From c253c0e58b5c7572a46ba4a5e58f2bf9c0b6ff01 Mon Sep 17 00:00:00 2001 From: xuhaihui <2098865055@qq.com> Date: Wed, 26 Nov 2025 18:38:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=81=E4=B8=9A=E6=88=90=E6=9C=AC=E6=A0=B8?= =?UTF-8?q?=E7=AE=97=E8=A1=A8=E5=8D=95=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugin/form/EntCostSplitBillPlugin.java | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EntCostSplitBillPlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EntCostSplitBillPlugin.java index 1a83d55..751b6d4 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EntCostSplitBillPlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/EntCostSplitBillPlugin.java @@ -202,16 +202,22 @@ public class EntCostSplitBillPlugin extends AbstractBillPlugIn implements Before QFilter filter5 = new QFilter("billstatus", QCP.equals, "C");//单据状态 filter5.and(new QFilter("zcgj_entryentity.zcgj_assperiod", QCP.equals, period1.getPkValue()));//折旧期间 filter5.and(new QFilter("zcgj_entryentity.zcgj_zjuseorg", QCP.equals, org1.getPkValue()));//使用组织 - DynamicObject eceq_equipinfo = QueryServiceHelper.queryOne("eceq_equipinfo", + DynamicObjectCollection eceq_equipinfoCollection = QueryServiceHelper.query("eceq_equipinfo", "id,zcgj_entryentity.zcgj_shareamount", new QFilter[]{filter5});//"设备详情" - if (eceq_equipinfo != null) { - BigDecimal zcgj_shareamount = eceq_equipinfo.getBigDecimal("zcgj_entryentity.zcgj_shareamount");//设备详情的成本金额 + if (eceq_equipinfoCollection.size() > 0) { + BigDecimal zcgj_shareamounts = BigDecimal.ZERO; + for (DynamicObject eceq_equipinfo : eceq_equipinfoCollection) { + BigDecimal shareAmount = eceq_equipinfo.getBigDecimal("zcgj_entryentity.zcgj_shareamount"); + if (shareAmount != null) { + zcgj_shareamounts = zcgj_shareamounts.add(shareAmount); + } + } // 扣减成本金额 Object currentAmount = rptAssistBalanceGx.get("zcgj_debitlocal"); BigDecimal newAmount = new BigDecimal(currentAmount != null ? currentAmount.toString() : "0") - .subtract(zcgj_shareamount != null ? zcgj_shareamount : BigDecimal.ZERO); + .subtract(zcgj_shareamounts); // 确保不会出现负数 if (newAmount.compareTo(BigDecimal.ZERO) < 0) { @@ -309,20 +315,20 @@ public class EntCostSplitBillPlugin extends AbstractBillPlugIn implements Before if (costType2 == null) return 1; try { - Double num1 = Double.parseDouble(costType1.toString().replace(".", "")); - Double num2 = Double.parseDouble(costType2.toString().replace(".", "")); - return num2.compareTo(num1); + Double num1 = Double.parseDouble(costType1.toString()); + Double num2 = Double.parseDouble(costType2.toString()); + return num1.compareTo(num2); } catch (NumberFormatException e) { - return costType2.toString().compareTo(costType1.toString()); + return costType1.toString().compareTo(costType2.toString()); } }); // 按排序后的顺序添加数据 for (DynamicObject entry : sortedEntries) { - Object costtype = entry.get("costtype"); +/* Object costtype = entry.get("costtype"); if (costtype == null) { continue; - } + }*/ entryCollection.add(entry); }