예제 #1
0
        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);
        }
예제 #2
0
        ///// <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));
        }
예제 #3
0
        /// <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);
        }
예제 #4
0
        /// <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)));
        }