Commit a8f48032 authored by 吴春's avatar 吴春

修改酒店订单接口

parent 58e0b429
......@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Collections.Specialized;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
......@@ -14,8 +15,6 @@ namespace REBORN.Common.Plugin
/// </summary>
public class StringHelper
{
private const string digits = "0123456789";
private const string letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private static Random random = new Random();
#region "随机数"
/// <summary>
......@@ -24,22 +23,15 @@ namespace REBORN.Common.Plugin
/// <returns></returns>
public static string GenerateRandomString()
{
char[] result = new char[10];
// 生成9位随机数字
string digits = new string(Enumerable.Repeat("0123456789", 9)
.Select(s => s[random.Next(s.Length)]).ToArray());
// 先填充9位数字
for (int i = 0; i < 9; i++)
{
result[i] = (char)random.Next('0', '9' + 1);
}
// 生成1位字母
char letter = (char)random.Next('A', 'Z' + 1);
// 随机选择一个位置插入字母
int letterPosition = random.Next(10);
result[letterPosition] = letter;
// 生成1位随机字母(只包含大写字母)
string letter = ((char)random.Next('A', 'Z' + 1)).ToString();
return new string(result);
// 字母放在最后
return digits + letter;
}
/// <summary>
......
......@@ -3207,7 +3207,8 @@ TEL:03-3779-9111";
{ nameof(RB_Sell_VisaOrder.FinalPriceTips),model.FinalPriceTips},
{ nameof(RB_Sell_VisaOrder.SupplierId),model.SupplierId},
{ nameof(RB_Sell_VisaOrder.VisaId),model.VisaId},
{ nameof(RB_Sell_VisaOrder.RB_Branch_Id),model.RB_Branch_Id},
{ nameof(RB_Sell_VisaOrder.CreateBy),model.CreateBy},
};
IList<WhereHelper> whereHelpers = new List<WhereHelper>()
{
......
......@@ -939,7 +939,43 @@ namespace REBORN.Module.SellModule
{
item.RoomList = oldRoomList.Where(x => x.DetailId == item.Id).ToList();
}
string logContent = "";
if (oldOrderModel.Meet != demodel.Meet)
{
logContent += $"应付成本由【{oldOrderModel.Meet}】修改为【{demodel.Meet}】,";
}
if (oldOrderModel.Money != demodel.Money)
{
logContent += $"订单金额由【{oldOrderModel.Money}】修改为【{demodel.Money}】,";
}
if (oldOrderModel.EnterID != demodel.EnterID)
{
logContent += $"销售由【{oldOrderModel.EnterID}】修改为【{demodel.EnterID}】,";
}
if (oldOrderModel.ContactName != demodel.ContactName)
{
logContent += $"联系人由【{oldOrderModel.ContactName}】修改为【{demodel.ContactName}】,";
}
if (oldOrderModel.ContactNumber != demodel.ContactNumber)
{
logContent += $"联系人电话由【{oldOrderModel.ContactNumber}】修改为【{demodel.ContactNumber}】,";
}
if (oldDetailList?.FirstOrDefault()?.HotelId != demodel?.HotelId)
{
logContent += $"酒店由【{oldDetailList?.FirstOrDefault()?.HotelId}】修改为【{demodel.HotelId}】,";
}
if (oldRoomList?.FirstOrDefault()?.PeopleNumber != demodel?.PeopleNumber)
{
logContent += $"人数由【{oldRoomList?.FirstOrDefault()?.PeopleNumber}】修改为【{demodel.PeopleNumber}】,";
}
if (oldOrderModel.CheckIn != demodel?.CheckIn)
{
logContent += $"入住时间由【{oldOrderModel.CheckIn}】修改为【{demodel.CheckIn}】,";
}
if (oldOrderModel.OrderDate != demodel?.OrderDate)
{
logContent += $"离店时间由【{oldOrderModel.OrderDate}】修改为【{demodel.OrderDate}】,";
}
#region 修改订单
Dictionary<string, object> keyValues5 = new Dictionary<string, object>() {
{ nameof(RB_Customer_HotelOrder_Extend.CustomerPayType), demodel.CustomerPayType},
......@@ -959,6 +995,10 @@ namespace REBORN.Module.SellModule
{ nameof(RB_Customer_HotelOrder_Extend.SupplierId), demodel.SupplierId},
{ nameof(RB_Customer_HotelOrder_Extend.FinalPriceTips), demodel.FinalPriceTips},
{ nameof(RB_Customer_HotelOrder_Extend.GuestInfo), demodel.GuestInfo},
{ nameof(RB_Customer_HotelOrder_Extend.EnterID), demodel.EnterID},
{ nameof(RB_Customer_HotelOrder_Extend.EmpBranchId), demodel.EmpBranchId},
{ nameof(RB_Customer_HotelOrder_Extend.UpdateBy), demodel.UpdateBy},
{ nameof(RB_Customer_HotelOrder_Extend.UpdateTime), demodel.UpdateTime},
};
List<WhereHelper> wheres5 = new List<WhereHelper>() {
......@@ -973,15 +1013,66 @@ namespace REBORN.Module.SellModule
{
try
{
foreach (var item in demodel.DetailList)
//订单详情信息
// 获取数据库中的旅客列表并按Id降序排列
// 获取需要删除的客人(存在于旧数据但不在新数据中)
var guestsToDelete = oldDetailList.Where(old => !demodel.DetailList.Any(newG => newG.HotelId == old.HotelId)).ToList();
// 获取需要更新的客人(同时存在于旧数据和新数据中)
var guestsToUpdate = oldDetailList.Where(old => demodel.DetailList.Any(newG => newG.HotelId == old.HotelId)).ToList();
// 获取需要新增的客人(存在于新数据但不在旧数据中)
var guestsToAdd = demodel.DetailList.Where(newG => !oldDetailList.Any(old => old.HotelId == newG.HotelId)).ToList();
// 删除操作
foreach (var guest in guestsToDelete)
{
var oldDModel = oldDetailList.Where(x => x.HotelId == item.HotelId && x.Date == item.Date).FirstOrDefault();
LogHelper.WriteInfo("oldDModel:" + oldDModel.Id);
Dictionary<string, object> gfiles = new Dictionary<string, object>()
{
{ nameof(RB_Customer_HotelOrderDetail_Extend.Status),1}
};
List<WhereHelper> gwheres = new List<WhereHelper>()
{
new WhereHelper()
{
FiledName=nameof(RB_Customer_HotelOrderDetail_Extend.Id),
FiledValue=guest.Id,
OperatorEnum=OperatorEnum.Equal
}
};
var nowFlag = hotelOrderDetailRepository.Update(gfiles, gwheres);
if (nowFlag)
{
//验证 不存在的房型做删除
var dellist = oldRoomList.Where(x => x.DetailId == guest.Id).ToList();
foreach (var citem in dellist)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Customer_HotelOrderRoom_Extend.Status), 1},
{ nameof(RB_Customer_HotelOrderRoom_Extend.UpdateTime), DateTime.Now}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName = nameof(RB_Customer_HotelOrderRoom_Extend.Id),
FiledValue = citem.Id,
OperatorEnum =OperatorEnum.Equal
}
};
hotelOrderRoomRepository.Update(keyValues, wheres);
}
}
}
// 更新操作
foreach (var guest in guestsToUpdate)
{
var oldDModel = demodel.DetailList.Where(x => x.HotelId == guest.HotelId).FirstOrDefault();
if (oldDModel != null)
{
foreach (var qitem in item.RoomList)
foreach (var qitem in oldDModel.RoomList)
{
var oldRoomModel = oldDModel.RoomList.Where(x => x.RoomTypeName == qitem.RoomTypeName).FirstOrDefault();
var oldRoomModel = oldRoomList.Where(x => x.RoomTypeName == qitem.RoomTypeName).FirstOrDefault();
if (oldRoomModel != null)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
......@@ -1005,7 +1096,7 @@ namespace REBORN.Module.SellModule
else
{
qitem.OrderId = demodel.OrderId;
qitem.DetailId = oldDModel.Id;
qitem.DetailId = guest.Id;
qitem.Status = 0;
qitem.CreateTime = DateTime.Now;
qitem.UpdateBy = demodel.UpdateBy;
......@@ -1015,7 +1106,7 @@ namespace REBORN.Module.SellModule
}
//验证 不存在的房型做删除
var dellist = oldRoomList.Where(x => !item.RoomList.Select(y => y.RoomTypeName).Contains(x.RoomTypeName)).ToList();
var dellist = oldRoomList.Where(x => !oldDModel.RoomList.Select(y => y.RoomTypeName).Contains(x.RoomTypeName)).ToList();
foreach (var citem in dellist)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
......@@ -1033,34 +1124,36 @@ namespace REBORN.Module.SellModule
}
}
}
else
}
// 新增操作
foreach (var item in guestsToAdd)
{
//新增
item.OrderId = demodel.OrderId;
item.GroupId = demodel.GroupId;
item.Status = 0;
item.CreateTime = DateTime.Now;
item.UpdateBy = demodel.UpdateBy;
item.UpdateTime = DateTime.Now;
item.HotelStatus = 1;
int detailId = hotelOrderDetailRepository.Insert(item);
if (detailId > 0)
{
//新增
item.OrderId = demodel.OrderId;
item.GroupId = demodel.GroupId;
item.Status = 0;
item.CreateTime = DateTime.Now;
item.UpdateBy = demodel.UpdateBy;
item.UpdateTime = DateTime.Now;
item.HotelStatus = 1;
int detailId = hotelOrderDetailRepository.Insert(item);
if (detailId > 0)
foreach (var qitem in item.RoomList)
{
foreach (var qitem in item.RoomList)
{
qitem.OrderId = demodel.OrderId;
qitem.DetailId = detailId;
qitem.Status = 0;
qitem.GroupId = demodel.GroupId;
qitem.CreateTime = DateTime.Now;
qitem.UpdateBy = demodel.UpdateBy;
qitem.UpdateTime = DateTime.Now;
hotelOrderRoomRepository.Insert(qitem);
}
qitem.OrderId = demodel.OrderId;
qitem.DetailId = detailId;
qitem.Status = 0;
qitem.GroupId = demodel.GroupId;
qitem.CreateTime = DateTime.Now;
qitem.UpdateBy = demodel.UpdateBy;
qitem.UpdateTime = DateTime.Now;
hotelOrderRoomRepository.Insert(qitem);
}
}
}
}
catch (Exception ex)
{
......@@ -1070,15 +1163,15 @@ namespace REBORN.Module.SellModule
}
#endregion
if (flag)
if (flag && !string.IsNullOrWhiteSpace(logContent))
{
customer_OrderLogRepository.Insert(new RB_Customer_OrderLog()
{
LogId = 0,
GroupId = demodel.GroupId,
CreateBy = 0,
CreateBy = demodel.UpdateBy,
CreateTime = DateTime.Now,
LogContent = "客人修改订单",
LogContent = logContent,
OrderId = demodel.OrderId,
Type = 1
});
......@@ -3404,6 +3497,10 @@ namespace REBORN.Module.SellModule
{
logContent += $"尾款提醒天数由【{oldOrderModel.FinalPriceTips}】修改为【{demodel.FinalPriceTips}】,";
}
if (demodel.EnterID != oldOrderModel.EnterID)
{
logContent += $"销售由【{oldOrderModel.EnterID}】修改为【{demodel.EnterID}】,";
}
#endregion
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
......@@ -3426,6 +3523,8 @@ namespace REBORN.Module.SellModule
{ nameof(RB_Customer_TicketOrder_Extend.FinalPriceTips), demodel.FinalPriceTips},
{ nameof(RB_Customer_TicketOrder_Extend.UseDate), demodel.UseDate},
{ nameof(RB_Customer_TicketOrder_Extend.GuestInfo), demodel.GuestInfo},
{ nameof(RB_Customer_TicketOrder_Extend.EnterID), demodel.EnterID},
{ nameof(RB_Customer_TicketOrder_Extend.EmpBranchId), demodel.EmpBranchId},
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
......@@ -3435,7 +3534,7 @@ namespace REBORN.Module.SellModule
}
};
flag = customer_TicketOrderRepository.Update(keyValues, wheres);
if (flag)
if (flag && !string.IsNullOrWhiteSpace(logContent))
{
//记录订单日志
customer_OrderLogRepository.Insert(new RB_Customer_OrderLog()
......@@ -3444,7 +3543,7 @@ namespace REBORN.Module.SellModule
GroupId = demodel.GroupId,
CreateBy = demodel.EnterID,
CreateTime = DateTime.Now,
LogContent = "修改订单",
LogContent = logContent,
OrderId = demodel.OrderId,
Type = 2
});
......@@ -3504,7 +3603,10 @@ namespace REBORN.Module.SellModule
{
logContent += $"行程天数由【{oldOrderModel.UseDay}】修改为【{demodel.UseDay}】,";
}
if (demodel.EnterID != oldOrderModel.EnterID)
{
logContent += $"销售由【{oldOrderModel.EnterID}】修改为【{demodel.EnterID}】,";
}
#endregion
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
......@@ -3529,6 +3631,8 @@ namespace REBORN.Module.SellModule
{ nameof(RB_Customer_TicketOrder_Extend.UseDate), demodel.UseDate},
{ nameof(RB_Customer_TicketOrder_Extend.UseDay), demodel.UseDay},
{ nameof(RB_Customer_TicketOrder_Extend.GuestInfo), demodel.GuestInfo},
{ nameof(RB_Customer_TicketOrder_Extend.EnterID), demodel.EnterID},
{ nameof(RB_Customer_TicketOrder_Extend.EmpBranchId), demodel.EmpBranchId},
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
......@@ -3543,33 +3647,33 @@ namespace REBORN.Module.SellModule
#region 组装详情信息
demodel.DetailList = new List<RB_Customer_TicketOrderDetail_Extend>();
RB_Customer_TicketOrderDetail_Extend ticketOrderDetailModel = new RB_Customer_TicketOrderDetail_Extend
{
Id = 0,
OrderId = demodel.OrderId,
TicketName = product.TicketName,
Unit_Price = demodel.PeopleNum == 0 ? demodel.Money : Math.Round(demodel.Money / (demodel?.PeopleNum ?? 1), 2),
Num = demodel.PeopleNum,
Money = demodel.Money,
CurrencyId = 1,
CurrentRate = 1,
TicketId = product.Id,
PriceId = 0,
Status = 0,
};
demodel.DetailList.Add(ticketOrderDetailModel);
//demodel.DetailList = new List<RB_Customer_TicketOrderDetail_Extend>();
//RB_Customer_TicketOrderDetail_Extend ticketOrderDetailModel = new RB_Customer_TicketOrderDetail_Extend
//{
// Id = 0,
// OrderId = demodel.OrderId,
// TicketName = product.TicketName,
// Unit_Price = demodel.PeopleNum == 0 ? demodel.Money : Math.Round(demodel.Money / (demodel?.PeopleNum ?? 1), 2),
// Num = demodel.PeopleNum,
// Money = demodel.Money,
// CurrencyId = 1,
// CurrentRate = 1,
// TicketId = product.Id,
// PriceId = 0,
// Status = 0,
//};
//demodel.DetailList.Add(ticketOrderDetailModel);
#endregion
// 1. 找出需要新增的项 - 在新列表但不在旧列表中
var insertList = demodel.DetailList.Where(n => !dlist.Any(o => o.TicketId == n.TicketId)).ToList();
var insertList = demodel.DetailList.Where(n => !dlist.Any(o => o.Id == n.Id)).ToList();
// 2. 找出需要删除的项 - 在旧列表但不在新列表中
var delList = dlist.Where(o => !demodel.DetailList.Any(n => n.TicketId == o.TicketId)).ToList();
var delList = dlist.Where(o => !demodel.DetailList.Any(n => n.Id == o.Id)).ToList();
// 3. 找出需要更新的项 - 在两个列表中都存在
var updateList = demodel.DetailList.Where(n => dlist.Any(o => o.TicketId == n.TicketId)).ToList();
var updateList = demodel.DetailList.Where(n => dlist.Any(o => o.Id == n.Id)).ToList();
//var insertList = demodel.DetailList.Where(x => dlist.Select(y => y.TicketId).Contains(x.TicketId)).ToList();
//var updateList = dlist.Where(x => demodel.DetailList.Select(y => y.TicketId).Contains(x.TicketId)).ToList();
//var delList = dlist.Where(x => !demodel.DetailList.Select(y => y.TicketId).Contains(x.TicketId)).ToList();
......@@ -3577,6 +3681,8 @@ namespace REBORN.Module.SellModule
foreach (var item in insertList)
{
item.OrderId = demodel.OrderId;
item.TicketId = product.Id;
item.Unit_Price = Math.Round(item.Money / (item?.Num ?? 1), 2);
bool flag1 = customer_TicketOrderDetailRepository.Insert(item) > 0;
}
//更新
......@@ -3620,40 +3726,42 @@ namespace REBORN.Module.SellModule
}
//记录订单日志
customer_OrderLogRepository.Insert(new RB_Customer_OrderLog()
if (!string.IsNullOrWhiteSpace(logContent))
{
LogId = 0,
GroupId = demodel.GroupId,
CreateBy = demodel.EnterID,
CreateTime = DateTime.Now,
LogContent = "销售修改订单",
OrderId = demodel.OrderId,
Type = 2
});
customer_OrderLogRepository.Insert(new RB_Customer_OrderLog()
{
LogId = 0,
GroupId = demodel.GroupId,
CreateBy = demodel.EnterID,
CreateTime = DateTime.Now,
LogContent = logContent,
OrderId = demodel.OrderId,
Type = 2
});
}
}
}
}
else
{
demodel.CouponsId = hotel.ID;
#region 组装详情信息
demodel.DetailList = new List<RB_Customer_TicketOrderDetail_Extend>();
RB_Customer_TicketOrderDetail_Extend ticketOrderDetailModel = new RB_Customer_TicketOrderDetail_Extend
{
Id = 0,
OrderId = 0,
TicketName = product.TicketName,
Unit_Price = demodel.PeopleNum == 0 ? demodel.Money : Math.Round(demodel.Money / (demodel?.PeopleNum ?? 1), 2),
Num = demodel.PeopleNum,
Money = demodel.Money,
CurrencyId = 1,
CurrentRate = 1,
TicketId = product.Id,
PriceId = 0,
Status = 0,
};
demodel.DetailList.Add(ticketOrderDetailModel);
//demodel.DetailList = new List<RB_Customer_TicketOrderDetail_Extend>();
//RB_Customer_TicketOrderDetail_Extend ticketOrderDetailModel = new RB_Customer_TicketOrderDetail_Extend
//{
// Id = 0,
// OrderId = 0,
// TicketName = product.TicketName,
// Unit_Price = demodel.PeopleNum == 0 ? demodel.Money : Math.Round(demodel.Money / (demodel?.PeopleNum ?? 1), 2),
// Num = demodel.PeopleNum,
// Money = demodel.Money,
// CurrencyId = 1,
// CurrentRate = 1,
// TicketId = product.Id,
// PriceId = 0,
// Status = 0,
//};
//demodel.DetailList.Add(ticketOrderDetailModel);
#endregion
......@@ -3667,6 +3775,8 @@ namespace REBORN.Module.SellModule
foreach (var item in demodel.DetailList)
{
item.OrderId = orderId;
item.TicketId = product.Id;
item.Unit_Price = Math.Round(item.Money / (item?.Num ?? 1), 2);
bool flagD = customer_TicketOrderDetailRepository.Insert(item) > 0;
}
if (!string.IsNullOrEmpty(demodel.DiscountsIds))
......@@ -5439,7 +5549,7 @@ namespace REBORN.Module.SellModule
}
}
flag= orderid > 0 ;
flag = orderid > 0;
}
if (flag)
{
......@@ -5598,7 +5708,7 @@ namespace REBORN.Module.SellModule
/// <param name="appointOPList"></param>
/// <param name="orderId"></param>
/// <param name="resourceType"></param>
public void SetOP(List<RB_Appoint_OP> appointOPList, int orderId, Common.Enum.ResourceTypeEnum resourceType)
public void SetOP(List<RB_Appoint_OP> appointOPList, int orderId, Common.Enum.ResourceTypeEnum resourceType)
{
var oldOPList = appointOPRepository.GetList(new RB_Appoint_OP_Extend { OrderId = orderId, ResourceType = resourceType }) ?? new List<RB_Appoint_OP_Extend>();
if (appointOPList != null && appointOPList.Any())
......
......@@ -5589,7 +5589,7 @@ namespace REBORN.Module.SellModule
tmodel.OutBranchId = userInfo.RB_Branch_id;
tmodel.RB_Group_Id = dmodel.RB_Group_Id;
tmodel.RB_Department_Id = userInfo.RB_Department_Id;
tmodel.TCNUM = StringHelper.FormatDate(tmodel.StartDate) +StringHelper.GenerateRandomString();
tmodel.TCNUM = tmodel.StartDate.Value.ToString("yyyyMMdd") + StringHelper.GenerateRandomString();
tmodel.Status = GroupStateEnum.Normal;
tmodel.TCState = TravelSaleStateEnum.SaleTeam;
var hotelId = travel_PriceRepository.Insert(tmodel);
......@@ -6043,6 +6043,8 @@ namespace REBORN.Module.SellModule
tomodel.ContactName = dmodel.ContactName;
tomodel.ContactMobile = dmodel.ContactMobile;
tomodel.IsLeaderOrder = 0;
tomodel.EnterID = dmodel.EnterID;
tomodel.RB_Branch_Id = dmodel.RB_Branch_Id;
orderRepository.Update(tomodel, trans);
//验证 团款是否收齐
if ((tomodel.PreferPrice ?? 0) <= (tomodel.Income ?? 0) + (tomodel.PlatformTax ?? 0) + (tomodel.DiscountMoney ?? 0) + (tomodel.RedEnvelopeMoney ?? 0) - (tomodel.Refund ?? 0))
......@@ -5028,6 +5028,11 @@ namespace REBORN.Services.DMCService
Meet = parm.GetDecimal("Meet"),
TotalPrice = parm.GetDecimal("TotalPrice"),
};
int createBy = parm.GetInt("CreateBy", 0);
if (createBy > 0)
{
userInfo = CacheManager.User.RbUserCache.GetUserLoginInfo(createBy.ToString());
}
//出行人员名单(姓名、电话、出生年月日是必须的、护照号、身份证号、护照有效期非必填)
string guestInfoStr = parm.GetStringValue("GuestList");
List<RB_Travel_Guest_Extend> orderGuestList = new List<RB_Travel_Guest_Extend>();
......@@ -5232,15 +5237,6 @@ namespace REBORN.Services.DMCService
model.VisaOrderStatus = 1;
model.IsCommission = 2;
model.Income = 0;
//if (model.ClientType == 2)
//{
// model.TotalPrice = VisaProductModel.VisaB2CPrice * model.PeopleNum;
//}
//else
//{
// model.TotalPrice = VisaProductModel.VisaPrice * model.PeopleNum;
//}
// IsUpdateTCNum = false;
}
else
{
......@@ -5298,8 +5294,8 @@ namespace REBORN.Services.DMCService
model.DiscountMoney = 0;
}
#endregion
model.RB_Branch_Id = userInfo.RB_Branch_id;
model.CreateBy = userInfo.EmployeeId;
model.Unit_Price = Math.Round((model.TotalPrice ?? 0) / (model.PeopleNum ?? 1), 2); //VisaProductModel.VisaPrice;
model.UnitB2C_Price = VisaProductModel.VisaB2CPrice;
model.CommissionMoney = VisaProductModel.CommissionPrice;
......@@ -5684,6 +5680,7 @@ namespace REBORN.Services.DMCService
x.FinalPriceTips,
x.Meet,
x.OtherContractList,
CreateBy = x.CreateBy ?? 0,
ContractType = Common.Enum.ResourceTypeEnum.Visa,
SupplierModel = new { SupplierId = x?.SupplierModel?.ID ?? 0, SupplierName = x?.SupplierModel?.Name ?? "", Tel = x?.SupplierModel?.Tel ?? "", Contact = x?.SupplierModel?.Contact ?? "", CompanyName = x?.SupplierModel?.CompanyName ?? "", DutyParagraph = x?.SupplierModel?.DutyParagraph ?? "", CompanyPhone = x?.SupplierModel?.CompanyPhone ?? "", OpeningBank = x?.SupplierModel?.OpeningBank ?? "", BankNo = x?.SupplierModel?.BankNo ?? "" },
AppointOPList = x.AppointOPList?.Select(z => new { z.OPId, OPName = CacheManager.User.RbUserCache.GetUserLoginInfo(z.OPId.ToString())?.emName ?? "" }),
......
......@@ -21,6 +21,7 @@ using System.Linq;
using System.Runtime.Remoting.Metadata.W3cXsd2001;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using static REBORN.Model.Extend.RB_Hotel_Extend;
......@@ -426,7 +427,7 @@ namespace REBORN.Services.SellService
x.ContactName,
x.ContactNumber,
x.OrderStatus,
Branch_Id = x.EmpBranchId??-1,
Branch_Id = x.EmpBranchId ?? -1,
OrderStatusName = x.OrderStatus.GetEnumName(),
CheckIn = StringHelper.FormatDate(x.CheckIn),
OrderDate = StringHelper.FormatDate(x.OrderDate),
......@@ -536,7 +537,7 @@ namespace REBORN.Services.SellService
CancelTime = x.OrderStatus == CustomerOrderStatusEnum.Cancel ? x.UpdateTime.ToString("yyyy/MM/dd HH:mm") : "",
CancelEmpName = x.OrderStatus == CustomerOrderStatusEnum.Cancel ? CacheManager.User.RbUserCache.GetUserLoginInfo(x.UpdateBy.ToString())?.emName : "",
OutBranchId = x.EmpBranchId,
x.EnterID,
EnterID = x?.EnterID ?? 0,
SaleName = CacheManager.User.RbUserCache.GetUserLoginInfo(x.EnterID.ToString())?.emName,
LureEmpName = CacheManager.User.RbUserCache.GetEmployee(x.LureEmpId)?.EmName ?? "",
x.OpEmpId,
......@@ -548,7 +549,7 @@ namespace REBORN.Services.SellService
x.FinalPriceTips,
x.OtherContractList,
ContractType = Common.Enum.ResourceTypeEnum.Hotel,
OrderGuestList = x.OrderGuestList.Select(subItem => new { GuestId = subItem.Id, Tel = subItem?.Tel ?? "", IdCard = subItem?.IdCard ?? "", PassportNo = subItem?.PassportNo ?? "", PassportExpiry = StringHelper.FormatDate(subItem.PassportExpiry), PassportIssued = StringHelper.FormatDate(subItem.PassportIssued), Birthday = StringHelper.FormatDate(subItem.Birthday), subItem.OrderId, Name =subItem?.Name??"", Age = subItem.Birthday.HasValue ? System.DateTime.Now.Year - subItem.Birthday.Value.Year : 0, subItem.MobilePhone }),
OrderGuestList = x.OrderGuestList.Select(subItem => new { GuestId = subItem.Id, Tel = subItem?.Tel ?? "", IdCard = subItem?.IdCard ?? "", PassportNo = subItem?.PassportNo ?? "", PassportExpiry = StringHelper.FormatDate(subItem.PassportExpiry), PassportIssued = StringHelper.FormatDate(subItem.PassportIssued), Birthday = StringHelper.FormatDate(subItem.Birthday), subItem.OrderId, Name = subItem?.Name ?? "", Age = subItem.Birthday.HasValue ? System.DateTime.Now.Year - subItem.Birthday.Value.Year : 0, subItem.MobilePhone }),
// OrderGuestList = x.OrderGuestList?.Select(z => new { PassportIssued = StringHelper.FormatDate(z?.PassportIssued), PassportExpiry = StringHelper.FormatDate(z?.PassportExpiry), IdCard = z?.IdCard ?? "", Name = z?.Name ?? "", Tel = z?.Tel ?? "", PassportNo = z?.PassportNo ?? "", Birthday = StringHelper.FormatDate(z.Birthday) }),
SupplierModel = new { SupplierId = x?.SupplierModel?.ID ?? 0, SupplierName = x?.SupplierModel?.Name ?? "", Tel = x?.SupplierModel?.Tel ?? "", Contact = x?.SupplierModel?.Contact ?? "", CompanyName = x?.SupplierModel?.CompanyName ?? "", DutyParagraph = x?.SupplierModel?.DutyParagraph ?? "", CompanyPhone = x?.SupplierModel?.CompanyPhone ?? "", OpeningBank = x?.SupplierModel?.OpeningBank ?? "", BankNo = x?.SupplierModel?.BankNo ?? "" },
AppointOPList = x.AppointOPList?.Select(z => new { z.OPId, OPName = CacheManager.User.RbUserCache.GetUserLoginInfo(z.OPId.ToString())?.emName ?? "" }),
......@@ -998,6 +999,12 @@ namespace REBORN.Services.SellService
//入住日期-离开日期√,房型√、成本√、售价√、供应商√、供应商账号,护照√、身份证√,提成方式、合同,名单√、指定0p√、尾款提醒设置√、列表(应付) 1天
JObject parms = JObject.Parse(request.msg.ToString());
DateTime now = DateTime.Now;
int createBy = parms.GetInt("EnterID", 0);
UserInfo enterUserinfo = userInfo;
if (createBy > 0)
{
enterUserinfo = CacheManager.User.RbUserCache.GetUserLoginInfo(createBy.ToString());
}
demodel = new RB_Customer_HotelOrder_Extend
{
OrderType = 1,//直接默认散客
......@@ -1005,8 +1012,8 @@ namespace REBORN.Services.SellService
CreateTime = now,
CustomerId = 0,//销售下单 不用客户信息
CustomerAccountId = 0,
EnterID = userInfo.EmployeeId,
EmpBranchId = userInfo.RB_Branch_id,
EnterID = enterUserinfo.EmployeeId,
EmpBranchId = enterUserinfo.RB_Branch_id,
CheckIn = parms.GetDateTime("CheckIn"),
OrderDate = parms.GetDateTime("OrderDate"),
ContactName = parms.GetStringValue("ContactName"),
......@@ -1078,7 +1085,7 @@ namespace REBORN.Services.SellService
Common.Plugin.LogHelper.Write(ex, "SetTeavelTeam");
}
}
if (orderGuestList!=null&& orderGuestList.Any())
if (orderGuestList != null && orderGuestList.Any())
{
demodel.GuestInfo = JsonConvert.SerializeObject(orderGuestList);
}
......@@ -1118,7 +1125,7 @@ namespace REBORN.Services.SellService
Contact = parms.GetStringValue("Contact"),
Name = parms.GetStringValue("SupplierName"),
Status = Common.Enum.DateStateEnum.Normal,
// Type = Common.Enum.ResourceTypeEnum.Hotel,
// Type = Common.Enum.ResourceTypeEnum.Hotel,
CompanyName = parms.GetStringValue("CompanyName"),//公司名称
DutyParagraph = parms.GetStringValue("DutyParagraph"),//营业执照号
CompanyPhone = parms.GetStringValue("CompanyPhone"),//电话
......@@ -1395,7 +1402,7 @@ namespace REBORN.Services.SellService
x.OtherContractList,
ContractType = Common.Enum.ResourceTypeEnum.Hotel,
x.FinalPriceTips,
OrderGuestList = x.OrderGuestList.Select(subItem => new { GuestId = subItem.Id, Tel = subItem?.Tel ?? "", IdCard = subItem?.IdCard ?? "", PassportNo = subItem?.PassportNo ?? "", PassportExpiry = StringHelper.FormatDate(subItem.PassportExpiry), PassportIssued = StringHelper.FormatDate(subItem.PassportIssued), Birthday = StringHelper.FormatDate(subItem.Birthday), subItem.OrderId, Name = subItem?.Name??"", Age = subItem.Birthday.HasValue ? System.DateTime.Now.Year - subItem.Birthday.Value.Year : 0, subItem.MobilePhone }),
OrderGuestList = x.OrderGuestList.Select(subItem => new { GuestId = subItem.Id, Tel = subItem?.Tel ?? "", IdCard = subItem?.IdCard ?? "", PassportNo = subItem?.PassportNo ?? "", PassportExpiry = StringHelper.FormatDate(subItem.PassportExpiry), PassportIssued = StringHelper.FormatDate(subItem.PassportIssued), Birthday = StringHelper.FormatDate(subItem.Birthday), subItem.OrderId, Name = subItem?.Name ?? "", Age = subItem.Birthday.HasValue ? System.DateTime.Now.Year - subItem.Birthday.Value.Year : 0, subItem.MobilePhone }),
// OrderGuestList = x.OrderGuestList?.Select(z => new { PassportIssued = StringHelper.FormatDate(z?.PassportIssued), PassportExpiry = StringHelper.FormatDate(z?.PassportExpiry), IdCard = z?.IdCard ?? "", Name = z?.Name ?? "", Tel = z?.Tel ?? "", PassportNo = z?.PassportNo ?? "", Birthday = StringHelper.FormatDate(z.Birthday) }),
SupplierModel = new { SupplierId = x?.SupplierModel?.ID ?? 0, SupplierName = x?.SupplierModel?.Name ?? "", Tel = x?.SupplierModel?.Tel ?? "", Contact = x?.SupplierModel?.Contact ?? "", CompanyName = x?.SupplierModel?.CompanyName ?? "", DutyParagraph = x?.SupplierModel?.DutyParagraph ?? "", CompanyPhone = x?.SupplierModel?.CompanyPhone ?? "", OpeningBank = x?.SupplierModel?.OpeningBank ?? "", BankNo = x?.SupplierModel?.BankNo ?? "" },
AppointOPList = x.AppointOPList?.Select(z => new { z.OPId, OPName = CacheManager.User.RbUserCache.GetUserLoginInfo(z.OPId.ToString())?.emName ?? "" }),
......@@ -1608,11 +1615,12 @@ namespace REBORN.Services.SellService
x.Mobile,
x.CouponsId,
x.CouponsName,
Branch_Id= x.EmpBranchId,
Branch_Id = x.EmpBranchId,
x.TicketCodeFile,
DetailList = x.DetailList.Select(y => new
{
y.Id,
OrderDetailId = y.Id,
y.CurrencyName,
y.CurrencyCode,
y.CurrencyId,
......@@ -2226,6 +2234,12 @@ namespace REBORN.Services.SellService
//出发日期√、 房型,成本,售价√,供应商(账景),护照,身份证,提成方式、合同、名单、指定0p、尾款提醒设置、列表(应付)1天
JObject parms = JObject.Parse(request.msg.ToString());
DateTime now = DateTime.Now;
int createBy = parms.GetInt("EnterID", 0);
UserInfo enterUserinfo = userInfo;
if (createBy > 0)
{
enterUserinfo = CacheManager.User.RbUserCache.GetUserLoginInfo(createBy.ToString());
}
RB_Customer_TicketOrder_Extend query = new RB_Customer_TicketOrder_Extend
{
CouponsId = parms.GetInt("CouponsId"),
......@@ -2337,6 +2351,41 @@ namespace REBORN.Services.SellService
// ScenicSpotTag = parms.GetStringValue("ScenicSpotTag"),
};
string detailListStr = parms.GetStringValue("DetailList");
List<RB_Customer_TicketOrderDetail_Extend> DetailList = new List<RB_Customer_TicketOrderDetail_Extend>();
if (!string.IsNullOrWhiteSpace(detailListStr))
{
try
{
JArray detailListArray = JArray.Parse(detailListStr);
if (detailListArray != null && detailListArray.Count > 0)
{
foreach (var jItem in detailListArray)
{
JObject jobj = JObject.Parse(JsonHelper.Serialize(jItem));
DetailList.Add(new RB_Customer_TicketOrderDetail_Extend
{
Id = jobj.GetInt("OrderDetailId"),
TicketName = jobj.GetStringValue("TicketName"),
Num = jobj.GetInt("Num"),
Money = jobj.GetDecimal("Money"),
});
}
}
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "SetTeavelTeam");
}
}
if ((orderGuestList?.Count) == 0)
{
// return ApiResult.ParamIsNull("请填写入住人员名单");
}
else
{
query.GuestInfo = JsonConvert.SerializeObject(orderGuestList);
}
RB_TicketCoupons_Ticket ticket = new RB_TicketCoupons_Ticket
{
Id = parms.GetInt("TicketId"),
......@@ -2357,7 +2406,7 @@ namespace REBORN.Services.SellService
Contact = parms.GetStringValue("Contact"),
Name = parms.GetStringValue("SupplierName"),
Status = Common.Enum.DateStateEnum.Normal,
// Type = Common.Enum.ResourceTypeEnum.TicketCoupons,
// Type = Common.Enum.ResourceTypeEnum.TicketCoupons,
CompanyName = parms.GetStringValue("CompanyName"),//公司名称
DutyParagraph = parms.GetStringValue("DutyParagraph"),//营业执照号
CompanyPhone = parms.GetStringValue("CompanyPhone"),//电话
......@@ -2394,7 +2443,7 @@ namespace REBORN.Services.SellService
isAdd = true;
}
}
else if (!string.IsNullOrEmpty(cardNum) ) { isAdd = true; }
else if (!string.IsNullOrEmpty(cardNum)) { isAdd = true; }
if (isAdd)
{
clientBankAccountList.Add(new RB_ClientBankAccount_Extend
......@@ -2492,8 +2541,8 @@ namespace REBORN.Services.SellService
}
query.GroupId = userInfo.RB_Group_id;
query.EnterID = userInfo.EmployeeId;
query.EmpBranchId = userInfo.RB_Branch_id;
query.EnterID = enterUserinfo.EmployeeId;
query.EmpBranchId = enterUserinfo.RB_Branch_id;
query.CreateTime = DateTime.Now;
query.UpdateBy = userInfo.EmployeeId;
query.UpdateTime = DateTime.Now;
......@@ -2561,6 +2610,7 @@ namespace REBORN.Services.SellService
DetailList = x.DetailList.Select(y => new
{
y.Id,
OrderDetailId = y.Id,
y.CurrencyName,
y.CurrencyCode,
y.CurrencyId,
......@@ -3157,7 +3207,7 @@ namespace REBORN.Services.SellService
if (userInfo != null && userInfo.RB_Post_Id > 0)
{
string actionMenu = CacheManager.User.RbUserCache.GetUserActionMenu(userInfo.RB_Post_Id);
if (!string.IsNullOrEmpty(actionMenu) && actionMenu.Contains("S_CheckAllOrder"))//查看全部的订单信息
{
demodel.OpEmpId = 0;
......@@ -3585,7 +3635,7 @@ namespace REBORN.Services.SellService
Contact = parms.GetStringValue("Contact"),
Name = parms.GetStringValue("SupplierName"),
Status = Common.Enum.DateStateEnum.Normal,
// Type = Common.Enum.ResourceTypeEnum.SingleTicket,
// Type = Common.Enum.ResourceTypeEnum.SingleTicket,
CompanyName = parms.GetStringValue("CompanyName"),//公司名称
DutyParagraph = parms.GetStringValue("DutyParagraph"),//营业执照号
CompanyPhone = parms.GetStringValue("CompanyPhone"),//电话
......@@ -3622,7 +3672,7 @@ namespace REBORN.Services.SellService
isAdd = true;
}
}
else if (!string.IsNullOrEmpty(cardNum) ) { isAdd = true; }
else if (!string.IsNullOrEmpty(cardNum)) { isAdd = true; }
if (isAdd)
{
clientBankAccountList.Add(new RB_ClientBankAccount_Extend
......
......@@ -11777,6 +11777,8 @@ namespace REBORN.Services.SellService
AppointOPList = x.AppointOPInfoList?.Select(z => new { z.OPId, OPName = CacheManager.User.RbUserCache.GetUserLoginInfo(z.OPId.ToString())?.emName ?? "" }),
x.WordPathFileData,
Branch_Id = x.RB_Branch_Id,
EnterID = x.EnterID,
CreateBy = x.EnterID,
});
pmodel.count = int.Parse(count.ToString());
pmodel.pageData = data;
......
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