Commit e85231b1 authored by liudong1993's avatar liudong1993

1 整改

parent de01239a
...@@ -93,7 +93,7 @@ namespace REBORN.Model.Extend.Sell ...@@ -93,7 +93,7 @@ namespace REBORN.Model.Extend.Sell
public int OrderState { get; set; } public int OrderState { get; set; }
/// <summary> /// <summary>
/// 收款状态 1已收齐 2未收齐 /// 收款状态 1已收齐 2未收齐 (画途扩展 3已收定金、成本定金待付 4已收齐、成本尾款待付)
/// </summary> /// </summary>
public int Q_IsCollect { get; set; } public int Q_IsCollect { get; set; }
...@@ -259,6 +259,11 @@ namespace REBORN.Model.Extend.Sell ...@@ -259,6 +259,11 @@ namespace REBORN.Model.Extend.Sell
/// </summary> /// </summary>
public decimal Money { get; set; } public decimal Money { get; set; }
/// <summary>
/// 订单应付
/// </summary>
public decimal Meet { get; set; }
/// <summary> /// <summary>
/// 实收 /// 实收
/// </summary> /// </summary>
......
...@@ -671,16 +671,20 @@ namespace REBORN.Module.DMCModule ...@@ -671,16 +671,20 @@ namespace REBORN.Module.DMCModule
/// <returns></returns> /// <returns></returns>
public bool SetStatusContractModule(object Id, int status, int auditContract, int updateBy) public bool SetStatusContractModule(object Id, int status, int auditContract, int updateBy)
{ {
var model = contractRepository.GetEntity(Id);
Dictionary<string, object> fileds = new Dictionary<string, object>() Dictionary<string, object> fileds = new Dictionary<string, object>()
{ {
{ nameof(RB_Contract_Extend.Status),status},
{ nameof(RB_Contract_Extend.AuditContract),auditContract},
{ nameof(RB_Contract_Extend.UpdateBy),updateBy}, { nameof(RB_Contract_Extend.UpdateBy),updateBy},
}; };
if (model.ThirdContractState == 0)
{
//合同也作废 (已上传旅游局的合同 需要继续显示旅游局作废状态)
fileds.Add(nameof(RB_Contract_Extend.Status), status);
fileds.Add(nameof(RB_Contract_Extend.AuditContract), auditContract);
}
bool flag = contractRepository.Update(fileds, new WhereHelper(nameof(RB_Contract_Extend.Id), Id)); bool flag = contractRepository.Update(fileds, new WhereHelper(nameof(RB_Contract_Extend.Id), Id));
if (flag) if (flag)
{ {
var model = contractRepository.GetEntity(Id);
if (!string.IsNullOrEmpty(model.ThirdContractID) && (model.ThirdContractState == 1 || model.ThirdContractState == 2)) if (!string.IsNullOrEmpty(model.ThirdContractID) && (model.ThirdContractState == 1 || model.ThirdContractState == 2))
{ {
//只有客人未签字 可以作废 //只有客人未签字 可以作废
...@@ -690,6 +694,14 @@ namespace REBORN.Module.DMCModule ...@@ -690,6 +694,14 @@ namespace REBORN.Module.DMCModule
{ {
var result = service.InvalidateContract(model.ThirdContractID); var result = service.InvalidateContract(model.ThirdContractID);
LogHelper.WriteInfo(JsonHelper.Serialize(result)); LogHelper.WriteInfo(JsonHelper.Serialize(result));
if (model.ThirdContractState == 2)
{
//已签名的 更新状态为 待作废签名
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Contract_Extend.ThirdContractState),5},
};
contractRepository.Update(keyValues, new WhereHelper(nameof(RB_Contract_Extend.Id), Id));
}
} }
#endregion #endregion
} }
...@@ -811,7 +823,7 @@ namespace REBORN.Module.DMCModule ...@@ -811,7 +823,7 @@ namespace REBORN.Module.DMCModule
{ nameof(RB_Contract_Extend.ThirdContractState), state}, { nameof(RB_Contract_Extend.ThirdContractState), state},
//{ nameof(RB_Contract_Extend.ThirdContractFileUrl), fileURL}, //{ nameof(RB_Contract_Extend.ThirdContractFileUrl), fileURL},
}; };
if (state == 2) if (state == 2 || state == 3)
{ {
keyValues.Add(nameof(RB_Contract_Extend.UpdateTime), DateTime.Now); keyValues.Add(nameof(RB_Contract_Extend.UpdateTime), DateTime.Now);
} }
...@@ -833,7 +845,7 @@ namespace REBORN.Module.DMCModule ...@@ -833,7 +845,7 @@ namespace REBORN.Module.DMCModule
{ nameof(RB_Travel_Contract_Extend.ThirdContractState), state}, { nameof(RB_Travel_Contract_Extend.ThirdContractState), state},
//{ nameof(RB_Travel_Contract_Extend.ThirdContractFileUrl), fileURL}, //{ nameof(RB_Travel_Contract_Extend.ThirdContractFileUrl), fileURL},
}; };
if (state == 2) if (state == 2 || state == 3)
{ {
keyValues.Add(nameof(RB_Travel_Contract_Extend.UpdateTime), DateTime.Now); keyValues.Add(nameof(RB_Travel_Contract_Extend.UpdateTime), DateTime.Now);
} }
...@@ -1901,9 +1913,17 @@ namespace REBORN.Module.DMCModule ...@@ -1901,9 +1913,17 @@ namespace REBORN.Module.DMCModule
{ {
var result = service.InvalidateContract(model.ThirdContractID); var result = service.InvalidateContract(model.ThirdContractID);
LogHelper.WriteInfo(JsonHelper.Serialize(result)); LogHelper.WriteInfo(JsonHelper.Serialize(result));
if (model.ThirdContractState == 2) {
//已签名的 更新状态为 待作废签名
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Travel_Contract_Extend.ThirdContractState),5}
};
flag = travel_ContractRepository.Update(keyValues, new WhereHelper(nameof(RB_Travel_Contract_Extend.ID), Id));
}
} }
#endregion #endregion
} }
if (model.ThirdContractState > 0) { return true; }
} }
flag = travel_ContractRepository.Update(fileds, new WhereHelper(nameof(RB_Travel_Contract_Extend.ID), Id)); flag = travel_ContractRepository.Update(fileds, new WhereHelper(nameof(RB_Travel_Contract_Extend.ID), Id));
return flag; return flag;
......
...@@ -1968,6 +1968,12 @@ TEL:03-3779-9111"; ...@@ -1968,6 +1968,12 @@ TEL:03-3779-9111";
} }
if (model.VisaOrderStatus != 2) if (model.VisaOrderStatus != 2)
{//正常转换为取消 {//正常转换为取消
#region 验证 合同是否已签字,已签字 提示 需要先作废合同
var otherContractList = travel_ContractRepository.GetTravelContractListRepository(new RB_Travel_Contract_Extend() { RB_Group_Id = model.RB_Group_Id, Type = Common.Enum.ResourceTypeEnum.Visa, QOrderIds = orderId.ToString(), Status = -1 });
if (otherContractList.Any(x => x.ThirdContractState == 1)) { return ApiResult.Failed("请先作废合同后再取消订单"); }
if (otherContractList.Any(x => x.ThirdContractState == 2)) { return ApiResult.Failed("因客人合同已签名,请先作废合同待客人签字后再取消订单"); }
if (otherContractList.Any(x => x.ThirdContractState == 5)) { return ApiResult.Failed("等待客人作废合同签名后方可取消订单"); }
#endregion
//验证该订单下是否有有效的财务单据 //验证该订单下是否有有效的财务单据
var listF = financeRepository.GetOrderFinanceListForTC(model.Id.ToString(), (int)OrderResourceEnum.Visia).Where(x => x.Status != FinanceAuditStatus.Delete).ToList(); var listF = financeRepository.GetOrderFinanceListForTC(model.Id.ToString(), (int)OrderResourceEnum.Visia).Where(x => x.Status != FinanceAuditStatus.Delete).ToList();
if (listF.Count() > 0) if (listF.Count() > 0)
......
...@@ -232,6 +232,7 @@ namespace REBORN.Module.SellModule ...@@ -232,6 +232,7 @@ namespace REBORN.Module.SellModule
item.CurrencyName = "CNY"; item.CurrencyName = "CNY";
item.StateName = ((CRMOrderStatusEnum)rairModel.OrderStatus).GetEnumName(); item.StateName = ((CRMOrderStatusEnum)rairModel.OrderStatus).GetEnumName();
item.OrderProfit = item.Income - item.Refund - item.CostMoney; item.OrderProfit = item.Income - item.Refund - item.CostMoney;
item.Meet = rairModel?.Meet ?? 0;
// item.InvoiceApplyList = invoiceApplyList?.Where(x => x.OrderId == item.OrderId)?.ToList() ?? new List<RB_Travel_InvoiceApply_Extend>(); // item.InvoiceApplyList = invoiceApplyList?.Where(x => x.OrderId == item.OrderId)?.ToList() ?? new List<RB_Travel_InvoiceApply_Extend>();
} }
} }
...@@ -315,6 +316,7 @@ namespace REBORN.Module.SellModule ...@@ -315,6 +316,7 @@ namespace REBORN.Module.SellModule
item.IsOneDayOrder = rmodel.IsOneDay; item.IsOneDayOrder = rmodel.IsOneDay;
item.CurrencyName = "CNY"; item.CurrencyName = "CNY";
item.StateName = rmodel.OrderState.GetEnumName(); item.StateName = rmodel.OrderState.GetEnumName();
item.Meet = rmodel?.Meet ?? 0;
//团区分 台湾公司别 根据公司别本位币 //团区分 台湾公司别 根据公司别本位币
var brmodel = branchList.Where(x => x.Id == rmodel.OutBranchId).FirstOrDefault(); var brmodel = branchList.Where(x => x.Id == rmodel.OutBranchId).FirstOrDefault();
...@@ -358,9 +360,10 @@ namespace REBORN.Module.SellModule ...@@ -358,9 +360,10 @@ namespace REBORN.Module.SellModule
var cModel = CacheManager.User.RbUserCache.GetEmployee(rmodel.LureEmpId); var cModel = CacheManager.User.RbUserCache.GetEmployee(rmodel.LureEmpId);
item.LureEmpName = (cModel?.EmName ?? "") + (cModel?.IsLeave == 1 ? "(离职)" : ""); item.LureEmpName = (cModel?.EmName ?? "") + (cModel?.IsLeave == 1 ? "(离职)" : "");
item.LureEmpId = rmodel?.LureEmpId ?? 0; item.LureEmpId = rmodel?.LureEmpId ?? 0;
item.CurrencyName = currencyList.Where(x => x.ID == rtd2list.FirstOrDefault()?.CurrencyId).FirstOrDefault()?.Code; item.CurrencyName = currencyList.Where(x => x.ID == rtd2list.FirstOrDefault()?.CurrencyId).FirstOrDefault()?.Code ?? "CNY";
item.StateName = rmodel.OrderStatus.GetEnumName(); item.StateName = rmodel.OrderStatus.GetEnumName();
item.OrderProfit = item.Income - item.Refund - item.CostMoney; item.OrderProfit = item.Income - item.Refund - item.CostMoney;
item.Meet = rmodel?.Meet ?? 0;
} }
} }
//门票 //门票
...@@ -396,9 +399,10 @@ namespace REBORN.Module.SellModule ...@@ -396,9 +399,10 @@ namespace REBORN.Module.SellModule
var cModel = CacheManager.User.RbUserCache.GetEmployee(rmodel.LureEmpId); var cModel = CacheManager.User.RbUserCache.GetEmployee(rmodel.LureEmpId);
item.LureEmpName = (cModel?.EmName ?? "") + (cModel?.IsLeave == 1 ? "(离职)" : ""); item.LureEmpName = (cModel?.EmName ?? "") + (cModel?.IsLeave == 1 ? "(离职)" : "");
item.LureEmpId = rmodel?.LureEmpId ?? 0; item.LureEmpId = rmodel?.LureEmpId ?? 0;
item.CurrencyName = currencyList.Where(x => x.ID == rtdlist.Where(y => y.OrderId == item.OrderId).FirstOrDefault()?.CurrencyId).FirstOrDefault()?.Code; item.CurrencyName = currencyList.Where(x => x.ID == rtdlist.Where(y => y.OrderId == item.OrderId).FirstOrDefault()?.CurrencyId).FirstOrDefault()?.Code ?? "CNY";
item.StateName = rmodel.OrderStatus.GetEnumName(); item.StateName = rmodel.OrderStatus.GetEnumName();
item.OrderProfit = item.Income - item.Refund - item.CostMoney; item.OrderProfit = item.Income - item.Refund - item.CostMoney;
item.Meet = rmodel?.Meet ?? 0;
} }
} }
//包车 //包车
...@@ -437,6 +441,7 @@ namespace REBORN.Module.SellModule ...@@ -437,6 +441,7 @@ namespace REBORN.Module.SellModule
item.StateName = rmodel.OrderStatus.GetEnumName(); item.StateName = rmodel.OrderStatus.GetEnumName();
item.CarType = rmodel.OrderType; item.CarType = rmodel.OrderType;
item.OrderProfit = item.Income - item.Refund - item.CostMoney; item.OrderProfit = item.Income - item.Refund - item.CostMoney;
item.Meet = 0;//包车暂时没有字段
} }
} }
//单签证 //单签证
...@@ -474,6 +479,7 @@ namespace REBORN.Module.SellModule ...@@ -474,6 +479,7 @@ namespace REBORN.Module.SellModule
item.CurrencyName = "CNY";//暂时 item.CurrencyName = "CNY";//暂时
item.StateName = rmodel.VisaOrderStatus == 1 ? "正常" : rmodel.VisaOrderStatus == 2 ? "取消" : "待付款"; item.StateName = rmodel.VisaOrderStatus == 1 ? "正常" : rmodel.VisaOrderStatus == 2 ? "取消" : "待付款";
item.OrderProfit = item.Income - item.Refund - item.CostMoney; item.OrderProfit = item.Income - item.Refund - item.CostMoney;
item.Meet = rmodel?.Meet ?? 0;
} }
} }
//jalan //jalan
...@@ -510,6 +516,7 @@ namespace REBORN.Module.SellModule ...@@ -510,6 +516,7 @@ namespace REBORN.Module.SellModule
item.LureEmpId = rmodel?.LureEmpId ?? 0; item.LureEmpId = rmodel?.LureEmpId ?? 0;
item.CurrencyName = rmodel.CurrencyCode; item.CurrencyName = rmodel.CurrencyCode;
item.StateName = rmodel.OrderStatus.GetEnumName(); item.StateName = rmodel.OrderStatus.GetEnumName();
item.Meet = 0;//暂无字段
} }
} }
...@@ -551,20 +558,24 @@ namespace REBORN.Module.SellModule ...@@ -551,20 +558,24 @@ namespace REBORN.Module.SellModule
var currencyList = currencyRepository.GetList(new Model.Entity.Finance.RB_Currency() { RB_Group_Id = demodel.GroupId }); var currencyList = currencyRepository.GetList(new Model.Entity.Finance.RB_Currency() { RB_Group_Id = demodel.GroupId });
foreach (var item in list) foreach (var item in list)
{ {
if (item.OrderId == 1) //if (item.OrderId == 1)
{ //{
var cmodel = currencyList.Where(x => x.Code == item.CurrencyName).FirstOrDefault(); // var cmodel = currencyList.Where(x => x.Code == item.CurrencyName).FirstOrDefault();
item.OrderId = cmodel?.ID ?? 0; // item.OrderId = cmodel?.ID ?? 0;
item.StateName = item.CurrencyName; // item.StateName = item.CurrencyName;
item.CurrencyName = cmodel?.Name ?? ""; // item.CurrencyName = cmodel?.Name ?? "";
} //}
else //else
{ //{
var cmodel = currencyList.Where(x => x.ID == Convert.ToInt32(item.CurrencyName)).FirstOrDefault(); // var cmodel = currencyList.Where(x => x.ID == Convert.ToInt32(item.CurrencyName)).FirstOrDefault();
item.OrderId = cmodel?.ID ?? 0; // item.OrderId = cmodel?.ID ?? 0;
item.StateName = cmodel?.Code ?? ""; // item.StateName = cmodel?.Code ?? "";
item.CurrencyName = cmodel?.Name ?? ""; // item.CurrencyName = cmodel?.Name ?? "";
} //}
var cmodel = currencyList.Where(x => x.Code == "RMB").FirstOrDefault();//画途 这一套 固定人民币
item.OrderId = cmodel?.ID ?? 0;
item.StateName = cmodel?.Code ?? "";
item.CurrencyName = cmodel?.Name ?? "";
} }
//开始合并 //开始合并
...@@ -582,8 +593,10 @@ namespace REBORN.Module.SellModule ...@@ -582,8 +593,10 @@ namespace REBORN.Module.SellModule
GuestNum = x.Sum(y => y.GuestNum), GuestNum = x.Sum(y => y.GuestNum),
IncomeTipAmount = x.Sum(y => y.IncomeTipAmount), IncomeTipAmount = x.Sum(y => y.IncomeTipAmount),
PreferTipAmount = x.Sum(y => y.PreferTipAmount), PreferTipAmount = x.Sum(y => y.PreferTipAmount),
OrderProfit = x.Sum(y => y.OrderProfit), //OrderProfit = x.Sum(y => y.OrderProfit),
OrderSalesMoney = x.Sum(y => y.OrderSalesMoney) OrderSalesMoney = x.Sum(y => y.OrderSalesMoney),
Meet = x.Sum(y => y.Meet),
OrderProfit = x.Sum(y => y.Money - y.Meet),
}); });
} }
else else
...@@ -591,20 +604,21 @@ namespace REBORN.Module.SellModule ...@@ -591,20 +604,21 @@ namespace REBORN.Module.SellModule
Rlist = new List<object>() Rlist = new List<object>()
{ {
new { new {
CurrencyId = 1, CurrencyId = 1,
CurrencyName ="人民币", CurrencyName ="人民币",
CurrencyCode = "CNY", CurrencyCode = "CNY",
Money =0, Money =0,
Income = 0, Income = 0,
Refund = 0, Refund = 0,
PlatformTax = 0, PlatformTax = 0,
CostMoney = 0, CostMoney = 0,
DueInMoney = 0, DueInMoney = 0,
GuestNum = 0, GuestNum = 0,
PreferTipAmount=0, PreferTipAmount=0,
IncomeTipAmount=0, IncomeTipAmount=0,
OrderProfit=0, OrderProfit=0,
OrderSalesMoney=0 OrderSalesMoney=0,
Meet=0
} }
}; };
} }
......
...@@ -1730,6 +1730,13 @@ namespace REBORN.Module.SellModule ...@@ -1730,6 +1730,13 @@ namespace REBORN.Module.SellModule
/// <returns></returns> /// <returns></returns>
public string CancelCustomerOrder(int orderId, int groupId) public string CancelCustomerOrder(int orderId, int groupId)
{ {
#region 验证 合同是否已签字,已签字 提示 需要先作废合同
var otherContractList = travel_ContractRepository.GetTravelContractListRepository(new RB_Travel_Contract_Extend() { RB_Group_Id = groupId, Type = Common.Enum.ResourceTypeEnum.Hotel, QOrderIds = orderId.ToString(), Status = -1 });
if (otherContractList.Any(x => x.ThirdContractState == 1)) { return "请先作废合同后再取消订单"; }
if (otherContractList.Any(x => x.ThirdContractState == 2)) { return "因客人合同已签名,请先作废合同待客人签字后再取消订单"; }
if (otherContractList.Any(x => x.ThirdContractState == 5)) { return "等待客人作废合同签名后方可取消订单"; }
#endregion
var orderModel = hotelOrderRepository.GetEntity(orderId); var orderModel = hotelOrderRepository.GetEntity(orderId);
if (orderModel == null || orderModel.OrderStatus != CustomerOrderStatusEnum.Wait) { return "状态不正确无法取消"; } if (orderModel == null || orderModel.OrderStatus != CustomerOrderStatusEnum.Wait) { return "状态不正确无法取消"; }
var list = hotelOrderDetailRepository.GetList(new RB_Customer_HotelOrderDetail_Extend() { GroupId = groupId, OrderId = orderId }); var list = hotelOrderDetailRepository.GetList(new RB_Customer_HotelOrderDetail_Extend() { GroupId = groupId, OrderId = orderId });
...@@ -2486,9 +2493,16 @@ namespace REBORN.Module.SellModule ...@@ -2486,9 +2493,16 @@ namespace REBORN.Module.SellModule
public string SetTimerCancelCustomerOrder() public string SetTimerCancelCustomerOrder()
{ {
//查询所有 Income<=0 并且 过了定金时间的 //查询所有 Income<=0 并且 过了定金时间的
//查询 集团
var glist = employeemodule.GetSimpleEasyGroup();
if (!glist.Any()) { return ""; }
string groupIds = string.Join(",", glist.Select(x => x.Id).Distinct());
try try
{ {
var list = hotelOrderRepository.GetCanCancelCustomerOrder(); var list = hotelOrderRepository.GetCanCancelCustomerOrder(groupIds);
if (list.Any()) if (list.Any())
{ {
List<Model.Extend.Finance.RB_Finance_Extend> FinanceList = new List<Model.Extend.Finance.RB_Finance_Extend>(); List<Model.Extend.Finance.RB_Finance_Extend> FinanceList = new List<Model.Extend.Finance.RB_Finance_Extend>();
...@@ -2633,7 +2647,7 @@ namespace REBORN.Module.SellModule ...@@ -2633,7 +2647,7 @@ namespace REBORN.Module.SellModule
//自动取消门票订单 //自动取消门票订单
try try
{ {
var list = customer_TicketOrderRepository.GetCanCancelTitckOrder(); var list = customer_TicketOrderRepository.GetCanCancelTitckOrder(groupIds);
if (list.Any()) if (list.Any())
{ {
List<Model.Extend.Finance.RB_Finance_Extend> FinanceList = new List<Model.Extend.Finance.RB_Finance_Extend>(); List<Model.Extend.Finance.RB_Finance_Extend> FinanceList = new List<Model.Extend.Finance.RB_Finance_Extend>();
...@@ -4565,6 +4579,13 @@ namespace REBORN.Module.SellModule ...@@ -4565,6 +4579,13 @@ namespace REBORN.Module.SellModule
/// <returns></returns> /// <returns></returns>
public string CancelTicketOrder(int orderId, int isOPCancel, string remark, int userId, int groupId, int type) public string CancelTicketOrder(int orderId, int isOPCancel, string remark, int userId, int groupId, int type)
{ {
#region 验证 合同是否已签字,已签字 提示 需要先作废合同
var otherContractList = travel_ContractRepository.GetTravelContractListRepository(new RB_Travel_Contract_Extend() { RB_Group_Id = groupId, Type = Common.Enum.ResourceTypeEnum.TicketCoupons, QOrderIds = orderId.ToString(), Status = -1 });
if (otherContractList.Any(x => x.ThirdContractState == 1)) { return "请先作废合同后再取消订单"; }
if (otherContractList.Any(x => x.ThirdContractState == 2)) { return "因客人合同已签名,请先作废合同待客人签字后再取消订单"; }
if (otherContractList.Any(x => x.ThirdContractState == 5)) { return "等待客人作废合同签名后方可取消订单"; }
#endregion
var oldModel = customer_TicketOrderRepository.GetEntity<RB_Customer_TicketOrder_Extend>(orderId); var oldModel = customer_TicketOrderRepository.GetEntity<RB_Customer_TicketOrder_Extend>(orderId);
if (oldModel == null) { return "订单不存在"; } if (oldModel == null) { return "订单不存在"; }
if (isOPCancel == 1) if (isOPCancel == 1)
...@@ -6124,6 +6145,15 @@ namespace REBORN.Module.SellModule ...@@ -6124,6 +6145,15 @@ namespace REBORN.Module.SellModule
/// <returns></returns> /// <returns></returns>
public string SetGuestOrderState(int orderId, int type, List<string> voucherList, UserInfo userInfo) public string SetGuestOrderState(int orderId, int type, List<string> voucherList, UserInfo userInfo)
{ {
if (type == 1) {
#region 验证 合同是否已签字,已签字 提示 需要先作废合同
var otherContractList = travel_ContractRepository.GetTravelContractListRepository(new RB_Travel_Contract_Extend() { RB_Group_Id = userInfo.RB_Group_id, Type = Common.Enum.ResourceTypeEnum.SingleTicket, QOrderIds = orderId.ToString(), Status = -1 });
if (otherContractList.Any(x => x.ThirdContractState == 1)) { return "请先作废合同后再取消订单"; }
if (otherContractList.Any(x => x.ThirdContractState == 2)) { return "因客人合同已签名,请先作废合同待客人签字后再取消订单"; }
if (otherContractList.Any(x => x.ThirdContractState == 5)) { return "等待客人作废合同签名后方可取消订单"; }
#endregion
}
var orderModel = cRMTicket_OrderRepository.GetEntity(orderId); var orderModel = cRMTicket_OrderRepository.GetEntity(orderId);
if (orderModel == null) { return "订单不存在"; } if (orderModel == null) { return "订单不存在"; }
if (orderModel.OrderStatus == (int)CRMOrderStatusEnum.Cnacel) { return "订单状态不正确"; } if (orderModel.OrderStatus == (int)CRMOrderStatusEnum.Cnacel) { return "订单状态不正确"; }
...@@ -6519,5 +6549,54 @@ namespace REBORN.Module.SellModule ...@@ -6519,5 +6549,54 @@ namespace REBORN.Module.SellModule
return list; return list;
} }
#endregion #endregion
/// <summary>
/// 批量修改订单销售
/// </summary>
/// <param name="orderIds"></param>
/// <param name="orderType"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public string SetBatchUpdateOrderSale(string orderIds, int orderType, int empId, UserInfo userInfo)
{
if (orderType == 1)
{
//邮轮
var list = customer_TicketOrderRepository.GetList(new RB_Customer_TicketOrder_Extend() { GroupId = userInfo.RB_Group_id, OrderIds = orderIds });
foreach (var item in list) {
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Customer_TicketOrder_Extend.UpdateBy), userInfo.EmployeeId},
{ nameof(RB_Customer_TicketOrder_Extend.UpdateTime), DateTime.Now},
{ nameof(RB_Customer_TicketOrder_Extend.EnterID), empId},
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName = nameof(RB_Customer_TicketOrder_Extend.OrderId),
FiledValue = item.OrderId,
OperatorEnum = OperatorEnum.Equal
}
};
bool flag = customer_TicketOrderRepository.Update(keyValues, wheres);
if (flag)
{
//记录订单日志
customer_OrderLogRepository.Insert(new RB_Customer_OrderLog()
{
LogId = 0,
GroupId = userInfo.RB_Group_id,
CreateBy = userInfo.EmployeeId,
CreateTime = DateTime.Now,
LogContent = $"修改订单销售由【{item.EnterID}】修改为【{empId}】",
OrderId = item.OrderId,
Type = 2
});
}
}
return "";
}
else {
return "暂未开放,请联系管理员";
}
}
} }
} }
...@@ -12303,6 +12303,30 @@ namespace REBORN.Module.SellModule ...@@ -12303,6 +12303,30 @@ namespace REBORN.Module.SellModule
} }
} }
/// <summary>
/// 验证团队订单合同
/// </summary>
/// <param name="orderId"></param>
/// <param name="groupId"></param>
/// <returns></returns>
public string ValidateOrderContact(int orderId, int groupId) {
//先验证 团队合同
var contractList = contractRepository.GetContractListRepository("", orderId.ToString());
if (contractList.Any(x => x.ThirdContractState == 1)) { return "请先作废合同后再取消订单"; }
if (contractList.Any(x => x.ThirdContractState == 2)) { return "因客人合同已签名,请先作废合同待客人签字后再取消订单"; }
if (contractList.Any(x => x.ThirdContractState == 5)) { return "等待客人作废合同签名后方可取消订单"; }
//再验证单项合同
#region 验证 合同是否已签字,已签字 提示 需要先作废合同
var otherContractList = travel_ContractRepository.GetTravelContractListRepository(new RB_Travel_Contract_Extend() { RB_Group_Id = groupId, Type = Common.Enum.ResourceTypeEnum.TeamPrice, QOrderIds = orderId.ToString(), Status = -1 });
if (otherContractList.Any(x => x.ThirdContractState == 1)) { return "请先作废合同后再取消订单"; }
if (otherContractList.Any(x => x.ThirdContractState == 2)) { return "因客人合同已签名,请先作废合同待客人签字后再取消订单"; }
if (otherContractList.Any(x => x.ThirdContractState == 5)) { return "等待客人作废合同签名后方可取消订单"; }
#endregion
return "";
}
/// <summary> /// <summary>
/// 删除 /// 删除
/// </summary> /// </summary>
...@@ -15008,7 +15032,7 @@ namespace REBORN.Module.SellModule ...@@ -15008,7 +15032,7 @@ namespace REBORN.Module.SellModule
//出境合同 //出境合同
var contractList = contractRepository.GetContractListRepository("", OrderStr); var contractList = contractRepository.GetContractListRepository("", OrderStr);
//其它合同 //其它合同
var otherContractList = travel_ContractRepository.GetTravelContractListRepository(new RB_Travel_Contract_Extend() { QOrderIds = OrderStr, Status = -1 }); var otherContractList = travel_ContractRepository.GetTravelContractListRepository(new RB_Travel_Contract_Extend() { QOrderIds = OrderStr, Type = ResourceTypeEnum.TeamPrice, Status = -1 });
foreach (var item in list) foreach (var item in list)
{ {
item.OrderGuestFlightList = new List<OrderGuestFlightItem>(); item.OrderGuestFlightList = new List<OrderGuestFlightItem>();
...@@ -309,6 +309,13 @@ namespace REBORN.Module.UserModule ...@@ -309,6 +309,13 @@ namespace REBORN.Module.UserModule
return Gmodel; return Gmodel;
} }
public List<RB_Group_Extend> GetSimpleEasyGroup()
{
//获取集团下总数
var Gmodel = groupRepository.GetList(new RB_Group_Extend() { SimpleEasy = 1 });
return Gmodel;
}
/// <summary> /// <summary>
/// 获取集团下员工的总数 以及已使用的数量 /// 获取集团下员工的总数 以及已使用的数量
/// </summary> /// </summary>
......
This diff is collapsed.
...@@ -203,9 +203,9 @@ where {where} group by o.OrderId order by o.OrderId desc"; ...@@ -203,9 +203,9 @@ where {where} group by o.OrderId order by o.OrderId desc";
/// 获取可取消的同业订单列表 /// 获取可取消的同业订单列表
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public List<RB_Customer_HotelOrder_Extend> GetCanCancelCustomerOrder() public List<RB_Customer_HotelOrder_Extend> GetCanCancelCustomerOrder(string groupIds)
{ {
string sql = $"SELECT * FROM rb_customer_hotelorder WHERE OrderStatus in(1,2) and Income <=0 and PaymentDate <'{DateTime.Now.ToString("yyyy-MM-dd")}' and EnterID not in (2604,2739,3038,2758)"; string sql = $"SELECT * FROM rb_customer_hotelorder WHERE OrderStatus in(1,2) and Income <=0 and ConfirmDate <'{DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd")}' and RB_Group_id in({groupIds})";
return Get<RB_Customer_HotelOrder_Extend>(sql).ToList(); return Get<RB_Customer_HotelOrder_Extend>(sql).ToList();
} }
......
...@@ -140,7 +140,7 @@ where {where} order by o.OrderId desc"; ...@@ -140,7 +140,7 @@ where {where} order by o.OrderId desc";
} }
if (!string.IsNullOrEmpty(demodel.Name)) if (!string.IsNullOrEmpty(demodel.Name))
{ {
where += $" and (o.{nameof(RB_Customer_TicketOrder_Extend.Name)} like @Name or o.{nameof(RB_Customer_TicketOrder_Extend.EName)} like @Name)"; where += $" and (o.{nameof(RB_Customer_TicketOrder_Extend.Name)} like @Name or o.{nameof(RB_Customer_TicketOrder_Extend.EName)} like @Name or g.Name like @Name)";
parameters.Add("Name", "%" + demodel.Name + "%"); parameters.Add("Name", "%" + demodel.Name + "%");
} }
if (!string.IsNullOrEmpty(demodel.Mobile)) if (!string.IsNullOrEmpty(demodel.Mobile))
...@@ -198,6 +198,7 @@ where {where} order by o.OrderId desc"; ...@@ -198,6 +198,7 @@ where {where} order by o.OrderId desc";
left join rb_ticketcoupons t on o.CouponsId = t.ID left join rb_ticketcoupons t on o.CouponsId = t.ID
left join RB_Customer_TicketOrderDetail d on o.OrderId = d.OrderId left join RB_Customer_TicketOrderDetail d on o.OrderId = d.OrderId
{((userInfo?.SimpleEasy ?? 0) == 1 ? (" left JOIN rb_appoint_op aop on aop.OrderId=o.OrderId and aop.ResourceType=" + (int)Common.Enum.ResourceTypeEnum.TicketCoupons) : "")} {((userInfo?.SimpleEasy ?? 0) == 1 ? (" left JOIN rb_appoint_op aop on aop.OrderId=o.OrderId and aop.ResourceType=" + (int)Common.Enum.ResourceTypeEnum.TicketCoupons) : "")}
{(!string.IsNullOrEmpty(demodel.Name) ? " left join rb_travel_guest g on o.OrderId=g.OrderId and g.IsAllograph=4 and g.Status=0" : "")}
where {where} group by o.OrderId order by o.OrderId desc"; where {where} group by o.OrderId order by o.OrderId desc";
return GetPage<RB_Customer_TicketOrder_Extend>(pageIndex, pageSize, out count, sql, parameters).ToList(); return GetPage<RB_Customer_TicketOrder_Extend>(pageIndex, pageSize, out count, sql, parameters).ToList();
} }
...@@ -206,9 +207,9 @@ where {where} group by o.OrderId order by o.OrderId desc"; ...@@ -206,9 +207,9 @@ where {where} group by o.OrderId order by o.OrderId desc";
/// 获取所有可取消的门票订单 /// 获取所有可取消的门票订单
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public List<RB_Customer_TicketOrder_Extend> GetCanCancelTitckOrder() public List<RB_Customer_TicketOrder_Extend> GetCanCancelTitckOrder(string groupIds)
{ {
string sql = $@"SELECT * FROM rb_customer_ticketorder where UseDate < CURDATE() and OrderStatus in(1,2) and Income <=0;"; string sql = $@"SELECT * FROM rb_customer_ticketorder where UseDate < CURDATE() and OrderStatus in(1,2) and Income <=0 and GroupId in({groupIds});";
return Get<RB_Customer_TicketOrder_Extend>(sql).ToList(); return Get<RB_Customer_TicketOrder_Extend>(sql).ToList();
} }
......
...@@ -34,5 +34,28 @@ namespace REBORN.Repository ...@@ -34,5 +34,28 @@ namespace REBORN.Repository
var pageList = GetPage<RB_Group_Extend>(pageIndex, pageSize, out count, "select g.*,v.VersionsName from Rb_group g Left join Rb_sys_versions v on g.Versions_Id=v.Id " + where).ToList(); var pageList = GetPage<RB_Group_Extend>(pageIndex, pageSize, out count, "select g.*,v.VersionsName from Rb_group g Left join Rb_sys_versions v on g.Versions_Id=v.Id " + where).ToList();
return pageList; return pageList;
} }
public List<RB_Group_Extend> GetList(RB_Group_Extend dmodel)
{
string where = " where 1=1 ";
if (!string.IsNullOrWhiteSpace(dmodel.GroupName))
{
where += " and g." + nameof(RB_Group_Extend.GroupName) + " like '%" + dmodel.GroupName + "%'";
}
if (!string.IsNullOrWhiteSpace(dmodel.Domain))
{
where += " and g." + nameof(RB_Group_Extend.Domain) + " like '%" + dmodel.Domain + "%'";
}
if (dmodel.Status.HasValue)
{
where += " and g." + nameof(RB_Group_Extend.Status) + "=" + dmodel.Status;
}
if (dmodel.SimpleEasy == 1)
{
where += " and g." + nameof(RB_Group_Extend.SimpleEasy) + "=" + dmodel.SimpleEasy;
}
var pageList = Get<RB_Group_Extend>("select g.* from Rb_group g " + where).ToList();
return pageList;
}
} }
} }
...@@ -298,6 +298,87 @@ namespace REBORN.Services.CommissionService ...@@ -298,6 +298,87 @@ namespace REBORN.Services.CommissionService
return ApiResult.Success("", pmodel); return ApiResult.Success("", pmodel);
} }
/// <summary>
/// 导出提成用户分组
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual byte[] GetTYSaleCommissionEmpPageListToExcel(RequestParm request)
{
RB_B2BSale_Commission_Emp_Extend demodel = JsonConvert.DeserializeObject<RB_B2BSale_Commission_Emp_Extend>(request.msg.ToString());
List<ExcelDataSource> slist = new List<ExcelDataSource>();
ExcelDataSource header = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value:"公司"){CellWidth=20,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"部门"){CellWidth=20,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"姓名"){CellWidth=15,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"提成金额"){CellWidth=15,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"期数"){CellWidth=15,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"备注"){CellWidth=15,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
}
};
slist.Add(header);
JObject parms = JObject.Parse(request.msg.ToString());
int EmpId = parms.GetInt("EmployeeIdUser", 0);
UserInfo userInfo = CacheManager.User.RbUserCache.GetUserLoginInfo(EmpId.ToString());
demodel.RB_Group_Id = userInfo.RB_Group_id;
#region 权限
string actionMenu = userInfo.ActionMenuCode;
if (string.IsNullOrEmpty(actionMenu)) { actionMenu = CacheManager.User.RbUserCache.GetUserActionMenu(userInfo.RB_Post_Id); }
if (!string.IsNullOrEmpty(actionMenu) && actionMenu.Contains("F_Commission_Branch"))
{
demodel.Q_MyBranch = userInfo.RB_Branch_id;
}
else if (string.IsNullOrEmpty(actionMenu) || !actionMenu.Contains("F_Query_AllIncomPay"))
{
demodel.UserId = userInfo.EmployeeId;
}
#endregion
var data = mergeCommissionModule.GetTYSaleCommissionEmpPageList(1, 9999, out long count, demodel);
try
{
foreach (var item in data)
{
ExcelDataSource firstRow = new ExcelDataSource(30)
{
ExcelRows = new List<ExcelColumn>()
{
new ExcelColumn(value: item.BranchName){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER},
new ExcelColumn(value: item.DeptName){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER},
new ExcelColumn(value: item.UserName){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER},
new ExcelColumn(value: item.TotalCMoney.ToString("#0.00")){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER},
new ExcelColumn(value: item.Periods){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER},
new ExcelColumn(value: item.Description){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER},
}
};
slist.Add(firstRow);
}
ExcelDataSource firstRowt = new ExcelDataSource(30)
{
ExcelRows = new List<ExcelColumn>()
{
new ExcelColumn(value:"合计"){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER, Colspan=3},
new ExcelColumn(value:(data.Sum(x=>x.TotalCMoney)).ToString("#0.00")){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER},
new ExcelColumn(value:""){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER},
new ExcelColumn(value:""){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER},
}
};
slist.Add(firstRowt);
}
catch (Exception ex)
{
LogHelper.Write(ex, "GetTYSaleCommissionEmpPageListToExcel");
}
var fileStream = ExcelTempLateHelper.ToExcelExtend(slist);
return fileStream;
}
/// <summary> /// <summary>
/// 获取国内提成个人明细 /// 获取国内提成个人明细
/// </summary> /// </summary>
......
...@@ -2046,7 +2046,37 @@ namespace REBORN.Services.SellService ...@@ -2046,7 +2046,37 @@ namespace REBORN.Services.SellService
} }
} }
/// <summary>
/// 批量修改订单业务员
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public virtual ApiResult SetBatchUpdateOrderSale(RequestParm request) {
var userInfo = CacheManager.User.RbUserCache.GetUserLoginInfo(request.uid);
JObject parms = JObject.Parse(request.msg.ToString());
string OrderIds = parms.GetStringValue("OrderIds");
int OrderType = parms.GetInt("OrderType", 1);//订单类型 1邮轮门票
int EmpId = parms.GetInt("EmpId", 0);//接手人
if (string.IsNullOrEmpty(OrderIds))
{
return ApiResult.ParamIsNull("请传递订单ID");
}
if (EmpId <= 0)
{
return ApiResult.ParamIsNull("请传递接手人");
}
string msg = customerOrderModule.SetBatchUpdateOrderSale(OrderIds, OrderType, EmpId, userInfo);
if (msg == "")
{
return ApiResult.Success();
}
else
{
return ApiResult.Failed(msg);
}
}
/// <summary> /// <summary>
......
...@@ -5022,6 +5022,8 @@ namespace REBORN.Services.SellService ...@@ -5022,6 +5022,8 @@ namespace REBORN.Services.SellService
return ApiResult.Failed("订单下有有效财务单据,无法删除!"); return ApiResult.Failed("订单下有有效财务单据,无法删除!");
} }
} }
string cmsg = sellOrderModule.ValidateOrderContact(ID, userInfo.RB_Group_id);
if (!string.IsNullOrEmpty(cmsg)) { return ApiResult.Failed(cmsg); }
//查询团信息 如果团已出发 则无法取消 2019-01-30 ld //查询团信息 如果团已出发 则无法取消 2019-01-30 ld
var TravelModel = sellOrderModule.GetTravelInfo(orderModel.TCID); var TravelModel = sellOrderModule.GetTravelInfo(orderModel.TCID);
if (TravelModel == null) if (TravelModel == null)
......
...@@ -429,6 +429,12 @@ ...@@ -429,6 +429,12 @@
"fullName": "REBORN.Services.SellService.CustomerOrderService", "fullName": "REBORN.Services.SellService.CustomerOrderService",
"method": "SetTicketOrderMailingState" "method": "SetTicketOrderMailingState"
}, },
{
"cmd": "dict_post_SetBatchUpdateOrderSale", //批量修改订单销售
"fullName": "REBORN.Services.SellService.CustomerOrderService",
"method": "SetBatchUpdateOrderSale",
"checkFormRepeatSubmit": true //验证表单重复提交
},
{ {
"cmd": "ticket_post_GetTicketCouponsInfo", //获取景点门票详情 "cmd": "ticket_post_GetTicketCouponsInfo", //获取景点门票详情
"fullName": "REBORN.Services.SellService.CustomerOrderService", "fullName": "REBORN.Services.SellService.CustomerOrderService",
......
...@@ -537,6 +537,10 @@ namespace REBORN.WebApi.Controllers ...@@ -537,6 +537,10 @@ namespace REBORN.WebApi.Controllers
var GetTYSaleCommission = new Services.CommissionService.MergeCommissionService().GetTYSaleCommissionSingleDetailsListToExcel(requestData); var GetTYSaleCommission = new Services.CommissionService.MergeCommissionService().GetTYSaleCommissionSingleDetailsListToExcel(requestData);
response.Content = new StreamContent(new MemoryStream(GetTYSaleCommission)); response.Content = new StreamContent(new MemoryStream(GetTYSaleCommission));
break; break;
case "sellcommission_GetTYSaleCommissionEmpPageListToExcel":
var GetTYSaleCommissionEmpPageListToExcel = new Services.CommissionService.MergeCommissionService().GetTYSaleCommissionEmpPageListToExcel(requestData);
response.Content = new StreamContent(new MemoryStream(GetTYSaleCommissionEmpPageListToExcel));
break;
case "sellcommission_GetTYYearBonusDetailListToExcel": case "sellcommission_GetTYYearBonusDetailListToExcel":
var GetTYYearBonusDetailListToExcel = new Services.CommissionService.MergeCommissionService().GetTYYearBonusDetailListToExcel(requestData); var GetTYYearBonusDetailListToExcel = new Services.CommissionService.MergeCommissionService().GetTYYearBonusDetailListToExcel(requestData);
response.Content = new StreamContent(new MemoryStream(GetTYYearBonusDetailListToExcel)); response.Content = new StreamContent(new MemoryStream(GetTYYearBonusDetailListToExcel));
...@@ -1344,33 +1348,33 @@ namespace REBORN.WebApi.Controllers ...@@ -1344,33 +1348,33 @@ namespace REBORN.WebApi.Controllers
LogHelper.Write(ex, "SetCancelCustomerNotMoneyOrder"); LogHelper.Write(ex, "SetCancelCustomerNotMoneyOrder");
} }
try //try
{ //{
RequestParm request = new RequestParm // RequestParm request = new RequestParm
{ // {
cmd = "CarSingle_post_SetTimerCancelCarOrder", // cmd = "CarSingle_post_SetTimerCancelCarOrder",
msg = "{ }" // msg = "{ }"
}; // };
InvokeTimerMethod(request); // InvokeTimerMethod(request);
} //}
catch (Exception ex) //catch (Exception ex)
{ //{
LogHelper.Write(ex, "SetTimerCancelCarOrder"); // LogHelper.Write(ex, "SetTimerCancelCarOrder");
} //}
try //try
{ //{
RequestParm request = new RequestParm // RequestParm request = new RequestParm
{ // {
cmd = "Financial_post_SetFinanceTimers", // cmd = "Financial_post_SetFinanceTimers",
msg = "{ }" // msg = "{ }"
}; // };
InvokeTimerMethod(request); // InvokeTimerMethod(request);
} //}
catch (Exception ex) //catch (Exception ex)
{ //{
LogHelper.Write(ex, "SetFinanceTimers"); // LogHelper.Write(ex, "SetFinanceTimers");
} //}
} }
/// <summary> /// <summary>
......
...@@ -2012,7 +2012,7 @@ namespace REBORN.WebApi.Controllers ...@@ -2012,7 +2012,7 @@ namespace REBORN.WebApi.Controllers
try try
{ {
LogHelper.Write("合同回调:" + json); LogHelper.Write("合同回调:" + json);
if (json != null && json.Contains("已签署")) if (json != null && (json.Contains("已签署") || json.Contains("已作废")))
{ {
System.Threading.Tasks.Task.Run(() => new Module.DMCModule.TravelContractModule().UpdateContractNotify(json)); System.Threading.Tasks.Task.Run(() => new Module.DMCModule.TravelContractModule().UpdateContractNotify(json));
} }
......
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