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 489c28f..21017bf 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 @@ -61,6 +61,12 @@ public class EntCostSplitBillPlugin extends AbstractBillPlugIn { Map summaryMap = new HashMap<>(); for (DynamicObject rptAssistBalanceGx : rptAssistBalanceGxCollection) { + Object debitLocal = rptAssistBalanceGx.get("zcgj_debitlocal");//本期发生借方 + if (debitLocal == null || + (debitLocal instanceof BigDecimal && ((BigDecimal) debitLocal).compareTo(BigDecimal.ZERO) <= 0) || + (debitLocal instanceof String && ((String) debitLocal).equals("0"))) { + continue; + } QFilter[] qFilter = new QFilter[]{new QFilter("id", QCP.equals, rptAssistBalanceGx.get("zcgj_account"))};//科目ID DynamicObject bd_accountview = BusinessDataServiceHelper.loadSingle("bd_accountview", "id,number,name", qFilter);//"会计科目" @@ -103,12 +109,18 @@ public class EntCostSplitBillPlugin extends AbstractBillPlugIn { if (existingEntry != null) { // 如果已存在相同key的记录,则累加成本金额 Object existingAmount = existingEntry.get("costamount"); - Object newAmount = rptAssistBalanceGx.get("zcgj_debitlocal"); + Object newAmount = rptAssistBalanceGx.get("zcgj_debitlocal");//本期发生借方 // 进行金额累加 BigDecimal totalAmount = new BigDecimal(existingAmount != null ? existingAmount.toString() : "0") .add(new BigDecimal(newAmount != null ? newAmount.toString() : "0")); existingEntry.set("costamount", totalAmount); + + // 同时更新子分录的金额 + DynamicObject subEntry = existingEntry.getDynamicObjectCollection("zcgj_subentryentity").get(0); + if (subEntry != null) { + subEntry.set("zcgj_costamount", totalAmount); + } } else { // 如果不存在相同key的记录,则创建新记录 DynamicObject newEntry = new DynamicObject(entryType); @@ -146,6 +158,7 @@ public class EntCostSplitBillPlugin extends AbstractBillPlugIn { newEntrySubEntryEntity.set("zcgj_sectype1", zcgj_accountcost.get("zcgj_acccostentry.zcgj_sectype"));//二级分类 } newEntry.set("costamount", rptAssistBalanceGx.get("zcgj_debitlocal"));//成本金额 + newEntrySubEntryEntity.set("zcgj_costamount", rptAssistBalanceGx.get("zcgj_debitlocal"));//成本金额 summaryMap.put(uniqueKey, newEntry); subEntryEntityCollection.add(newEntrySubEntryEntity);