强弱共享查询优化

This commit is contained in:
李贵强 2025-07-09 18:12:49 +08:00
parent 82b76f0756
commit e0d92bbfd9
1 changed files with 29 additions and 12 deletions

View File

@ -50,18 +50,35 @@ public class BankBalanceSummaryFormPlugin extends AbstractReportFormPlugin imple
rowData.add(dynamicObject); rowData.add(dynamicObject);
} }
QFilter q1 = new QFilter("bizdate", QCP.equals, shjh_benchmarka);//交易日期(基准日期) // 强共享-基准日期
QFilter q2 = new QFilter("company.shjh_isshare", QCP.equals, "1");//公司属性为强共享 QFilter strongBenchmarkFilter = new QFilter("bizdate", QCP.equals, shjh_benchmarka)
QFilter q3 = new QFilter("company.shjh_isshare", QCP.equals, "0");//公司属性为弱共享 .and(new QFilter("company.shjh_isshare", QCP.equals, "1"));
QFilter q4 = new QFilter("bizdate", QCP.equals, shjh_sameyeara);//交易日期(同年比较日期) setBenchmarkamount(strongBenchmarkFilter, rowData, true, "基准日期");
QFilter q5 = new QFilter("bizdate", QCP.equals, shjh_previousyear);//交易日期(上年比较日期)
// 强弱共享 // 弱共享-基准日期
setBenchmarkamount(q1.and(q2),rowData,true,"基准日期");//设置基准日期,强共享,按账号id分组,取最大日期的余额合计 QFilter weakBenchmarkFilter = new QFilter("bizdate", QCP.equals, shjh_benchmarka)
setBenchmarkamount(q1.and(q3),rowData,false,"基准日期");//设置基准日期,弱共享,按账号id分组,取最大日期的余额合计 .and(new QFilter("company.shjh_isshare", QCP.equals, "0"));
setBenchmarkamount(q4.and(q2),rowData,true,"同年比较日期");//设置同年比较日期,强共享,按账号id分组,取最大日期的余额合计 setBenchmarkamount(weakBenchmarkFilter, rowData, false, "基准日期");
setBenchmarkamount(q4.and(q3),rowData,false,"同年比较日期");//设置同年比较日期,弱共享,按账号id分组,取最大日期的余额合计
setBenchmarkamount(q5.and(q2),rowData,true,"上年比较日期");//设置上年比较日期,强共享,按账号id分组,取最大日期的余额合计 // 强共享-同年比较日期
setBenchmarkamount(q5.and(q3),rowData,false,"上年比较日期");//设置上年比较日期,弱共享,按账号id分组,取最大日期的余额合计 QFilter strongSameYearFilter = new QFilter("bizdate", QCP.equals, shjh_sameyeara)
.and(new QFilter("company.shjh_isshare", QCP.equals, "1"));
setBenchmarkamount(strongSameYearFilter, rowData, true, "同年比较日期");
// 弱共享-同年比较日期
QFilter weakSameYearFilter = new QFilter("bizdate", QCP.equals, shjh_sameyeara)
.and(new QFilter("company.shjh_isshare", QCP.equals, "0"));
setBenchmarkamount(weakSameYearFilter, rowData, false, "同年比较日期");
// 强共享-上年比较日期
QFilter strongPreviousYearFilter = new QFilter("bizdate", QCP.equals, shjh_previousyear)
.and(new QFilter("company.shjh_isshare", QCP.equals, "1"));
setBenchmarkamount(strongPreviousYearFilter, rowData, true, "上年比较日期");
// 弱共享-上年比较日期
QFilter weakPreviousYearFilter = new QFilter("bizdate", QCP.equals, shjh_previousyear)
.and(new QFilter("company.shjh_isshare", QCP.equals, "0"));
setBenchmarkamount(weakPreviousYearFilter, rowData, false, "上年比较日期");
// 理财 // 理财
setLcAmount(shjh_benchmarka,rowData,"基准日期"); setLcAmount(shjh_benchmarka,rowData,"基准日期");
setLcAmount(shjh_sameyeara,rowData,"同年比较日期"); setLcAmount(shjh_sameyeara,rowData,"同年比较日期");