Ejemplo n.º 1
0
        public ActionResult GetList(PromotionQueryModel model, int pageSize, int pageIndex)
        {
            if (model.PromotionStatusType == -1)
            {
                model.PromotionStatus = null;
            }
            else if (model.PromotionStatusType == 1)
            {
                model.PromotionStatus = new[] { 1, 2, 3 };
            }
            else
            {
                model.PromotionStatus = new[] { model.PromotionStatusType };
            }
            PageOf <PromotionInfoModel> result;

            try
            {
                result = promotionBLL.GetPromotionList(model, pageSize, pageIndex);
            }
            catch (Exception ext)
            {
                LogHelper.Error(ext);
                result = new PageOf <PromotionInfoModel>();
            }
            return(View(result));
        }
Ejemplo n.º 2
0
 public PageOfPostsViewModel(PageOf<IFrontMatter, FrontMatterSearchCriteria> entity, IMarkupProcessorFactory markupProcessorFactory)
 {
     Count = entity.Count;
     Entities = entity.Entities.Select(e => new PostViewModel(e, markupProcessorFactory)).ToList();
     SearchCriteria = new PostSearchCriteriaViewModel(entity.SearchCriteria);
     TotalCount = entity.TotalCount;
 }
Ejemplo n.º 3
0
 public PageOfPostsViewModel(PageOf <IFrontMatter, FrontMatterSearchCriteria> entity, IMarkupProcessorFactory markupProcessorFactory)
 {
     Count          = entity.Count;
     Entities       = entity.Entities.Select(e => new PostViewModel(e, markupProcessorFactory)).ToList();
     SearchCriteria = new PostSearchCriteriaViewModel(entity.SearchCriteria);
     TotalCount     = entity.TotalCount;
 }
