QFilter qFilter = this.buildReportQFilter(AccessProcessConstant.RECOMMEND_KEY, queryParam.getFilter());
String selectField = "id,billno xxgs_strawbillno,xxgs_supplier.number xxgs_suppliercode,xxgs_supplier.number xxgs_suppliername,org.name orgname,xxgs_productinfo.xxgs_platetype xxgs_platformtype,xxgs_productinfo.xxgs_qualifications xxgs_category,billstatus xxgs_strawbillstatus,creator xxgs_strawcreater,createtime xxgs_strawcreatedate,auditdate xxgs_strawcompletedate,xxgs_capabilityasses xxgs_strawisassess,xxgs_trialinstallrepair xxgs_strawisrepair";
DataSet dataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), AccessProcessConstant.RECOMMEND_KEY, selectField, qFilter.toArray(), "createtime");
if (!dataSet.isEmpty()) {
DataType[] fieldDataTypeArr = dataSet.getRowMeta().getDataTypes();
String[] fieldNameArr = dataSet.getRowMeta().getFieldNames();
DynamicObjectCollection dynamicObjectCollection = ORM.create().toPlainDynamicObjectCollection(dataSet);
if (CollectionUtils.isNotEmpty(dynamicObjectCollection)) {
// 尤其注意这个地方coll的构造,好多人都没有写出来。另外这个地方也不是太友好
Collection<Object[]> coll = Lists.newArrayList();
for (DynamicObject itemObj : dynamicObjectCollection) {
Object[] objArr = new Object[fieldDataTypeArr.length];
objArr[0] = itemObj.getLong("id");
objArr[1] = itemObj.getString("xxgs_strawbillno");
objArr[2] = itemObj.getString("xxgs_suppliercode");
objArr[3] = itemObj.getString("xxgs_suppliername");
objArr[4] = itemObj.getString("orgname");
objArr[5] = itemObj.getLong("xxgs_platformtype");
objArr[6] = itemObj.getLong("xxgs_category");
objArr[7] = itemObj.getString("xxgs_strawbillstatus");
objArr[8] = itemObj.getLong("xxgs_strawcreater");
objArr[9] = itemObj.getDate("xxgs_strawcreatedate");
objArr[10] = itemObj.getDate("xxgs_strawcompletedate");
objArr[11] = itemObj.getString("xxgs_strawisassess");
objArr[12] = itemObj.getString("xxgs_strawisrepair");
coll.add(objArr);
}
RowMeta rowMeta = RowMetaFactory.createRowMeta(fieldNameArr, fieldDataTypeArr);
CollectionInput inputs = new CollectionInput(rowMeta, coll);
return Algo.create(this.getClass().getName()).createDataSet(inputs);
}
}
推荐阅读