示例#1
0
        public void ExportExcel(HttpContext context)
        {
            BalanceOrderQuery dataQuery     = this.GetDataQuery(context);
            DbQueryResult     orders4Report = BalanceOrderHelper.GetOrders4Report(dataQuery);
            string            empty         = string.Empty;

            empty += "下单时间";
            empty += ",订单编号";
            empty += ",支付方式";
            empty += ",供货总价";
            empty += ",运费";
            empty += ",结算金额\r\n";
            foreach (DataRow row in orders4Report.Data.Rows)
            {
                empty += row["OrderDate"];
                empty  = empty + "," + row["OrderId"];
                empty  = empty + "," + row["PaymentType"];
                empty  = empty + "," + row["OrderCostPrice"];
                empty  = empty + "," + row["Freight"];
                empty  = empty + "," + (row["Freight"].ToDecimal(0) + row["OrderCostPrice"].ToDecimal(0)) + "\r\n";
            }
            context.Response.Clear();
            context.Response.Buffer  = false;
            context.Response.Charset = "GB2312";
            context.Response.AppendHeader("Content-Disposition", "attachment;filename=OrderBalance" + (dataQuery.IsBalanceOver ? "Over" : "") + ".csv");
            context.Response.ContentEncoding = Encoding.GetEncoding("GB2312");
            context.Response.ContentType     = "application/octet-stream";
            context.Response.Write(empty);
            context.Response.End();
        }
示例#2
0
        private void ExportToExcelBalanceOrder(HttpContext context)
        {
            BalanceOrderQuery balanceOrderQuery = this.GetBalanceOrderQuery(context);

            balanceOrderQuery.PageIndex = 1;
            balanceOrderQuery.PageSize  = 2147483647;
            DbQueryResult orders4Report = BalanceOrderHelper.GetOrders4Report(balanceOrderQuery);
            string        empty         = string.Empty;

            empty += "下单时间";
            empty += ",订单编号";
            empty += ",支付方式";
            empty += ",供货总价";
            empty += ",运费";
            empty += ",结算金额\r\n";
            foreach (DataRow row in orders4Report.Data.Rows)
            {
                empty += row["OrderDate"];
                empty  = empty + "," + row["OrderId"] + "\t";
                empty  = empty + "," + row["PaymentType"];
                empty  = empty + "," + row["OrderCostPrice"];
                empty  = empty + "," + row["Freight"];
                empty  = empty + "," + (row["Freight"].ToDecimal(0) + row["OrderCostPrice"].ToDecimal(0)) + "\r\n";
            }
            context.Response.Clear();
            context.Response.Buffer  = false;
            context.Response.Charset = "GB2312";
            context.Response.AppendHeader("Content-Disposition", "attachment;filename=OrderBalance.csv");
            context.Response.ContentEncoding = Encoding.GetEncoding("GB2312");
            context.Response.ContentType     = "application/ms-excel";
            context.Response.Write(empty);
            context.Response.End();
        }
示例#3
0
        public DbQueryResult GetOrders4Report(BalanceOrderQuery query)
        {
            DbQueryResult dbQueryResult = new DbQueryResult();
            StringBuilder stringBuilder = new StringBuilder("select * from Hishop_Orders where 1=1 ");

            stringBuilder.AppendFormat(" and SupplierId={0} and IsBalanceOver={1} and ParentOrderId<>'-1'", query.SupplierId, query.IsBalanceOver ? 1 : 0);
            if (!query.IsBalanceOver)
            {
                stringBuilder.AppendFormat(" And OrderStatus={0}", 5);
            }
            if (query.StartDate.HasValue)
            {
                stringBuilder.AppendFormat(" AND datediff(dd,'{0}',OrderDate)>=0", DataHelper.GetSafeDateTimeFormat(query.StartDate.Value));
            }
            if (query.EndDate.HasValue)
            {
                stringBuilder.AppendFormat(" AND datediff(dd,'{0}',OrderDate)<=0", DataHelper.GetSafeDateTimeFormat(query.EndDate.Value));
            }
            if (!string.IsNullOrEmpty(query.OrderId))
            {
                stringBuilder.AppendFormat(" AND OrderId = '{0}'", DataHelper.CleanSearchString(query.OrderId));
            }
            DbCommand sqlStringCommand = base.database.GetSqlStringCommand(stringBuilder.ToString());

            using (IDataReader reader = base.database.ExecuteReader(sqlStringCommand))
            {
                dbQueryResult.Data = DataHelper.ConverDataReaderToDataTable(reader);
            }
            return(dbQueryResult);
        }