Ejemplo n.º 4
0
        public ActionResult ExportSupplierQueryList(DateTime startTime, DateTime endTime, string accountName, string companyName, int supplierStatus)
        {
            var dtNow = DateTime.Now;

            SupplierQueryModel qm = new SupplierQueryModel()
            {
                AccountName     = accountName,
                CompanyName     = companyName,
                CreateTimeEnd   = endTime,
                CreateTimeStart = startTime,
                SupplierStatus  = supplierStatus,
            };

            PageOf <SupplierAbstractModel> suppliers = null;

            try
            {
                suppliers = supplierBLL.GetSupplierList(qm, int.MaxValue, 1);

                Response.Clear();
                Response.Buffer  = true;
                Response.Charset = "GB2312";
                Response.AppendHeader("Content-Disposition", "attachment;filename=supplierlist" + System.DateTime.Now.ToString("yyyyMMdd") + ".xls");
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); //设置输出流为简体中文
                Response.ContentType     = "application/ms-excel";                     //设置输出文件类型为excel文件。
                SupplierQueryListToExcel(suppliers.Items);
                Response.End();
            }
            catch (Exception ext)
            {
                LogHelper.Error(ext);
            }

            return(View());
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 編輯中商品
        /// </summary>
        /// <returns></returns>
        public ActionResult EditList(EditListModel model)
        {
            var queryInfo = new AuditProductListQueryInfo();

            queryInfo.SupplierID  = base.CurrentUser.SupplierID;
            queryInfo.BarCode     = model.BarCode.SafeTrim();
            queryInfo.EditType    = model.EditType;
            queryInfo.ProductName = model.ProductName.SafeTrim();
            queryInfo.Sku         = model.Sku.SafeTrim();
            if (model.SkuStatus.HasValue)
            {
                queryInfo.SkuStatus = new[] { model.SkuStatus.Value };
            }
            else
            {
                queryInfo.SkuStatus = new[] { 0, 2 };
            }
            queryInfo.EditTime = model.EditTime;
            var page = new PageDTO()
            {
                PageIndex = model.PageIndex, PageSize = 20
            };

            try
            {
                PageOf <ProductTempModel> dateList = bll.GetAuditProductList(queryInfo, LanguageEnum.SimplifiedChinese, page);
                ViewBag.DataList = dateList;
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
            }
            return(View(model));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 已上傳商品
        /// </summary>
        /// <returns></returns>
        public ActionResult PublishedList(PublishedListModel model)
        {
            var queryInfo = new ProductListQueryInfo();

            queryInfo.SupplierID   = base.CurrentUser.SupplierID;
            queryInfo.BarCode      = model.BarCode.SafeTrim();
            queryInfo.HasInventory = model.HasInventory;
            queryInfo.IsOnSaled    = model.IsOnSaled;
            queryInfo.ProductName  = model.ProductName.SafeTrim();
            queryInfo.Sku          = model.Sku.SafeTrim();
            if (model.SkuStatus.HasValue)
            {
                queryInfo.SkuStatus = new[] { model.SkuStatus.Value };
            }
            else
            {
                queryInfo.SkuStatus = new[] { 1, 3, 4, 5, 6 };
            }
            queryInfo.UploadTime = model.UploadTime;
            var page = new PageDTO()
            {
                PageIndex = model.PageIndex, PageSize = 20
            };

            try
            {
                PageOf <ProductTempModel> dateList = bll.GetProductList(queryInfo, LanguageEnum.SimplifiedChinese, page);
                ViewBag.DataList = dateList;
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
            }
            return(View(model));
        }
Ejemplo n.º 7
0
        public ActionResult InventoryList(InventoryListModel model)
        {
            var queryInfo = new InventoryListQueryInfo();

            queryInfo.SupplierID      = base.CurrentUser.SupplierID;
            queryInfo.ProductName     = model.ProductName.SafeTrim();
            queryInfo.Spu             = model.Spu.SafeTrim();
            queryInfo.Sku             = model.Sku.SafeTrim();
            queryInfo.BarCode         = model.BarCode.SafeTrim();
            queryInfo.SkuStatus       = model.SkuStatus;
            queryInfo.IsLowStockAlarm = model.IsLowStockAlarm;
            var page = new PageDTO()
            {
                PageIndex = model.PageIndex, PageSize = 50
            };

            try
            {
                PageOf <SkuTempModel> dateList = bll.GetSkuInventoryList(queryInfo, LanguageEnum.TraditionalChinese, page);
                ViewBag.DataList = dateList;
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
            }
            return(View(model));
        }
Ejemplo n.º 8
0
        public ActionResult ExportProductInfoList(string startTime, string endTime, string spu, string sku, string productName, int supplierId = 0, int productStatus = -1, int salesTerritory = -1,
                                                  int inventoryStatus = -1, int isOnSales = -1, int fstCagegoryId = 0, int sndCagegoryId = 0, int trdCagegoryId = 0)
        {
            var queryInfo = new ProductAuditingQuyModel();

            if (string.IsNullOrEmpty(startTime) || string.IsNullOrEmpty(endTime))
            {
                queryInfo.CreateTimeStart = DateTime.Now.AddMonths(-3);
                queryInfo.CreateTimeEnd   = DateTime.Now;
            }
            else
            {
                queryInfo.CreateTimeStart = DateTime.Parse(startTime);
                queryInfo.CreateTimeEnd   = DateTime.Parse(endTime);
            }
            queryInfo.Spu             = spu;
            queryInfo.Sku             = sku;
            queryInfo.ProductName     = productName;
            queryInfo.ProductStatus   = productStatus;
            queryInfo.InventoryStatus = inventoryStatus;
            queryInfo.SupplierId      = supplierId;
            queryInfo.IsOnSales       = isOnSales;
            queryInfo.SalesTerritory  = salesTerritory;
            queryInfo.FstCagegoryId   = fstCagegoryId;
            queryInfo.SndCagegoryId   = sndCagegoryId;
            queryInfo.TrdCagegoryId   = trdCagegoryId;

            try
            {
                PageOf <ProductAuditingListModel> dataList = productBll.GetProductList(queryInfo, LanguageEnum.TraditionalChinese, new PagingModel()
                {
                    PageIndex = PageNo, PageSize = int.MaxValue
                });

                Response.Clear();
                Response.Buffer  = true;
                Response.Charset = "GB2312";
                Response.AppendHeader("Content-Disposition", "attachment;filename=ProductInfoList" + System.DateTime.Now.ToString("yyyyMMdd") + ".xls");
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); //设置输出流为简体中文
                Response.ContentType     = "application/ms-excel";                     //设置输出文件类型为excel文件。
                ProductInfotoExcel(dataList.Items);
                Response.End();
            }
            catch (Exception ext)
            {
                LogHelper.Error(ext);
            }

            return(View());
        }
