服务层获取报表数据

/// <summary>
/// 取客户对账报表数据
/// </summary>
/// <param name="ctx"></param>
/// <param name="fcustid"></param>
/// <param name="dateTime"></param>
public static void getReportData(Context ctx, long fcustid, DateTime dateTime, DynamicObject Customer,long orgID)
{
String nowTime = dateTime.ToString("yyyy-MM-dd", DateTimeFormatInfo.InvariantInfo);//当前日期
ISysReportService sysReporSservice = ServiceFactory.GetSysReportService(ctx);
IPermissionService permissionService = ServiceFactory.GetPermissionService(ctx);
var filterMetadata = FormMetaDataCache.GetCachedFilterMetaData(ctx);//加载字段比较条件元数据。
var reportMetadata = FormMetaDataCache.GetCachedFormMetaData(ctx, "HL_ReconciliationRpt");//加载对账报表元数据。
var reportFilterMetadata = FormMetaDataCache.GetCachedFormMetaData(ctx, "HL_ReconciliationFilter");//加载对账报表过滤条件元数据。
var reportFilterServiceProvider = reportFilterMetadata.BusinessInfo.GetForm().GetFormServiceProvider();
var model = new SysReportFilterModel();
model.SetContext(ctx, reportFilterMetadata.BusinessInfo, reportFilterServiceProvider);
model.FormId = reportFilterMetadata.BusinessInfo.GetForm().Id;
model.FilterObject.FilterMetaData = filterMetadata;
model.InitFieldList(reportMetadata, reportFilterMetadata);
model.GetSchemeList();
//正式FSCHEMEID 5e16dc7adec326
//本地 5e169d3eec7e1e
var entity = model.Load("5e16dc7adec326");//过滤方案的主键值,可通过该SQL语句查询得到:SELECT * FROM T_BAS_FILTERSCHEME
//model.SetValue("FCUSTOMERNAME", fcustid,0);
var filter = model.GetFilterParameter();
//拼接过滤条件
if (!ObjectUtils.IsNullOrEmptyOrWhiteSpace(Customer))
{
//FilterRow FilterRow =
// FilterRow.CompareType = new CompareType();
filter.FilterRows[0].Value = Convert.ToString(Customer["Name"]);
//filter.FilterString =;
if (orgID>0)
{
filter.IsolationOrgList = new List<long>() { orgID };
}
filter.FilterString = "( FCUSTOMERNAME = N'"+ Convert.ToString(Customer["Name"]) + "' )";
// filter.FilterRows.Add(FilterRow);
}
//拼接过滤条件
//if (!ObjectUtils.IsNullOrEmptyOrWhiteSpace(Customer))
//{
// DynamicObject objFilter = new DynamicObject(filter.CustomFilter.DynamicObjectType);
// objFilter["chkscheme"] = false;
// objFilter["FCustID_Id"] = fcustid;
// objFilter["FCUSTID"] = Customer;
// filter.CustomFilter = objFilter;
//}
IRptParams p = new RptParams();
p.FormId = reportFilterMetadata.BusinessInfo.GetForm().Id;
p.StartRow = 1;
p.EndRow = int.MaxValue;//StartRow和EndRow是报表数据分页的起始行数和截至行数,一般取所有数据,所以EndRow取int最大值。
p.FilterParameter = filter;
p.FilterFieldInfo = model.FilterFieldInfo;
p.BaseDataTempTable.AddRange(permissionService.GetBaseDataTempTable(ctx, reportMetadata.BusinessInfo.GetFo
服务层获取报表数据
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