示例#4
0
        private void GetBalanceOrder(HttpContext context)
        {
            BalanceOrderQuery balanceOrderQuery = this.GetBalanceOrderQuery(context);
            DataGridViewModel <Dictionary <string, object> > balanceOrders = this.GetBalanceOrders(balanceOrderQuery);
            string s = base.SerializeObjectToJson(balanceOrders);

            context.Response.Write(s);
            context.Response.End();
        }
示例#5
0
        public void GetList(HttpContext context)
        {
            BalanceOrderQuery dataQuery = this.GetDataQuery(context);
            DataGridViewModel <Dictionary <string, object> > dataList = this.GetDataList(dataQuery);
            string s = base.SerializeObjectToJson(dataList);

            context.Response.Write(s);
            context.Response.End();
        }
示例#6
0
        private BalanceOrderQuery GetDataQuery(HttpContext context)
        {
            BalanceOrderQuery balanceOrderQuery = new BalanceOrderQuery();

            balanceOrderQuery.SupplierId    = base.GetIntParam(context, "SupplierId", false).Value;
            balanceOrderQuery.StartDate     = base.GetDateTimeParam(context, "StartDate");
            balanceOrderQuery.EndDate       = base.GetDateTimeParam(context, "EndDate");
            balanceOrderQuery.OrderId       = base.GetParameter(context, "OrderId", true);
            balanceOrderQuery.IsBalanceOver = (base.GetIntParam(context, "BalanceOver", false) != 0);
            balanceOrderQuery.PageIndex     = base.CurrentPageIndex;
            balanceOrderQuery.PageSize      = base.CurrentPageSize;
            return(balanceOrderQuery);
        }
示例#7
0
        private DataGridViewModel <Dictionary <string, object> > GetBalanceOrders(BalanceOrderQuery query)
        {
            DataGridViewModel <Dictionary <string, object> > dataGridViewModel = new DataGridViewModel <Dictionary <string, object> >();
            string empty = string.Empty;

            if (query != null)
            {
                DbQueryResult orders = BalanceOrderHelper.GetOrders(query);
                List <Dictionary <string, object> > list = DataHelper.DataTableToDictionary(orders.Data);
                foreach (Dictionary <string, object> item in list)
                {
                    OrderInfo orderInfo = item.ToObject <OrderInfo>();
                    item.Add("OrderStatusText", OrderHelper.GetOrderStatusText(orderInfo.OrderStatus, orderInfo.ShippingModeId, orderInfo.IsConfirm, orderInfo.Gateway, 0, orderInfo.PreSaleId, orderInfo.DepositDate, false, orderInfo.ItemStatus, OrderType.NormalOrder));
                }
                dataGridViewModel.rows  = list;
                dataGridViewModel.total = orders.TotalRecords;
            }
            return(dataGridViewModel);
        }
示例#8
0
        private DataGridViewModel <Dictionary <string, object> > GetDataList(BalanceOrderQuery query)
        {
            DataGridViewModel <Dictionary <string, object> > dataGridViewModel = new DataGridViewModel <Dictionary <string, object> >();

            if (query != null)
            {
                DbQueryResult orders = BalanceOrderHelper.GetOrders(query);
                dataGridViewModel.rows  = new List <Dictionary <string, object> >();
                dataGridViewModel.total = orders.TotalRecords;
                foreach (DataRow row in orders.Data.Rows)
                {
                    Dictionary <string, object> dictionary = DataHelper.DataRowToDictionary(row);
                    dictionary.Add("SettlementAmount", dictionary["OrderCostPrice"].ToDecimal(0) + dictionary["Freight"].ToDecimal(0));
                    dictionary.Add("OrderStatusText", OrderHelper.GetOrderStatusText((OrderStatus)dictionary["OrderStatus"], dictionary["ShippingModeId"].ToInt(0), dictionary["IsConfirm"].ToBool(), dictionary["Gateway"].ToString(), dictionary["PaymentTypeId"].ToInt(0), dictionary["PreSaleId"].ToInt(0), dictionary["DepositDate"].ToDateTime(), false, OrderItemStatus.Nomarl, OrderType.NormalOrder));
                    dataGridViewModel.rows.Add(dictionary);
                }
            }
            return(dataGridViewModel);
        }