Ejemplo n.º 9
0
        public ActionResult SupplierQueryList(SupplierQueryModel qm)
        {
            PageOf <SupplierAbstractModel> suppliers = null;

            try
            {
                suppliers = supplierBLL.GetSupplierList(qm, this.PageSize, this.PageNo);
            }
            catch (Exception ext)
            {
                LogHelper.Error(ext);
            }

            return(View(suppliers));
        }
Ejemplo n.º 10
0
 public JsonResult UpdateGrid(int pageNumber = 1)
 {
     var data = new PageOf<Student>
                    {
                        Data = new List<Student>
                                   {
                                       new Student{},
                                       new Student{},
                                       new Student{},
                                       new Student{}
                                   },
                                   Paging = new Paging(pageNumber, 4)
                    };
     return Json(data, JsonRequestBehavior.AllowGet);
 }
Ejemplo n.º 11
0
        public ActionResult BrandView(int brandId = 0)
        {
            try
            {
                BrandModel model = supplierBLL.GetBrandById(brandId);

                PageOf <StoreModel> storeList = supplierBLL.GetStoreListByBrandId(brandId, 0, LanguageEnum.TraditionalChinese, int.MaxValue, this.PageNo);

                ViewBag.Brand     = model;
                ViewBag.StoreList = storeList;
                return(View());
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
            }
            return(View());
        }
Ejemplo n.º 12
0
        public ActionResult ProductAuditingList(ProductAuditingQuyModel queryModel)
        {
            PageOf <ProductAuditingListModel> list = null;

            try
            {
                //2繁体
                //list = productBll.GetAuditingProductList(this.PageSize, this.PageNo, 2, queryModel);
                //1简体
                list = productBll.GetAuditingProductList(this.PageSize, this.PageNo, 1, queryModel);
            }
            catch (Exception ext)
            {
                LogHelper.Error(ext);
            }

            return(View(list));
        }
