Commit a8d07c7d authored by 黄奎's avatar 黄奎

11

parent 21f1f60b
......@@ -18749,229 +18749,246 @@ namespace REBORN.Module.SellModule
/// <returns></returns>
public List<RB_Travel_Order_Extend> GetTravelOrderList2026Module(int pageIndex, int pageSize, RB_Travel_Order_Extend model, out long count, string lineIdStr = "", bool isGetLeader = true, bool isGetCouponAllotInfo = false)
{
var list = orderRepository.GetTravelOrderPage2026Repository(pageIndex, pageSize, model, out count, lineIdStr: lineIdStr, isGetLeader: isGetLeader);
List<int> OrderIntL = list.Select(x => x.OrderId).ToList();
List<Rb_Coupon_Allot_Extend> couponList = new List<Rb_Coupon_Allot_Extend>();
List<int> couponIdList = new List<int>();
if (OrderIntL.Count > 0)
var list = new List<RB_Travel_Order_Extend>();
count = 0;
try
{
//团号
string qTCIDs = string.Join(",", list.Select(qitem => qitem.TCID).Distinct());
//销售公司或联运公司
string qOutBranchIds = string.Join(",", list.Where(qitem => (qitem?.RB_Branch_Id ?? 0) > 0).Select(qitem => qitem.RB_Branch_Id).Distinct());
list = orderRepository.GetTravelOrderPage2026Repository(pageIndex, pageSize, model, out count, lineIdStr: lineIdStr, isGetLeader: isGetLeader);
List<int> OrderIntL = list.Select(x => x.OrderId).ToList();
List<Rb_Coupon_Allot_Extend> couponList = new List<Rb_Coupon_Allot_Extend>();
List<int> couponIdList = new List<int>();
if (OrderIntL.Count > 0)
{
//团号
string qTCIDs = string.Join(",", list.Select(qitem => qitem.TCID).Distinct());
//销售公司或联运公司
string qOutBranchIds = string.Join(",", list.Where(qitem => (qitem?.RB_Branch_Id ?? 0) > 0).Select(qitem => qitem.RB_Branch_Id).Distinct());
string OrderStr = string.Join(",", OrderIntL);
string OrderStr = string.Join(",", OrderIntL);
var listF = financeRepository.GetOrderFinanceListForTC_V2(OrderStr, (int)OrderResourceEnum.Travel).Where(x => x.Status != FinanceAuditStatus.Delete).ToList();
var listF2 = financeRepository.GetOrderFinanceListForTC_V2(OrderStr, (int)OrderResourceEnum.Complain).Where(x => x.Status != FinanceAuditStatus.Delete).ToList();
if (listF2.Any())
{
listF.AddRange(listF2);
}
var discountProtocolList = discount_ProtocolRepository.GetDiscountProtocolListRepository(new RB_Discount_Protocol_Extend() { RB_Group_Id = (model?.RB_Group_Id ?? 0), QOrderIds = OrderStr });
var disclaimerProtocolList = disclaimer_ProtocolRepository.GetDisclaimerProtocolListRepository(new RB_Disclaimer_Protocol_Extend() { RB_Group_Id = (model?.RB_Group_Id ?? 0), QOrderIds = OrderStr });
//改价申请信息
var orderChangePriceList = travelOrderChangePriceRepository.GetListReposity(new RB_Travel_OrderChangePrice_Extend { QOrderIds = OrderStr });
if (orderChangePriceList != null && orderChangePriceList.Any())
{
orderChangePriceList?.Where(x => x.ManagerExamineBy > 0).ToList()?.ForEach(x => x.ManagerExamineName = CacheManager.User.RbUserCache.GetUserLoginInfo(x.ManagerExamineBy.ToString())?.emName ?? "");
orderChangePriceList?.Where(x => x.ExamineBy > 0).ToList()?.ForEach(x => x.ExamineByName = CacheManager.User.RbUserCache.GetUserLoginInfo(x.ExamineBy.ToString())?.emName ?? "");
}
var listF = financeRepository.GetOrderFinanceListForTC_V2(OrderStr, (int)OrderResourceEnum.Travel).Where(x => x.Status != FinanceAuditStatus.Delete).ToList();
var listF2 = financeRepository.GetOrderFinanceListForTC_V2(OrderStr, (int)OrderResourceEnum.Complain).Where(x => x.Status != FinanceAuditStatus.Delete).ToList();
if (listF2.Any())
{
listF.AddRange(listF2);
}
//特价
var travelOrderSpecialOfferList = new List<RB_Travel_OrderSpecialOffer_Extend>();
//travelOrderSpecialOfferList= orderSpecialOfferRepository.GetListByOrderIds(OrderStr);
var discountProtocolList = discount_ProtocolRepository.GetDiscountProtocolListRepository(new RB_Discount_Protocol_Extend() { RB_Group_Id = (model?.RB_Group_Id ?? 0), QOrderIds = OrderStr });
var disclaimerProtocolList = disclaimer_ProtocolRepository.GetDisclaimerProtocolListRepository(new RB_Disclaimer_Protocol_Extend() { RB_Group_Id = (model?.RB_Group_Id ?? 0), QOrderIds = OrderStr });
//旅客信息
var guestList = GetTravelGuestList_V2(new RB_Travel_Guest_Extend { OrderIds = OrderStr, IsAllograph = 2, Status = -1 });
//获取旅客小费关联财务单据列表
var TipList = relation_TipGuestRepository.GetList_V2(new Model.Extend.Finance.RB_Finance_Relation_TipGuest_Extend() { OrderIdStr = OrderStr, Source = (int)OrderResourceEnum.Travel });
//分房信息
var houseGuest = orderGuestHouseRepository.GetOrderGuestHouse_V2(new RB_Travel_OrderGuestHouse_Extend { OrderIds = OrderStr });
//改价申请信息
var orderChangePriceList = travelOrderChangePriceRepository.GetListReposity(new RB_Travel_OrderChangePrice_Extend { QOrderIds = OrderStr });
if (orderChangePriceList != null && orderChangePriceList.Any())
{
orderChangePriceList?.Where(x => x.ManagerExamineBy > 0).ToList()?.ForEach(x => x.ManagerExamineName = CacheManager.User.RbUserCache.GetUserLoginInfo(x.ManagerExamineBy.ToString())?.emName ?? "");
orderChangePriceList?.Where(x => x.ExamineBy > 0).ToList()?.ForEach(x => x.ExamineByName = CacheManager.User.RbUserCache.GetUserLoginInfo(x.ExamineBy.ToString())?.emName ?? "");
}
//获取旅客评论分数
var guestSurveyList = new List<Rb_Travel_GuestSurvey_Extend>();
//guestSurveyList= guestSurveyRepository.GetListInfo_V2(new Rb_Travel_GuestSurvey_Extend { OrderIds = OrderStr });
//特价
var travelOrderSpecialOfferList = new List<RB_Travel_OrderSpecialOffer_Extend>();
//travelOrderSpecialOfferList= orderSpecialOfferRepository.GetListByOrderIds(OrderStr);
//投诉
var compainlist = complainRepository.GetList_V2(new RB_Complain_Extend() { OrderIdStr = OrderStr });
//旅客信息
var guestList = GetTravelGuestList_V2(new RB_Travel_Guest_Extend { OrderIds = OrderStr, IsAllograph = 2, Status = -1 });
//确认函信息
var orderConfirmationList = orderConfirmationRepository.GetListByOrderIds_V2(OrderStr);
List<Model.Extend.Finance.Rb_Workflow_AuditRelevance_Extend> arlist = new List<Model.Extend.Finance.Rb_Workflow_AuditRelevance_Extend>();
if (listF.Any())
{
arlist = new Repository.Finance.Rb_Workflow_AuditRelevanceRepository().GetAuditRelevanceList_V2(0, string.Join(",", listF.Select(x => x.FrID)));
}
foreach (var sitem in listF)
{
sitem.ColorType = 1;
if (sitem.Status == FinanceAuditStatus.Pass)
//获取旅客小费关联财务单据列表
var TipList = relation_TipGuestRepository.GetList_V2(new Model.Extend.Finance.RB_Finance_Relation_TipGuest_Extend() { OrderIdStr = OrderStr, Source = (int)OrderResourceEnum.Travel });
//分房信息
var houseGuest = orderGuestHouseRepository.GetOrderGuestHouse_V2(new RB_Travel_OrderGuestHouse_Extend { OrderIds = OrderStr });
//获取旅客评论分数
var guestSurveyList = new List<Rb_Travel_GuestSurvey_Extend>();
//guestSurveyList= guestSurveyRepository.GetListInfo_V2(new Rb_Travel_GuestSurvey_Extend { OrderIds = OrderStr });
//投诉
var compainlist = complainRepository.GetList_V2(new RB_Complain_Extend() { OrderIdStr = OrderStr });
//确认函信息
var orderConfirmationList = orderConfirmationRepository.GetListByOrderIds_V2(OrderStr);
List<Model.Extend.Finance.Rb_Workflow_AuditRelevance_Extend> arlist = new List<Model.Extend.Finance.Rb_Workflow_AuditRelevance_Extend>();
if (listF.Any())
{
sitem.ColorType = 4;
arlist = new Repository.Finance.Rb_Workflow_AuditRelevanceRepository().GetAuditRelevanceList_V2(0, string.Join(",", listF.Select(x => x.FrID)));
}
else if (sitem.Status == FinanceAuditStatus.InReview || sitem.Status == FinanceAuditStatus.CTemporary)
foreach (var sitem in listF)
{
if (sitem.Status == FinanceAuditStatus.CTemporary)
sitem.ColorType = 1;
if (sitem.Status == FinanceAuditStatus.Pass)
{
sitem.ColorType = 2;
sitem.ColorType = 4;
}
else
else if (sitem.Status == FinanceAuditStatus.InReview || sitem.Status == FinanceAuditStatus.CTemporary)
{
var itemList = arlist.Where(x => x.WorkFlowId == sitem.FrID).ToList();
if (itemList != null && itemList.Count > 0)
if (sitem.Status == FinanceAuditStatus.CTemporary)
{
var CasierList = itemList.Where(x => x.SpecialNode != Common.Enum.User.WFSpecialNodeEnum.Normal).ToList();
if (CasierList.Count() == 1 && CasierList.Where(x => x.Stauts == WFRrocessStatus.AuditThrough).Count() == 1)
{
sitem.ColorType = 3;
}
else if (CasierList.Count() > 1 && CasierList.Where(x => x.Stauts == WFRrocessStatus.AuditThrough).Count() == CasierList.Count())
sitem.ColorType = 2;
}
else
{
var itemList = arlist.Where(x => x.WorkFlowId == sitem.FrID).ToList();
if (itemList != null && itemList.Count > 0)
{
sitem.ColorType = 3;
var CasierList = itemList.Where(x => x.SpecialNode != Common.Enum.User.WFSpecialNodeEnum.Normal).ToList();
if (CasierList.Count() == 1 && CasierList.Where(x => x.Stauts == WFRrocessStatus.AuditThrough).Count() == 1)
{
sitem.ColorType = 3;
}
else if (CasierList.Count() > 1 && CasierList.Where(x => x.Stauts == WFRrocessStatus.AuditThrough).Count() == CasierList.Count())
{
sitem.ColorType = 3;
}
else if (CasierList.Count() > 0 && itemList.Where(x => x.Stauts == WFRrocessStatus.AuditThrough).Count() == 0)
{
sitem.ColorType = 1;
}
}
else if (CasierList.Count() > 0 && itemList.Where(x => x.Stauts == WFRrocessStatus.AuditThrough).Count() == 0)
else
{
sitem.ColorType = 1;
}
}
else
{
sitem.ColorType = 1;
}
}
}
}
//查询备注列表
var RemarksList = Order_RemarksRepository.GetListForOrderIdsExtRepository(OrderStr);
//查询备注列表
var RemarksList = Order_RemarksRepository.GetListForOrderIdsExtRepository(OrderStr);
var AccountTypeModel = accountTypeRepository.GetList(new Model.Extend.Finance.RB_AccountType_Extend() { RB_Group_Id = model.RB_Group_Id, Name = "平台账户" }).FirstOrDefault();
var AccountTypeModel = accountTypeRepository.GetList(new Model.Extend.Finance.RB_AccountType_Extend() { RB_Group_Id = model.RB_Group_Id, Name = "平台账户" }).FirstOrDefault();
//照片服务信息
var photoList = new List<RB_Travel_Order_Photo>();
//photoList= order_PhotoRepository.GetList_V2(new RB_Travel_Order_Photo() { RB_Group_id = model.RB_Group_Id }, "", OrderStr);
//照片服务信息
var photoList = new List<RB_Travel_Order_Photo>();
//photoList= order_PhotoRepository.GetList_V2(new RB_Travel_Order_Photo() { RB_Group_id = model.RB_Group_Id }, "", OrderStr);
//发票申请列表
var invoiceApplyList = invoiceApplyRepository.GetList_V2(new RB_Travel_InvoiceApply_Extend { QOrderIds = OrderStr, InvoiceApplyType = InvoiceApplyTypeEnum.GroupOrder, IsSelectInvoiceOrder = 1 });
//发票申请列表
var invoiceApplyList = invoiceApplyRepository.GetList_V2(new RB_Travel_InvoiceApply_Extend { QOrderIds = OrderStr, InvoiceApplyType = InvoiceApplyTypeEnum.GroupOrder, IsSelectInvoiceOrder = 1 });
//可退景点
var backScenicList = new List<RB_Travel_Order_BackScenic_Extend>();
//backScenicList= backScenicRepository.GetListExt_V2(new RB_Travel_Order_BackScenic_Extend() { QOrderIds = OrderStr });
//可退景点
var backScenicList = new List<RB_Travel_Order_BackScenic_Extend>();
//backScenicList= backScenicRepository.GetListExt_V2(new RB_Travel_Order_BackScenic_Extend() { QOrderIds = OrderStr });
//旅客可退景点
var guestBackScenicList = new List<RB_Travel_Order_GuestBackScenic_Extend>();
//guestBackScenicList= guestBackScenicRepository.GetListGuestBackScenicByOrderIds(OrderStr);
//旅客可退景点
var guestBackScenicList = new List<RB_Travel_Order_GuestBackScenic_Extend>();
//guestBackScenicList= guestBackScenicRepository.GetListGuestBackScenicByOrderIds(OrderStr);
//出境合同
var contractList = contractRepository.GetContractListRepository("", OrderStr);
//出境合同
var contractList = contractRepository.GetContractListRepository("", OrderStr);
//其它合同
var otherContractList = new List<RB_Travel_Contract_Extend>();
otherContractList= travel_ContractRepository.GetTravelContractListNewRepository(new RB_Travel_Contract_Extend() { QOrderIds = OrderStr, Status = -1 });
//其它合同
var otherContractList = new List<RB_Travel_Contract_Extend>();
otherContractList = travel_ContractRepository.GetTravelContractListNewRepository(new RB_Travel_Contract_Extend() { QOrderIds = OrderStr, Status = -1 });
#region 同行联系人LD
var customerChildList = new List<Rb_Customer_InfoChildren>();
if (list.Any(x => x.CustomerChildrenId > 0))
{
string customerChildIds = string.Join(",", list.Where(x => x.CustomerChildrenId > 0).Select(x => x.CustomerChildrenId));
customerChildList = infoChildrenRepository.GetInfoChildrenListByIds(customerChildIds);
}
#endregion
#region 同行联系人LD
var customerChildList = new List<Rb_Customer_InfoChildren>();
if (list.Any(x => x.CustomerChildrenId > 0))
{
string customerChildIds = string.Join(",", list.Where(x => x.CustomerChildrenId > 0).Select(x => x.CustomerChildrenId));
customerChildList = infoChildrenRepository.GetInfoChildrenListByIds(customerChildIds);
}
#endregion
#region 自动发放优惠券
var order_AutoCouponList = order_AutoCouponRepository.GetList(new RB_Order_AutoCoupon(), OrderStr);
#endregion
#region 自动发放优惠券
var order_AutoCouponList = order_AutoCouponRepository.GetList(new RB_Order_AutoCoupon(), OrderStr);
#endregion
//查询关联账单
//var billList = travel_BillDetailRepository.GetBillList(new RB_Travel_BillDetail_Extend() { GroupId = model.RB_Group_Id ?? 0, Type = 2, OrderType = CRMMergeOrderTypeEnum.Travel, OrderIds = OrderStr });
//查询关联账单
//var billList = travel_BillDetailRepository.GetBillList(new RB_Travel_BillDetail_Extend() { GroupId = model.RB_Group_Id ?? 0, Type = 2, OrderType = CRMMergeOrderTypeEnum.Travel, OrderIds = OrderStr });
foreach (var item in list)
{
if (!string.IsNullOrEmpty(item.CouponAllotIds))
foreach (var item in list)
{
var tempIdList = Common.ConvertHelper.ToListInt(item.CouponAllotIds);
if (tempIdList != null && tempIdList.Count > 0)
if (!string.IsNullOrEmpty(item.CouponAllotIds))
{
couponIdList.AddRange(tempIdList);
var tempIdList = Common.ConvertHelper.ToListInt(item.CouponAllotIds);
if (tempIdList != null && tempIdList.Count > 0)
{
couponIdList.AddRange(tempIdList);
}
}
}
item.AutoCouponId = order_AutoCouponList?.FirstOrDefault(x => x.OrderId == item.OrderId)?.Status ?? -1;
item.AutoCouponId = order_AutoCouponList?.FirstOrDefault(x => x.OrderId == item.OrderId)?.Status ?? -1;
//旅客信息
var tempGuestList = guestList?.Where(y => item.OrderId == (y.OrderId ?? 0)).ToList() ?? new List<RB_Travel_Guest_Extend>();
foreach (var gItem in tempGuestList)
{
var tempDiscountProtocol = discountProtocolList?.Where(qitem => qitem.OrderId == item.OrderId && qitem.GuestId == gItem.Id)?.FirstOrDefault();
gItem.ProtocolId = tempDiscountProtocol?.ProtocolId ?? 0;
//旅客信息
var tempGuestList = guestList?.Where(y => item.OrderId == (y.OrderId ?? 0)).ToList() ?? new List<RB_Travel_Guest_Extend>();
foreach (var gItem in tempGuestList)
{
var tempDiscountProtocol = discountProtocolList?.Where(qitem => qitem.OrderId == item.OrderId && qitem.GuestId == gItem.Id)?.FirstOrDefault();
gItem.ProtocolId = tempDiscountProtocol?.ProtocolId ?? 0;
var tempDisclaimerProtocol = disclaimerProtocolList?.Where(qitem => qitem.OrderId == item.OrderId && qitem.GuestId == gItem.Id)?.FirstOrDefault();
gItem.DisclaimerId = tempDisclaimerProtocol?.ProtocolId ?? 0;
}
var tempDisclaimerProtocol = disclaimerProtocolList?.Where(qitem => qitem.OrderId == item.OrderId && qitem.GuestId == gItem.Id)?.FirstOrDefault();
gItem.DisclaimerId = tempDisclaimerProtocol?.ProtocolId ?? 0;
}
var photoCList = photoList.Where(x => x.OrderId == item.OrderId).ToList();
item.PhotoNum = photoCList.FirstOrDefault()?.Number ?? 0;
var photoGuestIdList = photoCList.Select(x => x.GuestId ?? 0).Distinct().ToList();
tempGuestList.ForEach(x => x.IsApplyPhoto = 0);
var photoCList = photoList.Where(x => x.OrderId == item.OrderId).ToList();
item.PhotoNum = photoCList.FirstOrDefault()?.Number ?? 0;
var photoGuestIdList = photoCList.Select(x => x.GuestId ?? 0).Distinct().ToList();
tempGuestList.ForEach(x => x.IsApplyPhoto = 0);
if (tempGuestList != null && tempGuestList.Any() && photoGuestIdList != null && photoGuestIdList.Any())
{
tempGuestList.Where(a => photoGuestIdList.Exists(t => a.Id.ToString().Contains(t.ToString()))).ToList().ForEach(x => x.IsApplyPhoto = 1);
}
item.GuestList = tempGuestList.Where(y => y.Status == 0).ToList() ?? new List<RB_Travel_Guest_Extend>();
if (tempGuestList != null && tempGuestList.Any() && photoGuestIdList != null && photoGuestIdList.Any())
{
tempGuestList.Where(a => photoGuestIdList.Exists(t => a.Id.ToString().Contains(t.ToString()))).ToList().ForEach(x => x.IsApplyPhoto = 1);
}
item.GuestList = tempGuestList.Where(y => y.Status == 0).ToList() ?? new List<RB_Travel_Guest_Extend>();
item.EntGuestNum = item?.GuestList?.Count ?? 0;
item.CancelGuestList = tempGuestList?.Where(y => y.Status == 1).ToList() ?? new List<RB_Travel_Guest_Extend>();
item.EntGuestNum = item?.GuestList?.Count ?? 0;
item.CancelGuestList = tempGuestList?.Where(y => y.Status == 1).ToList() ?? new List<RB_Travel_Guest_Extend>();
item.OrderGuestFlightList = new List<OrderGuestFlightItem>();
var travelOrderSpecialOfferModel = travelOrderSpecialOfferList?.FirstOrDefault(x => x.OrderId == item.OrderId);
item.OrderspecialofferId = travelOrderSpecialOfferModel?.ID ?? 0;
item.OrderspecialofferReason = travelOrderSpecialOfferModel?.Reason ?? "";
item.OrderspecialofferApplyReason = travelOrderSpecialOfferModel?.ApplyReason ?? "";
item.OrderspecialofferState = travelOrderSpecialOfferModel?.ApplyState ?? 0;
item.TsIdList = compainlist?.Where(x => x.OrderID == item.OrderId).Select(x => x.ID).ToList() ?? new List<int>();
item.OrderUnionFlightList = new List<OrderUnionFlightItem>();
item.OrderGuestFlightList = new List<OrderGuestFlightItem>();
//是否来自于b2b
if (item.OrderSource == OrderSourceEnum.B2B && item.OrderForm == OrderFormEnum.Computer)
{
item.IsFormB2B = 1;
}
if (item.OrderForm == OrderFormEnum.B2BAndroid || item.OrderForm == OrderFormEnum.B2BApple || item.OrderForm == OrderFormEnum.B2BApplet)
{
item.IsFormB2B = 1;
}
var travelOrderSpecialOfferModel = travelOrderSpecialOfferList?.FirstOrDefault(x => x.OrderId == item.OrderId);
item.OrderspecialofferId = travelOrderSpecialOfferModel?.ID ?? 0;
item.OrderspecialofferReason = travelOrderSpecialOfferModel?.Reason ?? "";
item.OrderspecialofferApplyReason = travelOrderSpecialOfferModel?.ApplyReason ?? "";
item.OrderspecialofferState = travelOrderSpecialOfferModel?.ApplyState ?? 0;
item.TsIdList = compainlist?.Where(x => x.OrderID == item.OrderId).Select(x => x.ID).ToList() ?? new List<int>();
item.OrderUnionFlightList = new List<OrderUnionFlightItem>();
//订单分房信息
item.orderGuestHouseList = new List<RB_Travel_OrderGuestHouse>();
var orderGuestHouseList = houseGuest?.Where(x => x.OrderId == item.OrderId).ToList() ?? new List<RB_Travel_OrderGuestHouse_Extend>();
item.GuestOkNum = orderGuestHouseList?.Count ?? 0;
if (orderGuestHouseList != null && orderGuestHouseList.Any())
{
item.orderGuestHouseList = orderGuestHouseList.RefMapperToList<RB_Travel_OrderGuestHouse>();
var orderGuestHouseType = orderGuestHouseList.GroupBy(x => x.HouseType).OrderBy(x => x.Key);
foreach (var itemOrderGuestHouseType in orderGuestHouseType)
//是否来自于b2b
if (item.OrderSource == OrderSourceEnum.B2B && item.OrderForm == OrderFormEnum.Computer)
{
//房类型 1-单间,2-标准双人间,3-大床房,4-三人间,5拼房间
int houseType = orderGuestHouseList.Where(x => x.HouseType == itemOrderGuestHouseType.Key).GroupBy(x => x.HouseId).Count();
if (houseType > 0)
item.IsFormB2B = 1;
}
if (item.OrderForm == OrderFormEnum.B2BAndroid || item.OrderForm == OrderFormEnum.B2BApple || item.OrderForm == OrderFormEnum.B2BApplet)
{
item.IsFormB2B = 1;
}
//订单分房信息
item.orderGuestHouseList = new List<RB_Travel_OrderGuestHouse>();
var orderGuestHouseList = houseGuest?.Where(x => x.OrderId == item.OrderId).ToList() ?? new List<RB_Travel_OrderGuestHouse_Extend>();
item.GuestOkNum = orderGuestHouseList?.Count ?? 0;
if (orderGuestHouseList != null && orderGuestHouseList.Any())
{
item.orderGuestHouseList = orderGuestHouseList.RefMapperToList<RB_Travel_OrderGuestHouse>();
var orderGuestHouseType = orderGuestHouseList.GroupBy(x => x.HouseType).OrderBy(x => x.Key);
foreach (var itemOrderGuestHouseType in orderGuestHouseType)
{
if (itemOrderGuestHouseType.Key == 1)
{
item.OrderGuestHouseStr += "单间:" + houseType + ",";
}
else if (itemOrderGuestHouseType.Key == 2 || itemOrderGuestHouseType.Key == 5)
//房类型 1-单间,2-标准双人间,3-大床房,4-三人间,5拼房间
int houseType = orderGuestHouseList.Where(x => x.HouseType == itemOrderGuestHouseType.Key).GroupBy(x => x.HouseId).Count();
if (houseType > 0)
{
if (itemOrderGuestHouseType.Key == 5)
if (itemOrderGuestHouseType.Key == 1)
{
if (!orderGuestHouseType.Any(x => x.Key == 2))
item.OrderGuestHouseStr += "单间:" + houseType + ",";
}
else if (itemOrderGuestHouseType.Key == 2 || itemOrderGuestHouseType.Key == 5)
{
if (itemOrderGuestHouseType.Key == 5)
{
if (!orderGuestHouseType.Any(x => x.Key == 2))
{
var oneHouse = orderGuestHouseList.FirstOrDefault(x => x.HouseType == 5 && x.IsBed == 1);
string dName = "";
if (oneHouse != null)
{
var danGuestModel = guestList?.FirstOrDefault(x => x.Id == oneHouse.GuestId) ?? new RB_Travel_Guest_Extend();
dName = (danGuestModel?.SurName ?? "") + (danGuestModel?.Name ?? "");
dName = (!string.IsNullOrWhiteSpace(dName) ? ":" : "") + dName;
}
item.OrderGuestHouseStr += "双人间:" + houseType + (oneHouse != null ? ("(单" + (oneHouse.Sex == 1 ? "男" : "女") + dName + ")") : "") + ",";
}
}
else
{
var oneHouse = orderGuestHouseList.FirstOrDefault(x => x.HouseType == 5 && x.IsBed == 1);
string dName = "";
......@@ -18984,244 +19001,236 @@ namespace REBORN.Module.SellModule
item.OrderGuestHouseStr += "双人间:" + houseType + (oneHouse != null ? ("(单" + (oneHouse.Sex == 1 ? "男" : "女") + dName + ")") : "") + ",";
}
}
else
else if (itemOrderGuestHouseType.Key == 3)
{
var oneHouse = orderGuestHouseList.FirstOrDefault(x => x.HouseType == 5 && x.IsBed == 1);
string dName = "";
if (oneHouse != null)
{
var danGuestModel = guestList?.FirstOrDefault(x => x.Id == oneHouse.GuestId) ?? new RB_Travel_Guest_Extend();
dName = (danGuestModel?.SurName ?? "") + (danGuestModel?.Name ?? "");
dName = (!string.IsNullOrWhiteSpace(dName) ? ":" : "") + dName;
}
item.OrderGuestHouseStr += "双人间:" + houseType + (oneHouse != null ? ("(单" + (oneHouse.Sex == 1 ? "男" : "女") + dName + ")") : "") + ",";
item.OrderGuestHouseStr += "大床房:" + houseType + ",";
}
else if (itemOrderGuestHouseType.Key == 4)
{
item.OrderGuestHouseStr += "三人间:" + houseType + ",";
}
}
else if (itemOrderGuestHouseType.Key == 3)
{
item.OrderGuestHouseStr += "大床房:" + houseType + ",";
}
else if (itemOrderGuestHouseType.Key == 4)
{
item.OrderGuestHouseStr += "三人间:" + houseType + ",";
}
}
}
}
//确认函
var orderConfirmationModel = orderConfirmationList.FirstOrDefault(x => x.OrderId == item.OrderId);
item.OperationState = orderConfirmationModel == null ? -1 : orderConfirmationModel.OperationState;
//确认函
var orderConfirmationModel = orderConfirmationList.FirstOrDefault(x => x.OrderId == item.OrderId);
item.OperationState = orderConfirmationModel == null ? -1 : orderConfirmationModel.OperationState;
//评论分数
var orderGuestsurveyList = guestSurveyList.Where(x => x.OrderID == item.OrderId);
if (orderGuestsurveyList != null && orderGuestsurveyList.Any())
{
int scoreNum = orderGuestsurveyList.Sum(x => x.ScoreCount);
item.ScoreNum = scoreNum > 0 ? Convert.ToDecimal(orderGuestsurveyList.Sum(x => x.ScoreNum)) / Convert.ToDecimal(scoreNum) : 0;
}
else
{
item.ScoreNum = -1;
}
item.IsOrder = item.Status == 2 ? 0 : item.IsOrder;
//发票
item.InvoiceApplyList = new List<RB_Travel_InvoiceApply_Extend>();
item.InvoiceApplyList = invoiceApplyList?.Where(qitem => qitem.OrderId == item.OrderId)?.ToList() ?? new List<RB_Travel_InvoiceApply_Extend>();
item.PlatformAccountTypeId = AccountTypeModel?.ID ?? 0;
item.IsHaveFinance = 0;
item.ZaiTu = item.ZaiTuMoney ?? 0;
item.TipMoney = "";//小费金额
item.OPTipMoney = "";//OP录入小费金额
item.TipFrId = new List<int>();
var TipL = TipList.Where(x => x.OrderId == item.OrderId).ToList();
var fflist = listF.Where(x => x.OrderID == item.OrderId).ToList();
if (fflist != null && fflist.Count > 0)
{
item.IsHaveFinance = 1;
item.FinanceList = fflist;
if (TipL.Any())
//评论分数
var orderGuestsurveyList = guestSurveyList.Where(x => x.OrderID == item.OrderId);
if (orderGuestsurveyList != null && orderGuestsurveyList.Any())
{
item.OPTipMoney = "OP录入 " + TipL.Count() + "人,共计 " + TipL.Sum(x => (x.Money ?? 0)).ToString("#0.00");
item.TipMoney = TipL.Sum(x => (x.Money ?? 0)).ToString("#0.00");
item.TipFrId = TipL.Select(x => x.FinanceId ?? 0).Distinct().ToList();
int scoreNum = orderGuestsurveyList.Sum(x => x.ScoreCount);
item.ScoreNum = scoreNum > 0 ? Convert.ToDecimal(orderGuestsurveyList.Sum(x => x.ScoreNum)) / Convert.ToDecimal(scoreNum) : 0;
}
else
{
if (fflist.Where(x => x.Type == Common.Enum.User.WFTempLateClassEnum.IN && x.CallType == Common.Enum.Finance.CallTypeEnum.NotCall).Any())
item.ScoreNum = -1;
}
item.IsOrder = item.Status == 2 ? 0 : item.IsOrder;
//发票
item.InvoiceApplyList = new List<RB_Travel_InvoiceApply_Extend>();
item.InvoiceApplyList = invoiceApplyList?.Where(qitem => qitem.OrderId == item.OrderId)?.ToList() ?? new List<RB_Travel_InvoiceApply_Extend>();
item.PlatformAccountTypeId = AccountTypeModel?.ID ?? 0;
item.IsHaveFinance = 0;
item.ZaiTu = item.ZaiTuMoney ?? 0;
item.TipMoney = "";//小费金额
item.OPTipMoney = "";//OP录入小费金额
item.TipFrId = new List<int>();
var TipL = TipList.Where(x => x.OrderId == item.OrderId).ToList();
var fflist = listF.Where(x => x.OrderID == item.OrderId).ToList();
if (fflist != null && fflist.Count > 0)
{
item.IsHaveFinance = 1;
item.FinanceList = fflist;
if (TipL.Any())
{
if (fflist.Where(x => x.Type == Common.Enum.User.WFTempLateClassEnum.IN && x.CallType == Common.Enum.Finance.CallTypeEnum.NotCall && x.ColorType >= 3).Any())
item.OPTipMoney = "OP录入 " + TipL.Count() + "人,共计 " + TipL.Sum(x => (x.Money ?? 0)).ToString("#0.00");
item.TipMoney = TipL.Sum(x => (x.Money ?? 0)).ToString("#0.00");
item.TipFrId = TipL.Select(x => x.FinanceId ?? 0).Distinct().ToList();
}
else
{
if (fflist.Where(x => x.Type == Common.Enum.User.WFTempLateClassEnum.IN && x.CallType == Common.Enum.Finance.CallTypeEnum.NotCall).Any())
{
item.TipMoney = fflist.Where(x => x.Type == Common.Enum.User.WFTempLateClassEnum.IN && x.CallType == Common.Enum.Finance.CallTypeEnum.NotCall && x.ColorType >= 3).Sum(x => (x.PayMoney ?? 0)).ToString("#0.00");
if (item.TipMoney == "0.00")
if (fflist.Where(x => x.Type == Common.Enum.User.WFTempLateClassEnum.IN && x.CallType == Common.Enum.Finance.CallTypeEnum.NotCall && x.ColorType >= 3).Any())
{
item.TipMoney = fflist.Where(x => x.Type == Common.Enum.User.WFTempLateClassEnum.IN && x.CallType == Common.Enum.Finance.CallTypeEnum.NotCall && x.ColorType >= 3).Sum(x => (x.PayMoney ?? 0)).ToString("#0.00");
if (item.TipMoney == "0.00")
{
item.TipMoney = "未制單";
}
}
else
{
item.TipMoney = "未制單";
item.TipMoney = "稽核中";
}
}
else
{
item.TipMoney = "稽核中";
item.TipMoney = "未制單";
}
}
}
else
{
item.FinanceList = new List<Model.Extend.Finance.RB_Finance_Extend>();
if (TipL.Any())
{
item.OPTipMoney = "OP录入 " + TipL.Count() + "人,共计 " + TipL.Sum(x => (x.Money ?? 0)).ToString("#0.00");
item.TipMoney = TipL.Sum(x => (x.Money ?? 0)).ToString("#0.00");
item.TipFrId = TipL.Select(x => x.FinanceId ?? 0).Distinct().ToList();
}
else
{
item.TipMoney = "未制單";
item.TipMoney = "未制单";
}
}
}
else
{
item.FinanceList = new List<Model.Extend.Finance.RB_Finance_Extend>();
if (TipL.Any())
var RemList = RemarksList.Where(x => x.OrderId == item.OrderId).OrderByDescending(x => x.CreateDate).ToList();
if (RemList.Count() > 0)
{
item.OPTipMoney = "OP录入 " + TipL.Count() + "人,共计 " + TipL.Sum(x => (x.Money ?? 0)).ToString("#0.00");
item.TipMoney = TipL.Sum(x => (x.Money ?? 0)).ToString("#0.00");
item.TipFrId = TipL.Select(x => x.FinanceId ?? 0).Distinct().ToList();
if (RemList.Count() == 1)
{
item.RemarksList = new List<RB_Travel_Order_Remarks_Extend>();
item.RematksTime = Common.ConvertHelper.FormatTime(RemList[0].CreateDate);
}
else
{
item.RemarksList = RemList.Skip(1).ToList();
item.RematksTime = Common.ConvertHelper.FormatTime(RemList[0].CreateDate);
}
}
else
{
item.TipMoney = "未制单";
}
}
var RemList = RemarksList.Where(x => x.OrderId == item.OrderId).OrderByDescending(x => x.CreateDate).ToList();
if (RemList.Count() > 0)
{
if (RemList.Count() == 1)
{
item.RemarksList = new List<RB_Travel_Order_Remarks_Extend>();
item.RematksTime = Common.ConvertHelper.FormatTime(RemList[0].CreateDate);
item.RemarksName = "";
item.RematksTime = "";
}
else
//op历史备注
item.OPRemarksList = new List<RB_Travel_Order_Remarks_Extend>();
var OPRemList = RemarksList.Where(x => x.OrderId == item.OrderId && x.Type == 2).OrderByDescending(x => x.CreateDate).ToList();
if (OPRemList.Any())
{
item.RemarksList = RemList.Skip(1).ToList();
item.RematksTime = Common.ConvertHelper.FormatTime(RemList[0].CreateDate);
var NorRemark = OPRemList.Where(x => x.Remarks == item.OP_Remarks && x.CreateBy == item.OPRemarkUpdateBy && x.CreateDate == item.OPRemarkUpdateTime).FirstOrDefault();
if (NorRemark != null)
{
item.OPRemarksList = OPRemList.Where(x => x.Id != NorRemark.Id).ToList();
}
}
}
else
{
item.RemarksList = new List<RB_Travel_Order_Remarks_Extend>();
item.RemarksName = "";
item.RematksTime = "";
}
//op历史备注
item.OPRemarksList = new List<RB_Travel_Order_Remarks_Extend>();
var OPRemList = RemarksList.Where(x => x.OrderId == item.OrderId && x.Type == 2).OrderByDescending(x => x.CreateDate).ToList();
if (OPRemList.Any())
{
var NorRemark = OPRemList.Where(x => x.Remarks == item.OP_Remarks && x.CreateBy == item.OPRemarkUpdateBy && x.CreateDate == item.OPRemarkUpdateTime).FirstOrDefault();
if (NorRemark != null)
//HK 2019-07-24 新增退景点信息
item.OrderBackScenicList = backScenicList?.Where(qitem => qitem.OrderId == item.OrderId)?.ToList() ?? new List<RB_Travel_Order_BackScenic_Extend>();
var nowGuestBackScenicList = guestBackScenicList?.Where(x => x.OrderId == item.OrderId)?.ToList() ?? new List<RB_Travel_Order_GuestBackScenic_Extend>();
if (nowGuestBackScenicList != null && nowGuestBackScenicList.Any())
{
item.OPRemarksList = OPRemList.Where(x => x.Id != NorRemark.Id).ToList();
foreach (var items in nowGuestBackScenicList)
{
var guestmodel = item.GuestList?.FirstOrDefault(z => z.Id == items.GuestId) ?? new RB_Travel_Guest_Extend();
items.GuestName = (guestmodel?.SurName ?? "") + (guestmodel?.Name ?? "");
}
foreach (var items in item.OrderBackScenicList)
{
items.GuestBlackList = nowGuestBackScenicList?.Where(z => z.CouponsId == items.CouponsId)?.ToList() ?? new List<RB_Travel_Order_GuestBackScenic_Extend>();
}
}
}
//HK 2019-07-24 新增退景点信息
item.OrderBackScenicList = backScenicList?.Where(qitem => qitem.OrderId == item.OrderId)?.ToList() ?? new List<RB_Travel_Order_BackScenic_Extend>();
var nowGuestBackScenicList = guestBackScenicList?.Where(x => x.OrderId == item.OrderId)?.ToList() ?? new List<RB_Travel_Order_GuestBackScenic_Extend>();
if (nowGuestBackScenicList != null && nowGuestBackScenicList.Any())
{
foreach (var items in nowGuestBackScenicList)
//HK 2019-08-07 新增合同编号
item.ContractNum = contractList?.Where(qitem => qitem.OrderId == item.OrderId)?.ToList() ?? new List<RB_Contract_Extend>();
//其它合同列表
item.OtherContractList = otherContractList?.Where(qitem => qitem.OrderId == item.OrderId)?.ToList() ?? new List<RB_Travel_Contract_Extend>();
item.orderChangePriceModel = orderChangePriceList?.Where(x => x.OrderId == item.OrderId)?.OrderByDescending(x => x.ID)?.FirstOrDefault() ?? new RB_Travel_OrderChangePrice_Extend();
if (((((item.PreferTipAmount ?? 0) > (item.CompensationMoney ?? 0) ? ((item.PreferTipAmount ?? 0) - (item.CompensationMoney ?? 0)) : 0)) + (item.PreferPrice ?? 0) - (item.Income ?? 0) - (item.CashReceiptsMoney ?? 0) + (item.Refund ?? 0) - (item.PlatformTax ?? 0) - (item.ZaiTu ?? 0) - (item.DiscountMoney ?? 0) - (item.RedEnvelopeMoney ?? 0)) == 0)
{
var guestmodel = item.GuestList?.FirstOrDefault(z => z.Id == items.GuestId) ?? new RB_Travel_Guest_Extend();
items.GuestName = (guestmodel?.SurName ?? "") + (guestmodel?.Name ?? "");
item.orderChangePriceModel.ApplyForState = 3;
}
foreach (var items in item.OrderBackScenicList)
//处理同行联系人LD
if (item.CustomerChildrenId > 0)
{
items.GuestBlackList = nowGuestBackScenicList?.Where(z => z.CouponsId == items.CouponsId)?.ToList() ?? new List<RB_Travel_Order_GuestBackScenic_Extend>();
item.ContactName += "/" + (customerChildList.Where(x => x.ID == item.CustomerChildrenId).FirstOrDefault()?.ContactName ?? "");
}
}
//HK 2019-08-07 新增合同编号
item.ContractNum = contractList?.Where(qitem => qitem.OrderId == item.OrderId)?.ToList() ?? new List<RB_Contract_Extend>();
//其它合同列表
item.OtherContractList = otherContractList?.Where(qitem => qitem.OrderId == item.OrderId)?.ToList() ?? new List<RB_Travel_Contract_Extend>();
item.orderChangePriceModel = orderChangePriceList?.Where(x => x.OrderId == item.OrderId)?.OrderByDescending(x => x.ID)?.FirstOrDefault() ?? new RB_Travel_OrderChangePrice_Extend();
if (((((item.PreferTipAmount ?? 0) > (item.CompensationMoney ?? 0) ? ((item.PreferTipAmount ?? 0) - (item.CompensationMoney ?? 0)) : 0)) + (item.PreferPrice ?? 0) - (item.Income ?? 0) - (item.CashReceiptsMoney ?? 0) + (item.Refund ?? 0) - (item.PlatformTax ?? 0) - (item.ZaiTu ?? 0) - (item.DiscountMoney ?? 0) - (item.RedEnvelopeMoney ?? 0)) == 0)
{
item.orderChangePriceModel.ApplyForState = 3;
}
//处理同行联系人LD
if (item.CustomerChildrenId > 0)
{
item.ContactName += "/" + (customerChildList.Where(x => x.ID == item.CustomerChildrenId).FirstOrDefault()?.ContactName ?? "");
#region 组团关联账单
//item.InvoiceList = billList.Where(x => x.OrderId == item.OrderId).Select(x => new
//{
// x.BillId,
// x.CurrencyCode,
// x.TotalMoney
//}).ToList();
#endregion
}
#region 组团关联账单
//item.InvoiceList = billList.Where(x => x.OrderId == item.OrderId).Select(x => new
//{
// x.BillId,
// x.CurrencyCode,
// x.TotalMoney
//}).ToList();
#endregion
}
}
//获取优惠券信息
if (isGetCouponAllotInfo)
{
if (couponIdList != null && couponIdList.Count > 0)
//获取优惠券信息
if (isGetCouponAllotInfo)
{
string couponIds = string.Join(",", couponIdList.Distinct());
if (!string.IsNullOrEmpty(couponIds))
if (couponIdList != null && couponIdList.Count > 0)
{
couponList = couponAllotRepository.GetCouponAllotListByIds(couponIds);
string couponIds = string.Join(",", couponIdList.Distinct());
if (!string.IsNullOrEmpty(couponIds))
{
couponList = couponAllotRepository.GetCouponAllotListByIds(couponIds);
}
}
}
if (couponList != null && couponList.Count > 0)
{
foreach (var item in list)
if (couponList != null && couponList.Count > 0)
{
if (!string.IsNullOrWhiteSpace(item.CouponAllotIds))
foreach (var item in list)
{
var orderCouponIdList = Common.ConvertHelper.ToListInt(item.CouponAllotIds);
var couponAllotList = couponList?.Where(qitem => orderCouponIdList.Contains(qitem.Id))?.ToList();
foreach (var itemC in couponAllotList)
if (!string.IsNullOrWhiteSpace(item.CouponAllotIds))
{
if (itemC.IsExpansion == 1 && !string.IsNullOrWhiteSpace(itemC.ExpansionInfo))
var orderCouponIdList = Common.ConvertHelper.ToListInt(item.CouponAllotIds);
var couponAllotList = couponList?.Where(qitem => orderCouponIdList.Contains(qitem.Id))?.ToList();
foreach (var itemC in couponAllotList)
{
try
if (itemC.IsExpansion == 1 && !string.IsNullOrWhiteSpace(itemC.ExpansionInfo))
{
ExpansionModel nowExpansionModel = new ExpansionModel();
nowExpansionModel = JsonConvert.DeserializeObject<ExpansionModel>(itemC.ExpansionInfo);
var lineList = Common.ConvertHelper.ToListInt(itemC.CheckInLine);
if (lineList != null && lineList.Any(x => x == (item.LineId)) && nowExpansionModel.denomination > 0)
try
{
ExpansionModel nowExpansionModel = new ExpansionModel();
nowExpansionModel = JsonConvert.DeserializeObject<ExpansionModel>(itemC.ExpansionInfo);
var lineList = Common.ConvertHelper.ToListInt(itemC.CheckInLine);
if (lineList != null && lineList.Any(x => x == (item.LineId)) && nowExpansionModel.denomination > 0)
{
itemC.Denomination = Convert.ToDouble(nowExpansionModel.denomination);
}
}
catch
{
itemC.Denomination = Convert.ToDouble(nowExpansionModel.denomination);
}
}
catch
{
}
}
item.CouponAllotList = couponAllotList;
}
item.CouponAllotList = couponAllotList;
}
else
{
item.CouponAllotList = new List<Rb_Coupon_Allot_Extend>();
}
if (!string.IsNullOrEmpty(item.DisType) && item.DisValue > 0)
{
item.CouponAllotList.Add(new Rb_Coupon_Allot_Extend()
else
{
CouponsName = item.DisType,
CouponId = 0,
CouponsType = item.DisType.Contains("打") ? 2 : 1,
Denomination = Convert.ToDouble(item.DisValue),
UseCondition = 0,
AccessType = 0,
Remark = "",
IsExpansion = 0
});
item.CouponAllotList = new List<Rb_Coupon_Allot_Extend>();
}
if (!string.IsNullOrEmpty(item.DisType) && item.DisValue > 0)
{
item.CouponAllotList.Add(new Rb_Coupon_Allot_Extend()
{
CouponsName = item.DisType,
CouponId = 0,
CouponsType = item.DisType.Contains("打") ? 2 : 1,
Denomination = Convert.ToDouble(item.DisValue),
UseCondition = 0,
AccessType = 0,
Remark = "",
IsExpansion = 0
});
}
}
}
}
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "GetTravelOrderList2026Module_");
}
return list;
}
......@@ -2282,12 +2282,6 @@ namespace REBORN.Services.SellService
{
return ApiResult.ParamIsNull(message);
}
//团队人数变化,推送消息给地接用餐
int newGuestNum = sellOrderModule.GetTravelOrderGuestNumModule((dmodel?.TCID ?? 0));
if (oldGuestNum != newGuestNum)
{
sellOrderModule.PushOrderNumChangeMessageModule((dmodel?.TCID ?? 0), oldGuestNum, newGuestNum);
}
return ApiResult.Success(updateScenic + "订单操作成功", isUpdateGuest);
}
......@@ -12551,7 +12545,16 @@ namespace REBORN.Services.SellService
OrderInfo.Sort = 3;
int isNormal = parm.GetInt("isNormal");
List<RB_Travel_Order_Extend> list = sellOrderModule.GetTravelOrderList2026Module(pmodel.pageIndex, pmodel.pageSize, OrderInfo, out long count, "", false, true);
var data = OrderToResult(list, userInfo);
var data = new List<object>();
try
{
data= OrderToResult(list, userInfo);
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "GetTravelOrderPage");
}
pmodel.count = int.Parse(count.ToString());
pmodel.pageData = data;
return ApiResult.Success("", data: JsonHelper.GetCamelCaseResultJson(pmodel));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment