/// <summary> /// 出票方查询申请单 /// </summary> public static IEnumerable <ApplyformListView> ProviderQueryApplyformsNew(ApplyformQueryCondition condition, Pagination pagination) { if (condition == null) { throw new ArgumentNullException("condition"); } condition.RequireRevisePrice = false; condition.IsStatusAndRequireRevisePrice = true; if (condition.ApplyformType.HasValue) { condition.ApplyformType = ExcludeApplyformType(condition.ApplyformType.Value, ApplyformType.Postpone); } else { condition.ApplyformType = ApplyformType.Refund | ApplyformType.Scrap | ApplyformType.BlanceRefund; } if ((condition.ApplyformType.Value & ApplyformType.Refund) == ApplyformType.Refund || (condition.ApplyformType.Value & ApplyformType.Scrap) == ApplyformType.Scrap) { if (!condition.RefundStatuses.HasValue) { condition.RefundStatuses = GetAllRefundStatus(); } condition.RefundStatuses = ExcludeRefundStatus(condition.RefundStatuses.Value, RefundApplyformStatus.AppliedForPlatform, RefundApplyformStatus.AppliedForCancelReservation); } return(QueryApplyformsNew(condition, pagination)); }
public object PurchaseQueryApplyform(ApplyformQueryCondition condition, Pagination pagination) { try { if (condition.ApplyformType == ApplyformType.Refund || condition.ApplyformType == ApplyformType.Scrap) { if (!string.IsNullOrWhiteSpace(condition.RefundStatusText) && condition.RefundStatusText != "全部") { var statues = Service.Order.StatusService.GetRoleRefundApplyformStatus(OrderRole.Purchaser).Where(s => s.Value == condition.RefundStatusText).Select(s => s.Key); if (statues.Any()) { condition.ApplyDetailStatus = 0; foreach (var status in statues) { condition.ApplyDetailStatus |= (byte)status; } } } } else if (condition.ApplyformType == ApplyformType.Postpone) { if (!string.IsNullOrWhiteSpace(condition.PostponeStatusText) && condition.PostponeStatusText != "全部") { var statues = Service.Order.StatusService.GetRolePostponeApplyformStatus(OrderRole.Purchaser).Where(s => s.Value == condition.PostponeStatusText).Select(s => s.Key); if (statues.Any()) { condition.ApplyDetailStatus = 0; foreach (var status in statues) { condition.ApplyDetailStatus |= (byte)status; } } } } condition.Purchaser = CurrentCompany.CompanyId; var applyform = from item in Service.ApplyformQueryService.QueryApplyforms(condition, pagination) select new { ApplyformId = item.ApplyformId, ProductType = item.ProductType.GetDescription(), PNR = item.OriginalPNR.ToListString(), Voyage = item.Flights.Join("<br />", f => string.Format("{0}-{1}", f.DepartureCity, f.ArrivalCity)), FlightInfo = item.Flights.Join("<br />", f => string.Format("{0}{1}<br />{2} / {3}", f.Carrier, f.FlightNo, string.IsNullOrEmpty(f.Bunk) ? "-" : f.Bunk, getDiscountText(f.Discount))), TakeoffTime = item.Flights.Join("<br />", f => f.TakeoffTime.ToString("yyyy-MM-dd<br />HH:mm")), Passenger = item.Passengers.Join("<br />"), ApplyType = item.ApplyformType, ApplyTypeText = item.ApplyformType.GetDescription(), Status = GetProcessStatus(item, OrderRole.Purchaser), Applier = item.ApplierAccount, AppliedTime = item.AppliedTime.ToString("yyyy-MM-dd<br />HH:mm:ss") }; return(new { Applyforms = applyform, Pagination = pagination }); } catch (Exception ex) { LogService.SaveExceptionLog(ex); throw; } }
/// <summary> /// 获取申请单列表信息 /// </summary> /// <param name="condition">查询条件</param> /// <param name="pagination">分页信息</param> public static IEnumerable <ApplyformListView> QueryApplyformsNew(ApplyformQueryCondition condition, Pagination pagination) { if (condition == null) { throw new ArgumentNullException("condition"); } if (pagination == null) { throw new ArgumentNullException("pagination"); } using (var command = Factory.CreateCommand()) { var repository = Factory.CreateApplyformRepository(command); return(repository.QueryApplyformsNew(condition, pagination)); } }
private ApplyformQueryCondition getCondition() { var parameter = new ApplyformQueryCondition { PNR = txtPNR.Text.Trim(), Passenger = txtPassenger.Text.Trim(), AppliedDateRange = new Range <DateTime>(DateTime.Parse(txtAppliedDateStart.Text.Trim()), DateTime.Parse(txtAppliedDateEnd.Text.Trim()).AddDays(1).AddTicks(-1)), }; if (!String.IsNullOrEmpty(txtApplyformId.Text.Trim()) && Regex.IsMatch(txtApplyformId.Text.Trim(), "\\d+")) { parameter.ApplyformId = decimal.Parse(txtApplyformId.Text.Trim()); } if (!string.IsNullOrEmpty(ddlProductType.SelectedValue)) { parameter.ProductType = (ProductType)int.Parse(ddlProductType.SelectedValue); } parameter.Provider = CurrentCompany.CompanyId; return(parameter); }
/// <summary> /// 出票方的财务查询待差错退款的申请单 /// 只能查退/票 /// </summary> public static IEnumerable <ApplyformListView> ProviderQueryBalanceRefundForReturnMoney(ApplyformQueryCondition condition, Pagination pagination) { if (condition == null) { throw new ArgumentNullException("condition"); } condition.BalanceRefundProcessStatus = BalanceRefundProcessStatus.AgreedByProviderBusiness; condition.ApplyformType = ApplyformType.BlanceRefund; return(ProviderQueryApplyforms(condition, pagination)); }
/// <summary> /// 出票方的财务查询待退款的申请单 /// 只能查退/票 /// </summary> public static IEnumerable <ApplyformListView> ProviderQueryApplyformsForReturnMoney(ApplyformQueryCondition condition, Pagination pagination) { if (condition == null) { throw new ArgumentNullException("condition"); } condition.RefundStatuses = RefundApplyformStatus.AgreedByProviderBusiness; condition.ApplyformType = ApplyformType.Refund | ApplyformType.Scrap; return(ProviderQueryApplyforms(condition, pagination)); }
/// <summary> /// 出票方查询待处理的申请单 /// 只能查退/票 /// </summary> public static IEnumerable <ApplyformListView> ProviderQueryApplyformsForProcessNew(ApplyformQueryCondition condition, Pagination pagination) { if (condition == null) { throw new ArgumentNullException("condition"); } condition.RefundStatuses = RefundApplyformStatus.AppliedForProvider | RefundApplyformStatus.DeniedByProviderTreasurer; return(ProviderQueryApplyformsNew(condition, pagination)); }
/// <summary> /// 平台查询待处理的申请单 /// </summary> public static IEnumerable <ApplyformListView> PlatformQueryApplyformsForProcess(ApplyformQueryCondition condition, Pagination pagination) { if (condition == null) { throw new ArgumentNullException("condition"); } condition.RefundStatuses = RefundApplyformStatus.AppliedForPlatform | RefundApplyformStatus.AppliedForCancelReservation | RefundApplyformStatus.DeniedByProviderBusiness; condition.PostponeStatuses = PostponeApplyformStatus.Applied | PostponeApplyformStatus.Paid; condition.RequireRevisePrice = true; condition.IsStatusAndRequireRevisePrice = false; return(QueryApplyforms(condition, pagination)); }
public object ProviderQueryApplyform(ApplyformQueryCondition condition, Pagination pagination) { try { if (condition.ApplyformType == ApplyformType.Refund || condition.ApplyformType == ApplyformType.Scrap) { if (!string.IsNullOrWhiteSpace(condition.RefundStatusText) && condition.RefundStatusText != "全部") { var statues = Service.Order.StatusService.GetRoleRefundApplyformStatus(this.CurrentCompany.CompanyType == CompanyType.Provider ? OrderRole.Provider : OrderRole.Supplier).Where(s => s.Value == condition.RefundStatusText).Select(s => s.Key); if (statues.Any()) { condition.ApplyDetailStatus = 0; foreach (var status in statues) { condition.ApplyDetailStatus |= (byte)status; } } } } if (this.CurrentCompany.CompanyType == CompanyType.Provider) { condition.Provider = CurrentCompany.CompanyId; } else { condition.Supplier = CurrentCompany.CompanyId; } var applyform = Service.ApplyformQueryService.ProviderQueryApplyforms(condition, pagination).Select(form => new { form.ApplyformId, PNR = form.OriginalPNR == null ? string.Empty : form.OriginalPNR.ToListString(), Voyage = form.Flights.Join("<br />", f => string.Format("{0}-{1}", f.DepartureCity, f.ArrivalCity)), FlightInfo = form.Flights.Join("<br />", f => string.Format( "{0}{1}<br />{2} / {3}", f.Carrier, f.FlightNo, string.IsNullOrEmpty(f.Bunk) ? "-" : f.Bunk, getDiscountText (f.Discount))), TakeoffTime = form.Flights.Join("<br />", f => f.TakeoffTime.ToString("yyyy-MM-dd<br />HH:mm")), Passenger = form.Passengers.Join("<br />"), ApplyType = form.ApplyformType.GetDescription(), form.ApplyformType, ProcessStatus = GetProcessStatus(form, CurrentCompany.CompanyType == CompanyType.Provider ? OrderRole.Provider : OrderRole.Supplier), AppliedTime = form.AppliedTime.ToString("yyyy-MM-dd<br />HH:mm"), form.ApplierAccount, ProductType = form.ProductType.GetDescription(), NeedProcess = form.ApplyformType == ApplyformType.BlanceRefund && ((BalanceRefundProcessStatus)form.ApplyDetailStatus == BalanceRefundProcessStatus.AppliedForProvider || (BalanceRefundProcessStatus)form.ApplyDetailStatus == BalanceRefundProcessStatus.DeniedByProviderTreasurer) }); return(new { Applyforms = applyform, Pagination = pagination }); } catch (Exception ex) { LogService.SaveExceptionLog(ex); throw; } }
public object QueryOEMApplyform(ApplyformQueryCondition condition, Pagination pagination) { try { var oem = ChinaPay.B3B.Service.Organization.OEMService.QueryOEM(CurrentCompany.CompanyId); if (oem == null) { throw new Exception("没有找到对应的oem信息"); } condition.OEMID = oem.Id; if (condition.ApplyformType == ApplyformType.Refund || condition.ApplyformType == ApplyformType.Scrap) { if (!string.IsNullOrWhiteSpace(condition.RefundStatusText) && condition.RefundStatusText != "全部") { var statues = Service.Order.StatusService.GetRoleRefundApplyformStatus(OrderRole.OEMOwner).Where(s => s.Value == condition.RefundStatusText).Select(s => s.Key); if (statues.Any()) { condition.ApplyDetailStatus = 0; foreach (var status in statues) { condition.ApplyDetailStatus |= (byte)status; } } } } else if (condition.ApplyformType == ApplyformType.Postpone) { if (!string.IsNullOrWhiteSpace(condition.PostponeStatusText) && condition.PostponeStatusText != "全部") { var statues = Service.Order.StatusService.GetRolePostponeApplyformStatus(OrderRole.OEMOwner).Where(s => s.Value == condition.PostponeStatusText).Select(s => s.Key); if (statues.Any()) { condition.ApplyDetailStatus = 0; foreach (var status in statues) { condition.ApplyDetailStatus |= (byte)status; } } } } List <ApplyformListView> forms = ApplyformQueryService.QueryApplyforms(condition, pagination).ToList(); var lockInfos = LockService.Query(forms.Select(form => form.ApplyformId.ToString())).ToList(); var applyform = forms.Select(form => { LockInfo lockInfo = lockInfos.FirstOrDefault(l => l.Key == form.ApplyformId.ToString()); return(new { form.ApplyformId, PNR = form.OriginalPNR == null ? string.Empty : form.OriginalPNR.ToListString(), Voyage = IEnumerableExtension.Join <FlightListView>(form.Flights, "<br />", f => string.Format( "{0}{1}-{2}{3}", f.DepartureCity, f.DepartureAirport, f.ArrivalCity, f.ArrivalAirport)), FlightInfo = form.Flights.Join("<br />", f => string.Format( "{0}{1}<br />{2} / {3}", f.Carrier, f.FlightNo, string.IsNullOrEmpty(f.Bunk) ? "-" : f.Bunk, getDiscountText (f.Discount))), TakeoffTime = form.Flights.Join("<br />", f => f.TakeoffTime. ToString( "yyyy-MM-dd<br />HH:mm")), Passengers = String.Join("<br />", (IEnumerable <string>)form.Passengers), ApplyTypeDesc = form.ApplyformType.GetDescription(), ApplyType = form.ApplyformType, ProcessStatus = GetProcessStatus(form, OrderRole.OEMOwner), form.AppliedTime, form.ApplierAccount, ProductType = form.ProductType.GetDescription(), LockInfo = lockInfo == null ? string.Empty : lockInfo.Company == CurrentCompany.CompanyId ? string.Format("{0}<br />{1}", lockInfo.Account, lockInfo.Name) : string.Format("{0}<br />({1})", lockInfo.LockRole.GetDescription(), lockInfo.Account), RenderSupperUnLock = lockInfo != null, RefundType = form.RefundType.HasValue ? form.RefundType.GetDescription() : string.Empty, IsRefund = form.ApplyformType == ApplyformType.Refund, EnableQueryPaymentInfo = form.ApplyformType == ApplyformType.Postpone && (PostponeApplyformStatus)form.ApplyDetailStatus == PostponeApplyformStatus.Agreed }); }); return(new { Applyforms = applyform, Pagination = pagination }); } catch (Exception ex) { LogService.SaveExceptionLog(ex); throw; } }
public object PlatformProcessApplyformNew(ApplyformQueryCondition condition, Pagination pagination) { try { if (condition.ApplyformType == ApplyformType.Refund || condition.ApplyformType == ApplyformType.Scrap) { if (!string.IsNullOrWhiteSpace(condition.RefundStatusText) && condition.RefundStatusText != "全部") { var statues = Service.Order.StatusService.GetRoleRefundApplyformStatus(OrderRole.Platform).Where(s => s.Value == condition.RefundStatusText).Select(s => s.Key); if (statues.Any()) { condition.ApplyDetailStatus = 0; foreach (var status in statues) { condition.ApplyDetailStatus |= (byte)status; } } } } else if (condition.ApplyformType == ApplyformType.Postpone) { if (!string.IsNullOrWhiteSpace(condition.PostponeStatusText) && condition.PostponeStatusText != "全部") { var statues = Service.Order.StatusService.GetRolePostponeApplyformStatus(OrderRole.Platform).Where(s => s.Value == condition.PostponeStatusText).Select(s => s.Key); if (statues.Any()) { condition.ApplyDetailStatus = 0; foreach (var status in statues) { condition.ApplyDetailStatus |= (byte)status; } } } } List <ApplyformListView> forms = ApplyformQueryService.PlatformQueryApplyformsForProcessNew(condition, pagination).ToList(); var lockInfos = LockService.Query(forms.Select(form => form.ApplyformId.ToString())).ToList(); var date = DateTime.Now.ToString("yyMMdd"); var applyform = forms.Select(form => { LockInfo lockInfo = lockInfos.FirstOrDefault(l => l.Key == form.ApplyformId.ToString()); return(new { form.ApplyformId, PNR = form.OriginalPNR == null ? string.Empty : form.OriginalPNR.ToListString(), Voyage = form.Flights.Join("<br />", f => string.Format( "{0}-{1}", f.DepartureCity, f.ArrivalCity)), FlightInfo = form.Flights.Join("<br />", f => string.Format( "{0}{1}<br />{2} / {3}", f.Carrier, f.FlightNo, string.IsNullOrEmpty(f.Bunk) ? "-" : f.Bunk, getDiscountText (f.Discount))), TakeoffTime = form.Flights.Join("<br />", f => f.TakeoffTime.ToString( "yyyy-MM-dd<br />HH:mm")), TakeoffTimeIsToday = form.Flights.Join("|", f => f.TakeoffTime.ToString("yyMMdd") == date ? "1" : "0"), Passengers = string.Join("<br />", form.Passengers), ApplyType = form.ApplyformType.GetDescription(), ProcessStatus = form.ApplyformType == ApplyformType.Postpone ? Service.Order.StatusService.GetPostponeApplyformStatus((PostponeApplyformStatus)form.ApplyDetailStatus, OrderRole.Platform) : Service.Order.StatusService.GetRefundApplyformStatus((RefundApplyformStatus)form.ApplyDetailStatus, OrderRole.Platform), AppliedTime = form.AppliedTime.ToString("yyyy-MM-dd<br />HH:mm"), form.ApplierAccount, form.ApplyformType, ProductType = form.ProductType.GetDescription(), RefundType = form.RefundType.HasValue ? form.RefundType.GetDescription() : "", form.RequireRevisePrice, LockInfo = lockInfo == null ? string.Empty : lockInfo.Company == CurrentCompany.CompanyId ? string.Format("{0}<br />{1}", lockInfo.Account, lockInfo.Name) : string.Format("{0}<br />({1})", lockInfo.LockRole.GetDescription(), lockInfo.Account) }); }); return(new { Applyforms = applyform, Pagination = pagination }); } catch (Exception ex) { LogService.SaveExceptionLog(ex); throw; } }