|
@@ -385,7 +385,7 @@ namespace OASystem.Infrastructure.Repositories.Groups
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public async Task<Result> OpAirTicketRes(AirTicketResOpDto dto)
|
|
|
+ public async Task<Result> OpAirTicketRes(AirTicketResOpDto dto,Func<int,int,int,Task<Result>> fn)
|
|
|
{
|
|
|
Result result = new Result() { Code = -2, Msg = "未知错误" };
|
|
|
try
|
|
@@ -426,130 +426,159 @@ namespace OASystem.Infrastructure.Repositories.Groups
|
|
|
if (result.Code == 0)
|
|
|
{
|
|
|
Grp_CreditCardPayment grp_CreditCard = _mapper.Map<Grp_CreditCardPayment>(dto.CardPaymentOpData);
|
|
|
-
|
|
|
- Grp_TeamRate _TeamRate = _sqlSugar.Queryable<Grp_TeamRate>().First(a => a.DiId == grp_AirTicket.DIId && a.IsDel == 0 && a.CTable == 85);
|
|
|
- if (_TeamRate != null)
|
|
|
+
|
|
|
+
|
|
|
+ var rate = await fn(dto.AirTicketResOpData.DiId,85,dto.AirTicketResOpData.Currency);
|
|
|
+
|
|
|
+ if (rate.Code == 0)
|
|
|
{
|
|
|
- if (grp_CreditCard.PaymentCurrency == 49)
|
|
|
- {
|
|
|
- grp_CreditCard.DayRate = _TeamRate.RateU;
|
|
|
- grp_CreditCard.RMBPrice = grp_CreditCard.PayMoney * Convert.ToDecimal(_TeamRate.RateU);
|
|
|
-
|
|
|
- }
|
|
|
- else if (grp_CreditCard.PaymentCurrency == 51)
|
|
|
+ var rateInfo = (rate.Data as CurrencyInfo);
|
|
|
+ if (rateInfo is not null)
|
|
|
{
|
|
|
- grp_CreditCard.DayRate = _TeamRate.RateE;
|
|
|
- grp_CreditCard.RMBPrice = grp_CreditCard.PayMoney * Convert.ToDecimal(_TeamRate.RateE);
|
|
|
-
|
|
|
+
|
|
|
+ grp_CreditCard.DayRate = rateInfo.Rate;
|
|
|
+ grp_CreditCard.RMBPrice = rateInfo.Rate * grp_CreditCard.PayMoney;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- grp_CreditCard.DayRate = 1M;
|
|
|
+ grp_CreditCard.DayRate = 1;
|
|
|
grp_CreditCard.RMBPrice = grp_CreditCard.PayMoney;
|
|
|
}
|
|
|
}
|
|
|
- else
|
|
|
- {
|
|
|
- grp_CreditCard.DayRate = 1M;
|
|
|
- grp_CreditCard.RMBPrice = grp_CreditCard.PayMoney;
|
|
|
- }
|
|
|
|
|
|
-
|
|
|
- Grp_GroupCostParameter _GroupCostParameter = _sqlSugar.Queryable<Grp_GroupCostParameter>().First(a => a.DiId == grp_AirTicket.DIId && a.IsDel == 0);
|
|
|
- if (grp_AirTicket.CType == 460)
|
|
|
- {
|
|
|
- if (_GroupCostParameter != null)
|
|
|
- {
|
|
|
-
|
|
|
- if (Convert.ToDecimal(_GroupCostParameter.JJCCB) * Convert.ToDecimal(grp_AirTicket.ClientNum) > grp_CreditCard.RMBPrice)
|
|
|
- {
|
|
|
- grp_CreditCard.ExceedBudget = 0;
|
|
|
- grp_CreditCard.IsAuditGM = 3;
|
|
|
- grp_CreditCard.AuditGMOperate = 0;
|
|
|
- grp_CreditCard.AuditGMDate = "";
|
|
|
- grp_CreditCard.IsPay = 0;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- var a = grp_CreditCard.RMBPrice - Convert.ToDecimal(_GroupCostParameter.JJCCB);
|
|
|
- var b = a / Convert.ToDecimal(_GroupCostParameter.JJCCB) * Convert.ToDecimal(grp_AirTicket.ClientNum);
|
|
|
- grp_CreditCard.ExceedBudget = b;
|
|
|
- grp_CreditCard.IsAuditGM = 0;
|
|
|
- grp_CreditCard.AuditGMOperate = 21;
|
|
|
- grp_CreditCard.AuditGMDate = "";
|
|
|
- grp_CreditCard.IsPay = 0;
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- grp_CreditCard.ExceedBudget = 0.00M;
|
|
|
- grp_CreditCard.IsAuditGM = 0;
|
|
|
- grp_CreditCard.AuditGMOperate = 21;
|
|
|
- grp_CreditCard.AuditGMDate = "";
|
|
|
- grp_CreditCard.IsPay = 0;
|
|
|
- }
|
|
|
+
|
|
|
+ #region 老汇率处理方式
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ #endregion
|
|
|
|
|
|
- }
|
|
|
- else if (grp_AirTicket.CType == 458)
|
|
|
- {
|
|
|
- if (_GroupCostParameter != null)
|
|
|
- {
|
|
|
|
|
|
+
|
|
|
+ #region 自动审核(暂时屏蔽)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ #endregion
|
|
|
|
|
|
- if (Convert.ToDecimal(_GroupCostParameter.GWCB) * Convert.ToDecimal(grp_AirTicket.ClientNum) > grp_CreditCard.RMBPrice)
|
|
|
- {
|
|
|
- grp_CreditCard.ExceedBudget = 0;
|
|
|
- grp_CreditCard.IsAuditGM = 3;
|
|
|
- grp_CreditCard.AuditGMOperate = 21;
|
|
|
- grp_CreditCard.AuditGMDate = "";
|
|
|
- grp_CreditCard.IsPay = 0;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- var a = grp_CreditCard.RMBPrice - Convert.ToDecimal(_GroupCostParameter.GWCB);
|
|
|
- var b = a / Convert.ToDecimal(_GroupCostParameter.GWCB) * Convert.ToDecimal(grp_AirTicket.ClientNum);
|
|
|
- grp_CreditCard.ExceedBudget = b;
|
|
|
- grp_CreditCard.IsAuditGM = 0;
|
|
|
- grp_CreditCard.AuditGMOperate = 21;
|
|
|
- grp_CreditCard.AuditGMDate = "";
|
|
|
- grp_CreditCard.IsPay = 0;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- grp_CreditCard.ExceedBudget = 0.00M;
|
|
|
- grp_CreditCard.IsAuditGM = 0;
|
|
|
- grp_CreditCard.AuditGMOperate = 21;
|
|
|
- grp_CreditCard.AuditGMDate = "";
|
|
|
- grp_CreditCard.IsPay = 0;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- grp_CreditCard.ExceedBudget = 0.00M;
|
|
|
- grp_CreditCard.IsAuditGM = 0;
|
|
|
- grp_CreditCard.AuditGMOperate = 21;
|
|
|
- grp_CreditCard.AuditGMDate = "";
|
|
|
- grp_CreditCard.IsPay = 0;
|
|
|
- }
|
|
|
grp_CreditCard.CId = id;
|
|
|
grp_CreditCard.CTable = 85;
|
|
|
grp_CreditCard.PayPercentage = 100;
|
|
|
-
|
|
|
- Grp_CreditCardPayment _CreditCardPayment = _sqlSugar.Queryable<Grp_CreditCardPayment>().OrderByDescending(x => x.CreateUserId).First(a => a.DIId == grp_AirTicket.DIId && a.IsDel == 0 && a.IsPay == 1);
|
|
|
- if (_CreditCardPayment != null)
|
|
|
- {
|
|
|
- grp_CreditCard.PayPercentageOld = _CreditCardPayment.PayPercentageOld;
|
|
|
- grp_CreditCard.PayThenMoneyOld = _CreditCardPayment.PayMoney;
|
|
|
- grp_CreditCard.UpdateDate = _CreditCardPayment.UpdateDate;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- grp_CreditCard.PayPercentageOld = 0;
|
|
|
- grp_CreditCard.PayThenMoneyOld = 0;
|
|
|
- grp_CreditCard.UpdateDate = "";
|
|
|
- }
|
|
|
+
|
|
|
+ #region 查询上一次付款(注释)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ #endregion
|
|
|
|
|
|
id = await _sqlSugar.Insertable(grp_CreditCard).ExecuteReturnIdentityAsync();
|
|
|
if (id == 0)
|
|
@@ -565,7 +594,6 @@ namespace OASystem.Infrastructure.Repositories.Groups
|
|
|
CommitTran();
|
|
|
|
|
|
return result = new Result() { Code = 0, Msg = "添加成功!" };
|
|
|
-
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -608,121 +636,146 @@ namespace OASystem.Infrastructure.Repositories.Groups
|
|
|
|
|
|
Grp_CreditCardPayment grp_CreditCard = _mapper.Map<Grp_CreditCardPayment>(dto.CardPaymentOpData);
|
|
|
|
|
|
-
|
|
|
- Grp_TeamRate _TeamRate = _sqlSugar.Queryable<Grp_TeamRate>().First(a => a.DiId == grp_AirTicket.DIId && a.IsDel == 0 && a.CTable == 85);
|
|
|
- if (_TeamRate != null)
|
|
|
- {
|
|
|
- if (grp_CreditCard.PaymentCurrency == 49)
|
|
|
- {
|
|
|
- grp_CreditCard.DayRate = _TeamRate.RateU;
|
|
|
- grp_CreditCard.RMBPrice = grp_CreditCard.PayMoney * Convert.ToDecimal(_TeamRate.RateU);
|
|
|
-
|
|
|
- }
|
|
|
- else if (grp_CreditCard.PaymentCurrency == 51)
|
|
|
- {
|
|
|
- grp_CreditCard.DayRate = _TeamRate.RateE;
|
|
|
- grp_CreditCard.RMBPrice = grp_CreditCard.PayMoney * Convert.ToDecimal(_TeamRate.RateE);
|
|
|
-
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- grp_CreditCard.DayRate = 1M;
|
|
|
- grp_CreditCard.RMBPrice = grp_CreditCard.PayMoney;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- grp_CreditCard.DayRate = 1M;
|
|
|
- grp_CreditCard.RMBPrice = grp_CreditCard.PayMoney;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- Grp_GroupCostParameter _GroupCostParameter = _sqlSugar.Queryable<Grp_GroupCostParameter>().First(a => a.DiId == grp_AirTicket.DIId && a.IsDel == 0);
|
|
|
- if (grp_AirTicket.CType == 460)
|
|
|
- {
|
|
|
- if (_GroupCostParameter != null)
|
|
|
- {
|
|
|
+
|
|
|
+ var rate = await fn(dto.AirTicketResOpData.DiId, 85, dto.AirTicketResOpData.Currency);
|
|
|
|
|
|
-
|
|
|
- if (Convert.ToDecimal(_GroupCostParameter.JJCCB) * Convert.ToDecimal(grp_AirTicket.ClientNum) > grp_CreditCard.RMBPrice)
|
|
|
- {
|
|
|
- grp_CreditCard.ExceedBudget = 0;
|
|
|
- grp_CreditCard.IsAuditGM = 3;
|
|
|
- grp_CreditCard.AuditGMOperate = 0;
|
|
|
- grp_CreditCard.AuditGMDate = "";
|
|
|
- grp_CreditCard.IsPay = 1;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- var a = grp_CreditCard.RMBPrice - Convert.ToDecimal(_GroupCostParameter.JJCCB);
|
|
|
- var b = a / Convert.ToDecimal(_GroupCostParameter.JJCCB) * Convert.ToDecimal(grp_AirTicket.ClientNum);
|
|
|
- grp_CreditCard.ExceedBudget = b;
|
|
|
- grp_CreditCard.IsAuditGM = 0;
|
|
|
- grp_CreditCard.AuditGMOperate = 21;
|
|
|
- grp_CreditCard.AuditGMDate = "";
|
|
|
- grp_CreditCard.IsPay = 1;
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- grp_CreditCard.ExceedBudget = 0.00M;
|
|
|
- grp_CreditCard.IsAuditGM = 0;
|
|
|
- grp_CreditCard.AuditGMOperate = 21;
|
|
|
- grp_CreditCard.AuditGMDate = "";
|
|
|
- grp_CreditCard.IsPay = 0;
|
|
|
- }
|
|
|
- }
|
|
|
- else if (grp_AirTicket.CType == 458)
|
|
|
+ if (rate.Code == 0)
|
|
|
{
|
|
|
- if (_GroupCostParameter != null)
|
|
|
+ var rateInfo = (rate.Data as CurrencyInfo);
|
|
|
+ if (rateInfo is not null)
|
|
|
{
|
|
|
+
|
|
|
+ grp_CreditCard.DayRate = rateInfo.Rate;
|
|
|
+ grp_CreditCard.RMBPrice = rateInfo.Rate * grp_CreditCard.PayMoney;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- grp_CreditCard.ExceedBudget = 0.00M;
|
|
|
- grp_CreditCard.IsAuditGM = 0;
|
|
|
- grp_CreditCard.AuditGMOperate = 21;
|
|
|
- grp_CreditCard.AuditGMDate = "";
|
|
|
- grp_CreditCard.IsPay = 0;
|
|
|
- }
|
|
|
- if ((_GroupCostParameter != null ? _GroupCostParameter.GWCB : 0) * Convert.ToDecimal(grp_AirTicket.ClientNum) > grp_CreditCard.RMBPrice)
|
|
|
- {
|
|
|
- grp_CreditCard.ExceedBudget = 0;
|
|
|
- grp_CreditCard.IsAuditGM = 3;
|
|
|
- grp_CreditCard.AuditGMOperate = 21;
|
|
|
- grp_CreditCard.AuditGMDate = "";
|
|
|
- grp_CreditCard.IsPay = 1;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- var a = grp_CreditCard.RMBPrice - Convert.ToDecimal(_GroupCostParameter.GWCB);
|
|
|
- var b = a / Convert.ToDecimal(_GroupCostParameter.GWCB) * Convert.ToDecimal(grp_AirTicket.ClientNum);
|
|
|
- grp_CreditCard.ExceedBudget = b;
|
|
|
- grp_CreditCard.IsAuditGM = 0;
|
|
|
- grp_CreditCard.AuditGMOperate = 21;
|
|
|
- grp_CreditCard.AuditGMDate = "";
|
|
|
- grp_CreditCard.IsPay = 1;
|
|
|
+ grp_CreditCard.DayRate = 1;
|
|
|
+ grp_CreditCard.RMBPrice = grp_CreditCard.PayMoney;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ #region 老汇率修改(注释)
|
|
|
+
|
|
|
+ Grp_TeamRate _TeamRate = _sqlSugar.Queryable<Grp_TeamRate>().First(a => a.DiId == grp_AirTicket.DIId && a.IsDel == 0 && a.CTable == 85);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 自动审核(注释)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ #endregion
|
|
|
|
|
|
grp_CreditCard.CId = id;
|
|
|
grp_CreditCard.CTable = 85;
|
|
|
grp_CreditCard.PayPercentage = 100;
|
|
|
-
|
|
|
- Grp_CreditCardPayment _CreditCardPayment = _sqlSugar.Queryable<Grp_CreditCardPayment>().OrderByDescending(x => x.CreateUserId).First(a => a.DIId == grp_AirTicket.DIId && a.IsDel == 0 && a.IsPay == 1);
|
|
|
- if (_CreditCardPayment != null)
|
|
|
- {
|
|
|
- grp_CreditCard.PayPercentageOld = _CreditCardPayment.PayPercentageOld;
|
|
|
- grp_CreditCard.PayThenMoneyOld = _CreditCardPayment.PayMoney;
|
|
|
- grp_CreditCard.UpdateDate = _CreditCardPayment.UpdateDate;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- grp_CreditCard.PayPercentageOld = 0;
|
|
|
- grp_CreditCard.PayThenMoneyOld = 0;
|
|
|
- grp_CreditCard.UpdateDate = "";
|
|
|
- }
|
|
|
+
|
|
|
+ #region 查询上一次付款信息(注释)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ #endregion
|
|
|
+
|
|
|
int CTable = await _sqlSugar.Updateable<Grp_CreditCardPayment>().Where(a => a.Id == dto.CardPaymentOpData.Id).SetColumns(a => new Grp_CreditCardPayment
|
|
|
{
|
|
|
PayDId = grp_CreditCard.PayDId,
|
|
@@ -757,7 +810,6 @@ namespace OASystem.Infrastructure.Repositories.Groups
|
|
|
{
|
|
|
RollbackTran();
|
|
|
return result = new Result() { Code = -1, Msg = "修改失败!" };
|
|
|
-
|
|
|
}
|
|
|
else
|
|
|
{
|