private PagedList <ResponseTicket> FindTicket_Carrier(TicketDetailSearch ticketDetailSearch) { DateTime startTime = DateTime.Now.AddDays(-7); var currentUser = AuthManager.GetCurrentUser(); var query = ticketRepository.FindAllNoTracking().OfType <Ticket_Carrier>().Where(p => p.CarrierCode == currentUser.Code); if (!string.IsNullOrWhiteSpace(ticketDetailSearch.orderId)) { query = query.Where(p => p.OrderID == ticketDetailSearch.orderId.Trim()); } if (!string.IsNullOrWhiteSpace(ticketDetailSearch.pnr)) { query = query.Where(p => p.PNR == ticketDetailSearch.pnr.Trim()); } if (!string.IsNullOrWhiteSpace(ticketDetailSearch.ticketNumber)) { query = query.Where(p => p.TicketNum == ticketDetailSearch.ticketNumber.Trim()); } if (!string.IsNullOrWhiteSpace(ticketDetailSearch.carrayCode)) { query = query.Where(p => p.CarryCode == ticketDetailSearch.carrayCode.Trim()); } if (!string.IsNullOrWhiteSpace(ticketDetailSearch.fromCity)) { query = query.Where(p => p.Voyage.Contains(ticketDetailSearch.fromCity.Trim() + "-")); } if (!string.IsNullOrWhiteSpace(ticketDetailSearch.toCity)) { query = query.Where(p => p.Voyage.Contains("-" + ticketDetailSearch.toCity.Trim())); } if (!string.IsNullOrWhiteSpace(ticketDetailSearch.ticketStatus)) { query = query.Where(p => p.TicketState == ticketDetailSearch.ticketStatus); } if (!string.IsNullOrWhiteSpace(ticketDetailSearch.businessmanCode)) { query = query.Where(p => p.Code == ticketDetailSearch.businessmanCode.Trim()); } if (ticketDetailSearch.startIssueRefundTime.HasValue) { query = query.Where(p => p.CreateDate >= ticketDetailSearch.startIssueRefundTime.Value); } else { query = query.Where(p => p.CreateDate >= startTime); } if (ticketDetailSearch.endIssueRefundTime.HasValue) { query = query.Where(p => p.CreateDate <= ticketDetailSearch.endIssueRefundTime.Value); } var list = new PagedList <ResponseTicket>() { Total = query.Count(), Rows = query.OrderByDescending(p => p.CreateDate).Skip((ticketDetailSearch.page - 1) * ticketDetailSearch.rows).Take(ticketDetailSearch.rows).Project().To <ResponseTicket>().ToList() }; return(list); }
///// <summary> ///// 机票信息汇总 ///// </summary> ///// <returns></returns> //public JsonResult GetTicketSummary(TicketSumQueryEntity queryCond) //{ // List<TicketInfoSummaryEntity> TicketInfoSummaryList = _service.GetTicketInfoSummaryList(queryCond.OrderId, queryCond.OutOrderId, queryCond.PNR, queryCond.TicketNumber, // queryCond.PlatformCode, queryCond.PolicyType, // queryCond.CarrayCode, queryCond.FromCity, queryCond.ToCity, // queryCond.TicketStatus, queryCond.BusinessmanName, queryCond.BusinessmanCode, "", queryCond.OperatorAccount, null, // null, queryCond.StartIssueRefundTime, queryCond.EndIssueRefundTime.Value.AddHours(23).AddMinutes(59).AddSeconds(59), null, null, queryCond.PayWay); // return Json(TicketInfoSummaryList); //} ///// <summary> ///// 机票销售统计 ///// </summary> ///// <returns></returns> //public JsonResult GetTicketSalesStatistics(TicketSumQueryEntity queryCond) //{ // List<TicketSalesStatisticsEntity> TicketSalesList = _service.GetTicketSalesStatisticsList(queryCond.OrderId, queryCond.OutOrderId, queryCond.PNR, queryCond.TicketNumber, // queryCond.PlatformCode, queryCond.PolicyType, // queryCond.CarrayCode, queryCond.FromCity, queryCond.ToCity, // queryCond.TicketStatus, queryCond.BusinessmanName, queryCond.BusinessmanCode, "", queryCond.OperatorAccount, null, // null, queryCond.StartIssueRefundTime, queryCond.EndIssueRefundTime.Value.AddHours(23).AddMinutes(59).AddSeconds(59), null, null, queryCond.PayWay); // TicketSalesSumEntity tsum = new TicketSalesSumEntity(); // tsum.rows = TicketSalesList; // tsum.total = TicketSalesList.Count(); // return Json(tsum); //} /// <summary> /// 机票明细 /// </summary> /// <returns></returns> public JsonResult GetTicketInformationDetail(TicketDetailSearch queryCond) { queryCond.endIssueRefundTime = queryCond.endIssueRefundTime.Value.AddHours(23).AddMinutes(59).AddSeconds(59); PagedList <ResponseTicket> list = null; CommunicateManager.Invoke <IConsoOrderService>(p => list = p.GetConsoTicketSumDetail(queryCond) ); return(Json(new { total = list.Total, rows = list.Rows }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 机票总表 /// </summary> /// <param name="ticketDetailSearch"></param> /// <returns></returns> public PagedList <ResponseTicket> GetConsoTicketSumDetail(TicketDetailSearch ticketDetailSearch) { var list = new PagedList <ResponseTicket>(); var currentUser = AuthManager.GetCurrentUser(); if (currentUser.Type == "Carrier") { list = FindTicket_Carrier(ticketDetailSearch); } else { list = FindTicket_Supplier(ticketDetailSearch); } return(list); }
/// <summary> /// 机票明细导出(供应) /// <returns></returns> public FileResult ExportExcelSupplierTicketDetail(string OrderId, string PNR, DateTime?StartIssueRefundTime, DateTime?EndIssueRefundTime, string TicketNumber, string PlatformCode, string PolicyType, string CarrayCode, string FromCity, string ToCity, string TicketStatus, string BusinessmanCode, string OperatorAccount, int?PayWay) { ExportExcelContext export = new ExportExcelContext("Excel2003"); DataTable dt = new DataTable("机票明细报表"); List <KeyValuePair <string, Type> > headArray = new List <KeyValuePair <string, Type> > { new KeyValuePair <string, Type>("订单号", typeof(string)), new KeyValuePair <string, Type>("Pnr编码", typeof(string)), new KeyValuePair <string, Type>("大编码", typeof(string)), new KeyValuePair <string, Type>("票号", typeof(string)), new KeyValuePair <string, Type>("实收金额", typeof(decimal)), new KeyValuePair <string, Type>("机票状态", typeof(string)), new KeyValuePair <string, Type>("(出/退)票时间", typeof(string)), new KeyValuePair <string, Type>("起飞时间", typeof(string)), new KeyValuePair <string, Type>("承运人", typeof(string)), new KeyValuePair <string, Type>("航班号", typeof(string)), new KeyValuePair <string, Type>("舱位", typeof(string)), new KeyValuePair <string, Type>("航程", typeof(string)), new KeyValuePair <string, Type>("乘机人", typeof(string)), new KeyValuePair <string, Type>("舱位价", typeof(decimal)), new KeyValuePair <string, Type>("机建费", typeof(decimal)), new KeyValuePair <string, Type>("燃油费", typeof(decimal)), new KeyValuePair <string, Type>("票面价", typeof(decimal)), new KeyValuePair <string, Type>("政策点数", typeof(decimal)) }; headArray.ForEach(p => dt.Columns.Add(p.Key, p.Value)); TicketDetailSearch ticketquery = new TicketDetailSearch() { orderId = OrderId, pnr = PNR, ticketNumber = TicketNumber, platformCode = PlatformCode, policyType = PolicyType, carrayCode = CarrayCode, fromCity = FromCity, toCity = ToCity, ticketStatus = TicketStatus, businessmanCode = BusinessmanCode, operatorAccount = OperatorAccount, startIssueRefundTime = StartIssueRefundTime, endIssueRefundTime = EndIssueRefundTime.Value.AddHours(23).AddMinutes(59).AddSeconds(59), PayWay = PayWay, page = 1, rows = 10000 }; PagedList <ResponseTicket> dp = null; CommunicateManager.Invoke <IConsoOrderService>(p => dp = p.GetConsoTicketSumDetail(ticketquery) ); dp.Rows.ForEach(p => { dt.Rows.Add( p.OrderID, p.PNR, p.BigCode, p.TicketNum, p.Money, p.TicketState, p.CreateDate, p.StartTime, p.CarryCode, p.FlightNum, p.Seat, p.Voyage, p.PassengerName, p.SeatPrice, p.ABFee, p.RQFee, p.PMFee, p.PolicyPoint ); }); return(File(export.GetMemoryStream(dt), "application/ms-excel", HttpUtility.UrlEncode(string.Format(dt.TableName + ".{0}", export.TypeName), System.Text.Encoding.UTF8))); }