示例#9
0
        public DbQueryResult GetOrders(BalanceOrderQuery query)
        {
            StringBuilder stringBuilder = new StringBuilder($"SupplierId={query.SupplierId} and IsBalanceOver={(query.IsBalanceOver ? 1 : 0)} and ParentOrderId<>'-1'");

            if (!query.IsBalanceOver)
            {
                stringBuilder.AppendFormat(" And (OrderStatus={0} or (OrderStatus={1} and ShippingDate is not null))", 5, 4);
            }
            if (query.StartDate.HasValue)
            {
                stringBuilder.AppendFormat(" AND datediff(dd,'{0}',OrderDate)>=0", DataHelper.GetSafeDateTimeFormat(query.StartDate.Value));
            }
            if (query.EndDate.HasValue)
            {
                stringBuilder.AppendFormat(" AND datediff(dd,'{0}',OrderDate)<=0", DataHelper.GetSafeDateTimeFormat(query.EndDate.Value));
            }
            if (!string.IsNullOrEmpty(query.OrderId))
            {
                stringBuilder.AppendFormat(" AND OrderId = '{0}'", DataHelper.CleanSearchString(query.OrderId));
            }
            return(DataHelper.PagingByRownumber(query.PageIndex, query.PageSize, query.SortBy, query.SortOrder, query.IsCount, "Hishop_Orders", "OrderDate", stringBuilder.ToString(), "*,(OrderId+ISNULL(PayRandCode,'')) AS PayOrderId"));
        }
示例#10
0
 public static DbQueryResult GetOrders(BalanceOrderQuery queryInfo)
 {
     return(new BalanceOrderDao().GetOrders(queryInfo));
 }
示例#11
0
        private BalanceOrderQuery GetBalanceOrderQuery(HttpContext context)
        {
            int               num               = 1;
            int               num2              = 10;
            string            empty             = string.Empty;
            DateTime?         startDate         = null;
            DateTime?         endDate           = null;
            int               num3              = 0;
            BalanceOrderQuery balanceOrderQuery = new BalanceOrderQuery();

            empty = context.Request["BalanceOver"];
            if (!string.IsNullOrWhiteSpace(empty))
            {
                try
                {
                    num3 = int.Parse(empty);
                }
                catch
                {
                    num3 = 0;
                }
            }
            empty = context.Request["DateStart"];
            if (!string.IsNullOrWhiteSpace(empty))
            {
                try
                {
                    startDate = DateTime.Parse(empty);
                }
                catch
                {
                    startDate = null;
                }
            }
            empty = context.Request["EndDate"];
            if (!string.IsNullOrWhiteSpace(empty))
            {
                try
                {
                    endDate = DateTime.Parse(empty);
                }
                catch
                {
                    endDate = null;
                }
            }
            num = base.GetIntParam(context, "page", false).Value;
            if (num < 1)
            {
                num = 1;
            }
            num2 = base.GetIntParam(context, "rows", false).Value;
            if (num2 < 1)
            {
                num2 = 10;
            }
            balanceOrderQuery.IsBalanceOver = (num3 != 0);
            balanceOrderQuery.OrderId       = context.Request["OrderId"];
            balanceOrderQuery.StartDate     = startDate;
            balanceOrderQuery.EndDate       = endDate;
            balanceOrderQuery.PageSize      = num2;
            balanceOrderQuery.PageIndex     = num;
            balanceOrderQuery.SupplierId    = this.CurrentManager.StoreId;
            return(balanceOrderQuery);
        }