Commit e04482ef authored by 吴春's avatar 吴春

跟团游和签证旅客加guestid

parent 3f3b7e79
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -2742,7 +2742,7 @@ TEL:03-3779-9111";
return JsonHelper.GetCamelCaseResultJson(result);
}
public bool SetVisaOrder_V2(RB_Sell_VisaOrder model, RB_Sell_VisaProduct_Extend VisaProductModel, RB_Sell_VisaOrder tempModel, bool IsUpdateTCNum, RB_Supplier supplierModel, List<RB_Appoint_OP> appointOPList, List<OrderGuestList> orderGuestList, string updateCouponAllotIds = "")
public bool SetVisaOrder_V2(RB_Sell_VisaOrder model, RB_Sell_VisaProduct_Extend VisaProductModel, RB_Sell_VisaOrder tempModel, bool IsUpdateTCNum, RB_Supplier supplierModel, List<RB_Appoint_OP> appointOPList, List<RB_Travel_Guest_Extend> orderGuestList, string updateCouponAllotIds = "")
{
var trans = sell_VisaOrderRepository.DbTransaction;
......@@ -2909,7 +2909,7 @@ TEL:03-3779-9111";
{
new WhereHelper (){ FiledName=nameof(RB_Sell_VisaOrder.Id),FiledValue=model.Id,OperatorEnum=OperatorEnum.Equal}
};
flag = sell_VisaOrderRepository.Update(fileds, whereHelpers);
flag = sell_VisaOrderRepository.Update(fileds, whereHelpers, trans);
if (flag)
{
model.VisaPlanId = tempModel.VisaPlanId;
......@@ -2937,7 +2937,7 @@ TEL:03-3779-9111";
{
new WhereHelper (){ FiledName=nameof(RB_Visa_Plan.Id),FiledValue=model.VisaPlanId,OperatorEnum=OperatorEnum.Equal}
};
PlanRepository.Update(fileds1, whereHelpers1);
PlanRepository.Update(fileds1, whereHelpers1, trans);
}
......@@ -2987,7 +2987,7 @@ TEL:03-3779-9111";
if (VisaProductModel.Id == 0)//签证要新增
{
var hotelId = sell_VisaProductRepository.Insert(VisaProductModel);
var hotelId = sell_VisaProductRepository.Insert(VisaProductModel, trans);
if (hotelId > 0)
{
VisaProductModel.Id = hotelId;
......@@ -3076,7 +3076,7 @@ TEL:03-3779-9111";
TravelPlanRepository.InsertBatch(tpList, trans);
}
visaOrderId = sell_VisaOrderRepository.Insert(model);
visaOrderId = sell_VisaOrderRepository.Insert(model, trans);
flag = visaOrderId > 0;
//推送企微消息 签证订单
......@@ -3086,8 +3086,17 @@ TEL:03-3779-9111";
if (flag)
{
// 获取数据库中的旅客列表并按Id降序排列
// 获取需要删除的客人(存在于旧数据但不在新数据中)
var guestsToDelete = guestList.Where(old => !orderGuestList.Any(newG => newG.Id == old.Id)).ToList();
// 获取需要更新的客人(同时存在于旧数据和新数据中)
var guestsToUpdate = guestList.Where(old => orderGuestList.Any(newG => newG.Id == old.Id)).ToList();
foreach (var guest in guestList)
// 获取需要新增的客人(存在于新数据但不在旧数据中)
var guestsToAdd = orderGuestList.Where(newG => !guestList.Any(old => old.Id == newG.Id)).ToList();
// 删除操作
foreach (var guest in guestsToDelete)
{
Dictionary<string, object> gfiles = new Dictionary<string, object>()
{
......@@ -3104,7 +3113,43 @@ TEL:03-3779-9111";
};
GuestRepository.Update(gfiles, gwheres, trans);
}
foreach (var item in orderGuestList)
// 更新操作
foreach (var guest in guestsToUpdate)
{
var newGuest = orderGuestList.FirstOrDefault(g => g.Id == guest.Id);
if (newGuest != null)
{
Dictionary<string, object> gfiles = new Dictionary<string, object>()
{
{ nameof(RB_Travel_Guest.Name), newGuest.Name },
{ nameof(RB_Travel_Guest.Birthday), newGuest.Birthday },
{ nameof(RB_Travel_Guest.PassportNo), newGuest.PassportNo },
{ nameof(RB_Travel_Guest.Nationality), newGuest.Nationality ?? 2 },
{ nameof(RB_Travel_Guest.Remarks), newGuest.Remarks },
{ nameof(RB_Travel_Guest.MobilePhone), newGuest.Tel },
{ nameof(RB_Travel_Guest.Tel), newGuest.Tel },
{ nameof(RB_Travel_Guest.UpdateBy), tempModel.UpdateBy },
{ nameof(RB_Travel_Guest.UpdateDate), DateTime.Now },
{ nameof(RB_Travel_Guest.IdCard), newGuest.IdCard },
{ nameof(RB_Travel_Guest.PassportExpiry), newGuest.PassportExpiry },
{ nameof(RB_Travel_Guest.PassportIssued), newGuest.PassportIssued }
};
List<WhereHelper> gwheres = new List<WhereHelper>()
{
new WhereHelper()
{
FiledName = nameof(RB_Travel_Guest.Id),
FiledValue = guest.Id,
OperatorEnum = OperatorEnum.Equal
}
};
GuestRepository.Update(gfiles, gwheres, trans);
}
}
// 新增操作
foreach (var item in guestsToAdd)
{
//自动创建名单
var guestModel = new RB_Travel_Guest(); //GuestRepository.GetEntity(model.CRMGuestId);
......@@ -3165,128 +3210,7 @@ TEL:03-3779-9111";
guestModel.DutyType = 1;
GuestRepository.Insert(guestModel, trans);
}
#region 注释
//var dbGuestList = guestList;
//var newGuestList = orderGuestList;
//// 创建字典提高查找效率
//var dbGuestDict = dbGuestList?.Distinct()?.ToDictionary(g => g.Name, g => g);
//var newGuestDict = newGuestList?.Distinct()?.ToDictionary(g => g.Name, g => g);
//// 找出需要删除的旅客
//var guestsToRemove = dbGuestList.Where(g => !newGuestDict.ContainsKey(g.Name)).ToList();
//foreach (var guest in guestsToRemove)
//{
// Dictionary<string, object> gfiles = new Dictionary<string, object>()
// {
// { nameof(RB_Travel_Guest.Status),1}
// };
// List<WhereHelper> gwheres = new List<WhereHelper>()
// {
// new WhereHelper()
// {
// FiledName=nameof(RB_Travel_Guest.Id),
// FiledValue=guest.Id,
// OperatorEnum=OperatorEnum.Equal
// }
// };
// GuestRepository.Update(gfiles, gwheres, trans);
//}
//// 处理新增和修改
//foreach (var item in newGuestList)
//{
// if (dbGuestDict.TryGetValue(item.Name, out var existingGuest))
// {
// var nowId = guestList?.FirstOrDefault(x => x.Name == item.Name)?.Id ?? 0;
// Dictionary<string, object> gfiles = new Dictionary<string, object>()
// {
// { nameof(RB_Travel_Guest.Name),item.Name},
// { nameof(RB_Travel_Guest.IdCard),item.IdCard},
// { nameof(RB_Travel_Guest.PassportExpiry),item.PassportExpiry},
// { nameof(RB_Travel_Guest.PassportIssued),item.PassportIssued},
// { nameof(RB_Travel_Guest.PassportNo),item.PassportNo},
// { nameof(RB_Travel_Guest.Birthday),item.Birthday},
// { nameof(RB_Travel_Guest.Tel),item.Tel},
// };
// List<WhereHelper> gwheres = new List<WhereHelper>()
// {
// new WhereHelper()
// {
// FiledName=nameof(RB_Travel_Guest.Id),
// FiledValue=nowId,
// OperatorEnum=OperatorEnum.Equal
// }
// };
// GuestRepository.Update(gfiles, gwheres);
// }
// else
// {
// // //自动创建名单
// var guestModel = new RB_Travel_Guest(); //GuestRepository.GetEntity(model.CRMGuestId);
// guestModel.Name = item.Name;
// guestModel.Birthday = item.Birthday;
// guestModel.IdCard = item.IdCard;
// guestModel.Tel = item.Tel;
// guestModel.PassportNo = item.PassportNo;
// guestModel.PassportExpiry = item.PassportExpiry;
// guestModel.PassportIssued = item.PassportIssued;
// guestModel.Id = 0;
// guestModel.TCID = VisaProductModel.Id;
// guestModel.OrderId = visaOrderId;
// guestModel.VisaPlanId = planid;
// guestModel.Remarks = guestModel.Remarks;
// guestModel.ApplyStatus = VisaApplyStatusTypeEnum.NO;
// guestModel.CreateBy = model.UpdateBy;
// guestModel.CreateDate = DateTime.Now;
// guestModel.UpdateBy = model.UpdateBy;
// guestModel.UpdateDate = DateTime.Now;
// guestModel.VisaManageStatus = 1;
// guestModel.VisaCountryType = VisaProductModel.VisaManagementId;
// guestModel.VisaType = VisaProductModel.VisaType;
// guestModel.VisaState = 0;
// guestModel.IsAllograph = 1;
// guestModel.CreateBy = model.CreateBy;
// guestModel.CreateDate = DateTime.Now;
// guestModel.IsHightSchool = 2;
// guestModel.IsRecommend = 2;
// guestModel.Marriage = VisaMarriageTypeEnum.Other;
// guestModel.Address = "";
// guestModel.AddressDetail = "";
// guestModel.HistoryRecord = "良好";
// guestModel.IdentityType = "身份证";
// guestModel.Duty = "";
// guestModel.IsBed = 0;
// guestModel.EconomicCapability = "[]";
// guestModel.IssuingAuthority = "";
// guestModel.CEName = "";
// guestModel.CName = "";
// guestModel.CNationality = "中国";
// guestModel.UnitAddress = "";
// guestModel.UnitName = "";
// guestModel.UnitPhone = "";
// guestModel.UnitPost = "";
// guestModel.Purpose = "";
// guestModel.IsDepartureRecord = 0;
// guestModel.VisaPlanId = 0;
// guestModel.OpenQRCode = 2;
// guestModel.ApplyStatus = VisaApplyStatusTypeEnum.NO;
// guestModel.IsAllograph = 1;
// guestModel.IsVisaFree = 2;
// guestModel.IsNeedAirticket = 2;
// guestModel.IsNeedSafe = 2;
// guestModel.Duty = "";
// guestModel.TravelType = 1;
// guestModel.UnitType = 1;
// guestModel.DutyType = 1;
// GuestRepository.Insert(guestModel);
// }
//}
#endregion
try
{
var oldOPList = appointOPRepository.GetList(new RB_Appoint_OP_Extend { OrderId = visaOrderId, ResourceType = ResourceTypeEnum.Visa }) ?? new List<RB_Appoint_OP_Extend>();
......@@ -3300,7 +3224,7 @@ TEL:03-3779-9111";
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() { };
keyValues.Add(nameof(RB_Appoint_OP_Extend.Status), (int)DateStateEnum.Delete);
flag = appointOPRepository.Update(keyValues, new WhereHelper(nameof(RB_Appoint_OP_Extend.Id), item.Id));
flag = appointOPRepository.Update(keyValues, new WhereHelper(nameof(RB_Appoint_OP_Extend.Id), item.Id), trans);
}
}
}
......@@ -3310,7 +3234,7 @@ TEL:03-3779-9111";
{
item.OrderId = visaOrderId;
item.ResourceType = ResourceTypeEnum.Visa;
flag = appointOPRepository.Insert(item) > 0;
flag = appointOPRepository.Insert(item, trans) > 0;
}
}
}
......
......@@ -5228,7 +5228,18 @@ namespace REBORN.Module.SellModule
};
var guestList = GuestRepository.GetPeopleList(dmodel1).OrderByDescending(x => x.Id).ToList();
foreach (var guest in guestList)
// 获取需要删除的客人(存在于旧数据但不在新数据中)
var guestsToDelete = guestList.Where(old => !dmodel.GuestList.Any(newG => newG.Id == old.Id)).ToList();
// 获取需要更新的客人(同时存在于旧数据和新数据中)
var guestsToUpdate = guestList.Where(old => dmodel.GuestList.Any(newG => newG.Id == old.Id)).ToList();
// 获取需要新增的客人(存在于新数据但不在旧数据中)
var guestsToAdd = dmodel.GuestList.Where(newG => !guestList.Any(old => old.Id == newG.Id)).ToList();
// 删除操作
foreach (var guest in guestsToDelete)
{
Dictionary<string, object> gfiles = new Dictionary<string, object>()
{
......@@ -5243,14 +5254,49 @@ namespace REBORN.Module.SellModule
OperatorEnum=OperatorEnum.Equal
}
};
GuestRepository.Update(gfiles, gwheres);
GuestRepository.Update(gfiles, gwheres, trans);
}
// 更新操作
foreach (var guest in guestsToUpdate)
{
var newGuest = dmodel.GuestList.FirstOrDefault(g => g.Id == guest.Id);
if (newGuest != null)
{
Dictionary<string, object> gfiles = new Dictionary<string, object>()
{
{ nameof(RB_Travel_Guest.Name), newGuest.Name },
{ nameof(RB_Travel_Guest.Birthday), newGuest.Birthday },
{ nameof(RB_Travel_Guest.PassportNo), newGuest.PassportNo },
{ nameof(RB_Travel_Guest.Nationality), newGuest.Nationality ?? 2 },
{ nameof(RB_Travel_Guest.Remarks), newGuest.Remarks },
{ nameof(RB_Travel_Guest.MobilePhone), newGuest.Tel },
{ nameof(RB_Travel_Guest.Tel), newGuest.Tel },
{ nameof(RB_Travel_Guest.UpdateBy), dmodel.UpdateBy },
{ nameof(RB_Travel_Guest.UpdateDate), DateTime.Now },
{ nameof(RB_Travel_Guest.IdCard), newGuest.IdCard },
{ nameof(RB_Travel_Guest.PassportExpiry), newGuest.PassportExpiry },
{ nameof(RB_Travel_Guest.PassportIssued), newGuest.PassportIssued }
};
List<WhereHelper> gwheres = new List<WhereHelper>()
{
new WhereHelper()
{
FiledName = nameof(RB_Travel_Guest.Id),
FiledValue = guest.Id,
OperatorEnum = OperatorEnum.Equal
}
};
GuestRepository.Update(gfiles, gwheres, trans);
}
}
foreach (var newGuest in dmodel.GuestList)
// 新增操作
foreach (var newGuest in guestsToAdd)
{
GuestRepository.Insert(new RB_Travel_Guest()
{
Id = 0,
Id = 0, // 新增记录,Id 由数据库自动生成
TCID = dmodel.TCID,
OrderId = dmodel.OrderId,
SurName = newGuest.SurName,
......@@ -5260,7 +5306,7 @@ namespace REBORN.Module.SellModule
EName = newGuest.EName,
Birthday = newGuest.Birthday,
PassportNo = newGuest.PassportNo,
Nationality = newGuest.Nationality ?? 2,//默认中国
Nationality = newGuest.Nationality ?? 2,
EconomicCapability = "[]",
Remarks = newGuest.Remarks,
MobilePhone = newGuest.Tel,
......@@ -5275,102 +5321,11 @@ namespace REBORN.Module.SellModule
UpdateDate = DateTime.Now,
IsAllograph = 2,
IsBed = 1,
IdCard=newGuest.IdCard,
PassportExpiry=newGuest.PassportExpiry,
IdCard = newGuest.IdCard,
PassportExpiry = newGuest.PassportExpiry,
PassportIssued = newGuest.PassportIssued,
});
}, trans);
}
#region 注释代码
//// 获取数据库中的旅客列表并按Id降序排列
//var dbGuestList = guestList;
//var newGuestList = dmodel.GuestList;
//// 创建字典提高查找效率
//var dbGuestDict = dbGuestList?.ToDictionary(g => g.Name, g => g);
//var newGuestDict = newGuestList?.ToDictionary(g => g.Name, g => g);
//// 找出需要删除的旅客
//var guestsToRemove = dbGuestList.Where(g => !newGuestDict.ContainsKey(g.Name)).ToList();
//foreach (var guest in guestsToRemove)
//{
// Dictionary<string, object> gfiles = new Dictionary<string, object>()
// {
// { nameof(RB_Travel_Guest.Status),1}
// };
// List<WhereHelper> gwheres = new List<WhereHelper>()
// {
// new WhereHelper()
// {
// FiledName=nameof(RB_Travel_Guest.Id),
// FiledValue=guest.Id,
// OperatorEnum=OperatorEnum.Equal
// }
// };
// GuestRepository.Update(gfiles, gwheres);
//}
//// 处理新增和修改
//foreach (var newGuest in newGuestList)
//{
// if (dbGuestDict.TryGetValue(newGuest.Name, out var existingGuest))
// {
// var nowGuest = guestList.FirstOrDefault(x => x.Name == newGuest.Name) ?? new RB_Travel_Guest_Extend();
// Dictionary<string, object> gfiles = new Dictionary<string, object>()
// {
// { nameof(RB_Travel_Guest.Name),newGuest.Name},
// { nameof(RB_Travel_Guest.IdCard),newGuest.IdCard},
// { nameof(RB_Travel_Guest.PassportExpiry),newGuest.PassportExpiry},
// { nameof(RB_Travel_Guest.PassportIssued),newGuest.PassportIssued},
// { nameof(RB_Travel_Guest.PassportNo),newGuest.PassportNo},
// { nameof(RB_Travel_Guest.Birthday),newGuest.Birthday},
// { nameof(RB_Travel_Guest.Tel),newGuest.Tel},
// };
// List<WhereHelper> gwheres = new List<WhereHelper>()
// {
// new WhereHelper()
// {
// FiledName=nameof(RB_Travel_Guest.Id),
// FiledValue=nowGuest.Id,
// OperatorEnum=OperatorEnum.Equal
// }
// };
// GuestRepository.Update(gfiles, gwheres);
// }
// else
// {
// // 新增记录
// GuestRepository.Insert(new RB_Travel_Guest()
// {
// Id = 0,
// TCID = dmodel.TCID,
// OrderId = dmodel.OrderId,
// SurName = newGuest.SurName,
// Name = newGuest.Name,
// Sex = newGuest.Sex,
// ESurName = newGuest.ESurName,
// EName = newGuest.EName,
// Birthday = newGuest.Birthday,
// PassportNo = newGuest.PassportNo,
// Nationality = newGuest.Nationality ?? 2,//默认中国
// EconomicCapability = "[]",
// Remarks = newGuest.Remarks,
// MobilePhone = newGuest.Tel,
// Tel = newGuest.Tel,
// Status = 0,
// TravelType = 0,
// UnitType = 0,
// DutyType = 0,
// CreateBy = dmodel.CreateBy,
// UpdateBy = dmodel.UpdateBy,
// CreateDate = DateTime.Now,
// UpdateDate = DateTime.Now,
// IsAllograph = 2,
// IsBed = 1
// });
// }
//}
#endregion
#endregion
bool IsAllotHouse = false;
#region 日志
......@@ -6145,7 +6100,7 @@ namespace REBORN.Module.SellModule
IdCard = item.IdCard,
PassportExpiry = item.PassportExpiry,
PassportIssued = item.PassportIssued,
});
}, trans);
}
}
#endregion
......@@ -22612,7 +22567,7 @@ namespace REBORN.Module.SellModule
{
return ApiResult.Success("请选择需要导入的EXCEL!");
}
var list = REBORN.Data.Guest.GuestDataHelper.ImpoertGuestData(FileName, 1)?.Distinct()?.ToList()??new List<Data.Guest.ImpoertGuest>();
var list = REBORN.Data.Guest.GuestDataHelper.ImpoertGuestData(FileName, 1)?.Distinct()?.ToList() ?? new List<Data.Guest.ImpoertGuest>();
if (orderId > 0)
{
var trans = GuestRepository.DbTransaction;
......@@ -22731,7 +22686,7 @@ namespace REBORN.Module.SellModule
return false;
}
}
var result = list?.Select(subItem => new { Tel = subItem?.MobilePhone ?? "", IdCard = subItem?.IdCard ?? "", PassportNo = subItem?.PassportNo ?? "", PassportExpiry = StringHelper.FormatDate(subItem.PassportExpiry), PassportIssued = StringHelper.FormatDate(subItem.PassportIssued), Birthday = StringHelper.FormatDate(subItem.Birthday), Name= subItem.Name, userName = subItem.SurName + subItem.Name, SexStr = subItem.Sex == 1 ? "男" : subItem.Sex == 2 ? "女" : "保密", Age = subItem.Birthday.HasValue ? System.DateTime.Now.Year - subItem.Birthday.Value.Year : 0, subItem.MobilePhone });
var result = list?.Select(subItem => new { Tel = subItem?.MobilePhone ?? "", IdCard = subItem?.IdCard ?? "", PassportNo = subItem?.PassportNo ?? "", PassportExpiry = StringHelper.FormatDate(subItem.PassportExpiry), PassportIssued = StringHelper.FormatDate(subItem.PassportIssued), Birthday = StringHelper.FormatDate(subItem.Birthday), Name = subItem.Name, userName = subItem.SurName + subItem.Name, SexStr = subItem.Sex == 1 ? "男" : subItem.Sex == 2 ? "女" : "保密", Age = subItem.Birthday.HasValue ? System.DateTime.Now.Year - subItem.Birthday.Value.Year : 0, subItem.MobilePhone });
return JsonHelper.GetCamelCaseResultJson(result);
}
#endregion
......@@ -5024,7 +5024,7 @@ namespace REBORN.Services.DMCService
};
//出行人员名单(姓名、电话、出生年月日是必须的、护照号、身份证号、护照有效期非必填)
string guestInfoStr = parm.GetStringValue("GuestList");
List<OrderGuestList> orderGuestList = new List<OrderGuestList>();
List<RB_Travel_Guest_Extend> orderGuestList = new List<RB_Travel_Guest_Extend>();
if (!string.IsNullOrWhiteSpace(guestInfoStr))
{
try
......@@ -5035,8 +5035,9 @@ namespace REBORN.Services.DMCService
foreach (var jItem in guestInfoListArray)
{
JObject jobj = JObject.Parse(JsonHelper.Serialize(jItem));
orderGuestList.Add(new OrderGuestList
orderGuestList.Add(new RB_Travel_Guest_Extend
{
Id = jobj.GetInt("GuestId"),
Birthday = jobj.GetDateTime("Birthday"),
Name = jobj.GetStringValue("Name"),
IdCard = jobj.GetStringValue("IdCard"),
......
......@@ -6839,9 +6839,9 @@ namespace REBORN.Services.SellService
JObject jobj = JObject.Parse(JsonHelper.Serialize(jItem));
string name = jobj.GetStringValue("Name");
string idCard = jobj.GetStringValue("IdCard");
orderGuestList.Add(new RB_Travel_Guest_Extend
{
Id= jobj.GetInt("GuestId"),
Birthday = jobj.GetDateTime("Birthday"),
Name = jobj.GetStringValue("Name"),
IdCard = jobj.GetStringValue("IdCard"),
......
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