Commit a7946a22 authored by 吴春's avatar 吴春

1

parent 64754337
...@@ -14,7 +14,7 @@ namespace REBORN.Data.Guest ...@@ -14,7 +14,7 @@ namespace REBORN.Data.Guest
/// </summary> /// </summary>
/// <param name="fileName"></param> /// <param name="fileName"></param>
/// <returns></returns> /// <returns></returns>
public static List<ImpoertGuest> ImpoertGuestData(string fileName) public static List<ImpoertGuest> ImpoertGuestData(string fileName, int Type = 0)
{ {
List<ImpoertGuest> list = new List<ImpoertGuest>(); List<ImpoertGuest> list = new List<ImpoertGuest>();
var dt = REBORN.Common.Plugin.NPOIHelper.ImportExceltoDt(fileName, 0, 0, true, "ImpoertGuestData"); var dt = REBORN.Common.Plugin.NPOIHelper.ImportExceltoDt(fileName, 0, 0, true, "ImpoertGuestData");
...@@ -22,19 +22,21 @@ namespace REBORN.Data.Guest ...@@ -22,19 +22,21 @@ namespace REBORN.Data.Guest
{ {
foreach (DataRow dr in dt.Rows) foreach (DataRow dr in dt.Rows)
{ {
ImpoertGuest model = DataRowToModel(dr); ImpoertGuest model = DataRowToModel(dr, Type);
list.Add(model); list.Add(model);
} }
} }
return list; return list;
} }
/// <summary> /// <summary>
/// DataRow转实体 /// DataRow转实体
/// </summary> /// </summary>
/// <param name="dr"></param> /// <param name="dr"></param>
/// <returns></returns> /// <returns></returns>
public static ImpoertGuest DataRowToModel(DataRow dr) public static ImpoertGuest DataRowToModel(DataRow dr, int Type = 0)
{ {
ImpoertGuest model = new ImpoertGuest(); ImpoertGuest model = new ImpoertGuest();
if (dr != null) if (dr != null)
...@@ -43,25 +45,60 @@ namespace REBORN.Data.Guest ...@@ -43,25 +45,60 @@ namespace REBORN.Data.Guest
{ {
model.IdCard = dr["身份证号码"].ToString().Trim(); model.IdCard = dr["身份证号码"].ToString().Trim();
} }
if (dr.Table.Columns.Contains("中文姓") && !string.IsNullOrEmpty(dr["中文姓"].ToString().Trim())) if (Type == 0)
{
model.SurName = dr["中文姓"].ToString().Trim();
}
if (dr.Table.Columns.Contains("中文名") && !string.IsNullOrEmpty(dr["中文名"].ToString().Trim()))
{
model.Name = dr["中文名"].ToString().Trim();
}
if (dr.Table.Columns.Contains("性别") && !string.IsNullOrEmpty(dr["性别"].ToString().Trim()))
{
model.Sex = dr["性别"].ToString().Trim() == "男" ? 1 : 2;
}
if (dr.Table.Columns.Contains("英文姓") && !string.IsNullOrEmpty(dr["英文姓"].ToString().Trim()))
{ {
model.ESurName = dr["英文姓"].ToString().Trim(); if (dr.Table.Columns.Contains("中文姓") && !string.IsNullOrEmpty(dr["中文姓"].ToString().Trim()))
{
model.SurName = dr["中文姓"].ToString().Trim();
}
if (dr.Table.Columns.Contains("中文名") && !string.IsNullOrEmpty(dr["中文名"].ToString().Trim()))
{
model.Name = dr["中文名"].ToString().Trim();
}
if (dr.Table.Columns.Contains("性别") && !string.IsNullOrEmpty(dr["性别"].ToString().Trim()))
{
model.Sex = dr["性别"].ToString().Trim() == "男" ? 1 : 2;
}
if (dr.Table.Columns.Contains("英文姓") && !string.IsNullOrEmpty(dr["英文姓"].ToString().Trim()))
{
model.ESurName = dr["英文姓"].ToString().Trim();
}
if (dr.Table.Columns.Contains("英文名") && !string.IsNullOrEmpty(dr["英文名"].ToString().Trim()))
{
model.EName = dr["英文名"].ToString().Trim();
}
if (dr.Table.Columns.Contains("出生地") && !string.IsNullOrEmpty(dr["出生地"].ToString().Trim()))
{
model.BirthdayAddress = dr["出生地"].ToString().Trim();
}
if (dr.Table.Columns.Contains("护照签发地") && !string.IsNullOrEmpty(dr["护照签发地"].ToString().Trim()))
{
model.PassportAddress = dr["护照签发地"].ToString().Trim();
}
if (dr.Table.Columns.Contains("国籍") && !string.IsNullOrEmpty(dr["国籍"].ToString().Trim()))
{
model.NationalityStr = dr["国籍"].ToString().Trim();
}
if (dr.Table.Columns.Contains("是否占床") && !string.IsNullOrEmpty(dr["是否占床"].ToString().Trim()))
{
model.IsBed = dr["是否占床"].ToString().Trim() == "是" ? 1 : 0;
}
if (dr.Table.Columns.Contains("房号") && !string.IsNullOrEmpty(dr["房号"].ToString().Trim()))
{
Int32.TryParse(dr["房号"].ToString().Trim(), out int HouseNum);
model.HouseNo = HouseNum;
}
if (dr.Table.Columns.Contains("房间类型") && !string.IsNullOrEmpty(dr["房间类型"].ToString().Trim()))
{
model.HouseType = dr["房间类型"].ToString().Trim();
}
} }
if (dr.Table.Columns.Contains("英文名") && !string.IsNullOrEmpty(dr["英文名"].ToString().Trim())) else if (Type == 1)
{ {
model.EName = dr["英文名"].ToString().Trim(); if (dr.Table.Columns.Contains("姓名") && !string.IsNullOrEmpty(dr["姓名"].ToString().Trim()))
{
model.Name = dr["姓名"].ToString().Trim();
}
} }
if (dr.Table.Columns.Contains("手机号码") && !string.IsNullOrEmpty(dr["手机号码"].ToString().Trim())) if (dr.Table.Columns.Contains("手机号码") && !string.IsNullOrEmpty(dr["手机号码"].ToString().Trim()))
{ {
...@@ -72,18 +109,10 @@ namespace REBORN.Data.Guest ...@@ -72,18 +109,10 @@ namespace REBORN.Data.Guest
DateTime.TryParse(dr["出生日期"].ToString().Trim(), out DateTime Birthday); DateTime.TryParse(dr["出生日期"].ToString().Trim(), out DateTime Birthday);
model.Birthday = Birthday; model.Birthday = Birthday;
} }
if (dr.Table.Columns.Contains("出生地") && !string.IsNullOrEmpty(dr["出生地"].ToString().Trim()))
{
model.BirthdayAddress = dr["出生地"].ToString().Trim();
}
if (dr.Table.Columns.Contains("护照号") && !string.IsNullOrEmpty(dr["护照号"].ToString().Trim())) if (dr.Table.Columns.Contains("护照号") && !string.IsNullOrEmpty(dr["护照号"].ToString().Trim()))
{ {
model.PassportNo = dr["护照号"].ToString().Trim(); model.PassportNo = dr["护照号"].ToString().Trim();
} }
if (dr.Table.Columns.Contains("护照签发地") && !string.IsNullOrEmpty(dr["护照签发地"].ToString().Trim()))
{
model.PassportAddress = dr["护照签发地"].ToString().Trim();
}
if (dr.Table.Columns.Contains("护照签发日期") && !string.IsNullOrEmpty(dr["护照签发日期"].ToString().Trim())) if (dr.Table.Columns.Contains("护照签发日期") && !string.IsNullOrEmpty(dr["护照签发日期"].ToString().Trim()))
{ {
DateTime.TryParse(dr["护照签发日期"].ToString().Trim(), out DateTime PassportIssued); DateTime.TryParse(dr["护照签发日期"].ToString().Trim(), out DateTime PassportIssued);
...@@ -94,26 +123,11 @@ namespace REBORN.Data.Guest ...@@ -94,26 +123,11 @@ namespace REBORN.Data.Guest
DateTime.TryParse(dr["护照过期日"].ToString().Trim(), out DateTime PassportExpiry); DateTime.TryParse(dr["护照过期日"].ToString().Trim(), out DateTime PassportExpiry);
model.PassportExpiry = PassportExpiry; model.PassportExpiry = PassportExpiry;
} }
if (dr.Table.Columns.Contains("国籍") && !string.IsNullOrEmpty(dr["国籍"].ToString().Trim()))
{
model.NationalityStr = dr["国籍"].ToString().Trim();
}
model.IsVisaFree = 2; model.IsVisaFree = 2;
model.IsNeedAirticket = 1; model.IsNeedAirticket = 1;
model.IsNeedSafe = 2; model.IsNeedSafe = 2;
if (dr.Table.Columns.Contains("是否占床") && !string.IsNullOrEmpty(dr["是否占床"].ToString().Trim()))
{
model.IsBed = dr["是否占床"].ToString().Trim() == "是" ? 1 : 0;
}
if (dr.Table.Columns.Contains("房号") && !string.IsNullOrEmpty(dr["房号"].ToString().Trim()))
{
Int32.TryParse(dr["房号"].ToString().Trim(), out int HouseNum);
model.HouseNo = HouseNum;
}
if (dr.Table.Columns.Contains("房间类型") && !string.IsNullOrEmpty(dr["房间类型"].ToString().Trim()))
{
model.HouseType = dr["房间类型"].ToString().Trim();
}
} }
return model; return model;
} }
......
...@@ -753,6 +753,12 @@ namespace REBORN.Model.Extend.Dmc ...@@ -753,6 +753,12 @@ namespace REBORN.Model.Extend.Dmc
/// </summary> /// </summary>
public List<RB_Appoint_OP_Extend> AppointOPInfoList { get; set; } public List<RB_Appoint_OP_Extend> AppointOPInfoList { get; set; }
/// <summary>
/// 附件
/// </summary>
public List<Model.File.FileData> WordPathFileData { get; set; }
/// <summary> /// <summary>
/// 供应商信息 /// 供应商信息
/// </summary> /// </summary>
......
...@@ -47,6 +47,7 @@ using System; ...@@ -47,6 +47,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Diagnostics; using System.Diagnostics;
using System.IO;
using System.Linq; using System.Linq;
using System.Runtime.InteropServices.ComTypes; using System.Runtime.InteropServices.ComTypes;
using System.Text; using System.Text;
...@@ -14690,6 +14691,7 @@ namespace REBORN.Module.SellModule ...@@ -14690,6 +14691,7 @@ namespace REBORN.Module.SellModule
/// <summary> /// <summary>
/// 获取订单信息 /// 获取订单信息
/// </summary> /// </summary>
...@@ -14709,6 +14711,7 @@ namespace REBORN.Module.SellModule ...@@ -14709,6 +14711,7 @@ namespace REBORN.Module.SellModule
string actionMenu = CacheManager.User.RbUserCache.GetUserActionMenu(userInfo.RB_Post_Id); string actionMenu = CacheManager.User.RbUserCache.GetUserActionMenu(userInfo.RB_Post_Id);
if (!string.IsNullOrEmpty(actionMenu) && actionMenu.Contains("S_CheckAllOrder"))//查看全部的订单信息 if (!string.IsNullOrEmpty(actionMenu) && actionMenu.Contains("S_CheckAllOrder"))//查看全部的订单信息
{ {
isMyOrder = 1;
model.CreateBy = 0; model.CreateBy = 0;
} }
} }
...@@ -14879,19 +14882,59 @@ namespace REBORN.Module.SellModule ...@@ -14879,19 +14882,59 @@ namespace REBORN.Module.SellModule
List<RB_Appoint_OP_Extend> appointOPList = new List<RB_Appoint_OP_Extend>(); List<RB_Appoint_OP_Extend> appointOPList = new List<RB_Appoint_OP_Extend>();
if ((userInfo?.SimpleEasy ?? 0) == 1) if ((userInfo?.SimpleEasy ?? 0) == 1)
{ {
string supplierIds = string.Join(",", list.Select(x => x.SupplierId)); string supplierIds = string.Join(",", list?.Where(x => x.SupplierId > 0)?.Select(x => x.SupplierId));
supplierList = supplierRepository.GetAllListByIds(supplierIds); if (!string.IsNullOrWhiteSpace(supplierIds))
{
supplierList = supplierRepository.GetAllListByIds(supplierIds);
}
appointOPList = appointOPRepository.GetList(new RB_Appoint_OP_Extend { QOrderIds = OrderStr, ResourceType = ResourceTypeEnum.TeamPrice }); appointOPList = appointOPRepository.GetList(new RB_Appoint_OP_Extend { QOrderIds = OrderStr, ResourceType = ResourceTypeEnum.TeamPrice });
} }
#endregion #endregion
foreach (var item in list) foreach (var item in list)
{ {
#region 查询订单对应的供应商以及指定op #region 查询订单对应的供应商以及指定op 附件信息
if ((userInfo?.SimpleEasy ?? 0) == 1) if ((userInfo?.SimpleEasy ?? 0) == 1)
{ {
item.SupplierModel = item.SupplierId > 0 ? (supplierList?.FirstOrDefault(x => x.ID == item.SupplierId) ?? new RB_Supplier_Extend()) : new RB_Supplier_Extend(); item.SupplierModel = item.SupplierId > 0 ? (supplierList?.FirstOrDefault(x => x.ID == item.SupplierId) ?? new RB_Supplier_Extend()) : new RB_Supplier_Extend() { ID = -1 };
item.AppointOPInfoList = appointOPList.Where(x => x.OrderId == item.OrderId)?.ToList() ?? new List<RB_Appoint_OP_Extend>(); item.AppointOPInfoList = appointOPList.Where(x => x.OrderId == item.OrderId)?.ToList() ?? new List<RB_Appoint_OP_Extend>();
item.WordPathFileData = new List<FileData>();
if (!string.IsNullOrWhiteSpace(item.WordPath))
{
try
{
item.WordPathFileData = JsonConvert.DeserializeObject<List<FileData>>(item.WordPath);
}
catch (Exception ex)
{
// 获取完整文件名(包含扩展名)
string fileNameWithExtension = Path.GetFileName(item.WordPath);
// 结果: "20190918085106105.doc"
// 获取扩展名(不包含点)
string extensionWithoutDot = Path.GetExtension(item.WordPath)?.TrimStart('.');
// 结果: "doc"
string fileType = "0";
if (!string.IsNullOrWhiteSpace(extensionWithoutDot))
{
extensionWithoutDot = extensionWithoutDot.ToUpper();
if (extensionWithoutDot.Contains("GIF") || extensionWithoutDot.Contains("JPG") || extensionWithoutDot.Contains("JPEG") || extensionWithoutDot.Contains("PNG") || extensionWithoutDot.Contains("BMP"))
{
fileType = "3";
}
else if (extensionWithoutDot.Contains("DOCX") || extensionWithoutDot.Contains("PPTX") || extensionWithoutDot.Contains("PDF") || extensionWithoutDot.Contains("DOC") || extensionWithoutDot.Contains("XLSX") || extensionWithoutDot.Contains("XLS") || extensionWithoutDot.Contains("PPT"))
{
fileType = "1";
}
}
item.WordPathFileData.Add(new FileData
{
Url = item.WordPath,
Name = fileNameWithExtension,
VideoPath = "",
FileType = fileType,
});
}
}
} }
#endregion #endregion
...@@ -22514,6 +22557,142 @@ namespace REBORN.Module.SellModule ...@@ -22514,6 +22557,142 @@ namespace REBORN.Module.SellModule
} }
return list; return list;
} }
/// <summary>
/// 导入旅客信息
/// </summary>
/// <param name="FileName"></param>
/// <param name="orderId">订单id</param>
/// <param name="EmployeeId">员工编号</param>
/// <returns></returns>
public object ImpoertGuest_YL(string FileName, int orderId, string EmployeeId)
{
if (string.IsNullOrWhiteSpace(FileName))
{
return ApiResult.Success("请选择需要导入的EXCEL!");
}
var list = REBORN.Data.Guest.GuestDataHelper.ImpoertGuestData(FileName, 1);
if (orderId > 0)
{
var trans = GuestRepository.DbTransaction;
try
{
//获取订单信息
var orderModel = orderRepository.GetEntity(orderId);
UserInfo userInfo = CacheManager.User.RbUserCache.GetUserLoginInfo(string.IsNullOrWhiteSpace(EmployeeId) ? orderModel.EnterID.ToString() : EmployeeId);
#region 更新订单 同时查询旅客名单是否需要删除
RB_Travel_Guest_Extend dmodel1 = new RB_Travel_Guest_Extend
{
OrderId = orderId,
IsAllograph = 2
};
var guestList = GuestRepository.GetPeopleList(dmodel1).OrderByDescending(x => x.Id).ToList();
// 获取数据库中的旅客列表并按Id降序排列
var dbGuestList = guestList;
var newGuestList = list;
// 创建字典提高查找效率
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, trans);
}
// 处理新增和修改
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.MobilePhone},
};
List<WhereHelper> gwheres = new List<WhereHelper>()
{
new WhereHelper()
{
FiledName=nameof(RB_Travel_Guest.Id),
FiledValue=nowGuest.Id,
OperatorEnum=OperatorEnum.Equal
}
};
GuestRepository.Update(gfiles, gwheres, trans);
}
else
{
// 新增记录
GuestRepository.Insert(new RB_Travel_Guest()
{
Id = 0,
TCID = orderModel.TCID,
OrderId = orderModel.OrderId,
SurName = newGuest.SurName,
Name = newGuest.Name,
Sex = newGuest.Sex,
ESurName = newGuest.ESurName,
EName = newGuest.EName,
Birthday = newGuest.Birthday,
PassportNo = newGuest.PassportNo,
Nationality = 2,//默认中国
EconomicCapability = "[]",
Remarks = orderModel.Remarks,
MobilePhone = newGuest.MobilePhone,
Status = 0,
TravelType = 0,
UnitType = 0,
DutyType = 0,
CreateBy = userInfo.EmployeeId,
UpdateBy = userInfo.EmployeeId,
CreateDate = DateTime.Now,
UpdateDate = DateTime.Now,
IsAllograph = 2,
IsBed = 1
}, trans);
}
}
#endregion
GuestRepository.DBSession.Commit();
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "ImpoertGuest");
GuestRepository.DBSession.Rollback("ImpoertGuest");
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), 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 result;
}
#endregion #endregion
...@@ -132,7 +132,7 @@ namespace REBORN.Services.DMCService ...@@ -132,7 +132,7 @@ namespace REBORN.Services.DMCService
string cmd = parm["cmd"]; string cmd = parm["cmd"];
string fileType = parm["fileType"]; string fileType = parm["fileType"];
string RB_Group_id = parm["RB_Group_id"]; string RB_Group_id = parm["RB_Group_id"];
string Type = parm["Type"];//1.购物上传数据,2-机票导入,3-费用类型导入,4-行程一键上传 , 5-未认款导入,6导入旅客名单信息,7 房餐单据批量导入,8 汇差单据批量导入,9 客户信息 ,10 金蝶科目导入, 11 金蝶科目关联导入,16 jalan酒店导入,17 金蝶标记导入,18工资单导入,19 导入员工信息,20 购物店佣金导入(新),21 行政快递费批量导入制单, 22 车行ETC差额导入更新 , 23 车行ETC差额对比匹配, 24 出纳流水汇总 string Type = parm["Type"];//1.购物上传数据,2-机票导入,3-费用类型导入,4-行程一键上传 , 5-未认款导入,6导入旅客名单信息,7 房餐单据批量导入,8 汇差单据批量导入,9 客户信息 ,10 金蝶科目导入, 11 金蝶科目关联导入,16 jalan酒店导入,17 金蝶标记导入,18工资单导入,19 导入员工信息,20 购物店佣金导入(新),21 行政快递费批量导入制单, 22 车行ETC差额导入更新 , 23 车行ETC差额对比匹配, 24 出纳流水汇总,28 邮轮导入旅客名单
double.TryParse((!string.IsNullOrEmpty(parm["fileLimit"])? parm["fileLimit"].ToString():""), out double fileLimit);//限制文件大小 单位M double.TryParse((!string.IsNullOrEmpty(parm["fileLimit"])? parm["fileLimit"].ToString():""), out double fileLimit);//限制文件大小 单位M
string EmployeeId = parm["EmployeeId"];//ld 2019-07-31 财务未认款导入需要 string EmployeeId = parm["EmployeeId"];//ld 2019-07-31 财务未认款导入需要
...@@ -758,6 +758,29 @@ namespace REBORN.Services.DMCService ...@@ -758,6 +758,29 @@ namespace REBORN.Services.DMCService
return ApiResult.Failed(message: msg); return ApiResult.Failed(message: msg);
} }
} }
else if (Type == "28")
{
object obj = null;
string filePath = "/Upload/DMC/OrderGuest/" + ossFilename;
try
{
obj = sellOrderModule.ImpoertGuest_YL(fileUrl, Convert.ToInt32(OrderId), EmployeeId);
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "LocalFileUpload");
}
DeleteFile(fileUrl);
if (obj != null)
{
return new ApiResult { resultCode = (int)ResultCode.Success, message = "上传成功!", data = obj };
}
else
{
return ApiResult.Failed(message: "上传失败!");
}
}
return ApiResult.Failed(message: "导入失败!"); return ApiResult.Failed(message: "导入失败!");
} }
......
...@@ -5069,7 +5069,7 @@ namespace REBORN.Services.DMCService ...@@ -5069,7 +5069,7 @@ namespace REBORN.Services.DMCService
Contact = parm.GetStringValue("Contact"), Contact = parm.GetStringValue("Contact"),
Name = parm.GetStringValue("SupplierName"), Name = parm.GetStringValue("SupplierName"),
Status = Common.Enum.DateStateEnum.Normal, Status = Common.Enum.DateStateEnum.Normal,
Type = Common.Enum.ResourceTypeEnum.TicketCoupons, Type = Common.Enum.ResourceTypeEnum.Visa,
CompanyName = parm.GetStringValue("CompanyName"),//公司名称 CompanyName = parm.GetStringValue("CompanyName"),//公司名称
DutyParagraph = parm.GetStringValue("DutyParagraph"),//营业执照号 DutyParagraph = parm.GetStringValue("DutyParagraph"),//营业执照号
CompanyPhone = parm.GetStringValue("CompanyPhone"),//电话 CompanyPhone = parm.GetStringValue("CompanyPhone"),//电话
......
...@@ -25,6 +25,7 @@ using REBORN.Model.Entity.Dmc; ...@@ -25,6 +25,7 @@ using REBORN.Model.Entity.Dmc;
using REBORN.Model.Extend; using REBORN.Model.Extend;
using REBORN.Model.Extend.Dmc; using REBORN.Model.Extend.Dmc;
using REBORN.Model.Extend.Sell; using REBORN.Model.Extend.Sell;
using REBORN.Model.File;
using REBORN.Module.SellModule; using REBORN.Module.SellModule;
using REBORN.Module.UserModule; using REBORN.Module.UserModule;
using StackExchange.Redis; using StackExchange.Redis;
...@@ -4999,6 +5000,7 @@ namespace REBORN.Services.SellService ...@@ -4999,6 +5000,7 @@ namespace REBORN.Services.SellService
} }
else else
{ {
https://servicewechat.com/wx76f943d5111a0e76/70/image/yunfuyoukang/bg_top1.png
userInfo = CacheManager.User.RbUserCache.GetUserLoginInfo(request.uid); userInfo = CacheManager.User.RbUserCache.GetUserLoginInfo(request.uid);
} }
if (userInfo.SimpleEasy == 0) if (userInfo.SimpleEasy == 0)
...@@ -6484,7 +6486,38 @@ namespace REBORN.Services.SellService ...@@ -6484,7 +6486,38 @@ namespace REBORN.Services.SellService
string FilialeId = Common.Config.GetAppSetting("FilialeId");//分公司总经理岗位id string FilialeId = Common.Config.GetAppSetting("FilialeId");//分公司总经理岗位id
UserInfo nowUserInfo = CacheManager.User.RbUserCache.GetUserLoginInfo(request.uid); UserInfo nowUserInfo = CacheManager.User.RbUserCache.GetUserLoginInfo(request.uid);
//附件信息
List<FileData> fileData = new List<FileData>();
string fileDataStr = parms.GetStringValue("WordPathFileData");
if (!string.IsNullOrWhiteSpace(fileDataStr))
{
try
{
JArray guestInfoListArray = JArray.Parse(fileDataStr);
if (guestInfoListArray != null && guestInfoListArray.Count > 0)
{
foreach (var jItem in guestInfoListArray)
{
JObject jobj = JObject.Parse(JsonHelper.Serialize(jItem));
fileData.Add(new FileData
{
FileType = jobj.GetStringValue("FileType"),
Name = jobj.GetStringValue("Name"),
Url = jobj.GetStringValue("Url"),
VideoPath = jobj.GetStringValue("VideoPath"),
});
}
}
}
catch (Exception ex)
{
Common.Plugin.LogHelper.Write(ex, "WordPathFileData");
}
}
if (fileData != null && fileData.Any())
{
dmodel.WordPath = JsonConvert.SerializeObject(fileData);
}
var newpriceModel = new RB_Travel_Price_Extend(); var newpriceModel = new RB_Travel_Price_Extend();
if (dmodel.OrderId > 0) if (dmodel.OrderId > 0)
...@@ -6506,7 +6539,7 @@ namespace REBORN.Services.SellService ...@@ -6506,7 +6539,7 @@ namespace REBORN.Services.SellService
newpriceModel.Title = parms.GetStringValue("Title"); newpriceModel.Title = parms.GetStringValue("Title");
newpriceModel.StartDate = parms.GetDateTime("StartDate"); newpriceModel.StartDate = parms.GetDateTime("StartDate");
newpriceModel.DayNum = parms.GetInt("DayNum", 0); newpriceModel.DayNum = parms.GetInt("DayNum", 0);
newpriceModel.WordPath = parms.GetStringValue("WordPath"); //newpriceModel.WordPath = parms.GetStringValue("WordPath");
newpriceModel.PriceTeamType = (PriceTeamTypeEnum)parms.GetInt("PriceTeamType", 1); newpriceModel.PriceTeamType = (PriceTeamTypeEnum)parms.GetInt("PriceTeamType", 1);
//2019-06-06 Add By:w 判断修改的人数是否有变化,有变化前台提示重新分配房间信息 //2019-06-06 Add By:w 判断修改的人数是否有变化,有变化前台提示重新分配房间信息
if (tomodel.GuestNum != dmodel.GuestNum || tomodel.ManNum != dmodel.ManNum || tomodel.ChirdNeedBedNum != dmodel.ChirdNeedBedNum || tomodel.ChirdNum != dmodel.ChirdNum || tomodel.BabyNum != dmodel.ChirdNum || tomodel.OldPeopleNum != dmodel.OldPeopleNum || tomodel.BigRoomNum != dmodel.BigRoomNum || tomodel.SingleRoomNum != dmodel.SingleRoomNum || tomodel.TripleRoomNum != dmodel.TripleRoomNum || tomodel.DoubleRoomNum != dmodel.DoubleRoomNum || tomodel.AirticketNum != dmodel.AirticketNum) if (tomodel.GuestNum != dmodel.GuestNum || tomodel.ManNum != dmodel.ManNum || tomodel.ChirdNeedBedNum != dmodel.ChirdNeedBedNum || tomodel.ChirdNum != dmodel.ChirdNum || tomodel.BabyNum != dmodel.ChirdNum || tomodel.OldPeopleNum != dmodel.OldPeopleNum || tomodel.BigRoomNum != dmodel.BigRoomNum || tomodel.SingleRoomNum != dmodel.SingleRoomNum || tomodel.TripleRoomNum != dmodel.TripleRoomNum || tomodel.DoubleRoomNum != dmodel.DoubleRoomNum || tomodel.AirticketNum != dmodel.AirticketNum)
...@@ -6580,6 +6613,7 @@ namespace REBORN.Services.SellService ...@@ -6580,6 +6613,7 @@ namespace REBORN.Services.SellService
var addSupplier = supplierModule.Set(supplierModel, out int supplierId); var addSupplier = supplierModule.Set(supplierModel, out int supplierId);
newpriceModel.YSeat = (dmodel.GuestNum ?? 0) - (dmodel.BabyNum ?? 0); newpriceModel.YSeat = (dmodel.GuestNum ?? 0) - (dmodel.BabyNum ?? 0);
newpriceModel.SupplierId = supplierId; newpriceModel.SupplierId = supplierId;
newpriceModel.WordPath = dmodel.WordPath;
var priceFlag = sellOrderModule.UpdatePrice_YL(newpriceModel); var priceFlag = sellOrderModule.UpdatePrice_YL(newpriceModel);
if (!priceFlag) if (!priceFlag)
{ {
...@@ -6628,24 +6662,29 @@ namespace REBORN.Services.SellService ...@@ -6628,24 +6662,29 @@ namespace REBORN.Services.SellService
decimal Commission = Math.Round((dmodel.PreferPrice ?? 0) * Convert.ToDecimal(0.01) + ExtraCommission, 2, MidpointRounding.AwayFromZero); decimal Commission = Math.Round((dmodel.PreferPrice ?? 0) * Convert.ToDecimal(0.01) + ExtraCommission, 2, MidpointRounding.AwayFromZero);
#region 组装团信息 #region 组装团信息
//供应商信息(供应商名称、联系人、联系电话是必须的,营业执照号、开户信息非必填)) //供应商信息(供应商名称、联系人、联系电话是必须的,营业执照号、开户信息非必填))
RB_Supplier supplierModel = new RB_Supplier //供应商id int supplierId = parms.GetInt("supplierId");
{ if (supplierId != -1)
ID = parms.GetInt("SupplierId"), {
Tel = parms.GetStringValue("Tel"),//联系人电话 RB_Supplier supplierModel = new RB_Supplier //供应商id
Contact = parms.GetStringValue("Contact"), {
Name = parms.GetStringValue("SupplierName"), ID = parms.GetInt("SupplierId"),
Status = Common.Enum.DateStateEnum.Normal, Tel = parms.GetStringValue("Tel"),//联系人电话
Type = Common.Enum.ResourceTypeEnum.TeamPrice, Contact = parms.GetStringValue("Contact"),
CompanyName = parms.GetStringValue("CompanyName"),//公司名称 Name = parms.GetStringValue("SupplierName"),
DutyParagraph = parms.GetStringValue("DutyParagraph"),//营业执照号 Status = Common.Enum.DateStateEnum.Normal,
CompanyPhone = parms.GetStringValue("CompanyPhone"),//电话 Type = Common.Enum.ResourceTypeEnum.TeamPrice,
OpeningBank = parms.GetStringValue("OpeningBank"),//开户行 CompanyName = parms.GetStringValue("CompanyName"),//公司名称
BankNo = parms.GetStringValue("BankNo"),//开户账号 DutyParagraph = parms.GetStringValue("DutyParagraph"),//营业执照号
RB_Branch_id = userInfo.RB_Branch_id, CompanyPhone = parms.GetStringValue("CompanyPhone"),//电话
RB_Group_id = userInfo.RB_Group_id, OpeningBank = parms.GetStringValue("OpeningBank"),//开户行
RB_Department_Id = userInfo.RB_Department_Id, BankNo = parms.GetStringValue("BankNo"),//开户账号
}; RB_Branch_id = userInfo.RB_Branch_id,
var addSupplier = supplierModule.Set(supplierModel, out int supplierId); RB_Group_id = userInfo.RB_Group_id,
RB_Department_Id = userInfo.RB_Department_Id,
};
var addSupplier = supplierModule.Set(supplierModel, out supplierId);
}
RB_Travel_Config_Extend modelConfig = new RB_Travel_Config_Extend RB_Travel_Config_Extend modelConfig = new RB_Travel_Config_Extend
{ {
ArriveCityId = 0, ArriveCityId = 0,
...@@ -6711,7 +6750,7 @@ namespace REBORN.Services.SellService ...@@ -6711,7 +6750,7 @@ namespace REBORN.Services.SellService
SalePlat = "3,4", SalePlat = "3,4",
OutBranchId = userInfo.RB_Branch_id, OutBranchId = userInfo.RB_Branch_id,
StartDate = parms.GetDateTime("StartDate"), StartDate = parms.GetDateTime("StartDate"),
WordPath = parms.GetStringValue("WordPath"), WordPath = dmodel.WordPath,
TeamType = TeamTypeEnum.Normal, TeamType = TeamTypeEnum.Normal,
PriceTeamType = (PriceTeamTypeEnum)parms.GetInt("PriceTeamType", 1),// offerItem?.PriceTeamType ?? PriceTeamTypeEnum.SanPing,//02024-08-16 add by:W PriceTeamType = (PriceTeamTypeEnum)parms.GetInt("PriceTeamType", 1),// offerItem?.PriceTeamType ?? PriceTeamTypeEnum.SanPing,//02024-08-16 add by:W
IsSupportChildren = 1, IsSupportChildren = 1,
...@@ -6847,6 +6886,7 @@ namespace REBORN.Services.SellService ...@@ -6847,6 +6886,7 @@ namespace REBORN.Services.SellService
} }
} }
dmodel.TCID = newpriceModel.TCID; dmodel.TCID = newpriceModel.TCID;
message = sellOrderModule.SetOrderInfo_YL(dmodel, newpriceModel, userInfo, out int orderId, IsInsertXQD, IsInsertXQDFC, IsAutoOrder: IsAutoSubmitOrder, userInfo?.EmployeeId ?? 0, appointOPList); message = sellOrderModule.SetOrderInfo_YL(dmodel, newpriceModel, userInfo, out int orderId, IsInsertXQD, IsInsertXQDFC, IsAutoOrder: IsAutoSubmitOrder, userInfo?.EmployeeId ?? 0, appointOPList);
if (message != "") if (message != "")
...@@ -11027,12 +11067,13 @@ namespace REBORN.Services.SellService ...@@ -11027,12 +11067,13 @@ namespace REBORN.Services.SellService
PredictRoomNum = x.PredictRoomNum ?? 0, PredictRoomNum = x.PredictRoomNum ?? 0,
SafeNum = x.SafeNum ?? 0, SafeNum = x.SafeNum ?? 0,
x.PriceTeamType, x.PriceTeamType,
x.WordPath, WordPath = x.WordPath ?? "",
x.Meet, x.Meet,
x.FinalPriceTips, x.FinalPriceTips,
x.Title, x.Title,
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 ?? "" }, SupplierModel = new { SupplierId = x?.SupplierModel?.ID ?? -1, 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.AppointOPInfoList?.Select(z => new { z.OPId, OPName = CacheManager.User.RbUserCache.GetUserLoginInfo(z.OPId.ToString())?.emName ?? "" }), AppointOPList = x.AppointOPInfoList?.Select(z => new { z.OPId, OPName = CacheManager.User.RbUserCache.GetUserLoginInfo(z.OPId.ToString())?.emName ?? "" }),
x.WordPathFileData,
}); });
pmodel.count = int.Parse(count.ToString()); pmodel.count = int.Parse(count.ToString());
pmodel.pageData = data; pmodel.pageData = data;
......
...@@ -2228,7 +2228,16 @@ namespace REBORN.Services.SellService ...@@ -2228,7 +2228,16 @@ namespace REBORN.Services.SellService
/// <returns></returns> /// <returns></returns>
public virtual ApiResult OutToExcel(RequestParm request) public virtual ApiResult OutToExcel(RequestParm request)
{ {
string connString = ConfigurationManager.AppSettings["OutToExcelGuest"]; UserInfo userInfo = CacheManager.User.RbUserCache.GetUserLoginInfo(request.uid);
string connString = "";
if ((userInfo?.SimpleEasy ?? 0) == 0)
{
connString = ConfigurationManager.AppSettings["OutToExcelGuest"];
}
else if((userInfo?.SimpleEasy ?? 0) == 1)
{
connString = ConfigurationManager.AppSettings["YLOutToExcelGuest"];
}
return ApiResult.Success("请求成功!", connString); return ApiResult.Success("请求成功!", connString);
} }
......
...@@ -216,6 +216,9 @@ ...@@ -216,6 +216,9 @@
<!--购物店导出模板地址--> <!--购物店导出模板地址-->
<add key="OutToExcelGuest" value="/Upload/Template/导入旅客信息模板.xls"/> <add key="OutToExcelGuest" value="/Upload/Template/导入旅客信息模板.xls"/>
<!--购物店导出模板地址-->
<add key="YLOutToExcelGuest" value="/Upload/Template/导入旅客基础信息模板.xls"/>
<!--导入客户信息模板--> <!--导入客户信息模板-->
<add key="OutToExcelCustomer" value="/Upload/Template/导入客户信息模板.xls"/> <add key="OutToExcelCustomer" value="/Upload/Template/导入客户信息模板.xls"/>
......
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