Example #1
0
        public IPagedList <MailReturnGoodsLogsExt> GetMailReturnGoodsLogsList(MailReturnGoodsLogsParam param)
        {
            var ctx = this.UnitOfWork as LMS_DbContext;

            Check.Argument.IsNotNull(ctx, "数据库对象");
            //query only
            ctx.Configuration.AutoDetectChangesEnabled = false;

            Expression <Func <MailReturnGoodsLog, bool> > filter = o => true;


            var numberList = new List <string>();

            if (!string.IsNullOrWhiteSpace(param.TrackNumber))
            {
                numberList =
                    param.TrackNumber
                    .Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
                    .ToList();
            }

            if (numberList.Any())
            {
                filter = filter.And(a => numberList.Contains(a.TrackNumber));
            }
            else
            {
                filter = filter.AndIf(a => param.StartTime <= a.ReturnOn, param.StartTime.HasValue)
                         .AndIf(a => a.ReturnOn <= param.EndTime, param.EndTime.HasValue)
                         .AndIf(a => a.ReasonType == param.ReasonType, param.ReasonType.HasValue)
                         .AndIf(a => a.ReturnBy.Contains(param.ReturnBy), !string.IsNullOrEmpty((param.ReturnBy)));
            }


            var result = from a in ctx.MailReturnGoodsLogs.AsNoTracking().Where(filter)
                         join b in ctx.WayBillInfos.AsNoTracking() on a.TrackNumber equals b.TrackingNumber
                         orderby a.ReturnOn descending
                         select new MailReturnGoodsLogsExt
            {
                TrackNumber          = a.TrackNumber,
                ReasonType           = a.ReasonType,
                ReturnBy             = a.ReturnBy,
                ReturnOn             = a.ReturnOn,
                InShippingMethodID   = b.InShippingMethodID.Value,
                InShippingMethodName = b.InShippingMethodName,
                Weight      = b.Weight.HasValue ? b.Weight : 0,
                CountryCode = b.CountryCode
            };



            return(result.ToPagedList(param.Page, param.PageSize));
        }
Example #2
0
        public ReturnBagLogListModel ReturnBagLogDataBind(MailReturnGoodsLogsParam filterModel)
        {
            filterModel.StartTime = filterModel.StartTime ?? DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd") + " " + "00:00");
            filterModel.EndTime   = filterModel.EndTime ?? DateTime.Parse(DateTime.Now.AddDays(1).ToString("yyyy-MM-dd") + " " + "00:00");


            var model = new ReturnBagLogListModel()
            {
                FilterModel = filterModel,
                PagedList   = _fubService.GetMailReturnGoodsLogsList(new MailReturnGoodsLogsParam
                {
                    Page        = filterModel.Page,
                    PageSize    = filterModel.PageSize,
                    TrackNumber = filterModel.TrackNumber,
                    StartTime   = filterModel.StartTime,
                    EndTime     = filterModel.EndTime,
                    ReasonType  = filterModel.ReasonType,
                    ReturnBy    = filterModel.ReturnBy
                })
            };


            if (model.PagedList.InnerList != null && model.PagedList.InnerList.Any())
            {
                model.PagedList.InnerList.ForEach(a =>
                {
                    a.ReturnReason = MailReturnGoodsLogs.GetReasonTypeDescription(a.ReasonType);
                });
            }


            //下拉框
            model.SelectListItem.Add(new SelectListItem()
            {
                Text = "全部", Value = ""
            });
            MailReturnGoodsLogs.GetReasonTypeList().ForEach(a => model.SelectListItem.Add(new SelectListItem()
            {
                Text     = a.TextField,
                Value    = a.ValueField,
                Selected = filterModel.ReasonType.HasValue && a.ValueField == filterModel.ReasonType.Value.ToString()
            }));

            return(model);
        }
Example #3
0
        public ActionResult ExportMailReturnGoods(MailReturnGoodsLogsParam filterModel)
        {
            var titleList = new List <string>
            {
                "TrackNumber-包裹单号",
                "InShippingMethodName-运输方式",
                "CountryCode-发货国家",
                "Weight-重量kg",
                "ReturnReason-退回原因",
                "ReturnOn-退回时间",
                "ReturnBy-退回操作人"
            };

            var getModel = ReturnBagLogDataBind(filterModel);
            var getList  = getModel.PagedList.InnerList;


            string fileName = "退件记录查询导出" + DateTime.Now.ToString("yyyy-dd-MM-hh-mm-ss");

            ExportExcelByWeb.ListExcel(fileName, getList, titleList);

            return(View(getModel));
        }
Example #4
0
 public ReturnBagLogListModel()
 {
     FilterModel    = new MailReturnGoodsLogsParam();
     PagedList      = new PagedList <MailReturnGoodsLogsExt>();
     SelectListItem = new List <SelectListItem>();
 }
Example #5
0
 /// <summary>
 /// 退件记录查询
 /// add by yungchu
 /// </summary>
 /// <returns></returns>
 public ActionResult ReturnBagLogList(MailReturnGoodsLogsParam filterModel)
 {
     return(View(ReturnBagLogDataBind(filterModel)));
 }
Example #6
0
 public IPagedList <MailReturnGoodsLogsExt> GetMailReturnGoodsLogsList(MailReturnGoodsLogsParam param)
 {
     return(_mailReturnGoodsLogRepository.GetMailReturnGoodsLogsList(param));
 }