From 6404c02c54eff509817a83637be65345ca1e7c9a Mon Sep 17 00:00:00 2001 From: csx <1981897232@qq.com> Date: Tue, 18 Nov 2025 13:35:20 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=BA=EF=BC=9A=E9=99=88?= =?UTF-8?q?=E7=BB=8D=E9=91=AB=20=E6=97=A5=E6=9C=9F=EF=BC=9A2025/11/18=2013?= =?UTF-8?q?=EF=BC=9A30=20=E5=86=85=E5=AE=B9:=E8=AE=A1=E5=88=92=E7=BC=96?= =?UTF-8?q?=E5=88=B6=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sys/plugin/report/PlanReportPlugin.java | 34 +++++++++++++++---- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/PlanReportPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/PlanReportPlugin.java index d419355..54ba607 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/PlanReportPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/PlanReportPlugin.java @@ -64,27 +64,41 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin { public DataSet query(ReportQueryParam reportQueryParam, Object o) throws Throwable { List listQFilter = ReportUtils.getListQFilter(reportQueryParam); Date date = new Date(); - + DynamicObject shkd_qj=null; + DynamicObject shkd_km=null; for (QFilter filter : listQFilter) { if (filter.getProperty().contains("shkd_date")) { date= (Date) filter.getValue(); + } else if (filter.getProperty().contains("shkd_qj")) { + shkd_qj= (DynamicObject) filter.getValue(); + }else if (filter.getProperty().contains("shkd_km")) { + shkd_km= (DynamicObject) filter.getValue(); } } + + if (shkd_qj!=null){ + DynamicObject Period = BusinessDataServiceHelper.loadSingle(shkd_qj.getPkValue(), "fpm_member"); + date=Period.getDate("startdate"); + } //获取当月日期范围 Map dangyue = getMonthStartAndEnd(date); Date date1 = getnextMonth(date); - //获取上月日期范围 + //获取下月日期范围 Map xiayueyue = getMonthStartAndEnd(date1); //获取计划编制里的融资计划 QFilter qFilter = new QFilter("name", QCP.equals, "融资计划"); + qFilter=qFilter.and(new QFilter("reportperiod",QCP.equals,shkd_qj.getLong("id"))); DynamicObject fpm_report = BusinessDataServiceHelper.loadSingle("fpm_report", qFilter.toArray()); + if (fpm_report==null){ + return DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"),"select NULL AS res ");//财务云; + } long id = fpm_report.getLong("id"); - StringBuilder dangyuesqlBuilder=getsql(id,zdm,dangyue); + StringBuilder dangyuesqlBuilder=getsql(id,zdm,dangyue,shkd_km); DataSet dangyueres = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), dangyuesqlBuilder.toString());//财务云 dangyueres= dangyueres.select(DANGYUE_SELECT); - StringBuilder xiayueyuesqlBuilder=getsql(id,zdm,xiayueyue); + StringBuilder xiayueyuesqlBuilder=getsql(id,zdm,xiayueyue,shkd_km); DataSet xiayueyueres = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), xiayueyuesqlBuilder.toString());//财务云 xiayueyueres= xiayueyueres.select(XIAYUE_SELECT); @@ -113,7 +127,8 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin { return finish; } - private StringBuilder getsql(long id, Map zdm, Map dateMap) { + + private StringBuilder getsql(long id, Map zdm, Map dateMap,DynamicObject shkd_km) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String start = sdf.format(dateMap.get("start")); String end = sdf.format(dateMap.get("end")); @@ -140,8 +155,13 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin { " t1.fid = "+id+" AND\n" + " t4.fstartdate>='"+start+"' AND\n" + " t4.fstartdate<='"+end+"' AND\n" + - " t2.fbankcateid <> 0\n" + - "GROUP BY\n" + + " t2.fbankcateid <> 0 \n"); + + if (shkd_km != null) { + sqlBuilder.append(" AND t3.fsubjectmemid = "+shkd_km.getLong("id")+" \n"); + } + + sqlBuilder.append("GROUP BY\n" + " DATE_FORMAT(t4.fstartdate, '%Y%m'), -- 直接在 GROUP BY 中使用原始表达式\n" + " t2.fbankcateid, -- 按照金融机构分组\n" + " t1.fbillno");