public QueryResult QueryInvoiceDetailReport(InvoiceDetailReportQueryFilter request) { int totalCount; var dataTable = ObjectFactory <IInvoiceReportQueryDA> .Instance.InvoiceDetailReportQuery(request, out totalCount); return(new QueryResult() { Data = dataTable, TotalCount = totalCount }); }
/// <summary> /// 发票明细表导出 /// </summary> /// <param name="queryVM"></param> /// <param name="columnSet"></param> public void ExportInvoiceDetailReportExcelFile(InvoiceDetailReportQueryVM queryVM, ColumnSet[] columnSet) { InvoiceDetailReportQueryFilter queryFilter = queryVM.ConvertVM <InvoiceDetailReportQueryVM, InvoiceDetailReportQueryFilter>(); queryFilter.PagingInfo = new PagingInfo { PageSize = ECCentral.Portal.Basic.ConstValue.MaxRowCountLimit, PageIndex = 0, SortBy = "" }; string relativeUrl = "/InvoiceService/InvoiceReport/InvoiceDetailReport"; restClient.ExportFile(relativeUrl, queryFilter, columnSet); }
/// <summary> /// 发票明细表查询 /// </summary> public DataTable InvoiceDetailReportQuery(InvoiceDetailReportQueryFilter filter, out int totalCount) { DataTable result = null; PagingInfoEntity pagingInfo = new PagingInfoEntity(); if (filter.PagingInfo != null) { pagingInfo.MaximumRows = filter.PagingInfo.PageSize; pagingInfo.StartRowIndex = filter.PagingInfo.PageIndex * filter.PagingInfo.PageSize; pagingInfo.SortField = filter.PagingInfo.SortBy; } string sqlNameInConfig; if (filter.OrderType == "SO") { sqlNameInConfig = "QueryInvoiceDetailReport4SO"; } else if (filter.OrderType == "RO") { sqlNameInConfig = "QueryInvoiceDetailReport4RO"; } else if (filter.OrderType == "SHIFT") { sqlNameInConfig = "QueryInvoiceDetailReport4Shift"; } else { sqlNameInConfig = "QueryInvoiceDetailReport4All"; } CustomDataCommand dataCommand = DataCommandManager.CreateCustomDataCommandFromConfig(sqlNameInConfig); using (DynamicQuerySqlBuilder sqlBuilder = new DynamicQuerySqlBuilder( dataCommand.CommandText, dataCommand, pagingInfo, "a.OrderID DESC")) { AddParameter4InvoiceDetailReportQuery(filter, sqlBuilder); dataCommand.CommandText = sqlBuilder.BuildQuerySql(); string suffix = GetStockSuffix(filter.StockSysNo.Value); dataCommand.CommandText = dataCommand.CommandText .Replace("Invoice_detail", "Invoice_detail_" + suffix) .Replace("Invoice_Result", "Invoice_Result_" + suffix) .Replace("Invoice_TrackingNumber", "Invoice_TrackingNumber_" + suffix) + " ORDER BY OrderID "; result = dataCommand.ExecuteDataTable("InvoiceType", "Invoice", "InvoiceDetailReportInvoiceType"); totalCount = Convert.ToInt32(dataCommand.GetParameterValue("@TotalCount")); } return(result); }
public void Test_InvoiceDetailReportQuery() { int totalCount; InvoiceDetailReportQueryFilter filter = new InvoiceDetailReportQueryFilter(); filter.PagingInfo = new QueryFilter.Common.PagingInfo(); filter.PagingInfo.PageIndex = 0; filter.PagingInfo.PageSize = 50; filter.PagingInfo.SortBy = null; filter.OrderType = "SO"; filter.StockSysNo = 51; filter.OrderID = "10149481"; DataTable dt = ObjectFactory <IInvoiceReportQueryDA> .Instance.InvoiceDetailReportQuery(filter, out totalCount); }
/// <summary> /// 发票明细报表查询 /// </summary> public void QueryInvoiceDetailReport(InvoiceDetailReportQueryVM queryVM, int pageSize, int pageIndex, string sortField, Action <dynamic> callback) { InvoiceDetailReportQueryFilter filter = queryVM.ConvertVM <InvoiceDetailReportQueryVM, InvoiceDetailReportQueryFilter>(); filter.PagingInfo = new PagingInfo() { PageIndex = pageIndex, PageSize = pageSize, SortBy = sortField }; string relativeUrl = "/InvoiceService/InvoiceReport/InvoiceDetailReport"; restClient.QueryDynamicData(relativeUrl, filter, (obj, args) => { if (args.FaultsHandle()) { return; } callback(args.Result); }); }
private void AddParameter4InvoiceDetailReportQuery(InvoiceDetailReportQueryFilter filter, DynamicQuerySqlBuilder sqlBuilder) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND , "OutTime" , DbType.DateTime , "@OutDateFrom" , QueryConditionOperatorType.MoreThanOrEqual , filter.OutDateFrom); if (filter.OutDateTo.HasValue) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND , "OutTime" , DbType.DateTime , "@OutDateTo" , QueryConditionOperatorType.LessThanOrEqual , filter.OutDateTo.Value.AddDays(1).AddMinutes(-1)); } sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND , "InvoiceDate" , DbType.DateTime , "@InvoiceDateFrom" , QueryConditionOperatorType.MoreThanOrEqual , filter.InvoiceDateFrom); if (filter.InvoiceDateTo.HasValue) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND , "InvoiceDate" , DbType.DateTime , "@InvoiceDateTo" , QueryConditionOperatorType.LessThanOrEqual , filter.InvoiceDateTo.Value.AddDays(1).AddMinutes(-1)); } if (!string.IsNullOrEmpty(filter.OrderID)) { List <string> orderIDList = new List <string>(); foreach (string item in filter.OrderID.Split('.')) { orderIDList.Add(item.Trim()); } sqlBuilder.ConditionConstructor.AddInCondition <string>(QueryConditionRelationType.AND, "OrderID", DbType.String, orderIDList); } sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND , "InvoiceNumber" , DbType.String , "@InvoiceNumber" , QueryConditionOperatorType.Like , filter.InvoiceNumber); var customerNameString = filter.CustomerName; int intTry; decimal decimalTry; if (!string.IsNullOrEmpty(customerNameString)) { if (int.TryParse(customerNameString, out intTry) || decimal.TryParse(customerNameString, out decimalTry)) { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND , "CustomerName" , DbType.String , "@CustomerName" , QueryConditionOperatorType.Equal , filter.CustomerName); } else { sqlBuilder.ConditionConstructor.AddCondition(QueryConditionRelationType.AND , "CustomerName" , DbType.String , "@CustomerName" , QueryConditionOperatorType.Like , filter.CustomerName); } } }