计提报表表头过滤、数据过滤
This commit is contained in:
parent
88d1b698db
commit
3257acbe93
|
|
@ -56,6 +56,8 @@ public class RegularListReport extends AbstractReportListDataPlugin implements P
|
||||||
List<FilterItemInfo> filterItems = param.getFilter().getFilterItems();
|
List<FilterItemInfo> filterItems = param.getFilter().getFilterItems();
|
||||||
Long orgId=null;
|
Long orgId=null;
|
||||||
String accrualDate=null;
|
String accrualDate=null;
|
||||||
|
Long bankNameId=null;
|
||||||
|
Long bankNumberId=null;
|
||||||
List<QFilter> qFilters=new ArrayList<>();
|
List<QFilter> qFilters=new ArrayList<>();
|
||||||
qFilters.add(new QFilter("billstatus",QCP.equals,"C"));
|
qFilters.add(new QFilter("billstatus",QCP.equals,"C"));
|
||||||
for (FilterItemInfo filterItem : filterItems) {
|
for (FilterItemInfo filterItem : filterItems) {
|
||||||
|
|
@ -67,6 +69,12 @@ public class RegularListReport extends AbstractReportListDataPlugin implements P
|
||||||
accrualDate=(filterItem.getDate()==null) ? null:new SimpleDateFormat("yyyy-MM-dd").format(filterItem.getDate());
|
accrualDate=(filterItem.getDate()==null) ? null:new SimpleDateFormat("yyyy-MM-dd").format(filterItem.getDate());
|
||||||
selectFields.append("'").append(accrualDate).append("'").append(FIELDS[12]);
|
selectFields.append("'").append(accrualDate).append("'").append(FIELDS[12]);
|
||||||
break;
|
break;
|
||||||
|
case KEY_FILTER_BANK_NAME:
|
||||||
|
bankNameId=(filterItem.getValue()==null) ? null: (Long) ((DynamicObject)filterItem.getValue()).getPkValue();
|
||||||
|
break;
|
||||||
|
case KEY_FILTER_BANK_NUM:
|
||||||
|
bankNumberId=(filterItem.getValue()==null) ? null: (Long) ((DynamicObject)filterItem.getValue()).getPkValue();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -74,6 +82,12 @@ public class RegularListReport extends AbstractReportListDataPlugin implements P
|
||||||
if (orgId!=null){
|
if (orgId!=null){
|
||||||
qFilters.add(new QFilter("org", QCP.equals,orgId));
|
qFilters.add(new QFilter("org", QCP.equals,orgId));
|
||||||
}
|
}
|
||||||
|
if (bankNameId!=null){
|
||||||
|
qFilters.add(new QFilter("finorginfo", QCP.equals,bankNameId));
|
||||||
|
}
|
||||||
|
if (bankNumberId!=null){
|
||||||
|
qFilters.add(new QFilter("settleaccount", QCP.equals,bankNumberId));
|
||||||
|
}
|
||||||
//定期存款处理
|
//定期存款处理
|
||||||
selectFields.append(",").append("id");
|
selectFields.append(",").append("id");
|
||||||
DataSet dataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "cim_deposit", selectFields.toString(), qFilters.toArray(new QFilter[]{}), null);
|
DataSet dataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "cim_deposit", selectFields.toString(), qFilters.toArray(new QFilter[]{}), null);
|
||||||
|
|
@ -84,17 +98,22 @@ public class RegularListReport extends AbstractReportListDataPlugin implements P
|
||||||
//组合
|
//组合
|
||||||
dataSet = dataSet.join(deaDataSet, JoinType.LEFT).on("id","sourcebillid").select(new String[]{"shjh_orgname","shjh_bankname","shjh_bankaccount","shjh_currency","shjh_depositstartdate","shjh_depositstopdate","shjh_term","shjh_interestrate","shjh_basis","shjh_frequency","shjh_amount","shjh_depositmodel","shjh_accrualdate"},new String[]{"shjh_redeemdate","shjh_realrevenue"}).finish();
|
dataSet = dataSet.join(deaDataSet, JoinType.LEFT).on("id","sourcebillid").select(new String[]{"shjh_orgname","shjh_bankname","shjh_bankaccount","shjh_currency","shjh_depositstartdate","shjh_depositstopdate","shjh_term","shjh_interestrate","shjh_basis","shjh_frequency","shjh_amount","shjh_depositmodel","shjh_accrualdate"},new String[]{"shjh_redeemdate","shjh_realrevenue"}).finish();
|
||||||
|
|
||||||
//过滤----起始日<=计提日<=截至日到截止日年底
|
//过滤1----起始日<=计提日<=截至日期所在年年末
|
||||||
//起始日:shjh_depositstartdate
|
//起始日:shjh_depositstartdate
|
||||||
//截止日:shjh_depositstopdate
|
//截止日:shjh_depositstopdate
|
||||||
// 转换为字符串格式,用于filter表达式(如果需要)
|
|
||||||
// 获取计提日(假设已从queryParam中获取)
|
|
||||||
Date filterDate = param.getFilter().getDate("shjh_filterdate");
|
Date filterDate = param.getFilter().getDate("shjh_filterdate");
|
||||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
String filterDateStr = sdf.format(filterDate);
|
String filterDateStr = sdf.format(filterDate);
|
||||||
dataSet=dataSet.filter("shjh_depositstartdate <= to_date('" + filterDateStr + "','yyyy-MM-dd') " +
|
dataSet=dataSet.filter("shjh_depositstartdate <= to_date('" + filterDateStr + "','yyyy-MM-dd') " +
|
||||||
"and to_date('" + filterDateStr + "','yyyy-MM-dd') <= " +
|
"and to_date('" + filterDateStr + "','yyyy-MM-dd') <= " +
|
||||||
"to_date(concat(year(shjh_depositstopdate),'-12-31'),'yyyy-MM-dd')");
|
"to_date(concat(year(shjh_depositstopdate),'-12-31'),'yyyy-MM-dd')");
|
||||||
|
|
||||||
|
//过滤2----计提日<=解活日期所在年年末
|
||||||
|
//解活日期:shjh_redeemdate
|
||||||
|
dataSet = dataSet.filter(
|
||||||
|
"to_date('" + filterDateStr + "','yyyy-MM-dd') <= " +
|
||||||
|
"to_date(concat(year(shjh_redeemdate),'-12-31'),'yyyy-MM-dd')");
|
||||||
|
|
||||||
//分组小计
|
//分组小计
|
||||||
DataSet groupDataSet = dataSet.groupBy(new String[]{FIELDS[0]}).sum(FIELDS[10]).finish();
|
DataSet groupDataSet = dataSet.groupBy(new String[]{FIELDS[0]}).sum(FIELDS[10]).finish();
|
||||||
// 由于分组计算之后,Dataset的字段少了一个,需要通过addField加回来,为之后union做准备
|
// 由于分组计算之后,Dataset的字段少了一个,需要通过addField加回来,为之后union做准备
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue