计提报表表头过滤、数据过滤
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