计提报表优化3.0
This commit is contained in:
parent
feafef3c15
commit
82acdb36cb
|
|
@ -3,6 +3,7 @@ package shjh.jhzj7.fi.fi.plugin.report;
|
|||
import kd.bos.algo.DataSet;
|
||||
import kd.bos.algo.JoinType;
|
||||
import kd.bos.dataentity.entity.DynamicObject;
|
||||
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||
import kd.bos.entity.report.AbstractReportListDataPlugin;
|
||||
import kd.bos.entity.report.FilterItemInfo;
|
||||
import kd.bos.entity.report.ReportQueryParam;
|
||||
|
|
@ -54,39 +55,39 @@ public class RegularListReport extends AbstractReportListDataPlugin implements P
|
|||
selectFields.append(DEPOSIT[0]).append(".name").append(" as ").append(FIELDS[0]).append(",");
|
||||
assembleSQL(selectFields);
|
||||
List<FilterItemInfo> filterItems = param.getFilter().getFilterItems();
|
||||
Long orgId=null;
|
||||
List<Long> orgIds =new ArrayList<>();
|
||||
List<Long> bankNameIds =new ArrayList<>();
|
||||
List<Long> bankNumberIds =new ArrayList<>();
|
||||
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) {
|
||||
switch (filterItem.getPropName()){
|
||||
case KEY_FILTER_ORG:
|
||||
orgId=(filterItem.getValue()==null) ? null: (Long) ((DynamicObject)filterItem.getValue()).getPkValue();
|
||||
this.getMultipleFilter(filterItem, orgIds);
|
||||
break;
|
||||
case KEY_FILTER_DATE:
|
||||
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();
|
||||
this.getMultipleFilter(filterItem, bankNameIds);
|
||||
break;
|
||||
case KEY_FILTER_BANK_NUM:
|
||||
bankNumberId=(filterItem.getValue()==null) ? null: (Long) ((DynamicObject)filterItem.getValue()).getPkValue();
|
||||
this.getMultipleFilter(filterItem, bankNumberIds);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (orgId!=null){
|
||||
qFilters.add(new QFilter("org", QCP.equals,orgId));
|
||||
if (orgIds.size()!=0){
|
||||
qFilters.add(new QFilter("org", QCP.in,orgIds));
|
||||
}
|
||||
if (bankNameId!=null){
|
||||
qFilters.add(new QFilter("finorginfo", QCP.equals,bankNameId));
|
||||
if (bankNameIds.size()!=0){
|
||||
qFilters.add(new QFilter("finorginfo", QCP.in,bankNameIds));
|
||||
}
|
||||
if (bankNumberId!=null){
|
||||
qFilters.add(new QFilter("settleaccount", QCP.equals,bankNumberId));
|
||||
if (bankNumberIds.size()!=0){
|
||||
qFilters.add(new QFilter("settleaccount", QCP.in,bankNumberIds));
|
||||
}
|
||||
//定期存款处理
|
||||
selectFields.append(",").append("id");
|
||||
|
|
@ -168,4 +169,21 @@ public class RegularListReport extends AbstractReportListDataPlugin implements P
|
|||
selectFields.append(RegularListReport.DEPOSIT[i]).append(" as ").append(RegularListReport.FIELDS[i]).append(",");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取报表多选基础资料过滤数据
|
||||
* @param filterItem
|
||||
* @param bankNameIds
|
||||
* @return
|
||||
*/
|
||||
private List<Long> getMultipleFilter(FilterItemInfo filterItem,List<Long> bankNameIds){
|
||||
DynamicObjectCollection value = (DynamicObjectCollection) filterItem.getValue();
|
||||
if (value!=null && value.size()!=0){
|
||||
for (DynamicObject dynamicObject : value) {
|
||||
Long pkValue = (Long) dynamicObject.getPkValue();
|
||||
bankNameIds.add(pkValue);
|
||||
}
|
||||
}
|
||||
return bankNameIds;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue