Commit 79809223 authored by 黄奎's avatar 黄奎

页面修改

parent 6bd4ef6e
......@@ -76,6 +76,11 @@ namespace Edu.Module.Course
/// </summary>
private readonly RB_Finance_ConfigRepository finance_ConfigRepository = new RB_Finance_ConfigRepository();
/// <summary>
/// 课程处理类对象
/// </summary>
private readonly RB_CourseRepository courseRepository = new RB_CourseRepository();
/// <summary>
/// 获取学员信息
/// </summary>
......@@ -89,6 +94,7 @@ namespace Edu.Module.Course
var orderModel = orderRepository.GetEntity(OrderId);
var guestModel = glist.Where(qitem => qitem.Id == GuestId)?.FirstOrDefault();
var classModel = new RB_Class_ViewModel();
var courseModel = new RB_Course_ViewModel();
decimal PreferPrice = 0;//总金额
decimal DiscountMoney = 0;//优惠金额
decimal Money = 0;//实际金额
......@@ -97,6 +103,7 @@ namespace Edu.Module.Course
if (orderModel.OrderType == Common.Enum.Sale.OrderTypeEnum.CourseOrder)
{
classModel = classRepository.GetClassAndCourseListRepository(new RB_Class_ViewModel() { ClassId = orderModel.ClassId })?.FirstOrDefault();
courseModel = courseRepository.GetEntity<RB_Course_ViewModel>(orderModel.CourseId);
}
}
var qids = (classModel?.ManagerId ?? 0).ToString() + "," + (orderModel?.EnterID ?? 0).ToString();
......@@ -116,13 +123,13 @@ namespace Edu.Module.Course
StuAddress=guestModel?.ContactAddress??"",
StuTel= guestModel?.Mobile??"",
StuEmail="",
CourseName=classModel?.CourseName??"",
CourseName= courseModel?.CourseName??"",
SchoolName=classModel?.SchoolName??"",
SchoolPrincipal= empList?.Where(qitem=>qitem.Id==(classModel?.ManagerId??0))?.FirstOrDefault()?.EmployeeName??"",
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=classModel?.ClassHours??0,
FirstClassHours= courseModel?.ClassHours??0,
FirstCourseFee= PreferPrice,
FirstBookFee =0,
FirstClassFee=0,
......
......@@ -290,7 +290,6 @@ namespace Edu.Module.Course
message = "";
//查询班级信息
var classModel = classRepository.GetEntity(demodel.ClassId);
if (classModel == null)
{
flag = false;
......@@ -301,7 +300,9 @@ namespace Edu.Module.Course
{
demodel.CourseId = classModel.CouseId;
}
//课程信息
var courseModel = courseRepository.GetEntity(demodel.CourseId);
#region 计算订单优惠信息
//获取课程优惠
var coursePreferentialList = course_PreferentialRepository.GetCoursePreferentialListRepostory(new RB_Course_Preferential_Extend()
......@@ -321,7 +322,6 @@ namespace Edu.Module.Course
{
disModel = coursePreferentialList?.Where(qitem => qitem.PriceDiscountType == CoursePriceDiscountEnum.DoubleJoin)?.FirstOrDefault();
}
decimal disMoney = 0;
var saleCommissionType = disModel?.SaleCommissionType ?? 0;
if (saleCommissionType == 0)
......@@ -345,6 +345,7 @@ namespace Edu.Module.Course
return flag;
}
}
#endregion
if (demodel.OrderSource == OrderSourceEnum.EduClient || demodel.OrderSource == OrderSourceEnum.Client)
{
if (demodel.OrderSource == OrderSourceEnum.EduClient)
......@@ -366,35 +367,65 @@ namespace Edu.Module.Course
demodel.LessPrice = 0;
}
#endregion
if (demodel.OrderId > 0)
int BNum = orderRepository.GetClassOrderPeopleNum(demodel.ClassId.ToString()).FirstOrDefault()?.GuestNum ?? 0;
if (BNum + demodel.GuestNum > classModel.ClassPersion)
{
var orderModel = orderRepository.GetEntity(demodel.OrderId);
if (orderModel == null)
flag = false;
message = "人数报超" + (classModel.ClassPersion - (BNum + demodel.GuestNum));
return flag;
}
decimal MinPrice = courseModel.SellPrice;
List<RB_Order_StepPrice_ViewModel> spList = new List<RB_Order_StepPrice_ViewModel>();
if (demodel.GuestNum > 1)
{
spList = order_StepPriceRepository.GetList(new RB_Order_StepPrice_ViewModel() { OrderId = demodel.OrderId });
if (spList.Any())
{
flag = false;
message = "订单不存在";
return flag;
MinPrice = spList.Where(x => demodel.GuestNum >= x.PersionNum).OrderByDescending(x => x.PersionNum).FirstOrDefault().PersionPrice;
}
if (orderModel.OrderState == Common.Enum.Course.OrderStateEnum.Cancel)
}
//没有总经理修改订单权限
if (!isEditOrder)
{
if (demodel.Unit_Price < MinPrice)
{
flag = false;
message = "取消订单无法修改";
message = "成交单价不能小于最低价格";
return flag;
}
if (classModel == null)
if (demodel.IsChaBan == 1)
{
var newPreferPrice = Math.Round(courseModel.SellPrice / courseModel.ClassHours * (courseModel.ClassHours - demodel.StartClassHours)* demodel.GuestNum, 2);
if (demodel.PreferPrice != (newPreferPrice - demodel.LessPrice))
{
flag = false;
message = "应收总额不正确";
return flag;
}
}
else
{
if (demodel.PreferPrice != (demodel.Unit_Price * demodel.GuestNum - demodel.LessPrice))
{
flag = false;
message = "应收总额不正确";
return flag;
}
}
}
if (demodel.OrderId > 0)
{
var orderModel = orderRepository.GetEntity(demodel.OrderId);
if (orderModel == null)
{
flag = false;
message = "班级不存在";
message = "订单不存在";
return flag;
}
int BNum = orderRepository.GetClassOrderPeopleNum(demodel.ClassId.ToString()).FirstOrDefault()?.GuestNum ?? 0;
if (BNum + demodel.GuestNum - orderModel.GuestNum > classModel.ClassPersion)
if (orderModel.OrderState == Common.Enum.Course.OrderStateEnum.Cancel)
{
flag = false;
message = "人数报超" + (classModel.ClassPersion - (BNum + demodel.GuestNum - orderModel.GuestNum));
message = "取消订单无法修改";
return flag;
}
#region 验证学生名单数量
......@@ -406,32 +437,6 @@ namespace Edu.Module.Course
return flag;
}
#endregion
decimal MinPrice = orderModel.Class_Price;
if (demodel.GuestNum > 1)
{
var spList = order_StepPriceRepository.GetList(new RB_Order_StepPrice_ViewModel() { OrderId = demodel.OrderId });
if (spList.Any())
{
MinPrice = spList.Where(x => demodel.GuestNum >= x.PersionNum).OrderByDescending(x => x.PersionNum).FirstOrDefault().PersionPrice;
}
}
//没有总经理修改订单权限
if (!isEditOrder)
{
if (demodel.Unit_Price < MinPrice)
{
flag = false;
message = "成交单价不能小于最低价格";
return flag;
}
if (demodel.PreferPrice != (demodel.Unit_Price * demodel.GuestNum - demodel.LessPrice))
{
flag = false;
message = "应收总额不正确";
return flag;
}
}
Dictionary<string, object> keyValues = new Dictionary<string, object>()
{
{ nameof(RB_Order_ViewModel.GuestNum),demodel.GuestNum},
......@@ -522,46 +527,7 @@ namespace Edu.Module.Course
message = "班级状态不正确";
return flag;
}
//if (classModel.EndOrderTime < Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")))
//{
// flag = false;
// message = "已过期,无法报名";
// return flag;
//}
int BNum = orderRepository.GetClassOrderPeopleNum(demodel.ClassId.ToString()).FirstOrDefault()?.GuestNum ?? 0;
if (BNum + demodel.GuestNum > classModel.ClassPersion)
{
flag = false;
message = "人数报超" + (classModel.ClassPersion - (BNum + demodel.GuestNum));
return flag;
}
demodel.Class_Price = courseModel.SellPrice;
decimal MinPrice = courseModel.SellPrice;
List<RB_Class_StepPrice_ViewModel> spList = new List<RB_Class_StepPrice_ViewModel>();
if (classModel.IsStepPrice == 1)
{
spList = class_StepPriceRepository.GetClassStepPriceListRepository(new RB_Class_StepPrice_ViewModel() { ClassId = demodel.ClassId });
if (spList.Any() && demodel.GuestNum > 1)
{
MinPrice = spList.Where(x => demodel.GuestNum >= x.PersionNum).OrderByDescending(x => x.PersionNum).FirstOrDefault().PersionPrice;
}
}
if (!isEditOrder)
{
if (demodel.Unit_Price < MinPrice)
{
flag = false;
message = "成交单价不能小于最低价格";
return flag;
}
if (demodel.PreferPrice != (demodel.Unit_Price * demodel.GuestNum - demodel.LessPrice))
{
flag = false;
message = "应收总额不正确";
return flag;
}
}
int OrderId = orderRepository.Insert(demodel);
flag = OrderId > 0;
if (flag)
......
......@@ -39,6 +39,7 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Course_ViewModel.CateId), query.CateId);
}
if (!string.IsNullOrEmpty(query.QCourseIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Course_ViewModel.CourseId), query.QCourseIds);
......
......@@ -223,10 +223,11 @@ ORDER BY {orderBy}
}
string sql = $@"
select o.*,c.ClassName,c.School_Id as ClassSchoolId,t.TeacherName,t.TeacherIcon
select o.*,c.ClassName,c.School_Id as ClassSchoolId,t.TeacherName,t.TeacherIcon,IFNULL(course.CourseName,'') AS CourseName
from RB_Order o
left join rb_class c on o.ClassId = c.ClassId
left join rb_teacher t on c.Teacher_Id = t.TId
LEFT JOIN rb_course AS course ON (o.CourseId=course.CourseId AND o.CourseId>0 AND o.OrderType=1)
where {where} order by {orderBy}
";
return GetPage<RB_Order_ViewModel>(pageIndex, pageSize, out rowsCount, sql).ToList();
......
......@@ -1084,6 +1084,10 @@ namespace Edu.WebApi.Controllers.Course
{
x.OrderId,
x.ClassId,
x.CourseId,
x.CourseName,
x.IsChaBan,
x.StartClassHours,
x.OrderType,
x.SourceId,
x.ClassSchoolId,
......
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