计提报表优化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.DataSet;
|
||||||
import kd.bos.algo.JoinType;
|
import kd.bos.algo.JoinType;
|
||||||
import kd.bos.dataentity.entity.DynamicObject;
|
import kd.bos.dataentity.entity.DynamicObject;
|
||||||
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
||||||
import kd.bos.entity.report.AbstractReportListDataPlugin;
|
import kd.bos.entity.report.AbstractReportListDataPlugin;
|
||||||
import kd.bos.entity.report.FilterItemInfo;
|
import kd.bos.entity.report.FilterItemInfo;
|
||||||
import kd.bos.entity.report.ReportQueryParam;
|
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(",");
|
selectFields.append(DEPOSIT[0]).append(".name").append(" as ").append(FIELDS[0]).append(",");
|
||||||
assembleSQL(selectFields);
|
assembleSQL(selectFields);
|
||||||
List<FilterItemInfo> filterItems = param.getFilter().getFilterItems();
|
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;
|
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) {
|
||||||
switch (filterItem.getPropName()){
|
switch (filterItem.getPropName()){
|
||||||
case KEY_FILTER_ORG:
|
case KEY_FILTER_ORG:
|
||||||
orgId=(filterItem.getValue()==null) ? null: (Long) ((DynamicObject)filterItem.getValue()).getPkValue();
|
this.getMultipleFilter(filterItem, orgIds);
|
||||||
break;
|
break;
|
||||||
case KEY_FILTER_DATE:
|
case KEY_FILTER_DATE:
|
||||||
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:
|
case KEY_FILTER_BANK_NAME:
|
||||||
bankNameId=(filterItem.getValue()==null) ? null: (Long) ((DynamicObject)filterItem.getValue()).getPkValue();
|
this.getMultipleFilter(filterItem, bankNameIds);
|
||||||
break;
|
break;
|
||||||
case KEY_FILTER_BANK_NUM:
|
case KEY_FILTER_BANK_NUM:
|
||||||
bankNumberId=(filterItem.getValue()==null) ? null: (Long) ((DynamicObject)filterItem.getValue()).getPkValue();
|
this.getMultipleFilter(filterItem, bankNumberIds);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (orgId!=null){
|
if (orgIds.size()!=0){
|
||||||
qFilters.add(new QFilter("org", QCP.equals,orgId));
|
qFilters.add(new QFilter("org", QCP.in,orgIds));
|
||||||
}
|
}
|
||||||
if (bankNameId!=null){
|
if (bankNameIds.size()!=0){
|
||||||
qFilters.add(new QFilter("finorginfo", QCP.equals,bankNameId));
|
qFilters.add(new QFilter("finorginfo", QCP.in,bankNameIds));
|
||||||
}
|
}
|
||||||
if (bankNumberId!=null){
|
if (bankNumberIds.size()!=0){
|
||||||
qFilters.add(new QFilter("settleaccount", QCP.equals,bankNumberId));
|
qFilters.add(new QFilter("settleaccount", QCP.in,bankNumberIds));
|
||||||
}
|
}
|
||||||
//定期存款处理
|
//定期存款处理
|
||||||
selectFields.append(",").append("id");
|
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(",");
|
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