public QueryResult QueryInvoiceDetailReport(InvoiceDetailReportQueryFilter request)
        {
            int totalCount;
            var dataTable = ObjectFactory <IInvoiceReportQueryDA> .Instance.InvoiceDetailReportQuery(request, out totalCount);

            return(new QueryResult()
            {
                Data = dataTable,
                TotalCount = totalCount
            });
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        /// <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);
            });
        }
Пример #6
0
        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);
                }
            }
        }