Commit cde72d95 authored by 吴春's avatar 吴春

Merge branch 'master' of http://gitlab.oytour.com/Kui2/education

parents e9d31347 ac56378b
...@@ -73,5 +73,16 @@ namespace Edu.Model.Entity.Customer ...@@ -73,5 +73,16 @@ namespace Edu.Model.Entity.Customer
/// 合同附件 /// 合同附件
/// </summary> /// </summary>
public string ContractUrl { get; set; } public string ContractUrl { get; set; }
/// <summary>
/// 返佣比例
/// </summary>
public decimal RebateRate { get; set; }
/// <summary>
/// 固定返佣金额
/// </summary>
public decimal RebateMoney { get; set; }
} }
} }
...@@ -128,6 +128,11 @@ namespace Edu.Model.ViewModel.User ...@@ -128,6 +128,11 @@ namespace Edu.Model.ViewModel.User
/// </summary> /// </summary>
public int SumScore { get; set; } public int SumScore { get; set; }
/// <summary>
/// 绑定的企业微信
/// </summary>
public string WorkUserId { get; set; }
} }
/// <summary> /// <summary>
/// 年假天数 /// 年假天数
......
This diff is collapsed.
...@@ -129,6 +129,11 @@ namespace Edu.Module.Course ...@@ -129,6 +129,11 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
private readonly RB_CustomerRepository customerRepository = new RB_CustomerRepository(); private readonly RB_CustomerRepository customerRepository = new RB_CustomerRepository();
/// <summary>
/// 同行资料
/// </summary>
private readonly RB_Customer_CategoryRepository customer_CategoryRepository = new RB_Customer_CategoryRepository();
/// <summary> /// <summary>
/// 学生关联 /// 学生关联
/// </summary> /// </summary>
...@@ -454,7 +459,8 @@ namespace Edu.Module.Course ...@@ -454,7 +459,8 @@ namespace Edu.Module.Course
CommissionType = orderCount == 0 ? 1 : 2, CommissionType = orderCount == 0 ? 1 : 2,
SchoolId = model.School_Id, SchoolId = model.School_Id,
GroupId = model.Group_Id, GroupId = model.Group_Id,
Remark = "" Remark = "",
}; };
if (model.OrderType == OrderTypeEnum.CourseOrder) if (model.OrderType == OrderTypeEnum.CourseOrder)
{ {
...@@ -638,6 +644,27 @@ namespace Edu.Module.Course ...@@ -638,6 +644,27 @@ namespace Edu.Module.Course
else if ((int)m.OrderSourceType == 2) else if ((int)m.OrderSourceType == 2)
{ {
var customerModel = customerRepository.GetEntity(m.OrderSourceId); var customerModel = customerRepository.GetEntity(m.OrderSourceId);
var customerCompany = customer_CategoryRepository.GetEntity(customerModel.CategoryId);
//验证订单是否 续费订单
var orderModel = orderRepository.GetEntity(m.OrderId);
if (orderModel.JoinType == OrderJoinTypeEnum.Normal && (customerCompany.RebateRate > 0 || customerCompany.RebateMoney > 0))
{
//同业返佣 只有首单反, 直接默认 次月全提
if (customerCompany.RebateRate > 0)
{
m.CommissionMoeny = Math.Round(sellPrice * (customerCompany.RebateRate / 100), 2, MidpointRounding.AwayFromZero);
}
else
{
m.CommissionMoeny = customerCompany.RebateMoney;
}
m.CommissionReType = (int)CourseRebateSetEnum.NextMonth;
m.CommissionReValue = 0;
m.Remark = $"学员来源为:同业,学员为首次报名,本次报名金额为:{sellPrice},本次返佣金额为:{m.CommissionMoeny:0.00}";
}
else
{
//走课程配置
if (customerModel.CustomerType == Common.Enum.Customer.CatetoryTypeEnum.Company) if (customerModel.CustomerType == Common.Enum.Customer.CatetoryTypeEnum.Company)
{ {
if (courseModel.CommissionReType == 1) if (courseModel.CommissionReType == 1)
...@@ -667,6 +694,7 @@ namespace Edu.Module.Course ...@@ -667,6 +694,7 @@ namespace Edu.Module.Course
m.Remark = $"学员来源为:校代,学员为{(m.CommissionType == 1 ? "首次报名" : "续费报名")},本次报名金额为:{sellPrice},本次返佣金额为:{m.CommissionMoeny:0.00}"; m.Remark = $"学员来源为:校代,学员为{(m.CommissionType == 1 ? "首次报名" : "续费报名")},本次报名金额为:{sellPrice},本次返佣金额为:{m.CommissionMoeny:0.00}";
} }
} }
}
else if ((int)m.OrderSourceType == 3) else if ((int)m.OrderSourceType == 3)
{ {
if (courseModel.CommissionReType == 1) if (courseModel.CommissionReType == 1)
...@@ -4893,57 +4921,57 @@ namespace Edu.Module.Course ...@@ -4893,57 +4921,57 @@ namespace Edu.Module.Course
public bool UpdateGuestStateModule() public bool UpdateGuestStateModule()
{ {
bool flag = false; bool flag = false;
var list = order_GuestRepository.UpdateGuestStateRepository(); //var list = order_GuestRepository.UpdateGuestStateRepository();
if (list != null && list.Count > 0) //if (list != null && list.Count > 0)
{ //{
string guestIds = string.Join(",", list.Select(qitem => qitem.Id)); // string guestIds = string.Join(",", list.Select(qitem => qitem.Id));
var checkList = class_CheckRepository.GetClassCheckList(new RB_Class_Check_ViewModel() { QOrderGuestIds = guestIds }); // var checkList = class_CheckRepository.GetClassCheckList(new RB_Class_Check_ViewModel() { QOrderGuestIds = guestIds });
int index = 1; // int index = 1;
foreach (var item in list) // foreach (var item in list)
{ // {
var guestCheckList = checkList.Where(qitem => qitem.OrderGuestId == item.Id); // var guestCheckList = checkList.Where(qitem => qitem.OrderGuestId == item.Id);
var totalHours = guestCheckList?.Sum(qitem => qitem.CurrentDeductionHours) ?? 0; // var totalHours = guestCheckList?.Sum(qitem => qitem.CurrentDeductionHours) ?? 0;
if (item.TotalHours != totalHours) // if (item.TotalHours != totalHours)
{ // {
decimal shengyu = item.TotalHours - totalHours; // decimal shengyu = item.TotalHours - totalHours;
var lastCheck = guestCheckList.OrderByDescending(qitem => qitem.ClassDate).FirstOrDefault(); // var lastCheck = guestCheckList.OrderByDescending(qitem => qitem.ClassDate).FirstOrDefault();
DateTime classDate = DateTime.Now; // DateTime classDate = DateTime.Now;
if (lastCheck != null && !string.IsNullOrEmpty(Common.ConvertHelper.FormatDate(lastCheck?.ClassDate))) // if (lastCheck != null && !string.IsNullOrEmpty(Common.ConvertHelper.FormatDate(lastCheck?.ClassDate)))
{ // {
classDate = lastCheck.ClassDate.AddDays(1); // classDate = lastCheck.ClassDate.AddDays(1);
} // }
var checkModel = new RB_Class_Check() // var checkModel = new RB_Class_Check()
{ // {
ClassCheckId = 0, // ClassCheckId = 0,
ClassId = 0, // ClassId = 0,
ClassDate = classDate, // ClassDate = classDate,
Status = 0, // Status = 0,
ClassRoomId = 0, // ClassRoomId = 0,
Group_Id = lastCheck?.Group_Id ?? 100000, // Group_Id = lastCheck?.Group_Id ?? 100000,
School_Id = 0, // School_Id = 0,
TeacherId = 0, // TeacherId = 0,
OrderGuestId = item.Id, // OrderGuestId = item.Id,
CheckStatus = 0, // CheckStatus = 0,
CreateBy = 0, // CreateBy = 0,
StudyNum = Convert.ToInt32(shengyu) * 45, // StudyNum = Convert.ToInt32(shengyu) * 45,
MakeUpStatus = 1, // MakeUpStatus = 1,
CurrentDeductionHours = shengyu, // CurrentDeductionHours = shengyu,
IsAbsentHours = 0, // IsAbsentHours = 0,
ClassTimeId = 0, // ClassTimeId = 0,
}; // };
checkModel.CreateTime = checkModel.ClassDate; // checkModel.CreateTime = checkModel.ClassDate;
class_CheckRepository.Insert(checkModel); // class_CheckRepository.Insert(checkModel);
} // }
Dictionary<string, object> fileds = new Dictionary<string, object>() // Dictionary<string, object> fileds = new Dictionary<string, object>()
{ // {
{nameof(RB_Order_Guest.CompleteHours),item.TotalHours }, // {nameof(RB_Order_Guest.CompleteHours),item.TotalHours },
{nameof(RB_Order_Guest.GuestState), (int)GuestStateEnum.Graduate}, // {nameof(RB_Order_Guest.GuestState), (int)GuestStateEnum.Graduate},
}; // };
flag = order_GuestRepository.Update(fileds, new WhereHelper(nameof(RB_Order_Guest.Id), item.Id)); // flag = order_GuestRepository.Update(fileds, new WhereHelper(nameof(RB_Order_Guest.Id), item.Id));
Console.WriteLine(string.Format("已完成 {0}/{1} ", index, list.Count)); // Console.WriteLine(string.Format("已完成 {0}/{1} ", index, list.Count));
index++; // index++;
} // }
} //}
return flag; return flag;
} }
} }
......
...@@ -2863,7 +2863,8 @@ namespace Edu.Module.Course ...@@ -2863,7 +2863,8 @@ namespace Edu.Module.Course
if (gmodel != null && gmodel.CourseChapterNo < demodel.ChapterNo) if (gmodel != null && gmodel.CourseChapterNo < demodel.ChapterNo)
{ {
//ld 2022-03-08 修改为学员上课最大课时 //ld 2022-03-08 修改为学员上课最大课时
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() { Dictionary<string, object> keyValues1 = new Dictionary<string, object>()
{
{ nameof(RB_Order_Guest_ViewModel.CourseChapterNo), demodel.ChapterNo}, { nameof(RB_Order_Guest_ViewModel.CourseChapterNo), demodel.ChapterNo},
{ nameof(RB_Order_Guest_ViewModel.CompleteHours), demodel.ChapterNo * clist.Sum(x=>x.ClassHours)} { nameof(RB_Order_Guest_ViewModel.CompleteHours), demodel.ChapterNo * clist.Sum(x=>x.ClassHours)}
}; };
...@@ -2872,7 +2873,8 @@ namespace Edu.Module.Course ...@@ -2872,7 +2873,8 @@ namespace Edu.Module.Course
//章节已上完了 修改为 毕业 //章节已上完了 修改为 毕业
keyValues1.Add(nameof(Model.ViewModel.Sell.RB_Order_Guest_ViewModel.GuestState), Common.Enum.Course.GuestStateEnum.Graduate); keyValues1.Add(nameof(Model.ViewModel.Sell.RB_Order_Guest_ViewModel.GuestState), Common.Enum.Course.GuestStateEnum.Graduate);
} }
List<WhereHelper> wheres1 = new List<WhereHelper>() { List<WhereHelper> wheres1 = new List<WhereHelper>()
{
new WhereHelper(){ new WhereHelper(){
FiledName = nameof(Model.ViewModel.Sell.RB_Order_Guest_ViewModel.Id), FiledName = nameof(Model.ViewModel.Sell.RB_Order_Guest_ViewModel.Id),
FiledValue = gmodel.Id, FiledValue = gmodel.Id,
......
...@@ -660,6 +660,8 @@ namespace Edu.Module.Customer ...@@ -660,6 +660,8 @@ namespace Edu.Module.Customer
{ nameof(RB_Customer_Category_Extend.UpdateTime),model.UpdateTime}, { nameof(RB_Customer_Category_Extend.UpdateTime),model.UpdateTime},
{ nameof(RB_Customer_Category_Extend.IsContract),model.IsContract}, { nameof(RB_Customer_Category_Extend.IsContract),model.IsContract},
{ nameof(RB_Customer_Category_Extend.ContractUrl),model.ContractUrl}, { nameof(RB_Customer_Category_Extend.ContractUrl),model.ContractUrl},
{ nameof(RB_Customer_Category_Extend.RebateRate),model.RebateRate},
{ nameof(RB_Customer_Category_Extend.RebateMoney),model.RebateMoney},
}; };
flag = customer_CategoryRepository.Update(fileds, new WhereHelper(nameof(RB_Customer_Category_Extend.CategoryId), model.CategoryId)); flag = customer_CategoryRepository.Update(fileds, new WhereHelper(nameof(RB_Customer_Category_Extend.CategoryId), model.CategoryId));
} }
......
This diff is collapsed.
...@@ -122,7 +122,7 @@ namespace Edu.WebApi.Controllers.Applet ...@@ -122,7 +122,7 @@ namespace Edu.WebApi.Controllers.Applet
{ {
State = 1, State = 1,
TotalHours = guestModel?.TotalHours ?? 0, TotalHours = guestModel?.TotalHours ?? 0,
CompleteHours = CompleteHours, CompleteHours,
MakeUpHours = guestModel?.MakeUpHours ?? 0, MakeUpHours = guestModel?.MakeUpHours ?? 0,
AbsenceNum = guestModel?.AbsenceNum ?? 0, AbsenceNum = guestModel?.AbsenceNum ?? 0,
LeaveNum = guestModel?.LeaveNum ?? 0, LeaveNum = guestModel?.LeaveNum ?? 0,
......
...@@ -58,7 +58,9 @@ namespace Edu.WebApi.Controllers.Course ...@@ -58,7 +58,9 @@ namespace Edu.WebApi.Controllers.Course
CourseName = base.ParmJObj.GetStringValue("CourseName"), CourseName = base.ParmJObj.GetStringValue("CourseName"),
ClassNo = base.ParmJObj.GetStringValue("ClassNo"), ClassNo = base.ParmJObj.GetStringValue("ClassNo"),
CourseSubject = base.ParmJObj.GetInt("CourseSubject"), CourseSubject = base.ParmJObj.GetInt("CourseSubject"),
ClassScrollType = base.ParmJObj.GetInt("ClassScrollType", 1) ClassScrollType = base.ParmJObj.GetInt("ClassScrollType", 1),
StartTime = base.ParmJObj.GetStringValue("StartTime"),
EndTime = base.ParmJObj.GetStringValue("EndTime"),
}; };
query.Group_Id = base.UserInfo.Group_Id; query.Group_Id = base.UserInfo.Group_Id;
List<object> result = new List<object>(); List<object> result = new List<object>();
...@@ -581,16 +583,6 @@ namespace Edu.WebApi.Controllers.Course ...@@ -581,16 +583,6 @@ namespace Edu.WebApi.Controllers.Course
return ApiResult.Success(data: data); return ApiResult.Success(data: data);
} }
/// <summary>
/// 初始化数据
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult InitData()
{
bool flag = classModule.InitDataModule();
return flag ? ApiResult.Success() : ApiResult.Failed();
}
/// <summary> /// <summary>
/// 修改班级状态 /// 修改班级状态
...@@ -1244,27 +1236,6 @@ namespace Edu.WebApi.Controllers.Course ...@@ -1244,27 +1236,6 @@ namespace Edu.WebApi.Controllers.Course
EndDate = list.FirstOrDefault().ClassDate.ToString("yyyy-MM-dd HH:mm:ss"), EndDate = list.FirstOrDefault().ClassDate.ToString("yyyy-MM-dd HH:mm:ss"),
ClassTimeId = list.FirstOrDefault().ClassTimeId, ClassTimeId = list.FirstOrDefault().ClassTimeId,
}); });
#region 验证是否存在学员编号
if (list.Count == 1)
{
if (list[0].OrderGuestId == 0)
{
var guestId = classModule.GetStudentOrderGuestIdByClassTimeIDModule(list[0].StuId, list[0].ClassTimeId);
if (guestId == 0)
{
return ApiResult.ParamIsNull(message: "当前课程不是你的上课内容,请联系前台");
}
else
{
list[0].OrderGuestId = guestId;
}
}
if (checkLogList.Where(x => x.OrderGuestId == list[0].OrderGuestId && x.CheckStatus == list[0].CheckStatus).Any())
{
return ApiResult.Success(message: "check_repeat");
}
}
#endregion
if (list == null || !list.Any()) if (list == null || !list.Any())
{ {
...@@ -1284,23 +1255,6 @@ namespace Edu.WebApi.Controllers.Course ...@@ -1284,23 +1255,6 @@ namespace Edu.WebApi.Controllers.Course
} }
#endregion #endregion
//获取班级的学员信息
var orderGuestList = classModule.GetOrderGuestListModule(new RB_Order_Guest_ViewModel { Group_Id = groupId, ClassId = list.FirstOrDefault().ClassId, QEffectStatus = 1 });
//判断今天有课没有
var planList = classModule.GetClassPlanEntityModule(new RB_Class_Plan_ViewModel
{
Group_Id = groupId,
ClassId = list.FirstOrDefault().ClassId,
QClassDateStr = Common.ConvertHelper.FormatDate(list.FirstOrDefault().ClassDate),
});
if (planList == null || !planList.Any())
{
return ApiResult.Failed("今日无课程,无须签到");
}
foreach (var item in list) foreach (var item in list)
{ {
var signModel = checkLogList?.Where(qitem => qitem.ClassDate.ToString("yyyy-MM-dd") == item.ClassDate.ToString("yyyy-MM-dd") && qitem.ClassId == item.ClassId && qitem.OrderGuestId == item.OrderGuestId)?.FirstOrDefault(); var signModel = checkLogList?.Where(qitem => qitem.ClassDate.ToString("yyyy-MM-dd") == item.ClassDate.ToString("yyyy-MM-dd") && qitem.ClassId == item.ClassId && qitem.OrderGuestId == item.OrderGuestId)?.FirstOrDefault();
...@@ -1311,7 +1265,6 @@ namespace Edu.WebApi.Controllers.Course ...@@ -1311,7 +1265,6 @@ namespace Edu.WebApi.Controllers.Course
item.CreateTime = signModel.CreateTime; item.CreateTime = signModel.CreateTime;
item.CreateBy = Uid; item.CreateBy = Uid;
item.Status = 0; item.Status = 0;
#region 验证缺席 补课是否已处理 #region 验证缺席 补课是否已处理
if (signModel.CheckStatus == 1 && item.CheckStatus != 1) if (signModel.CheckStatus == 1 && item.CheckStatus != 1)
{ {
......
...@@ -625,11 +625,11 @@ namespace Edu.WebApi.Controllers.Course ...@@ -625,11 +625,11 @@ namespace Edu.WebApi.Controllers.Course
} }
//ld 2023-03-22 强验证 学生的到访表 //ld 2023-03-22 强验证 学生的到访表
string rmsg = orderModule.GetStudentVisitVoucher(demodel.StuIds); //string rmsg = orderModule.GetStudentVisitVoucher(demodel.StuIds);
if (rmsg != "") //if (rmsg != "")
{ //{
return ApiResult.Failed(rmsg); // return ApiResult.Failed(rmsg);
} //}
} }
demodel.Group_Id = userInfo.Group_Id; demodel.Group_Id = userInfo.Group_Id;
......
...@@ -973,6 +973,8 @@ namespace Edu.WebApi.Controllers.Customer ...@@ -973,6 +973,8 @@ namespace Edu.WebApi.Controllers.Customer
item.OrderCount, item.OrderCount,
item.IsContract, item.IsContract,
item.ContractUrl, item.ContractUrl,
item.RebateRate,
item.RebateMoney,
CatetoryTypeName = item.CatetoryType.ToName(), CatetoryTypeName = item.CatetoryType.ToName(),
CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime), CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime),
}); });
...@@ -1097,6 +1099,8 @@ namespace Edu.WebApi.Controllers.Customer ...@@ -1097,6 +1099,8 @@ namespace Edu.WebApi.Controllers.Customer
CatetoryType = (CatetoryTypeEnum)base.ParmJObj.GetInt("CatetoryType"), CatetoryType = (CatetoryTypeEnum)base.ParmJObj.GetInt("CatetoryType"),
IsContract=base.ParmJObj.GetInt("IsContract"), IsContract=base.ParmJObj.GetInt("IsContract"),
ContractUrl=base.ParmJObj.GetStringValue("ContractUrl"), ContractUrl=base.ParmJObj.GetStringValue("ContractUrl"),
RebateRate = base.ParmJObj.GetDecimal("RebateRate"),
RebateMoney = base.ParmJObj.GetDecimal("RebateMoney"),
}; };
var linkMan = base.ParmJObj.GetStringValue("linkMan"); var linkMan = base.ParmJObj.GetStringValue("linkMan");
var linkTel = base.ParmJObj.GetStringValue("linkTel"); var linkTel = base.ParmJObj.GetStringValue("linkTel");
...@@ -1179,6 +1183,8 @@ namespace Edu.WebApi.Controllers.Customer ...@@ -1179,6 +1183,8 @@ namespace Edu.WebApi.Controllers.Customer
CatetoryTypeName=extModel?.CatetoryType.ToName()??"", CatetoryTypeName=extModel?.CatetoryType.ToName()??"",
extModel?.ContractUrl, extModel?.ContractUrl,
extModel?.IsContract, extModel?.IsContract,
extModel?.RebateRate,
extModel?.RebateMoney
}; };
return ApiResult.Success(data: obj); return ApiResult.Success(data: obj);
} }
......
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