Commit 3881abb5 authored by 黄奎's avatar 黄奎

页面修改

parent f62bd774
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.Course;
using Edu.Common.Enum.Sale;
using System;
using VT.FW.DB;
......@@ -32,63 +31,83 @@ namespace Edu.Model.Entity.Sell
/// 单价
/// </summary>
public decimal Class_Price { get; set; }
/// <summary>
/// 成交单价
/// </summary>
public decimal Unit_Price { get; set; }
/// <summary>
/// 客人数量
/// </summary>
public int GuestNum { get; set; }
/// <summary>
/// 应收总额
/// </summary>
public decimal PreferPrice { get; set; }
/// <summary>
/// 实收金额
/// </summary>
public decimal Income { get; set; }
/// <summary>
/// 退款金额
/// </summary>
public decimal Refund { get; set; }
/// <summary>
/// 优惠金额
/// </summary>
public decimal DiscountMoney { get; set; }
/// <summary>
/// 每人优惠金额
/// </summary>
public decimal PerDiscountMoney { get; set; }
/// <summary>
/// 平台税金
/// </summary>
public decimal PlatformTax { get; set; }
/// <summary>
/// 订单状态 枚举
/// </summary>
public OrderStateEnum OrderState { get; set; }
/// <summary>
/// 订单来源 枚举
/// </summary>
public OrderSourceEnum OrderSource { get; set; }
/// <summary>
/// 业务人员
/// </summary>
public int EnterID { get; set; }
/// <summary>
/// 订单来自于 枚举
/// </summary>
public OrderFormEnum OrderForm { get; set; }
private decimal commission = -1;
/// <summary>
/// 提成金额
/// </summary>
public decimal CommissionMoney { get => commission; set => commission = value; }
/// <summary>
/// 额外奖励金额
/// </summary>
public decimal ExtraRewardMoney { get; set; }
/// <summary>
/// 额外扣除金额
/// </summary>
public decimal ExtraDeductMoney { get; set; }
/// <summary>
/// 提成是否已发放 1是 0否
/// </summary>
......@@ -97,14 +116,17 @@ namespace Edu.Model.Entity.Sell
/// 销售备注
/// </summary>
public string SaleRemark { get; set; }
/// <summary>
/// 教务备注
/// </summary>
public string TeacherRemark { get; set; }
/// <summary>
/// 校长备注
/// </summary>
public string RectorRemark { get; set; }
/// <summary>
/// 经理备注
/// </summary>
......@@ -186,10 +208,15 @@ namespace Edu.Model.Entity.Sell
public int IsLessPrice { get; set; }
/// <summary>
/// 少价金额
/// 少价金额(每人少价金额)
/// </summary>
public decimal LessPrice { get; set; }
/// <summary>
/// 每人少价金额
/// </summary>
public decimal PerLessMoney { get; set; }
/// <summary>
/// (教育订单使用)订单性质(1-直通车,2-代收代付,3-返佣)
/// </summary>
......
......@@ -359,11 +359,11 @@ namespace Edu.Module.Course
{
try
{
decimal uPrice = item.OriginalPrice / item.JoinNum;
var orderModel = new RB_Order()
{
ClassId = item.ClassId,
Class_Price = uPrice,
Class_Price = item.OriginalPrice,
CommissionMoney = -1,
CreateBy = offerModel.CreateBy,
CreateTime = DateTime.Now,
......@@ -371,7 +371,8 @@ namespace Edu.Module.Course
School_Id = emModel?.School_Id ?? 0,
Group_Id = emModel?.Group_Id ?? 0,
DirectorRemark = "",
DiscountMoney = item.DiscountPrice,
DiscountMoney =(item.OriginalPrice - item.DiscountPrice)*item.JoinNum,
PerDiscountMoney= item.OriginalPrice - item.DiscountPrice,
EnterID = offerModel.CreateBy,
ExtraDeductMoney = 0,
ExtraRewardMoney = 0,
......@@ -383,7 +384,7 @@ namespace Edu.Module.Course
OrderSource = Common.Enum.Course.OrderSourceEnum.Employee,
OrderState = Common.Enum.Course.OrderStateEnum.Normal,
PlatformTax = 0,
PreferPrice = item.OriginalPrice,
PreferPrice = item.OriginalPrice* item.JoinNum,
RectorRemark = "",
Refund = 0,
JoinType= OrderJoinTypeEnum.Normal,
......@@ -393,7 +394,7 @@ namespace Edu.Module.Course
SaleRemark = item.Remark,
TeacherRemark = "",
TradeWay = Common.Enum.Course.TradeWayEnum.OnLine,
Unit_Price = uPrice,
Unit_Price = item.DiscountPrice,
UpdateBy = offerModel.CreateBy,
UpdateTime = DateTime.Now,
OfferId = offerId,
......
......@@ -125,7 +125,7 @@ namespace Edu.Module.Course
if (glist != null && glist.Count > 0)
{
PreferPrice = orderModel.PreferPrice / glist.Count();
DiscountMoney = orderModel.DiscountMoney / glist.Count();
DiscountMoney = orderModel.PerDiscountMoney;
Money = (orderModel.PreferPrice - orderModel.DiscountMoney) / glist.Count();//平均每人费用
}
string dxMoney = StringHelper.MoneyToUpper(Money.ToString());
......@@ -143,7 +143,7 @@ namespace Edu.Module.Course
StartLevel = guestModel?.Basics ?? "",
CourseConsultant = empList?.Where(qitem => qitem.Id == (orderModel?.EnterID ?? 0))?.FirstOrDefault()?.EmployeeName ?? "",
Payee = empList?.Where(qitem => qitem.Id == (orderModel?.EnterID ?? 0))?.FirstOrDefault()?.EmployeeName ?? "",
FirstClassHours = courseModel?.ClassHours ?? 0,
FirstClassHours = (courseModel?.ClassHours ?? 0)-(orderModel?.StartClassHours ?? 0),
FirstCourseFee = PreferPrice,
FirstBookFee = 0,
FirstClassFee = 0,
......
......@@ -408,16 +408,35 @@ namespace Edu.Module.Course
}
//课程信息
var courseModel = courseRepository.GetEntity(demodel.CourseId);
decimal coursePrice = courseModel.SellPrice;//课程最低单价
#region 计算订单优惠信息
//获取课程优惠
var coursePreferentialList = course_PreferentialRepository.GetCoursePreferentialListRepostory(new RB_Course_Preferential_Extend()
{
CourseId = demodel.CourseId
});
//课程优惠信息
//计算续费订单优惠
if (demodel.JoinType == OrderJoinTypeEnum.RenewOrder && demodel.OrderId == 0)
{
var renewOrderDiscount = coursePreferentialList?.Where(qitem => qitem.PriceDiscountType == CoursePriceDiscountEnum.Renewal)?.FirstOrDefault();
if (renewOrderDiscount != null)
{
if ((renewOrderDiscount?.PriceType ?? 0) == 0)
{
demodel.DiscountMoney = coursePrice- coursePrice * (100 - (renewOrderDiscount?.PriceMoney ?? 0)) / 100;
demodel.SaleRemark = "续费报名优惠" + renewOrderDiscount.PriceMoney + "%";
}
else
{
demodel.DiscountMoney = (coursePrice - (renewOrderDiscount?.PriceMoney ?? 0)) * demodel.GuestNum;
demodel.SaleRemark = "续费报名优惠" + renewOrderDiscount.PriceMoney + "元";
}
demodel.PerDiscountMoney = demodel.DiscountMoney / demodel.GuestNum;
}
}
decimal disMoney = 0;//课程最大优惠金额
decimal coursePrice = courseModel.SellPrice;//课程最低单价
decimal lessMoney = 0;//课程最大少价金额
var coursePreferentialModel = new RB_Course_Preferential_Extend();
if (coursePreferentialList != null && coursePreferentialList.Count > 0)
{
......@@ -433,30 +452,33 @@ namespace Edu.Module.Course
if (saleCommissionType == 0)
{
var tempMoney = (courseModel?.SellPrice ?? 0) * (coursePreferentialModel?.SaleCommissionMoney ?? 0);
disMoney = tempMoney / Convert.ToDecimal(100);
lessMoney = tempMoney / Convert.ToDecimal(100);
}
else
{
disMoney = coursePreferentialModel?.SaleCommissionMoney ?? 0;
lessMoney = coursePreferentialModel?.SaleCommissionMoney ?? 0;
}
var b2bCommissionType = coursePreferentialModel?.B2BCommissionType ?? 0;
if (b2bCommissionType == 0)
{
var tempMoney = (courseModel?.SellPrice ?? 0) * (coursePreferentialModel?.B2BCommissionMoney ?? 0);
disMoney += tempMoney / Convert.ToDecimal(100);
lessMoney += tempMoney / Convert.ToDecimal(100);
}
else
{
disMoney = coursePreferentialModel?.B2BCommissionMoney ?? 0;
lessMoney = coursePreferentialModel?.B2BCommissionMoney ?? 0;
}
var priceCommissionType = coursePreferentialModel?.PriceType ?? 0;
if (priceCommissionType == 0)
{
disMoney = (100 - (coursePreferentialModel?.PriceMoney ?? 0)) / 100;
coursePrice = coursePrice * (100 - (coursePreferentialModel?.PriceMoney ?? 0)) / 100;
}
else
{
disMoney = coursePreferentialModel?.PriceMoney ?? 0;
coursePrice -= (coursePreferentialModel?.PriceMoney ?? 0);
}
#region 记录提成信息
......@@ -478,7 +500,7 @@ namespace Edu.Module.Course
{
if (coursePreferentialList != null && coursePreferentialList.Count > 0)
{
if (demodel.LessPrice > disMoney)
if (demodel.LessPrice > lessMoney)
{
message = string.Format("优惠金额不能大于{0}", disMoney.ToString("0.00"));
return flag;
......@@ -510,6 +532,7 @@ namespace Edu.Module.Course
if (demodel.IsLessPrice == 0)
{
demodel.LessPrice = 0;
demodel.PerLessMoney = 0;
}
var orderModel = new RB_Order();
if (demodel.OrderId > 0)
......@@ -626,6 +649,8 @@ namespace Edu.Module.Course
{
{ nameof(RB_Order_ViewModel.GuestNum),demodel.GuestNum},
{ nameof(RB_Order_ViewModel.Unit_Price),demodel.Unit_Price},
{ nameof(RB_Order_ViewModel.DiscountMoney),demodel.DiscountMoney},
{ nameof(RB_Order_ViewModel.PerDiscountMoney),demodel.PerDiscountMoney},
{ nameof(RB_Order_ViewModel.PreferPrice),demodel.PreferPrice},
{ nameof(RB_Order_ViewModel.OrderSource),demodel.OrderSource},
{ nameof(RB_Order_ViewModel.SaleRemark),demodel.SaleRemark},
......@@ -634,6 +659,7 @@ namespace Edu.Module.Course
{ nameof(RB_Order_ViewModel.EduOccupation),demodel.EduOccupation},
{ nameof(RB_Order_ViewModel.IsLessPrice),demodel.IsLessPrice},
{ nameof(RB_Order_ViewModel.LessPrice),demodel.LessPrice},
{ nameof(RB_Order_ViewModel.PerLessMoney),demodel.PerLessMoney},
{ nameof(RB_Order_ViewModel.StartClassHours),demodel.StartClassHours},
{ nameof(RB_Order_ViewModel.CourseId),demodel.CourseId},
{ nameof(RB_Order_ViewModel.EffectStatus),demodel.EffectStatus},
......@@ -641,7 +667,6 @@ namespace Edu.Module.Course
{ nameof(RB_Order_ViewModel.UpOrderId),demodel.UpOrderId},
};
flag = orderRepository.Update(keyValues, new WhereHelper(nameof(RB_Order_ViewModel.OrderId), demodel.OrderId));
//记录日志信息
LogContent = $"修改日语培训订单【{demodel.OrderId}】";
if (orderModel.GuestNum != demodel.GuestNum)
......@@ -652,6 +677,14 @@ namespace Edu.Module.Course
{
LogContent += $",成交单价由【{orderModel.Unit_Price}】修改为【{demodel.Unit_Price}】";
}
if (orderModel.DiscountMoney != demodel.DiscountMoney)
{
LogContent += $",优惠金额由【{(orderModel.DiscountMoney)}】修改为【{(demodel.DiscountMoney)}】";
}
if (orderModel.PerDiscountMoney != demodel.PerDiscountMoney)
{
LogContent += $",每人优惠金额由【{(orderModel.PerDiscountMoney)}】修改为【{(demodel.PerDiscountMoney)}】";
}
if (orderModel.PreferPrice != demodel.PreferPrice)
{
LogContent += $",应收金额由【{orderModel.PreferPrice}】修改为【{demodel.PreferPrice}】";
......@@ -679,7 +712,11 @@ namespace Edu.Module.Course
}
if (orderModel.LessPrice != demodel.LessPrice)
{
LogContent += $",少价金额由【{(orderModel.LessPrice)}】修改为【{(demodel.LessPrice)}】";
LogContent += $",少价金额由【{(orderModel.LessPrice)}】修改为【{(demodel.LessPrice)}】";
}
if (orderModel.PerLessMoney != demodel.PerLessMoney)
{
LogContent += $",每人少价金额由【{(orderModel.PerLessMoney)}】修改为【{(demodel.PerLessMoney)}】";
}
//记录订单备注
if (orderModel.SaleRemark != demodel.SaleRemark)
......
......@@ -277,22 +277,8 @@ namespace Edu.Module.Course
}
foreach (var item in classList)
{
var priceModel = coursePriceList?.Where(qitem => qitem.CourseId == item.CouseId && qitem.PriceDiscountType == CoursePriceDiscountEnum.Renewal)?.FirstOrDefault();
decimal SellPrice = item.SellPrice;
decimal OriginalPrice = item.SellPrice;
if (priceModel != null)
{
if (priceModel.PriceType == 0)
{
SellPrice = Math.Round(SellPrice * (100 - priceModel.PriceMoney) / 100, 2);
OriginalPrice = Math.Round(SellPrice * (100 - priceModel.PriceMoney) / 100, 2);
}
else
{
SellPrice = Math.Round(SellPrice - priceModel.PriceMoney, 2);
OriginalPrice = Math.Round(SellPrice - priceModel.PriceMoney, 2);
}
}
var obj = new
{
item.ClassId,
......
......@@ -255,6 +255,9 @@ namespace Edu.Module.EduTask
SourceId = 0,
IsLessPrice = 0,
LessPrice = 0,
PerLessMoney=0,
DiscountMoney=0,
PerDiscountMoney=0,
OrderNature = oldOrderModel.OrderNature,
OldPreferPrice = newPreferPrice,//应收,
CourseId = orderChangeModel.NewCourseId,
......@@ -702,6 +705,9 @@ namespace Edu.Module.EduTask
SourceId = 0,
IsLessPrice = 0,
LessPrice = 0,
PerLessMoney=0,
DiscountMoney=0,
PerDiscountMoney=0,
OrderNature = oldOrderModel.OrderNature,
OldPreferPrice = newPreferPrice,//应收,
CourseId = orderChangeModel.NewCourseId,
......
......@@ -66,7 +66,7 @@ namespace Edu.WebApi.Controllers.Course
{
int IsInsertClass = 0;//不能插班报入
int SurplusNum = x.ClassPersion - x.OrderStudentCount;
if (x.ClassStatus == ClassStatusEnum.StudyIng && SurplusNum > 0)
if (x.ClassStatus != ClassStatusEnum.EndClass && SurplusNum > 0)
{
IsInsertClass = 1;//可以插班报入
}
......@@ -480,18 +480,21 @@ namespace Edu.WebApi.Controllers.Course
HelpEnterId = base.ParmJObj.GetInt("HelpEnterId"),
GeneralOccupation = base.ParmJObj.GetStringValue("GeneralOccupation"),
EduOccupation = base.ParmJObj.GetStringValue("EduOccupation"),
IsLessPrice = base.ParmJObj.GetInt("IsLessPrice"),
LessPrice = base.ParmJObj.GetDecimal("LessPrice"),
OrderNature = (OrderNatureEnum)base.ParmJObj.GetInt("OrderNature"),
OldPreferPrice = base.ParmJObj.GetDecimal("OldPreferPrice"),
CourseId = base.ParmJObj.GetInt("CourseId"),
StartClassHours = base.ParmJObj.GetInt("StartClassHours"),
EffectTime = base.ParmJObj.GetDateTime("EffectTime"),
UpOrderId = base.ParmJObj.GetInt("UpOrderId"),
VisitorReserveId = base.ParmJObj.GetInt("VisitorReserveId"),
JoinType = OrderJoinTypeEnum.Normal,
TargetJoinType = OrderJoinTypeEnum.Normal,
DiscountMoney = base.ParmJObj.GetDecimal("DiscountMoney"),
PerDiscountMoney=base.ParmJObj.GetDecimal("PerDiscountMoney"),
IsLessPrice = base.ParmJObj.GetInt("IsLessPrice"),
LessPrice = base.ParmJObj.GetDecimal("LessPrice"),
PerLessMoney =base.ParmJObj.GetDecimal("PerLessMoney"),
};
var IsInsertClass = base.ParmJObj.GetInt("IsChaBan");
if (IsInsertClass == 1)
......@@ -624,6 +627,9 @@ namespace Edu.WebApi.Controllers.Course
model.EduOccupation,
model.IsLessPrice,
model.LessPrice,
model.PerLessMoney,
model.DiscountMoney,
model.PerDiscountMoney,
model.OrderNature,
OrderNatureName = model.OrderNature.ToName(),
model.OldPreferPrice,
......
......@@ -31,6 +31,9 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
private readonly StudentBillModule studentBillModule = AOP.AOPHelper.CreateAOPObject<StudentBillModule>();
/// <summary>
/// 订单处理类对象
/// </summary>
private readonly OrderModule orderModule = AOP.AOPHelper.CreateAOPObject<OrderModule>();
/// <summary>
......@@ -63,11 +66,6 @@ namespace Edu.WebApi.Controllers.Course
var SpecialNode = base.ParmJObj.GetInt("SpecialNode");
//抄送人
string RecipientIds = base.ParmJObj.GetStringValue("RecipientIds");
// var flag = studentBillModule.SetBackBillAduitModule(BackId, AuditStatus, Description, base.UserInfo, out string message, SpecialNode: SpecialNode, BackMoney: BackMoney, RecipientIds: RecipientIds);
//return flag ? ApiResult.Success(message: message) : ApiResult.Failed(message: message);
return ApiResult.Failed();
}
......@@ -140,6 +138,9 @@ namespace Edu.WebApi.Controllers.Course
SourceId = 0,
IsLessPrice = 0,
LessPrice = 0,
PerLessMoney=0,
DiscountMoney=0,
PerDiscountMoney=0,
OrderNature = oldOrderModel.OrderNature,
OldPreferPrice = base.ParmJObj.GetDecimal("PreferPrice"),//应收,
CourseId = 0,
......@@ -164,6 +165,7 @@ namespace Edu.WebApi.Controllers.Course
orderModel.UpdateBy = base.UserInfo.Id;
orderModel.UpdateTime = DateTime.Now;
orderModel.OldGuestId = guestId;
bool flag = orderModule.SetClassOrderModule(orderModel, base.UserInfo, base.CheckUserActionAuth("Edit_Order"), out string message);
if (flag)
{
......
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