计提报表表头过滤、数据过滤
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();
|
||||
Long orgId=null;
|
||||
String accrualDate=null;
|
||||
Long bankNameId=null;
|
||||
Long bankNumberId=null;
|
||||
List<QFilter> qFilters=new ArrayList<>();
|
||||
qFilters.add(new QFilter("billstatus",QCP.equals,"C"));
|
||||
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());
|
||||
selectFields.append("'").append(accrualDate).append("'").append(FIELDS[12]);
|
||||
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:
|
||||
break;
|
||||
}
|
||||
|
|
@ -74,6 +82,12 @@ public class RegularListReport extends AbstractReportListDataPlugin implements P
|
|||
if (orgId!=null){
|
||||
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");
|
||||
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();
|
||||
|
||||
//过滤----起始日<=计提日<=截至日到截止日年底
|
||||
//过滤1----起始日<=计提日<=截至日期所在年年末
|
||||
//起始日:shjh_depositstartdate
|
||||
//截止日:shjh_depositstopdate
|
||||
// 转换为字符串格式,用于filter表达式(如果需要)
|
||||
// 获取计提日(假设已从queryParam中获取)
|
||||
Date filterDate = param.getFilter().getDate("shjh_filterdate");
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String filterDateStr = sdf.format(filterDate);
|
||||
dataSet=dataSet.filter("shjh_depositstartdate <= to_date('" + filterDateStr + "','yyyy-MM-dd') " +
|
||||
"and to_date('" + filterDateStr + "','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的字段少了一个,需要通过addField加回来,为之后union做准备
|
||||
|
|
|
|||
Loading…
Reference in New Issue