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)); }
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); }
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)); }
public ReturnBagLogListModel() { FilterModel = new MailReturnGoodsLogsParam(); PagedList = new PagedList <MailReturnGoodsLogsExt>(); SelectListItem = new List <SelectListItem>(); }
/// <summary> /// 退件记录查询 /// add by yungchu /// </summary> /// <returns></returns> public ActionResult ReturnBagLogList(MailReturnGoodsLogsParam filterModel) { return(View(ReturnBagLogDataBind(filterModel))); }
public IPagedList <MailReturnGoodsLogsExt> GetMailReturnGoodsLogsList(MailReturnGoodsLogsParam param) { return(_mailReturnGoodsLogRepository.GetMailReturnGoodsLogsList(param)); }