From a1e85f59c456a9d65a713ffbeb70a4454c48516a Mon Sep 17 00:00:00 2001 From: "1981897232@qq.com" <1981897232@qq> Date: Thu, 15 Jan 2026 10:08:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9Acsx=20?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=97=B6=E9=97=B4=EF=BC=9A2025=E5=B9=B401?= =?UTF-8?q?=E6=9C=8815=E6=97=A5=20=E6=8F=90=E4=BA=A4=E5=86=85=E5=AE=B9?= =?UTF-8?q?=EF=BC=9A=E5=B8=A6=E6=81=AF=E8=B4=9F=E5=80=BA=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/InterestBearingFromListPlugin.java | 15 ++++++++++++++- .../report/InterestBearingRptListPlugin.java | 14 ++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/InterestBearingFromListPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/InterestBearingFromListPlugin.java index d75a972..0e4a0e6 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/InterestBearingFromListPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/InterestBearingFromListPlugin.java @@ -25,6 +25,7 @@ import kd.bos.form.events.HyperLinkClickListener; import kd.bos.form.field.BasedataEdit; import kd.bos.form.field.events.BeforeF7SelectEvent; import kd.bos.form.field.events.BeforeF7SelectListener; +import kd.bos.list.ListShowParameter; import kd.bos.orm.ORM; import kd.bos.orm.query.QCP; import kd.bos.orm.query.QFilter; @@ -42,6 +43,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.ArrayList; import java.util.Calendar; import java.util.EventObject; import java.util.List; @@ -281,7 +283,18 @@ public class InterestBearingFromListPlugin extends AbstractReportFormPlugin impl public void beforeF7Select(BeforeF7SelectEvent e) { String key = e.getProperty().getName(); if ("shkd_finproduct".equals(key)){ - Object shkd_rzpz = this.getView().getModel().getValue("shkd_rzpz"); + DynamicObjectCollection shkd_rzpz = (DynamicObjectCollection) this.getView().getModel().getValue("shkd_rzpz"); + if (shkd_rzpz.size()>0){ + ListShowParameter showParameter = (ListShowParameter) e.getFormShowParameter(); + List longList = new ArrayList<>(); + for (DynamicObject dynamicObject : shkd_rzpz) { + DynamicObject fbasedataid = dynamicObject.getDynamicObject("fbasedataid"); + longList.add(fbasedataid.getLong("id")); + } + QFilter qFilter1 = new QFilter("parent.id", "in", longList); + showParameter.getListFilterParameter().setFilter(qFilter1); + } + } } } diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/InterestBearingRptListPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/InterestBearingRptListPlugin.java index 36a7ded..ac09307 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/InterestBearingRptListPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/InterestBearingRptListPlugin.java @@ -380,13 +380,23 @@ public class InterestBearingRptListPlugin extends AbstractReportListDataPlugin { String whereEjCom,String whereRzzt,String whereZqrzh,String whereRzpz,String whereFinproduct,String whereRzqd,String whereBlxm,String whereDybbkmmc,String whereGuaranteeway, String year) { //年初未还金额 - String selYearNcAmt = "(SELECT sum(sum(isnull(s1.fnotrepayamount,0))) yearwhamt\n" + +// String selYearNcAmt1 = "(SELECT sum(sum(isnull(s1.fnotrepayamount,0))) yearwhamt\n" + +// "FROM t_cfm_loanbill s1 \n" + +// "INNER JOIN t_cfm_loanbill_e s2 ON s1.fid = s2.FID \n" + +// "WHERE (s2.floantype = 'loan' OR s2.floantype = 'sl' OR s2.floantype = 'bond') \n" + +// "AND (s1.fdrawtype = 'drawed' OR s1.fdrawtype = 'partpayment') \n" + +// "AND t1.FBILLNO = s1.FBILLNO \n" + +// "GROUP BY to_char(s2.fstartintdate,'yyyy') having to_char(s2.fstartintdate,'yyyy') < '"+year+"')"; + String selYearNcAmt = "(SELECT s1.fdrawamount-sum(isnull(s3.fexdrawamount,0))\n" + "FROM t_cfm_loanbill s1 \n" + "INNER JOIN t_cfm_loanbill_e s2 ON s1.fid = s2.FID \n" + + "INNER JOIN t_cfm_loanbill_rp_entry s3 ON s1.fid = s3.FID \n" + "WHERE (s2.floantype = 'loan' OR s2.floantype = 'sl' OR s2.floantype = 'bond') \n" + "AND (s1.fdrawtype = 'drawed' OR s1.fdrawtype = 'partpayment') \n" + "AND t1.FBILLNO = s1.FBILLNO \n" + - "GROUP BY to_char(s2.fstartintdate,'yyyy') having to_char(s2.fstartintdate,'yyyy') < '"+year+"')"; + "and to_char(s3.fexrepaymentdate,'yyyy') < '"+year+"' and to_char(s2.fstartintdate,'yyyy') < '"+year+"'\n" + + "GROUP BY s1.fdrawamount)"; + //年度新增金额 String selYearAddAmt = "(SELECT sum(isnull(s1.fdrawamount,0))\n" + "FROM t_cfm_loanbill s1 \n" +