From af912e0444b9944e5b993370a63d3b518e17de99 Mon Sep 17 00:00:00 2001 From: zhangzhiguo <421587375@qq.com> Date: Tue, 18 Nov 2025 15:18:15 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=84=E9=87=91=E8=AE=A1=E5=88=92=E7=94=B3?= =?UTF-8?q?=E8=AF=B7=E7=8E=B0=E9=87=91=E6=B5=81=E9=87=8F=E5=8F=96=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FundingplanapplyAccountBalancePlugin.java | 69 +++++++++++++++++++ .../zcdev/pr/plugin/utils/CashflowRecord.java | 36 ++++++++++ 2 files changed, 105 insertions(+) create mode 100644 code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/utils/CashflowRecord.java diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/FundingplanapplyAccountBalancePlugin.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/FundingplanapplyAccountBalancePlugin.java index e56b1c3..0e042ba 100644 --- a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/FundingplanapplyAccountBalancePlugin.java +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/form/FundingplanapplyAccountBalancePlugin.java @@ -22,6 +22,7 @@ import kd.bos.util.StringUtils; import kd.fi.bcm.business.model.BalanceQueryParamApi; import kd.sdk.plugin.Plugin; import zcgj.zcdev.zcdev.pr.plugin.utils.AccountRecord; +import zcgj.zcdev.zcdev.pr.plugin.utils.CashflowRecord; import java.lang.reflect.Type; import java.math.BigDecimal; @@ -42,6 +43,7 @@ public class FundingplanapplyAccountBalancePlugin extends AbstractBillPlugIn imp BillShowParameter bsp=(BillShowParameter)this.getView().getFormShowParameter(); if(bsp.getStatus()== OperationStatus.ADDNEW ){ fundplyentry(); + getCashflow(); } } @@ -88,6 +90,9 @@ public class FundingplanapplyAccountBalancePlugin extends AbstractBillPlugIn imp } } + getCashflow(); + }else if("zcgj_org".equals(name)){ + getCashflow(); } } @@ -519,6 +524,68 @@ public class FundingplanapplyAccountBalancePlugin extends AbstractBillPlugIn imp return BigDecimal.ZERO; } + /** + * 取现金流量项目 + */ + public void getCashflow(){ + + DynamicObject period = (DynamicObject)this.getModel().getValue("zcgj_period"); + DynamicObject org = (DynamicObject)this.getModel().getValue("zcgj_org"); + if(period != null && org != null){ + String periodnumber = period.getString("number"); + String orgnumber = org.getString("number"); + String par = "{" + + "\"selectors\":[" + + "\"org\"," + + "\"yearamount\"," + + "\"amount\"" + + "]," + + "\"orgNumber\":\""+orgnumber+"\"," + + "\"bookTypeNumber\":\"100002\"," + + "\"periodNumber\":\""+periodnumber+"\"," + + "\"cfitemNumbers\":[" + + "\"01020402\"" + //往来款 + "]," + + "\"groupBys\":[" + + "\"org\"" + + "]" + + "}"; + + log.info("FundingplanapplyAccountBalancePlugin:获取现金流量项目-par"+par); + Gson gson = new Gson(); + Map params1 = gson.fromJson(par, + new TypeToken>() { + }.getType()); + OpenApiResult balanceData = OpenApiSdkUtil.invoke("/v2/gl/getCashflowApi", params1); + log.info("FundingplanapplyAccountBalancePlugin:获取现金流量项目-"+balanceData.getMessage()); + if (balanceData.isStatus()) { + String data = (String) balanceData.getData(); + Type listType = new TypeToken>() { + }.getType(); + List records = gson.fromJson(data, listType); + + BigDecimal totalyearamount = BigDecimal.ZERO;//本年累计 + BigDecimal totalamount = BigDecimal.ZERO;//本期发生 + for (CashflowRecord record : records) { + totalyearamount = totalyearamount.add(record.getYearamount());//期初本位币金额 + totalamount = totalamount.add(record.getAmount());//期末本位币金额 + } + DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry"); + DynamicObject dynamicObject = fundplyentry.get(6); + dynamicObject.set("zcgj_cashamt",totalyearamount);//本年累计拨款-现金 + this.getView().updateView("zcgj_fundplyentry"); + + }else{ + DynamicObjectCollection fundplyentry = this.getModel().getDataEntity(true).getDynamicObjectCollection("zcgj_fundplyentry"); + DynamicObject dynamicObject = fundplyentry.get(6); + dynamicObject.set("zcgj_cashamt",BigDecimal.ZERO);//本年累计拨款-现金 + this.getView().updateView("zcgj_fundplyentry"); + } + } + + + } + //公司资金往来 public void fundplyentry(){ fundplyentryXJ();//现金 @@ -704,4 +771,6 @@ public class FundingplanapplyAccountBalancePlugin extends AbstractBillPlugIn imp } } } + + } diff --git a/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/utils/CashflowRecord.java b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/utils/CashflowRecord.java new file mode 100644 index 0000000..189d65a --- /dev/null +++ b/code/zcdev/zcgj-zcdev-zcdev-pr/src/main/java/zcgj/zcdev/zcdev/pr/plugin/utils/CashflowRecord.java @@ -0,0 +1,36 @@ +package zcgj.zcdev.zcdev.pr.plugin.utils; + +import java.math.BigDecimal; + +/** + * 现金流量 + */ +public class CashflowRecord { + private long org;//核算组织 + private BigDecimal yearamount;//本年累计 + private BigDecimal amount;//本期发生 + + public long getOrg() { + return org; + } + + public void setOrg(long org) { + this.org = org; + } + + public BigDecimal getYearamount() { + return yearamount; + } + + public void setYearamount(BigDecimal yearamount) { + this.yearamount = yearamount; + } + + public BigDecimal getAmount() { + return amount; + } + + public void setAmount(BigDecimal amount) { + this.amount = amount; + } +}