Ejemplo n.º 13
0
        public JsonResult UpdateGrid(int pageNumber = 1)
        {
            var data = new PageOf <Student>
            {
                Data = new List <Student>
                {
                    new Student {
                    },
                    new Student {
                    },
                    new Student {
                    },
                    new Student {
                    }
                },
                Paging = new Paging(pageNumber, 4)
            };

            return(Json(data, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 14
0
        public ActionResult GetPromotionList(PromotionQuery query)
        {
            var promotionList = new PageOf <PromotionListModel>();

            try
            {
                var page = new PageDTO()
                {
                    PageIndex = this.PageNo,
                    PageSize  = this.PageSize
                };

                promotionList = _bll.GetPromotionList(this.CurrentUser.SupplierID, query, page);
            }
            catch (Exception ext)
            {
                LogHelper.Error(ext);
            }

            return(View(promotionList));
        }
Ejemplo n.º 15
0
        public ActionResult ExcportProductAuditingList(DateTime startTime, DateTime endTime, string spu, string sku, string productName,
                                                       int editType, int reportStatus, int supplierid, int salesTerritory)
        {
            var dtNow = DateTime.Now;

            ProductAuditingQuyModel qm = new ProductAuditingQuyModel()
            {
                Spu             = spu,
                Sku             = sku,
                CreateTimeEnd   = endTime,
                CreateTimeStart = startTime,
                EditType        = editType,
                ReportStatus    = reportStatus,
                SupplierId      = supplierid,
                SalesTerritory  = salesTerritory
            };

            PageOf <ProductExportModel> list = null;

            try
            {
                list = productBll.AuditingProductsExport(1, qm);

                Response.Clear();
                Response.Buffer  = true;
                Response.Charset = "GB2312";
                Response.AppendHeader("Content-Disposition", "attachment;filename=declare_customs" + System.DateTime.Now.ToString("yyyyMMdd") + ".xls");
                Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); //设置输出流为简体中文
                Response.ContentType     = "application/ms-excel";                     //设置输出文件类型为excel文件。
                ProductAuditingListToExcel(list.Items);
                Response.End();
            }
            catch (Exception ext)
            {
                LogHelper.Error(ext);
            }

            return(View());
        }
Ejemplo n.º 16
0
        public ActionResult SettlementList(string startTime, string endTime, string orderCode, string settlementCode, int settlementStatus = 0)
        {
            try
            {
                SettlementQueryModel queryInfo = new SettlementQueryModel();

                if (string.IsNullOrEmpty(startTime) || string.IsNullOrEmpty(endTime))
                {
                    queryInfo.StartTime = DateTime.Now.AddMonths(-3);
                    queryInfo.EndTime   = DateTime.Now;
                }
                else
                {
                    queryInfo.StartTime = DateTime.Parse(startTime);
                    queryInfo.EndTime   = DateTime.Parse(endTime);
                }
                queryInfo.OrderCode        = orderCode;
                queryInfo.SettlementCode   = settlementCode;
                queryInfo.SupplierId       = CurrentUser.SupplierID;
                queryInfo.SettlementStatus = settlementStatus;

                ViewBag.QueryInfo = queryInfo;

                PageOf <SettlementOrderInfo> list = settlement.getSettlementList(queryInfo, new PageDTO()
                {
                    PageIndex = PageNo, PageSize = 50
                });

                return(View(list));
            }
            catch (Exception ext)
            {
                LogHelper.Error(ext);
            }

            return(View());
        }
Ejemplo n.º 17
0
        public ActionResult BrandView(int brandId = 0)
        {
            try
            {
                SupplierBrandModel model       = new SupplierBrandModel();
                SupplierBrandBLL   supplierBLL = new SupplierBrandBLL();

                model = supplierBLL.GetBrandById(brandId);
                var page = new PageDTO()
                {
                    PageIndex = PageNo, PageSize = int.MaxValue
                };
                PageOf <StoreModel> storeList = supplierBLL.GetStoreListByBrandId(brandId, 0, LanguageEnum.TraditionalChinese, page);

                ViewBag.Brand     = model;
                ViewBag.StoreList = storeList;
                return(View());
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
            }
            return(View());
        }
Ejemplo n.º 18
0
 public static bool None <T>(this PageOf <T> page, Func <T, bool> predicate) => !page.Any(predicate);
Ejemplo n.º 19
0
 public static PageOf <T> Safe <T>(this PageOf <T> page) => page ?? PageOf <T> .Empty;
Ejemplo n.º 20
0
 public static T Last <T>(this PageOf <T> page) where T : class => page?.Items?.LastOrDefault();
Ejemplo n.º 21
0
 public static bool None <T>(this PageOf <T> page) => !page.Any();
Ejemplo n.º 22
0
 public static bool Any <T>(this PageOf <T> page) => page.Safe().Items.SafeAny();
Ejemplo n.º 23
0
 public static bool Any <T>(this PageOf <T> page, Func <T, bool> predicate) => page.Safe().Items.SafeAny(predicate);
Ejemplo n.º 24
0
 public void zero_results_returns_zero_pages()
 {
     var x = new PageOf<int>(0, 1, 5, new int[0]);
     Assert.That(x.PageCount, Is.EqualTo(0));
 }
Ejemplo n.º 25
0
        /// <summary>
        /// 已上傳商品
        /// </summary>
        /// <returns></returns>
        public ActionResult ProductInfoList(string startTime, string endTime, string spu, string sku, string productName, int supplierId = 0, int productStatus = -1, int salesTerritory = -1,
                                            int inventoryStatus = -1, int isOnSales = -1, int fstCagegoryId = 0, int sndCagegoryId = 0, int trdCagegoryId = 0)
        {
            var queryInfo = new ProductAuditingQuyModel();

            if (string.IsNullOrEmpty(startTime) || string.IsNullOrEmpty(endTime))
            {
                queryInfo.CreateTimeStart = DateTime.Now.AddMonths(-3);
                queryInfo.CreateTimeEnd   = DateTime.Now;
            }
            else
            {
                queryInfo.CreateTimeStart = DateTime.Parse(startTime);
                queryInfo.CreateTimeEnd   = DateTime.Parse(endTime);
            }
            queryInfo.Spu             = spu;
            queryInfo.Sku             = sku;
            queryInfo.ProductName     = productName;
            queryInfo.ProductStatus   = productStatus;
            queryInfo.InventoryStatus = inventoryStatus;
            queryInfo.SupplierId      = supplierId;
            queryInfo.IsOnSales       = isOnSales;
            queryInfo.SalesTerritory  = salesTerritory;
            queryInfo.FstCagegoryId   = fstCagegoryId;
            queryInfo.SndCagegoryId   = sndCagegoryId;
            queryInfo.TrdCagegoryId   = trdCagegoryId;

            ViewBag.QueryInfo = queryInfo;

            PageOf <ProductAuditingListModel> dataList = null;

            try
            {
                var page = new PagingModel()
                {
                    PageIndex = PageNo, PageSize = 50
                };

                ViewBag.FirCategoryId = CategoryBLL.GetChildrenCategories(LanguageEnum.TraditionalChinese, 0, 0);
                List <CategoryModel> second = new List <CategoryModel>();
                if (fstCagegoryId > 0)
                {
                    second = CategoryBLL.GetChildrenCategories(LanguageEnum.TraditionalChinese, 1, fstCagegoryId);
                }
                ViewBag.SndCategoryId = second;

                List <CategoryModel> thrid = new List <CategoryModel>();
                if (sndCagegoryId > 0)
                {
                    thrid = CategoryBLL.GetChildrenCategories(LanguageEnum.TraditionalChinese, 2, sndCagegoryId);
                }
                ViewBag.TrdCategoryId = thrid;

                dataList = productBll.GetProductList(queryInfo, LanguageEnum.TraditionalChinese, page);
            }
            catch (Exception ex)
            {
                LogHelper.Error(ex);
            }
            return(View(dataList));
        }
Ejemplo n.º 26
0
 public void perfectly_divisible_returns_no_partial_page()
 {
     var x = new PageOf<int>(5, 1, 5, new int[0]);
     Assert.That(x.PageCount, Is.EqualTo(1));
 }
Ejemplo n.º 27
0
 public void remainder_adds_a_page()
 {
     var x = new PageOf<int>(6, 1, 5, new int[0]);
     Assert.That(x.PageCount, Is.EqualTo(2));
 }
Ejemplo n.º 28
0
 public void one_result_returns_one_page()
 {
     var x = new PageOf<int>(1, 1, 5, new int[0]);
     Assert.That(x.PageCount, Is.EqualTo(1));
 }
Ejemplo n.º 29
0
        public ActionResult ExportRefundList(string startTime, string endTime, string orderCode, string refundCode, int refundType, int refundStatus = -1)
        {
            RefundQueryInfo queryInfo = new RefundQueryInfo();

            if (string.IsNullOrEmpty(startTime) || string.IsNullOrEmpty(endTime))
            {
                queryInfo.startTime = DateTime.Now.AddMonths(-3);
                queryInfo.endTime   = DateTime.Now;
            }
            else
            {
                queryInfo.startTime = DateTime.Parse(startTime);
                queryInfo.endTime   = DateTime.Parse(endTime);
            }
            queryInfo.orderCode    = orderCode;
            queryInfo.refundStatus = refundStatus;
            queryInfo.refundCode   = refundCode;
            queryInfo.SupplierId   = CurrentUser.SupplierID;

            try
            {
                PageOf <RefundInfoModel> list = bll.GetRefundOrderList(queryInfo, new PageDTO()
                {
                    PageIndex = PageNo, PageSize = int.MaxValue
                }, LanguageEnum.TraditionalChinese, 0);

                var dt = new DataTable();

                dt.Columns.Add("訂單號");
                dt.Columns.Add("買家");
                dt.Columns.Add("退款單號");
                dt.Columns.Add("生成時間");
                dt.Columns.Add("退款類型");
                dt.Columns.Add("SKU");
                dt.Columns.Add("商品名称");
                dt.Columns.Add("商品金額");
                dt.Columns.Add("關稅");
                dt.Columns.Add("退款金額");
                dt.Columns.Add("狀態");

                List <RefundInfoModel> result = list.Items.ToList <RefundInfoModel>();

                result.ForEach(l =>
                {
                    dt.Rows.Add(new object[] {
                        l.OrderCode,
                        l.UserId,
                        l.RefundCode,
                        l.CreateTime.ToString("yyyy-MM-dd"),
                        EnumHelper.GetDescription(l.RefundType, typeof(RefundType)),
                        l.Sku,
                        l.Name,
                        "¥" + l.UnitPrice * l.Quantity,
                        "",
                        "$" + l.TotalAmount,
                        EnumHelper.GetDescription(l.RefundStatus, typeof(RefundStatus))
                    });
                });

                ExcelHelper.ExportByWeb(dt, "退款單列表", "refundlist" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");
            }
            catch (Exception ext)
            {
                LogHelper.Error(ext);
            }

            return(View());
        }
Ejemplo n.º 30
0
        public ActionResult ExportSettlementList(string startTime, string endTime, string companyName, string settlementCode, string orderCode, int settlementStatus)
        {
            var dtNow = DateTime.Now;
            SettlementQueryModel queryInfo = new SettlementQueryModel();

            if (string.IsNullOrEmpty(startTime) || string.IsNullOrEmpty(endTime))
            {
                queryInfo.StartTime = DateTime.Now.AddMonths(-3);
                queryInfo.EndTime   = DateTime.Now;
            }
            else
            {
                queryInfo.StartTime = DateTime.Parse(startTime);
                queryInfo.EndTime   = DateTime.Parse(endTime);
            }
            queryInfo.OrderCode        = orderCode;
            queryInfo.SettlementCode   = settlementCode;
            queryInfo.SupplierId       = CurrentUser.SupplierID;
            queryInfo.SettlementStatus = settlementStatus;

            try
            {
                PageOf <SettlementOrderInfo> list = settlement.getSettlementList(queryInfo, new PageDTO()
                {
                    PageIndex = PageNo, PageSize = int.MaxValue
                });
                var dt = new DataTable();
                dt.Columns.Add("結算單號");
                dt.Columns.Add("生成時間");
                dt.Columns.Add("訂單號/結算單號");
                dt.Columns.Add("結算方");
                dt.Columns.Add("商品總金額");
                dt.Columns.Add("商品退款金額");
                dt.Columns.Add("商家承擔關稅");
                dt.Columns.Add("平台承擔關稅");
                dt.Columns.Add("商家承担商品促销费用");
                dt.Columns.Add("其他費用");
                dt.Columns.Add("結算金額");
                dt.Columns.Add("狀態");

                List <SettlementOrderInfo> result = list.Items.ToList <SettlementOrderInfo>();

                result.ForEach(l =>
                {
                    dt.Rows.Add(new object[] {
                        l.SettlementCode,
                        l.CreateTime.ToString("yyyy-MM-dd"),
                        l.OrderCode,
                        l.CompanyName,
                        "$" + l.ProductTotalAmount,
                        "$" + l.ProductRefundAmount,
                        "$" + l.SupplierBearDutyAmount,
                        "$" + l.BearDutyAmount,
                        "$" + l.PromotionAmount.ToString("f2"),
                        "$" + l.OtherAmount,
                        "$" + (l.SettlementAmount - l.PromotionAmount).ToString("f2"),
                        EnumHelper.GetDescription(l.SettlementStatus, typeof(SettlementStatus))
                    });
                });

                ExcelHelper.ExportByWeb(dt, "結算單列表", "settlementlist" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");
            }
            catch (Exception ext)
            {
                LogHelper.Error(ext);
            }

            return(View());
        }
Ejemplo n.º 31
0
        /// <summary>
        /// 获取结算单列表
        /// </summary>
        /// <param name="queryInfo"></param>
        /// <param name="pageDTO"></param>
        /// <returns></returns>
        public PageOf <SettlementOrderInfo> getSettlementList(SettlementQueryModel queryModel, PageDTO pageDTO)
        {
            var db         = DbSFO2ORead;
            var parameters = db.CreateParameterCollection();

            var sql = @"SELECT  soi.SettlementCode,
		            soi.CreateTime,
		            OrderCode = ISNULL(soi.RefundCode,soi.OrderCode),
                    soi.RmbProductTotalAmount,
		            CASE WHEN soi.RmbProductRefundAmount>0 THEN soi.RmbProductTotalAmount ELSE 0 END RmbProductRefundAmount,
		            soi.RmbSupplierBearDutyAmount,
		            soi.RmbBearDutyAmount,
		            soi.RmbOtherAmount,
		            soi.RmbSettlementAmount,
		            soi.ProductTotalAmount,
		            CASE WHEN soi.ProductRefundAmount>0 THEN soi.ProductTotalAmount ELSE 0 END ProductRefundAmount,
		            soi.SupplierBearDutyAmount,
		            soi.BearDutyAmount,
		            soi.OtherAmount,
		            soi.SettlementAmount,
		            soi.ExchangeRate,
		            soi.SettlementStatus,
                    ISNULL(t.PromotionAmount,0) PromotionAmount
            FROM	SettlementOrderInfo soi(NOLOCK)
            LEFT JOIN
            (
                SELECT sp.SettlementCode,SUM(ISNULL((OriginalPrice - PromotionPrice)*sp.Quantity*(p.PromotionCost/100.0),0)) PromotionAmount
                FROM SettlementOrderProducts sp(NOLOCK)
                INNER JOIN SettlementOrderInfo s(NOLOCK) ON sp.SettlementCode = s.SettlementCode
                INNER JOIN OrderPromotions op ON op.OrderCode=s.OrderCode AND op.Sku=sp.Sku
                INNER JOIN Promotions p ON p.Id=op.PromotionId
                WHERE sp.Quantity>0
                GROUP BY sp.SettlementCode
            ) t ON t.SettlementCode = soi.SettlementCode
            WHERE	1=1 and soi.SupplierId=@SupplierId {0}
            order by soi.CreateTime desc;

            SELECT  TotalCount = Count(soi.SettlementCode),		
		            ProductTotalAmount = ISNULL(SUM(ISNULL(soi.ProductTotalAmount,0)),0),
		            ProductRefundAmount = ISNULL(SUM(ISNULL(CASE WHEN soi.ProductRefundAmount>0 THEN soi.ProductTotalAmount ELSE 0 END,0)),0),
		            SupplierBearDutyAmount = ISNULL(SUM(ISNULL(soi.SupplierBearDutyAmount,0)),0),
		            BearDutyAmount = ISNULL(SUM(ISNULL(soi.BearDutyAmount,0)),0),
		            OtherAmount = ISNULL(SUM(ISNULL(soi.OtherAmount,0)),0),
		            SettlementAmount = ISNULL(SUM(ISNULL(soi.SettlementAmount,0)),0),
                    RmbProductTotalAmount = ISNULL(SUM(ISNULL(soi.RmbProductTotalAmount,0)),0),
		            RmbProductRefundAmount = ISNULL(SUM(ISNULL(CASE WHEN soi.RmbProductRefundAmount>0 THEN soi.RmbProductTotalAmount ELSE 0 END,0)),0),
		            RmbSupplierBearDutyAmount = ISNULL(SUM(ISNULL(soi.RmbSupplierBearDutyAmount,0)),0),
		            RmbBearDutyAmount = ISNULL(SUM(ISNULL(soi.RmbBearDutyAmount,0)),0),
		            RmbOtherAmount = ISNULL(SUM(ISNULL(soi.RmbOtherAmount,0)),0),
		            RmbSettlementAmount = ISNULL(SUM(ISNULL(soi.RmbSettlementAmount,0)),0),
                    PromotionAmount = ISNULL(SUM(ISNULL(t.PromotionAmount,0)),0)
            FROM	SettlementOrderInfo soi(NOLOCK)
		            INNER JOIN Supplier s(NOLOCK) ON s.SupplierID = soi.SupplierId
            LEFT JOIN
            (
                SELECT sp.SettlementCode,SUM(ISNULL((OriginalPrice - PromotionPrice)*sp.Quantity*(p.PromotionCost/100.0),0)) PromotionAmount
                FROM SettlementOrderProducts sp(NOLOCK)
                INNER JOIN SettlementOrderInfo s(NOLOCK) ON sp.SettlementCode = s.SettlementCode
                INNER JOIN OrderPromotions op ON op.OrderCode=s.OrderCode AND op.Sku=sp.Sku
                INNER JOIN Promotions p ON p.Id=op.PromotionId
                WHERE sp.Quantity>0
                GROUP BY sp.SettlementCode
            ) t ON t.SettlementCode = soi.SettlementCode
            WHERE	1=1 and soi.SupplierId=@SupplierId {1}"    ;

            var query = BindQuery(queryModel, parameters);

            sql = string.Format(sql, query, query);

            parameters.Append("@SupplierId", queryModel.SupplierId);
            parameters.Append("@PageIndex", pageDTO.PageIndex);
            parameters.Append("@PageSize", pageDTO.PageSize);

            var ds = db.ExecuteSqlDataSet(sql, parameters);

            PageOf <SettlementOrderInfo> result = new PageOf <SettlementOrderInfo>();

            result.Items       = ds.Tables[0].ToList <SettlementOrderInfo>();
            result.PageIndex   = pageDTO.PageIndex;
            result.PageSize    = pageDTO.PageSize;
            result.TotalObject = ds.Tables[1].ToList <SettlementOrderInfo>().First();
            result.Total       = result.TotalObject.TotalCount;

            return(result);
        }
Ejemplo n.º 32
0
        public ActionResult ExportOrderList(string startTime, string endTime, string orderCode, int orderStatus = -1)
        {
            OrderQueryInfo queryInfo = new OrderQueryInfo();

            if (string.IsNullOrEmpty(startTime) || string.IsNullOrEmpty(endTime))
            {
                queryInfo.startTime = DateTime.Now.AddMonths(-3);
                queryInfo.endTime   = DateTime.Now;
            }
            else
            {
                queryInfo.startTime = DateTime.Parse(startTime);
                queryInfo.endTime   = DateTime.Parse(endTime);
            }
            queryInfo.orderCode  = orderCode;
            queryInfo.orderSatus = orderStatus;
            queryInfo.SupplierId = CurrentUser.SupplierID;
            try
            {
                PageOf <OrderListInfoModel> list = bll.GetOrderList(queryInfo, new PageDTO()
                {
                    PageIndex = PageNo, PageSize = int.MaxValue
                }, LanguageEnum.SimplifiedChinese, 0);

                var dt = new DataTable();

                dt.Columns.Add("订单号");
                dt.Columns.Add("生成时间");
                dt.Columns.Add("商品名称");
                dt.Columns.Add("单价");
                dt.Columns.Add("数量");
                dt.Columns.Add("小计");
                dt.Columns.Add("状态");
                dt.Columns.Add("收货地址");
                dt.Columns.Add("收货人");
                dt.Columns.Add("联系电话");

                List <OrderListInfoModel> result = list.Items.OrderBy(o => o.Phone).ToList <OrderListInfoModel>();

                result.ForEach(l =>
                {
                    dt.Rows.Add(new object[] {
                        l.OrderCode,
                        l.CreateTime.ToString("yyyy-MM-dd hh:mm:ss"),
                        l.Name,
                        "¥" + l.UnitPrice,
                        l.Quantity,
                        "¥" + l.UnitPrice * l.Quantity,
                        EnumHelper.GetDescription(l.OrderStatus, typeof(OrderStatus)),
                        l.ReceiptAddress,
                        l.Receiver,
                        l.Phone,
                    });
                });

                ExcelHelper.ExportByWeb(dt, "订单列表", "orderlist" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls");
            }
            catch (Exception ext)
            {
                LogHelper.Error(ext);
            }

            return(View());
        }