Commit 708514ec authored by 黄奎's avatar 黄奎

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

parents df504dbf 806f4d0b
......@@ -244,9 +244,9 @@ namespace Edu.Module.Course
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Sell_Commission_Periods_ViewModel> GetSellCommissionPeriodsList(RB_Sell_Commission_Periods_ViewModel dmodel)
public List<RB_Sell_Achievements_Periods_ViewModel> GetSellAchievementsPeriodsList(RB_Sell_Achievements_Periods_ViewModel dmodel)
{
return sell_Commission_PeriodsRepository.GetList(dmodel);
return sell_Achievements_PeriodsRepository.GetList(dmodel);
}
/// <summary>
......@@ -257,19 +257,19 @@ namespace Edu.Module.Course
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Sell_Commission_Periods_ViewModel> GetSellCommissionPeriodsPageList(int pageIndex, int pageSize, out long count, RB_Sell_Commission_Periods_ViewModel dmodel)
public List<RB_Sell_Achievements_Periods_ViewModel> GetSellAchievementsPeriodsPageList(int pageIndex, int pageSize, out long count, RB_Sell_Achievements_Periods_ViewModel dmodel)
{
var list = sell_Commission_PeriodsRepository.GetPageList(pageIndex, pageSize, out count, dmodel);
var list = sell_Achievements_PeriodsRepository.GetPageList(pageIndex, pageSize, out count, dmodel);
if (list.Any())
{
//查询财务单据
string periodsIds = string.Join(",", list.Select(x => x.Id));
var financeList = financeRepository.GetListSingle(new RB_Finance_Extend() { RB_Group_Id = dmodel.Group_Id, FinanceType = 2, OtherType = 39, ReFinanceIds = periodsIds, IsSelectNormal = 1 });
List<RB_Sell_Commission_Details_ViewModel> scList = new List<RB_Sell_Commission_Details_ViewModel>();
var financeList = financeRepository.GetListSingle(new RB_Finance_Extend() { RB_Group_Id = dmodel.Group_Id, FinanceType = 2, OtherType = 50, ReFinanceIds = periodsIds, IsSelectNormal = 1 });
List<RB_Sell_Achievements_Details_ViewModel> scList = new List<RB_Sell_Achievements_Details_ViewModel>();
if (dmodel.SchoolId >= 0)
{
//获取该校区应发提成
scList = sell_Commission_DetailsRepository.GetSchoolCommission(dmodel.SchoolId, periodsIds);
scList = sell_Achievements_DetailsRepository.GetSchoolCommission(dmodel.SchoolId, periodsIds);
}
foreach (var item in list)
{
......@@ -293,9 +293,9 @@ namespace Edu.Module.Course
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Sell_Commission_Details_ViewModel> GetSellCommissionUserList(RB_Sell_Commission_Details_ViewModel dmodel)
public List<RB_Sell_Achievements_Details_ViewModel> GetSellAchievementsUserList(RB_Sell_Achievements_Details_ViewModel dmodel)
{
var list = sell_Commission_DetailsRepository.GetSellCommissionUserList(dmodel);
var list = sell_Achievements_DetailsRepository.GetSellCommissionUserList(dmodel);
if (list.Any())
{
//查询用户 部门 校区
......@@ -322,1243 +322,166 @@ namespace Edu.Module.Course
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public decimal GetSellCommissionStatistics(RB_Sell_Commission_Details_ViewModel dmodel)
public decimal GetSellAchievementsStatistics(RB_Sell_Achievements_Details_ViewModel dmodel)
{
return sell_Commission_DetailsRepository.GetSellCommissionStatistics(dmodel);
return sell_Achievements_DetailsRepository.GetSellCommissionStatistics(dmodel);
}
/// <summary>
/// 获取销售提成根据用户id
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Sell_Commission_Details_ViewModel> GetSellCommissionByUser(RB_Sell_Commission_Details_ViewModel demodel)
{
return sell_Commission_DetailsRepository.GetSellCommissionByUser(demodel);
}
/// <summary>
/// 确认销售提成
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool UpdateSureSellCommission(int UserId, int Id)
{
IDictionary<string, object> fileds = new Dictionary<string, object>
{
{ nameof(RB_Sell_Commission_Details_ViewModel.SureStatus), 1 },
};
IList<WhereHelper> auditrecordWhereHelpers = new List<WhereHelper>
{
new WhereHelper()
{
FiledName = nameof(RB_Sell_Commission_Details_ViewModel.Id),
FiledValue = Id,
OperatorEnum = OperatorEnum.Equal
},
new WhereHelper()
{
FiledName = nameof(RB_Sell_Commission_Details_ViewModel.UserId),
FiledValue = UserId,
OperatorEnum = OperatorEnum.Equal
}
};
return sell_Commission_DetailsRepository.Update(fileds, auditrecordWhereHelpers);
}
/// <summary>
/// 获取提成统计
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Sell_Commission_Details_ViewModel> GetSellCommissionStatisticsPageList(int pageIndex, int pageSize, out long count, RB_Sell_Commission_Details_ViewModel dmodel)
{
var list = sell_Commission_DetailsRepository.GetPageList(pageIndex, pageSize, out count, dmodel);
if (list.Any())
{
//查询用户 部门 校区
string userIds = string.Join(",", list.Select(x => x.UserId).Distinct());
string deptIds = string.Join(",", list.Select(x => x.Depart_Id).Distinct());
string schoolIds = string.Join(",", list.Select(x => x.School_Id).Distinct());
var ulist = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { Group_Id = dmodel.Group_Id, QIds = userIds });
var dlist = departmentRepository.GetDepartmentListRepository(new RB_Department_ViewModel() { Group_Id = dmodel.Group_Id, QDeptIds = deptIds });
var slist = schoolRepository.GetSchoolListRepository(new RB_School_ViewModel() { Group_Id = dmodel.Group_Id, QSIds = schoolIds });
//查询出所属班级信息
string classIds = string.Join(",", list.Select(x => x.ClassId).Distinct());
var clist = classRepository.GetClassListRepository(new RB_Class_ViewModel() { Group_Id = dmodel.Group_Id, Q_ClassIds = classIds });
//查询班级类型
string classTypeIds = string.Join(",", list.Select(x => x.ClassType).Distinct());
var ctlist = class_TypeRepository.GetClassTypeListRepository(new RB_Class_Type_ViewModel() { Q_CTypeIds = classTypeIds, Group_Id = dmodel.Group_Id });
foreach (var item in list)
{
var umodel = ulist.Where(x => x.Id == item.UserId).FirstOrDefault();
item.UserName = umodel.EmployeeName + (umodel.LeaveStatus == Common.Enum.User.LeaveStatusEnum.Departure ? "离职" : "");
item.DeptName = dlist.Where(x => x.DeptId == item.Depart_Id).FirstOrDefault()?.DeptName ?? "";
item.SchoolName = slist.Where(x => x.SId == item.School_Id).FirstOrDefault()?.SName ?? "";
item.ClassName = clist.Where(x => x.ClassId == item.ClassId).FirstOrDefault()?.ClassName ?? "";
item.ClassNo = clist.Where(x => x.ClassId == item.ClassId).FirstOrDefault()?.ClassNo ?? "";
item.ClassTypeName = ctlist.Where(x => x.CTypeId == item.ClassType).FirstOrDefault()?.CTypeName ?? "";
}
}
return list;
}
/// <summary>
/// 获取用户提成明细列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Sell_Commission_Details_ViewModel> GetSellCommissionUserDetailList(RB_Sell_Commission_Details_ViewModel dmodel)
{
var list = sell_Commission_DetailsRepository.GetList(dmodel);
if (list.Any())
{
//查询用户 部门 校区
string userIds = string.Join(",", list.Select(x => x.UserId).Distinct());
string deptIds = string.Join(",", list.Select(x => x.Depart_Id).Distinct());
string schoolIds = string.Join(",", list.Select(x => x.School_Id).Distinct());
var ulist = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { Group_Id = dmodel.Group_Id, QIds = userIds });
var dlist = departmentRepository.GetDepartmentListRepository(new RB_Department_ViewModel() { Group_Id = dmodel.Group_Id, QDeptIds = deptIds });
var slist = schoolRepository.GetSchoolListRepository(new RB_School_ViewModel() { Group_Id = dmodel.Group_Id, QSIds = schoolIds });
//查询出所属班级信息
string classIds = string.Join(",", list.Select(x => x.ClassId).Distinct());
var clist = classRepository.GetClassListRepository(new RB_Class_ViewModel() { Group_Id = dmodel.Group_Id, Q_ClassIds = classIds });
//查询班级类型
string classTypeIds = string.Join(",", list.Select(x => x.ClassType).Distinct());
var ctlist = class_TypeRepository.GetClassTypeListRepository(new RB_Class_Type_ViewModel() { Q_CTypeIds = classTypeIds, Group_Id = dmodel.Group_Id });
foreach (var item in list)
{
var umodel = ulist.Where(x => x.Id == item.UserId).FirstOrDefault();
item.UserName = umodel.EmployeeName + (umodel.LeaveStatus == Common.Enum.User.LeaveStatusEnum.Departure ? "离职" : "");
item.DeptName = dlist.Where(x => x.DeptId == item.Depart_Id).FirstOrDefault()?.DeptName ?? "";
item.SchoolName = slist.Where(x => x.SId == item.School_Id).FirstOrDefault()?.SName ?? "";
item.ClassName = clist.Where(x => x.ClassId == item.ClassId).FirstOrDefault()?.ClassName ?? "";
item.ClassNo = clist.Where(x => x.ClassId == item.ClassId).FirstOrDefault()?.ClassNo ?? "";
item.ClassTypeName = ctlist.Where(x => x.CTypeId == item.ClassType).FirstOrDefault()?.CTypeName ?? "";
}
}
return list;
}
/// <summary>
/// 获取用户提成明细列表 (有当前发放次数的)
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Sell_Commission_Details_ViewModel> GetSellCommissionUserDetailList_V2(RB_Sell_Commission_Details_ViewModel dmodel)
{
var list = sell_Commission_DetailsRepository.GetSellCommissionUserDetailList(dmodel);
if (list.Any())
{
//查询用户 部门 校区
string userIds = string.Join(",", list.Select(x => x.UserId).Distinct());
string deptIds = string.Join(",", list.Select(x => x.Depart_Id).Distinct());
string schoolIds = string.Join(",", list.Select(x => x.School_Id).Distinct());
var ulist = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { Group_Id = dmodel.Group_Id, QIds = userIds });
var dlist = departmentRepository.GetDepartmentListRepository(new RB_Department_ViewModel() { Group_Id = dmodel.Group_Id, QDeptIds = deptIds });
var slist = schoolRepository.GetSchoolListRepository(new RB_School_ViewModel() { Group_Id = dmodel.Group_Id, QSIds = schoolIds });
//查询出所属班级信息
string classIds = string.Join(",", list.Select(x => x.ClassId).Distinct());
var clist = classRepository.GetClassListRepository(new RB_Class_ViewModel() { Group_Id = dmodel.Group_Id, Q_ClassIds = classIds });
//查询班级类型
string classTypeIds = string.Join(",", list.Select(x => x.ClassType).Distinct());
var ctlist = class_TypeRepository.GetClassTypeListRepository(new RB_Class_Type_ViewModel() { Q_CTypeIds = classTypeIds, Group_Id = dmodel.Group_Id });
foreach (var item in list)
{
var umodel = ulist.Where(x => x.Id == item.UserId).FirstOrDefault();
item.UserName = umodel.EmployeeName + (umodel.LeaveStatus == Common.Enum.User.LeaveStatusEnum.Departure ? "离职" : "");
item.DeptName = dlist.Where(x => x.DeptId == item.Depart_Id).FirstOrDefault()?.DeptName ?? "";
item.SchoolName = slist.Where(x => x.SId == item.School_Id).FirstOrDefault()?.SName ?? "";
item.ClassName = clist.Where(x => x.ClassId == item.ClassId).FirstOrDefault()?.ClassName ?? "";
item.ClassNo = clist.Where(x => x.ClassId == item.ClassId).FirstOrDefault()?.ClassNo ?? "";
item.ClassTypeName = ctlist.Where(x => x.CTypeId == item.ClassType).FirstOrDefault()?.CTypeName ?? "";
}
}
return list;
}
/// <summary>
/// 创建提成s
/// </summary>
/// <param name="month"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public string SetSellCommissionInfo(string month, UserInfo userInfo)
{
//首先查询该月是否已创建
var plist = sell_Commission_PeriodsRepository.GetList(new RB_Sell_Commission_Periods_ViewModel() { Group_Id = userInfo.Group_Id, Periods = month });
if (plist.Any())
{
return "当月提成已创建";
}
//查询 班级订单 1.尾款收齐 2.学生上课完成总课时超过15 %
string EDate = Convert.ToDateTime(month + "-01").AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd");
#region 查询内部班
var courseList = courseRepository.GetCourseListRepository(new RB_Course_ViewModel() { Group_Id = userInfo.Group_Id, CourseName = "内部班" });
string courseIds = string.Join(",", courseList.Select(x => x.CourseId));
#endregion
var orderList = orderRepository.GetAllMoneyCollectedOrderList(userInfo.Group_Id, EDate, courseIds);//开班时间 必须在选择的月份之前 要排除内部班 --------------
if (orderList.Any())
{
#region 基础数据
//查询规则列表
var rulelist = sell_Commission_RuleRepository.GetList(new RB_Sell_Commission_Rule_ViewModel() { Group_Id = userInfo.Group_Id });
//查询所有的人员
var saleIdList = orderList.Select(x => x.EnterID).Distinct().ToList();
var teacherIdList = orderList.Where(x => x.HelpEnterId > 0).Select(x => x.HelpEnterId).Distinct().ToList();
saleIdList.AddRange(teacherIdList);
var userIds = string.Join(",", saleIdList);
var UserList = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { Group_Id = userInfo.Group_Id, QIds = userIds });
//查询班级信息
string classIds = string.Join(",", orderList.Select(x => x.ClassId).Distinct());
var clist = classRepository.GetClassListRepository(new RB_Class_ViewModel() { Group_Id = userInfo.Group_Id, Q_ClassIds = classIds });
//查询订单下所有学生 已完成课时
string orderIds = string.Join(",", orderList.Select(x => x.OrderId));
var CheckList = class_CheckRepository.GetClassStudentHoursListForOrderMonth(userInfo.Group_Id, orderIds);//使用月份统计的 方便下面每月消费课时计算
//查询订单下所有学员信息
var glist = order_GuestRepository.GetOrderGuestListRepository(new RB_Order_Guest_ViewModel() { Group_Id = userInfo.Group_Id, OrderIds = orderIds });
//查询这些订单 已发放提成记录
var dlist = sell_Commission_DetailsRepository.GetList(new RB_Sell_Commission_Details_ViewModel() { Group_Id = userInfo.Group_Id, OrderIds = orderIds });
#endregion
List<RB_Sell_Commission_Details_ViewModel> CurrentList = new List<RB_Sell_Commission_Details_ViewModel>();//当期的提成数据
List<RB_Order_ViewModel> UpdateOrderList = new List<RB_Order_ViewModel>();// 只记录应发总金额
foreach (var item in orderList)
{
if (item.EnterID == item.HelpEnterId)
{
item.HelpEnterId = 0;
}
#region 当前已发提成
decimal ClassCommissioned = dlist.Where(x => x.OrderId == item.OrderId).Sum(x => x.CurrentPeriodMoney);
decimal SaleCommissioned = dlist.Where(x => x.OrderId == item.OrderId && x.UserId == item.EnterID).Sum(x => x.CurrentPeriodMoney);
decimal TeacherCommissioned = dlist.Where(x => x.OrderId == item.OrderId && x.UserId == item.HelpEnterId).Sum(x => x.CurrentPeriodMoney);
decimal ExtraCommissioned = dlist.Where(x => x.OrderId == item.OrderId).Sum(x => x.CurrentExtraMoney);
#endregion
var classModel = clist.Where(x => x.ClassId == item.ClassId).FirstOrDefault();
if (classModel == null) { break; }
int EnrollType = item.RenewOrderId > 0 ? 2 : 1;
var ruleModel = rulelist.Where(x => x.ClassType == classModel.ClassType && x.EnrollType == EnrollType).FirstOrDefault();//该订单适用规则
#region 订单应发提成 (不包括 额外提成)
decimal YFCommission = 0;
if (item.CommissionType == item.CommissionTypeTH)
{
if (item.CommissionType == 1)
{
YFCommission = item.CommissionRate + item.CommissionRateTH;// 固定金额 暂时只做人民币;
}
else
{
YFCommission = Math.Round((item.PreferPrice - item.DiscountMoney + item.LessPrice) * (item.CommissionRate + item.CommissionRateTH) / 100, 2, MidpointRounding.AwayFromZero);
}
}
else
{
if (item.CommissionType == 1)
{
YFCommission = item.CommissionRate;// 固定金额 暂时只做人民币;
}
else
{
YFCommission = Math.Round((item.PreferPrice - item.DiscountMoney + item.LessPrice) * item.CommissionRate / 100, 2, MidpointRounding.AwayFromZero);
}
if (item.CommissionTypeTH == 1)
{
YFCommission += item.CommissionRateTH;// 固定金额 暂时只做人民币;
}
else
{
YFCommission += Math.Round((item.PreferPrice - item.DiscountMoney + item.LessPrice) * item.CommissionRateTH / 100, 2, MidpointRounding.AwayFromZero);
}
}
if (item.LessPrice > 0)
{
YFCommission -= item.LessPrice;
}
if (YFCommission == 0 && ClassCommissioned == 0)
{
break;
}
#endregion
//销售 + 老师 应发多少提成
decimal saleMoney = 0, teacherMoney = 0;
if (item.HelpEnterId > 0)
{
saleMoney = Math.Round(YFCommission * ruleModel.SalesRate / 100, 2, MidpointRounding.AwayFromZero);
teacherMoney = Math.Round(YFCommission * (100 - ruleModel.SalesRate) / 100, 2, MidpointRounding.AwayFromZero);
if (saleMoney + teacherMoney < YFCommission)
{
saleMoney += YFCommission - saleMoney - teacherMoney;//多余的 加到销售提成里
}
}
else
{
saleMoney = YFCommission;
}
#region 计算课时
var g3list = glist.Where(x => x.OrderId == item.OrderId).ToList();
//查询这几个学生累计课时
decimal TotalLearn = CheckList.Where(x => x.OrderId == item.OrderId && x.MonthDate <= Convert.ToDateTime(EDate)).Sum(x => x.CurrentDeductionHours);//累计消费课时 (要查询当前发放提成日期) ld 07-02调整
decimal TotalHours = g3list.Sum(x => x.TotalHours);// 直接根据学生表 总课时计算 (必须签到课时 = 总课时 才发完最后一个月的)
#endregion
#region 额外提成
decimal ExtraCommission = item.ExtraRewardMoney - item.ExtraDeductMoney - item.ExtraCommissionMoney;//额外需要发放的提成
//额外奖励 直接发给销售
if (ExtraCommission != 0)
{
CurrentList.Add(new RB_Sell_Commission_Details_ViewModel()
{
UserId = item.EnterID,
OrderId = item.OrderId,
CurrentExtraMoney = ExtraCommission,
Remark = ExtraCommission > 0 ? "额外奖励" + ExtraCommission + "金额" : "额外扣除" + (ExtraCommission) + "金额",
CurrentPeriodMoney = 0,
ClassId = item.ClassId,
ClassType = classModel.ClassType,
PeriodId = 0,
Periods = month,
CommissionMoney = saleMoney,
OtherMoney = item.ExtraRewardMoney,
BackMoney = item.ExtraDeductMoney,
StudentCount = item.GuestNum,
TotalHours = Convert.ToInt32(TotalHours),
TotalLearn = Convert.ToInt32(TotalLearn),
CurrentHours = -1,//这种只额外奖励的 没有课时消费
IsContinueClass = item.RenewOrderId > 0 ? 1 : 0,
GiveOutMoney = SaleCommissioned + ExtraCommissioned,
SalesRate = 0,
TeacherRate = 0,
AssistantRate = 0,
FirstRate = 0,
DeductionMoney = 0,
DeductionExtraMoney = 0
});
var upmodel = UpdateOrderList.Where(x => x.OrderId == item.OrderId).FirstOrDefault();
if (upmodel == null)
{
UpdateOrderList.Add(new RB_Order_ViewModel()
{
OrderId = item.OrderId,
CommissionMoney = YFCommission + (item.ExtraRewardMoney - item.ExtraDeductMoney)
});
}
}
#endregion
if (YFCommission == ClassCommissioned)
{
//正好提成已发放完成 直接更新 订单 已发放Ok
var upmodel = UpdateOrderList.Where(x => x.OrderId == item.OrderId).FirstOrDefault();
if (upmodel == null)
{
UpdateOrderList.Add(new RB_Order_ViewModel()
{
OrderId = item.OrderId,
CommissionMoney = YFCommission + (item.ExtraRewardMoney - item.ExtraDeductMoney)
});
}
}
else if (YFCommission < ClassCommissioned)
{
//可能因为调整应收 导致提成多发 需要补回来 补的时候 又分 销售+老师
if (item.HelpEnterId > 0)
{
if (saleMoney < SaleCommissioned)
{
decimal saleMoney1 = saleMoney - SaleCommissioned;
CurrentList.Add(new RB_Sell_Commission_Details_ViewModel()
{
UserId = item.EnterID,
OrderId = item.OrderId,
CurrentPeriodMoney = saleMoney1,
IsDeduction = 1,
Remark = "当前提成应发:" + saleMoney + ",已实发:" + SaleCommissioned + ",销售应补金额:" + saleMoney1,
ClassId = item.ClassId,
ClassType = classModel.ClassType,
PeriodId = 0,
Periods = month,
CommissionMoney = saleMoney,
OtherMoney = item.ExtraRewardMoney,
BackMoney = item.ExtraDeductMoney,
StudentCount = item.GuestNum,
TotalHours = Convert.ToInt32(TotalHours),
TotalLearn = Convert.ToInt32(TotalLearn),
CurrentHours = -1,//这种补提成的 没有课时消费
IsContinueClass = item.RenewOrderId > 0 ? 1 : 0,
GiveOutMoney = SaleCommissioned + ExtraCommissioned,
SalesRate = 0,
TeacherRate = 0,
AssistantRate = 0,
FirstRate = 0,
DeductionMoney = 0,
DeductionExtraMoney = 0
});
}
if (teacherMoney < TeacherCommissioned)
{
decimal teacherMoney1 = teacherMoney - TeacherCommissioned;
CurrentList.Add(new RB_Sell_Commission_Details_ViewModel()
{
UserId = item.HelpEnterId,
OrderId = item.OrderId,
CurrentPeriodMoney = teacherMoney1,
IsDeduction = 1,
Remark = "当前提成应发:" + teacherMoney + ",已实发:" + TeacherCommissioned + ",教师应补金额:" + teacherMoney1,
ClassId = item.ClassId,
ClassType = classModel.ClassType,
PeriodId = 0,
Periods = month,
CommissionMoney = teacherMoney,
OtherMoney = item.ExtraRewardMoney,
BackMoney = item.ExtraDeductMoney,
StudentCount = item.GuestNum,
TotalHours = Convert.ToInt32(TotalHours),
TotalLearn = Convert.ToInt32(TotalLearn),
CurrentHours = -1,//这种补提成的 没有课时消费
IsContinueClass = item.RenewOrderId > 0 ? 1 : 0,
GiveOutMoney = TeacherCommissioned,
SalesRate = 0,
TeacherRate = 0,
AssistantRate = 0,
FirstRate = 0,
DeductionMoney = 0,
DeductionExtraMoney = 0
});
}
}
else
{
//销售全占
decimal BMoney = YFCommission - ClassCommissioned;
CurrentList.Add(new RB_Sell_Commission_Details_ViewModel()
{
UserId = item.EnterID,
OrderId = item.OrderId,
CurrentPeriodMoney = BMoney,
IsDeduction = 1,
Remark = "当前提成应发:" + YFCommission + ",已实发:" + ClassCommissioned + ",销售应补金额:" + BMoney,
CurrentExtraMoney = 0,
ClassId = item.ClassId,
ClassType = classModel.ClassType,
PeriodId = 0,
Periods = month,
CommissionMoney = YFCommission,
OtherMoney = item.ExtraRewardMoney,
BackMoney = item.ExtraDeductMoney,
StudentCount = item.GuestNum,
TotalHours = Convert.ToInt32(TotalHours),
TotalLearn = Convert.ToInt32(TotalLearn),
CurrentHours = -1,//这种补提成的 没有课时消费
IsContinueClass = item.RenewOrderId > 0 ? 1 : 0,
GiveOutMoney = SaleCommissioned + ExtraCommissioned,
SalesRate = 0,
TeacherRate = 0,
AssistantRate = 0,
FirstRate = 0,
DeductionMoney = 0,
DeductionExtraMoney = 0
});
}
var upmodel = UpdateOrderList.Where(x => x.OrderId == item.OrderId).FirstOrDefault();
if (upmodel == null)
{
UpdateOrderList.Add(new RB_Order_ViewModel()
{
OrderId = item.OrderId,
CommissionMoney = YFCommission + (item.ExtraRewardMoney - item.ExtraDeductMoney)
});
}
}
else
{
#region 班级提成
//查询是否订单下所有学员都已退学
var g2list = glist.Where(x => x.OrderId == item.OrderId).ToList();
if (g2list.Where(x => x.GuestState == GuestStateEnum.DropOut).Count() == item.GuestNum)
{
//所有学生都退学了 直接计算提成 全部一次性发放
if (item.HelpEnterId > 0)
{
if (saleMoney > SaleCommissioned)
{
decimal saleMoney1 = saleMoney - SaleCommissioned;
CurrentList.Add(new RB_Sell_Commission_Details_ViewModel()
{
UserId = item.EnterID,
OrderId = item.OrderId,
CurrentPeriodMoney = saleMoney1,
Remark = "当前订单学生退学,直接发放剩余提成:" + saleMoney1,
ClassId = item.ClassId,
ClassType = classModel.ClassType,
PeriodId = 0,
Periods = month,
CommissionMoney = saleMoney,
OtherMoney = item.ExtraRewardMoney,
BackMoney = item.ExtraDeductMoney,
StudentCount = item.GuestNum,
TotalHours = Convert.ToInt32(TotalHours),
TotalLearn = Convert.ToInt32(TotalLearn),
CurrentHours = -1,//这种都退学的 没有课时消费
IsContinueClass = item.RenewOrderId > 0 ? 1 : 0,
GiveOutMoney = SaleCommissioned + ExtraCommissioned,
SalesRate = 0,
TeacherRate = 0,
AssistantRate = 0,
FirstRate = 0,
DeductionMoney = 0,
DeductionExtraMoney = 0
});
}
if (teacherMoney < TeacherCommissioned)
{
decimal teacherMoney1 = teacherMoney - TeacherCommissioned;
CurrentList.Add(new RB_Sell_Commission_Details_ViewModel()
{
UserId = item.HelpEnterId,
OrderId = item.OrderId,
CurrentPeriodMoney = teacherMoney1,
Remark = "当前订单学生退学,直接发放剩余提成:" + teacherMoney1,
ClassId = item.ClassId,
ClassType = classModel.ClassType,
PeriodId = 0,
Periods = month,
CommissionMoney = teacherMoney,
OtherMoney = item.ExtraRewardMoney,
BackMoney = item.ExtraDeductMoney,
StudentCount = item.GuestNum,
TotalHours = Convert.ToInt32(TotalHours),
TotalLearn = Convert.ToInt32(TotalLearn),
CurrentHours = -1,//这种都退学的 没有课时消费
IsContinueClass = item.RenewOrderId > 0 ? 1 : 0,
GiveOutMoney = TeacherCommissioned + ExtraCommissioned,
SalesRate = 0,
TeacherRate = 0,
AssistantRate = 0,
FirstRate = 0,
DeductionMoney = 0,
DeductionExtraMoney = 0
});
}
}
else
{
//销售全占
decimal BMoney = YFCommission - ClassCommissioned;
CurrentList.Add(new RB_Sell_Commission_Details_ViewModel()
{
UserId = item.EnterID,
OrderId = item.OrderId,
CurrentPeriodMoney = BMoney,
Remark = "当前订单学生退学,直接发放剩余提成:" + BMoney,
ClassId = item.ClassId,
ClassType = classModel.ClassType,
PeriodId = 0,
Periods = month,
CommissionMoney = YFCommission,
OtherMoney = item.ExtraRewardMoney,
BackMoney = item.ExtraDeductMoney,
StudentCount = item.GuestNum,
TotalHours = Convert.ToInt32(TotalHours),
TotalLearn = Convert.ToInt32(TotalLearn),
CurrentHours = -1,//这种补提成的 没有课时消费
IsContinueClass = item.RenewOrderId > 0 ? 1 : 0,
GiveOutMoney = SaleCommissioned + ExtraCommissioned,
SalesRate = 0,
TeacherRate = 0,
AssistantRate = 0,
FirstRate = 0,
DeductionMoney = 0,
DeductionExtraMoney = 0
});
}
var upmodel = UpdateOrderList.Where(x => x.OrderId == item.OrderId).FirstOrDefault();
if (upmodel == null)
{
UpdateOrderList.Add(new RB_Order_ViewModel()
{
OrderId = item.OrderId,
CommissionMoney = YFCommission + (item.ExtraRewardMoney - item.ExtraDeductMoney)
});
}
}
else
{
//验证是否满足 上课课时超15%
if (TotalLearn > TotalHours * Convert.ToDecimal(Config.SellCommissionFFBL))
{
//查询该订单 已发提成记录
//先查询销售的
var salelist = dlist.Where(x => x.OrderId == item.OrderId && x.UserId == item.EnterID).ToList();
if (salelist.Any())
{
//SetCommissionNext(month, CheckList, CurrentList, item, classModel, TotalHours, saleMoney, salelist, item.EnterID, true);
}
else
{
//直接 发首次提成
decimal FirstMoney = Math.Round(saleMoney * ruleModel.FirstRate / 100, 2, MidpointRounding.AwayFromZero);
CurrentList.Add(new RB_Sell_Commission_Details_ViewModel()
{
UserId = item.EnterID,
OrderId = item.OrderId,
CurrentPeriodMoney = FirstMoney,
IsFirstCommission = 1,
Remark = "首次发放提成比例:" + ruleModel.FirstRate,
ClassId = item.ClassId,
ClassType = classModel.ClassType,
PeriodId = 0,
Periods = month,
CommissionMoney = saleMoney,
OtherMoney = item.ExtraRewardMoney,
BackMoney = item.ExtraDeductMoney,
StudentCount = item.GuestNum,
TotalHours = Convert.ToInt32(TotalHours),
TotalLearn = Convert.ToInt32(TotalLearn),
CurrentHours = -1,//这种首次发放提成的 没有课时消费
IsContinueClass = item.RenewOrderId > 0 ? 1 : 0,
GiveOutMoney = SaleCommissioned + ExtraCommissioned,
SalesRate = ruleModel.SalesRate,
TeacherRate = ruleModel.TeacherRate,
AssistantRate = ruleModel.AssistantRate,
FirstRate = ruleModel.FirstRate,
DeductionMoney = 0,
DeductionExtraMoney = 0
});
}
if (item.HelpEnterId > 0)
{
//给老师发提成
var teacherlist = dlist.Where(x => x.OrderId == item.OrderId && x.UserId == item.HelpEnterId).ToList();
if (teacherlist.Any())
{
//SetCommissionNext(month, CheckList, CurrentList, item, classModel, TotalHours, teacherMoney, teacherlist, item.HelpEnterId, false);
}
else
{
//直接 发首次提成
decimal FirstMoney = Math.Round(teacherMoney * ruleModel.FirstRate / 100, 2, MidpointRounding.AwayFromZero);
CurrentList.Add(new RB_Sell_Commission_Details_ViewModel()
{
UserId = item.HelpEnterId,
OrderId = item.OrderId,
CurrentPeriodMoney = FirstMoney,
IsFirstCommission = 1,
Remark = "首次发放提成比例:" + ruleModel.FirstRate,
ClassId = item.ClassId,
ClassType = classModel.ClassType,
PeriodId = 0,
Periods = month,
CommissionMoney = teacherMoney,
OtherMoney = item.ExtraRewardMoney,
BackMoney = item.ExtraDeductMoney,
StudentCount = item.GuestNum,
TotalHours = Convert.ToInt32(TotalHours),
TotalLearn = Convert.ToInt32(TotalLearn),
CurrentHours = -1,//这种首次发的 没有课时消费
IsContinueClass = item.RenewOrderId > 0 ? 1 : 0,
GiveOutMoney = TeacherCommissioned + ExtraCommissioned,
SalesRate = ruleModel.SalesRate,
TeacherRate = ruleModel.TeacherRate,
AssistantRate = ruleModel.AssistantRate,
FirstRate = ruleModel.FirstRate,
DeductionMoney = 0,
DeductionExtraMoney = 0
});
}
}
var upmodel = UpdateOrderList.Where(x => x.OrderId == item.OrderId).FirstOrDefault();
if (upmodel == null)
{
UpdateOrderList.Add(new RB_Order_ViewModel()
{
OrderId = item.OrderId,
CommissionMoney = YFCommission + (item.ExtraRewardMoney - item.ExtraDeductMoney)
});
}
}
}
#endregion
}
}
#region 开始遍历
List<RB_Sell_Commission_Deduction_ViewModel> DeductionList = new List<RB_Sell_Commission_Deduction_ViewModel>();//抵扣详情
var ExtraList = CurrentList.Where(x => x.CurrentExtraMoney > 0).ToList();//额外提成的
var NorList = CurrentList.Where(x => x.IsDeduction != 1 && x.CurrentExtraMoney == 0).ToList();//正常的
var DeList = CurrentList.Where(x => x.IsDeduction == 1).ToList();//需抵扣的 负数存的
var DeExtraList = CurrentList.Where(x => x.CurrentExtraMoney < 0).ToList();//额外奖励 需抵扣的 负数存的
//先把正常订单 额外奖励加上去
foreach (var qitem in ExtraList)
{
var norModel = NorList.Where(x => x.OrderId == qitem.OrderId && x.UserId == qitem.UserId).FirstOrDefault();
if (norModel == null)
{
NorList.Add(new RB_Sell_Commission_Details_ViewModel()
{
UserId = qitem.UserId,
OrderId = qitem.OrderId,
CurrentPeriodMoney = 0,
CurrentExtraMoney = qitem.CurrentExtraMoney,
AssistantRate = qitem.AssistantRate,
Remark = qitem.Remark,
DeductionExtraMoney = qitem.DeductionExtraMoney,
BackMoney = qitem.BackMoney,
ClassId = qitem.ClassId,
ClassName = qitem.ClassName,
ClassType = qitem.ClassType,
ClassTypeName = qitem.ClassTypeName,
CommissionMoney = qitem.CommissionMoney,
CurrentHours = qitem.CurrentHours,
DeductionMoney = qitem.DeductionMoney,
DeductionOrder = qitem.DeductionOrder,
Depart_Id = qitem.Depart_Id,
DeptName = qitem.DeptName,
FirstRate = qitem.FirstRate,
GiveOutMoney = qitem.GiveOutMoney,
Group_Id = qitem.Group_Id,
Id = qitem.Id,
IsContinueClass = qitem.IsContinueClass,
IsDeduction = qitem.IsDeduction,
IsFirstCommission = qitem.IsFirstCommission,
OrderIds = qitem.OrderIds,
OtherMoney = qitem.OtherMoney,
PeriodId = qitem.PeriodId,
Periods = qitem.Periods,
SalesRate = qitem.SalesRate,
School_Id = qitem.School_Id,
StudentCount = qitem.StudentCount,
TeacherRate = qitem.TeacherRate,
TotalHours = qitem.TotalHours,
TotalLearn = qitem.TotalLearn
});
}
else
{
norModel.CurrentExtraMoney = qitem.CurrentExtraMoney;
norModel.Remark += ";" + qitem.Remark;
}
}
//遍历班级提成需抵扣的
foreach (var xdkitem in DeList)
{
var nordList = NorList.Where(x => x.UserId == xdkitem.UserId).OrderBy(x => x.OrderId).ToList();
if (nordList.Any())
{
//从订单一次开始抵扣 抵扣了之后 原金额不动, 抵扣字段增加
foreach (var dkitem in nordList)
{
if (xdkitem.CurrentPeriodMoney + xdkitem.DeductionMoney >= 0)
{
//补交完了 继续下一个
break;
}
if ((dkitem.CurrentPeriodMoney + dkitem.DeductionMoney) <= 0 && dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney <= 0)
{
//已经没有钱可以抵扣了 继续下一个 (班级提成 + 额外奖励)
continue;
}
if ((xdkitem.CurrentPeriodMoney + xdkitem.DeductionMoney) + (dkitem.CurrentPeriodMoney + dkitem.DeductionMoney) >= 0)
{
//全部抵扣 用需抵扣
DeductionList.Add(new RB_Sell_Commission_Deduction_ViewModel()
{
OrderId = xdkitem.OrderId,
SourceId = dkitem.OrderId,
Type = 1,
DeductionMoney = 0 - (xdkitem.CurrentPeriodMoney + xdkitem.DeductionMoney),
DeductionExtraMoney = 0,
Group_Id = userInfo.Group_Id,
Remark = ""
});
if (dkitem.OrderId != xdkitem.OrderId)
dkitem.Remark += "; 帮订单" + xdkitem.OrderId + " 抵扣" + (0 - (xdkitem.CurrentPeriodMoney + xdkitem.DeductionMoney));
xdkitem.Remark += "; 订单" + dkitem.OrderId + " 帮补交" + (0 - (xdkitem.CurrentPeriodMoney + xdkitem.DeductionMoney));
//更新数据
dkitem.DeductionMoney += xdkitem.CurrentPeriodMoney + xdkitem.DeductionMoney;//存负数 表抵扣了这么多
xdkitem.DeductionMoney += 0 - (xdkitem.CurrentPeriodMoney + xdkitem.DeductionMoney);//正数
}
else
{
if ((dkitem.CurrentPeriodMoney + dkitem.DeductionMoney) > 0)
{
//部分抵扣 用正常的
DeductionList.Add(new RB_Sell_Commission_Deduction_ViewModel()
{
OrderId = xdkitem.OrderId,
SourceId = dkitem.OrderId,
Type = 1,
DeductionMoney = (dkitem.CurrentPeriodMoney + dkitem.DeductionMoney),
DeductionExtraMoney = 0,
Group_Id = userInfo.Group_Id,
Remark = ""
});
xdkitem.Remark += "; 订单" + dkitem.OrderId + " 帮补交" + (dkitem.CurrentPeriodMoney + dkitem.DeductionMoney);
if (dkitem.OrderId != xdkitem.OrderId)
dkitem.Remark += "; 帮订单" + xdkitem.OrderId + " 抵扣" + (dkitem.CurrentPeriodMoney + dkitem.DeductionMoney);
//更新数据
xdkitem.DeductionMoney += (dkitem.CurrentPeriodMoney + dkitem.DeductionMoney);//正数
dkitem.DeductionMoney += 0 - (dkitem.CurrentPeriodMoney + dkitem.DeductionMoney);//存负数 表抵扣了这么多
}
//继续抵扣奖励
if (dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney > 0)
{
if ((xdkitem.CurrentPeriodMoney + xdkitem.DeductionMoney) + (dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney) >= 0)
{
//可以抵扣完
DeductionList.Add(new RB_Sell_Commission_Deduction_ViewModel()
{
OrderId = xdkitem.OrderId,
SourceId = dkitem.OrderId,
Type = 1,
DeductionExtraMoney = 0 - (xdkitem.CurrentPeriodMoney + xdkitem.DeductionMoney),
DeductionMoney = 0,
Group_Id = userInfo.Group_Id,
Remark = ""
});
if (dkitem.OrderId != xdkitem.OrderId)
dkitem.Remark += "; 使用额外奖励帮订单" + xdkitem.OrderId + " 抵扣" + (0 - (xdkitem.CurrentPeriodMoney + xdkitem.DeductionMoney));
xdkitem.Remark += "; 订单" + dkitem.OrderId + " 使用额外奖励帮补交" + (0 - (xdkitem.CurrentPeriodMoney + xdkitem.DeductionMoney));
//更新数据
dkitem.DeductionExtraMoney += xdkitem.CurrentPeriodMoney + xdkitem.DeductionMoney;//存负数 表抵扣了这么多
xdkitem.DeductionMoney += 0 - (xdkitem.CurrentPeriodMoney + xdkitem.DeductionMoney);//正数
}
else
{
if ((dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney) > 0)
{
//部分抵扣 用正常的
DeductionList.Add(new RB_Sell_Commission_Deduction_ViewModel()
{
OrderId = xdkitem.OrderId,
SourceId = dkitem.OrderId,
Type = 1,
DeductionMoney = (dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney),
DeductionExtraMoney = 0,
Group_Id = userInfo.Group_Id,
Remark = ""
});
xdkitem.Remark += "; 订单" + dkitem.OrderId + " 使用额外奖励帮补交" + (dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney);
if (dkitem.OrderId != xdkitem.OrderId)
dkitem.Remark += "; 使用额外奖励帮订单" + xdkitem.OrderId + " 抵扣" + (dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney);
//更新数据
xdkitem.DeductionMoney += (dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney);//正数
dkitem.DeductionExtraMoney += 0 - (dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney);//存负数 表抵扣了这么多
}
}
}
}
}
}
}
//遍历额外奖励需抵扣的 这个一般应该不会有 概率非常小
foreach (var xdkitem in DeExtraList)
{
var nordList = NorList.Where(x => x.UserId == xdkitem.UserId).OrderBy(x => x.OrderId).ToList();
if (nordList.Any())
{
//从订单一次开始抵扣 抵扣了之后 原金额不动, 抵扣字段增加
foreach (var dkitem in nordList)
{
if (xdkitem.CurrentExtraMoney + xdkitem.DeductionExtraMoney >= 0)
{
//补交完了 继续下一个
break;
}
if ((dkitem.CurrentPeriodMoney + dkitem.DeductionMoney) <= 0 && dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney <= 0)
{
//已经没有钱可以抵扣了 继续下一个 (班级提成 + 额外奖励)
continue;
}
if ((xdkitem.CurrentExtraMoney + xdkitem.DeductionExtraMoney) + (dkitem.CurrentPeriodMoney + dkitem.DeductionMoney) >= 0)
{
//全部抵扣 用需抵扣
DeductionList.Add(new RB_Sell_Commission_Deduction_ViewModel()
{
OrderId = xdkitem.OrderId,
SourceId = dkitem.OrderId,
Type = 1,
DeductionMoney = 0 - (xdkitem.CurrentExtraMoney + xdkitem.DeductionExtraMoney),
DeductionExtraMoney = 0,
Group_Id = userInfo.Group_Id,
Remark = ""
});
if (dkitem.OrderId != xdkitem.OrderId)
dkitem.Remark += "; 帮订单" + xdkitem.OrderId + " 抵扣" + (0 - (xdkitem.CurrentExtraMoney + xdkitem.DeductionExtraMoney));
xdkitem.Remark += "; 订单" + dkitem.OrderId + " 帮补交" + (0 - (xdkitem.CurrentExtraMoney + xdkitem.DeductionExtraMoney));
//更新数据
dkitem.DeductionMoney += xdkitem.CurrentExtraMoney + xdkitem.DeductionExtraMoney;//存负数 表抵扣了这么多
xdkitem.DeductionExtraMoney += 0 - (xdkitem.CurrentExtraMoney + xdkitem.DeductionExtraMoney);//正数
}
else
{
if ((dkitem.CurrentPeriodMoney + dkitem.DeductionMoney) > 0)
{
//部分抵扣 用正常的
DeductionList.Add(new RB_Sell_Commission_Deduction_ViewModel()
{
OrderId = xdkitem.OrderId,
SourceId = dkitem.OrderId,
Type = 1,
DeductionMoney = (dkitem.CurrentPeriodMoney + dkitem.DeductionMoney),
DeductionExtraMoney = 0,
Group_Id = userInfo.Group_Id,
Remark = ""
});
xdkitem.Remark += "; 订单" + dkitem.OrderId + " 帮补交" + (dkitem.CurrentPeriodMoney + dkitem.DeductionMoney);
if (dkitem.OrderId != xdkitem.OrderId)
dkitem.Remark += "; 帮订单" + xdkitem.OrderId + " 抵扣" + (dkitem.CurrentPeriodMoney + dkitem.DeductionMoney);
//更新数据
xdkitem.DeductionExtraMoney += (dkitem.CurrentPeriodMoney + dkitem.DeductionMoney);//正数
dkitem.DeductionMoney += 0 - (dkitem.CurrentPeriodMoney + dkitem.DeductionMoney);//存负数 表抵扣了这么多
}
//继续抵扣奖励
if (dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney > 0)
{
if ((xdkitem.CurrentExtraMoney + xdkitem.DeductionExtraMoney) + (dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney) >= 0)
{
//可以抵扣完
DeductionList.Add(new RB_Sell_Commission_Deduction_ViewModel()
{
OrderId = xdkitem.OrderId,
SourceId = dkitem.OrderId,
Type = 1,
DeductionExtraMoney = 0 - (xdkitem.CurrentExtraMoney + xdkitem.DeductionExtraMoney),
DeductionMoney = 0,
Group_Id = userInfo.Group_Id,
Remark = ""
});
if (dkitem.OrderId != xdkitem.OrderId)
dkitem.Remark += "; 使用额外奖励帮订单" + xdkitem.OrderId + " 抵扣" + (0 - (xdkitem.CurrentExtraMoney + xdkitem.DeductionExtraMoney));
xdkitem.Remark += "; 订单" + dkitem.OrderId + " 使用额外奖励帮补交" + (0 - (xdkitem.CurrentExtraMoney + xdkitem.DeductionExtraMoney));
//更新数据
dkitem.DeductionExtraMoney += xdkitem.CurrentExtraMoney + xdkitem.DeductionExtraMoney;//存负数 表抵扣了这么多
xdkitem.DeductionExtraMoney += 0 - (xdkitem.CurrentExtraMoney + xdkitem.DeductionExtraMoney);//正数
}
else
{
if ((dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney) > 0)
{
//部分抵扣 用正常的
DeductionList.Add(new RB_Sell_Commission_Deduction_ViewModel()
/// <summary>
/// 获取销售提成根据用户id
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Sell_Achievements_Details_ViewModel> GetSellAchievementsByUser(RB_Sell_Achievements_Details_ViewModel demodel)
{
OrderId = xdkitem.OrderId,
SourceId = dkitem.OrderId,
Type = 1,
DeductionMoney = (dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney),
DeductionExtraMoney = 0,
Group_Id = userInfo.Group_Id,
Remark = ""
});
xdkitem.Remark += "; 订单" + dkitem.OrderId + " 使用额外奖励帮补交" + (dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney);
if (dkitem.OrderId != xdkitem.OrderId)
dkitem.Remark += "; 使用额外奖励帮订单" + xdkitem.OrderId + " 抵扣" + (dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney);
//更新数据
xdkitem.DeductionExtraMoney += (dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney);//正数
dkitem.DeductionExtraMoney += 0 - (dkitem.CurrentExtraMoney + dkitem.DeductionExtraMoney);//存负数 表抵扣了这么多
}
}
}
}
}
}
return sell_Achievements_DetailsRepository.GetSellCommissionByUser(demodel);
}
//这里 DeList DeExtraList 可能会有重复数据 这里需要排除 ----------------------------------
foreach (var qitem in DeList)
{
qitem.CurrentPeriodMoney = 0 - qitem.DeductionMoney;//直接赋值 抵扣的负数 这样子 当期应发=0
var norModel = NorList.Where(x => x.OrderId == qitem.OrderId && x.UserId == qitem.UserId).FirstOrDefault();
if (norModel == null)
/// <summary>
/// 确认销售提成
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public bool UpdateSureSellAchievements(int UserId, int Id)
{
NorList.Add(new RB_Sell_Commission_Details_ViewModel()
IDictionary<string, object> fileds = new Dictionary<string, object>
{
UserId = qitem.UserId,
OrderId = qitem.OrderId,
CurrentPeriodMoney = qitem.CurrentPeriodMoney,
CurrentExtraMoney = qitem.CurrentExtraMoney,
DeductionMoney = qitem.DeductionMoney,
DeductionExtraMoney = qitem.DeductionExtraMoney,
Remark = qitem.Remark,
{ nameof(RB_Sell_Commission_Details_ViewModel.SureStatus), 1 },
AssistantRate = qitem.AssistantRate,
BackMoney = qitem.BackMoney,
ClassId = qitem.ClassId,
ClassName = qitem.ClassName,
ClassType = qitem.ClassType,
ClassTypeName = qitem.ClassTypeName,
CommissionMoney = qitem.CommissionMoney,
CurrentHours = qitem.CurrentHours,
DeductionOrder = qitem.DeductionOrder,
Depart_Id = qitem.Depart_Id,
DeptName = qitem.DeptName,
FirstRate = qitem.FirstRate,
GiveOutMoney = qitem.GiveOutMoney,
Group_Id = qitem.Group_Id,
Id = qitem.Id,
IsContinueClass = qitem.IsContinueClass,
IsDeduction = qitem.IsDeduction,
IsFirstCommission = qitem.IsFirstCommission,
OrderIds = qitem.OrderIds,
OtherMoney = qitem.OtherMoney,
PeriodId = qitem.PeriodId,
Periods = qitem.Periods,
SalesRate = qitem.SalesRate,
School_Id = qitem.School_Id,
StudentCount = qitem.StudentCount,
TeacherRate = qitem.TeacherRate,
TotalHours = qitem.TotalHours,
TotalLearn = qitem.TotalLearn
});
}
else
};
IList<WhereHelper> auditrecordWhereHelpers = new List<WhereHelper>
{
if (qitem.OrderId == norModel.OrderId)
new WhereHelper()
{
norModel.CurrentPeriodMoney = qitem.CurrentPeriodMoney;
norModel.DeductionMoney = qitem.DeductionMoney;
norModel.Remark += ";" + qitem.Remark;
}
else
FiledName = nameof(RB_Sell_Commission_Details_ViewModel.Id),
FiledValue = Id,
OperatorEnum = OperatorEnum.Equal
},
new WhereHelper()
{
norModel.CurrentPeriodMoney += qitem.CurrentPeriodMoney;
norModel.CurrentExtraMoney += qitem.CurrentExtraMoney;
norModel.DeductionMoney += qitem.DeductionMoney;
norModel.DeductionExtraMoney += qitem.DeductionExtraMoney;
norModel.Remark += ";" + qitem.Remark;
}
FiledName = nameof(RB_Sell_Commission_Details_ViewModel.UserId),
FiledValue = UserId,
OperatorEnum = OperatorEnum.Equal
}
};
return sell_Achievements_DetailsRepository.Update(fileds, auditrecordWhereHelpers);
}
foreach (var qitem in DeExtraList)
{
qitem.CurrentExtraMoney = 0 - qitem.DeductionExtraMoney;//直接赋值 抵扣的负数 这样子 当期应发=0
var norModel = NorList.Where(x => x.OrderId == qitem.OrderId && x.UserId == qitem.UserId).FirstOrDefault();
if (norModel == null)
/// <summary>
/// 获取提成统计
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Sell_Achievements_Details_ViewModel> GetSellAchievementsStatisticsPageList(int pageIndex, int pageSize, out long count, RB_Sell_Achievements_Details_ViewModel dmodel)
{
NorList.Add(new RB_Sell_Commission_Details_ViewModel()
var list = sell_Achievements_DetailsRepository.GetPageList(pageIndex, pageSize, out count, dmodel);
if (list.Any())
{
UserId = qitem.UserId,
OrderId = qitem.OrderId,
CurrentPeriodMoney = qitem.CurrentPeriodMoney,
CurrentExtraMoney = qitem.CurrentExtraMoney,
DeductionMoney = qitem.DeductionMoney,
DeductionExtraMoney = qitem.DeductionExtraMoney,
Remark = qitem.Remark,
//查询用户 部门 校区
string userIds = string.Join(",", list.Select(x => x.UserId).Distinct());
string deptIds = string.Join(",", list.Select(x => x.Depart_Id).Distinct());
string schoolIds = string.Join(",", list.Select(x => x.School_Id).Distinct());
var ulist = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { Group_Id = dmodel.Group_Id, QIds = userIds });
var dlist = departmentRepository.GetDepartmentListRepository(new RB_Department_ViewModel() { Group_Id = dmodel.Group_Id, QDeptIds = deptIds });
var slist = schoolRepository.GetSchoolListRepository(new RB_School_ViewModel() { Group_Id = dmodel.Group_Id, QSIds = schoolIds });
//查询出所属班级信息
string classIds = string.Join(",", list.Select(x => x.ClassId).Distinct());
var clist = classRepository.GetClassListRepository(new RB_Class_ViewModel() { Group_Id = dmodel.Group_Id, Q_ClassIds = classIds });
//查询班级类型
string classTypeIds = string.Join(",", list.Select(x => x.ClassType).Distinct());
var ctlist = class_TypeRepository.GetClassTypeListRepository(new RB_Class_Type_ViewModel() { Q_CTypeIds = classTypeIds, Group_Id = dmodel.Group_Id });
AssistantRate = qitem.AssistantRate,
BackMoney = qitem.BackMoney,
ClassId = qitem.ClassId,
ClassName = qitem.ClassName,
ClassType = qitem.ClassType,
ClassTypeName = qitem.ClassTypeName,
CommissionMoney = qitem.CommissionMoney,
CurrentHours = qitem.CurrentHours,
DeductionOrder = qitem.DeductionOrder,
Depart_Id = qitem.Depart_Id,
DeptName = qitem.DeptName,
FirstRate = qitem.FirstRate,
GiveOutMoney = qitem.GiveOutMoney,
Group_Id = qitem.Group_Id,
Id = qitem.Id,
IsContinueClass = qitem.IsContinueClass,
IsDeduction = qitem.IsDeduction,
IsFirstCommission = qitem.IsFirstCommission,
OrderIds = qitem.OrderIds,
OtherMoney = qitem.OtherMoney,
PeriodId = qitem.PeriodId,
Periods = qitem.Periods,
SalesRate = qitem.SalesRate,
School_Id = qitem.School_Id,
StudentCount = qitem.StudentCount,
TeacherRate = qitem.TeacherRate,
TotalHours = qitem.TotalHours,
TotalLearn = qitem.TotalLearn
});
}
else
{
if (qitem.OrderId == norModel.OrderId)
{
norModel.CurrentExtraMoney = qitem.CurrentExtraMoney;
norModel.DeductionExtraMoney = qitem.DeductionExtraMoney;
norModel.Remark += ";" + qitem.Remark;
}
else
foreach (var item in list)
{
norModel.CurrentPeriodMoney += qitem.CurrentPeriodMoney;
norModel.CurrentExtraMoney += qitem.CurrentExtraMoney;
norModel.DeductionMoney += qitem.DeductionMoney;
norModel.DeductionExtraMoney += qitem.DeductionExtraMoney;
norModel.Remark += ";" + qitem.Remark;
var umodel = ulist.Where(x => x.Id == item.UserId).FirstOrDefault();
item.UserName = umodel.EmployeeName + (umodel.LeaveStatus == Common.Enum.User.LeaveStatusEnum.Departure ? "离职" : "");
item.DeptName = dlist.Where(x => x.DeptId == item.Depart_Id).FirstOrDefault()?.DeptName ?? "";
item.SchoolName = slist.Where(x => x.SId == item.School_Id).FirstOrDefault()?.SName ?? "";
item.ClassName = clist.Where(x => x.ClassId == item.ClassId).FirstOrDefault()?.ClassName ?? "";
item.ClassNo = clist.Where(x => x.ClassId == item.ClassId).FirstOrDefault()?.ClassNo ?? "";
item.ClassTypeName = ctlist.Where(x => x.CTypeId == item.ClassType).FirstOrDefault()?.CTypeName ?? "";
}
}
return list;
}
#endregion
#region 开始创建
var trans = sell_Commission_PeriodsRepository.DbTransaction;
try
{
int PeriodsId = sell_Commission_PeriodsRepository.Insert(new RB_Sell_Commission_Periods()
{
Id = 0,
CreateBy = userInfo.Id,
CreateTime = DateTime.Now,
Financials = "",
Group_Id = userInfo.Group_Id,
Name = month + "期提成",
Periods = month,
SumPrice = 0
}, trans);
if (PeriodsId > 0)
/// <summary>
/// 获取用户提成明细列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Sell_Achievements_Details_ViewModel> GetSellAchievementsUserDetailList(RB_Sell_Achievements_Details_ViewModel dmodel)
{
foreach (var qitem in NorList)
var list = sell_Achievements_DetailsRepository.GetList(dmodel);
if (list.Any())
{
var userModel = UserList.Where(x => x.Id == qitem.UserId).FirstOrDefault();
qitem.Depart_Id = userModel?.Dept_Id ?? 0;
qitem.School_Id = userModel?.School_Id ?? 0;
qitem.Group_Id = userInfo.Group_Id;
qitem.PeriodId = PeriodsId;
sell_Commission_DetailsRepository.Insert(qitem, trans);
}
#region 屏蔽的
//foreach (var qitem in DeList)
//{
// var userModel = UserList.Where(x => x.Id == qitem.UserId).FirstOrDefault();
// qitem.Depart_Id = userModel?.Dept_Id ?? 0;
// qitem.School_Id = userModel?.School_Id ?? 0;
// qitem.Group_Id = userInfo.Group_Id;
// qitem.PeriodId = PeriodsId;
// qitem.CurrentPeriodMoney = 0 - qitem.DeductionMoney;//直接赋值 抵扣的负数 这样子 当期应发=0
// sell_Commission_DetailsRepository.Insert(qitem, trans);
//}
//foreach (var qitem in DeExtraList)
//{
// var userModel = UserList.Where(x => x.Id == qitem.UserId).FirstOrDefault();
// qitem.Depart_Id = userModel?.Dept_Id ?? 0;
// qitem.School_Id = userModel?.School_Id ?? 0;
// qitem.Group_Id = userInfo.Group_Id;
// qitem.PeriodId = PeriodsId;
// qitem.CurrentExtraMoney = 0 - qitem.DeductionExtraMoney;//直接赋值 抵扣的负数 这样子 当期应发=0
// sell_Commission_DetailsRepository.Insert(qitem, trans);
//}
#endregion
#region 计算累计应发
decimal SumPrice = NorList.Sum(x => x.CurrentPeriodMoney + x.CurrentExtraMoney + x.CurrentExtraMoney + x.DeductionExtraMoney);
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Sell_Commission_Periods.SumPrice),SumPrice}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Sell_Commission_Periods.Id),
FiledValue=PeriodsId,
OperatorEnum=OperatorEnum.Equal
}
};
sell_Commission_PeriodsRepository.Update(keyValues, wheres, trans);
#endregion
//查询用户 部门 校区
string userIds = string.Join(",", list.Select(x => x.UserId).Distinct());
string deptIds = string.Join(",", list.Select(x => x.Depart_Id).Distinct());
string schoolIds = string.Join(",", list.Select(x => x.School_Id).Distinct());
var ulist = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { Group_Id = dmodel.Group_Id, QIds = userIds });
var dlist = departmentRepository.GetDepartmentListRepository(new RB_Department_ViewModel() { Group_Id = dmodel.Group_Id, QDeptIds = deptIds });
var slist = schoolRepository.GetSchoolListRepository(new RB_School_ViewModel() { Group_Id = dmodel.Group_Id, QSIds = schoolIds });
//查询出所属班级信息
string classIds = string.Join(",", list.Select(x => x.ClassId).Distinct());
var clist = classRepository.GetClassListRepository(new RB_Class_ViewModel() { Group_Id = dmodel.Group_Id, Q_ClassIds = classIds });
//查询班级类型
string classTypeIds = string.Join(",", list.Select(x => x.ClassType).Distinct());
var ctlist = class_TypeRepository.GetClassTypeListRepository(new RB_Class_Type_ViewModel() { Q_CTypeIds = classTypeIds, Group_Id = dmodel.Group_Id });
//抵扣的明细
DateTime dtNow = DateTime.Now;
foreach (var qitem in DeductionList)
foreach (var item in list)
{
qitem.PeriodsId = PeriodsId;
qitem.CreateBy = userInfo.Id;
qitem.CreateTime = dtNow;
sell_Commission_DeductionRepository.Insert(qitem, trans);
var umodel = ulist.Where(x => x.Id == item.UserId).FirstOrDefault();
item.UserName = umodel.EmployeeName + (umodel.LeaveStatus == Common.Enum.User.LeaveStatusEnum.Departure ? "离职" : "");
item.DeptName = dlist.Where(x => x.DeptId == item.Depart_Id).FirstOrDefault()?.DeptName ?? "";
item.SchoolName = slist.Where(x => x.SId == item.School_Id).FirstOrDefault()?.SName ?? "";
item.ClassName = clist.Where(x => x.ClassId == item.ClassId).FirstOrDefault()?.ClassName ?? "";
item.ClassNo = clist.Where(x => x.ClassId == item.ClassId).FirstOrDefault()?.ClassNo ?? "";
item.ClassTypeName = ctlist.Where(x => x.CTypeId == item.ClassType).FirstOrDefault()?.CTypeName ?? "";
}
}
sell_Commission_PeriodsRepository.DBSession.Commit();
return list;
}
#region 订单更新
//再次查询所有订单的
//查询这些订单 已发放提成记录
string torderIds = string.Join(",", UpdateOrderList.Select(x => x.OrderId).Distinct());
var dtlist = sell_Commission_DetailsRepository.GetList(new RB_Sell_Commission_Details_ViewModel() { Group_Id = userInfo.Group_Id, OrderIds = torderIds });
foreach (var item in UpdateOrderList)
{
//求实际的
decimal ClassCommissioned = dtlist.Where(x => x.OrderId == item.OrderId).Sum(x => x.CurrentPeriodMoney);
decimal ExtraCommissioned = dtlist.Where(x => x.OrderId == item.OrderId).Sum(x => x.CurrentExtraMoney);
decimal BackMoney = 0;
int IsCommissionGiveOK = 0;
if (item.CommissionMoney < ClassCommissioned + ExtraCommissioned)
/// <summary>
/// 获取用户提成明细列表 (有当前发放次数的)
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<RB_Sell_Achievements_Details_ViewModel> GetSellAchievementsUserDetailList_V2(RB_Sell_Achievements_Details_ViewModel dmodel)
{
//表示扣多了
BackMoney = ClassCommissioned + ExtraCommissioned - item.CommissionMoney;
}
if (item.CommissionMoney == ClassCommissioned + ExtraCommissioned)
var list = sell_Achievements_DetailsRepository.GetSellCommissionUserDetailList(dmodel);
if (list.Any())
{
//表示扣多了
IsCommissionGiveOK = 1;//发放完毕
}
//查询用户 部门 校区
string userIds = string.Join(",", list.Select(x => x.UserId).Distinct());
string deptIds = string.Join(",", list.Select(x => x.Depart_Id).Distinct());
string schoolIds = string.Join(",", list.Select(x => x.School_Id).Distinct());
var ulist = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { Group_Id = dmodel.Group_Id, QIds = userIds });
var dlist = departmentRepository.GetDepartmentListRepository(new RB_Department_ViewModel() { Group_Id = dmodel.Group_Id, QDeptIds = deptIds });
var slist = schoolRepository.GetSchoolListRepository(new RB_School_ViewModel() { Group_Id = dmodel.Group_Id, QSIds = schoolIds });
//查询出所属班级信息
string classIds = string.Join(",", list.Select(x => x.ClassId).Distinct());
var clist = classRepository.GetClassListRepository(new RB_Class_ViewModel() { Group_Id = dmodel.Group_Id, Q_ClassIds = classIds });
//查询班级类型
string classTypeIds = string.Join(",", list.Select(x => x.ClassType).Distinct());
var ctlist = class_TypeRepository.GetClassTypeListRepository(new RB_Class_Type_ViewModel() { Q_CTypeIds = classTypeIds, Group_Id = dmodel.Group_Id });
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Order_ViewModel.CommissionMoney),ClassCommissioned},
{ nameof(RB_Order_ViewModel.IsCommissionGive),1},
{ nameof(RB_Order_ViewModel.CommissionBack),BackMoney},
{ nameof(RB_Order_ViewModel.ExtraCommissionMoney),ExtraCommissioned},
{ nameof(RB_Order_ViewModel.IsCommissionGiveOK),IsCommissionGiveOK}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Order_ViewModel.OrderId),
FiledValue=item.OrderId,
OperatorEnum=OperatorEnum.Equal
}
};
orderRepository.Update(keyValues, wheres);
}
#endregion
}
catch (Exception ex)
foreach (var item in list)
{
LogHelper.Write(ex, "SetSellCommissionInfo");
sell_Commission_PeriodsRepository.DBSession.Rollback();
return "出错了,请联系管理员";
var umodel = ulist.Where(x => x.Id == item.UserId).FirstOrDefault();
item.UserName = umodel.EmployeeName + (umodel.LeaveStatus == Common.Enum.User.LeaveStatusEnum.Departure ? "离职" : "");
item.DeptName = dlist.Where(x => x.DeptId == item.Depart_Id).FirstOrDefault()?.DeptName ?? "";
item.SchoolName = slist.Where(x => x.SId == item.School_Id).FirstOrDefault()?.SName ?? "";
item.ClassName = clist.Where(x => x.ClassId == item.ClassId).FirstOrDefault()?.ClassName ?? "";
item.ClassNo = clist.Where(x => x.ClassId == item.ClassId).FirstOrDefault()?.ClassNo ?? "";
item.ClassTypeName = ctlist.Where(x => x.CTypeId == item.ClassType).FirstOrDefault()?.CTypeName ?? "";
}
#endregion
}
return "";
return list;
}
/// <summary>
......@@ -1685,24 +608,6 @@ namespace Edu.Module.Course
empModel.GiveOutState = 2;
}
}
/// <summary>
/// 验证用户离职
/// </summary>
/// <param name="userId"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public string GetUserLeaveOrderCommission(int userId, UserInfo userInfo)
{
int count = orderRepository.GetUserLeaveOrderCommission(userId, userInfo.Group_Id);
if (count <= 0)
{
return "";
}
else
{
return "该用户有" + count + "个订单提成需补交,无法设置离职";
}
}
/// <summary>
/// 获取未发放提成用户列表 + 提成金额
......@@ -1710,22 +615,22 @@ namespace Edu.Module.Course
/// <param name="periodId"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public object GetSellCommissionSendEmployeeList(int periodId, UserInfo userInfo)
public object GetSellAchievementsSendEmployeeList(int periodId, UserInfo userInfo)
{
var model = sell_Commission_PeriodsRepository.GetEntity(periodId);
var model = sell_Achievements_PeriodsRepository.GetEntity(periodId);
if (model == null) { return "周期不存在"; }
List<int> EmpIdList = new List<int>();
if (!string.IsNullOrEmpty(model.EmpIds))
{
EmpIdList = JsonHelper.DeserializeObject<List<int>>("[" + model.EmpIds + "]");
}
var list = GetSellCommissionUserList(new RB_Sell_Commission_Details_ViewModel() { Group_Id = userInfo.Group_Id, PeriodId = periodId });
var list = GetSellAchievementsUserList(new RB_Sell_Achievements_Details_ViewModel() { Group_Id = userInfo.Group_Id, PeriodId = periodId });
return ApiResult.Success("", list.Select(x => new
{
x.UserId,
x.UserName,
x.StudentCount,
CurrentPeriodMoney = x.CurrentPeriodMoney + x.CurrentExtraMoney,
x.CurrentPeriodMoney,
IsGiveOut = EmpIdList.Contains(x.UserId) ? 1 : 2
}));
}
......@@ -1737,9 +642,9 @@ namespace Edu.Module.Course
/// <param name="empIds"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public string SetSellCommissionSendEmployee(int periodId, string empIds, UserInfo userInfo)
public string SetSellAchievementsSendEmployee(int periodId, string empIds, UserInfo userInfo)
{
var model = sell_Commission_PeriodsRepository.GetEntity(periodId);
var model = sell_Achievements_PeriodsRepository.GetEntity(periodId);
if (model == null) { return "周期不存在"; }
if (model.Group_Id != userInfo.Group_Id) { return "集团不正确"; }
List<int> EmpIdList = new List<int>();
......@@ -1758,22 +663,22 @@ namespace Edu.Module.Course
EmpIdList.AddRange(NewIdList);
string empids2 = string.Join(",", EmpIdList);
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Sell_Commission_Periods_ViewModel.EmpIds),empids2}
{ nameof(RB_Sell_Achievements_Periods_ViewModel.EmpIds),empids2}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName= nameof(RB_Sell_Commission_Periods_ViewModel.Id),
FiledName= nameof(RB_Sell_Achievements_Periods_ViewModel.Id),
FiledValue=periodId,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag = sell_Commission_PeriodsRepository.Update(keyValues, wheres);
bool flag = sell_Achievements_PeriodsRepository.Update(keyValues, wheres);
return flag ? "" : "出错了,请联系管理员";
}
#endregion
#region 业绩列表
#region 生成业绩
/// <summary>
/// 生成业绩提成
......@@ -2422,5 +1327,17 @@ namespace Edu.Module.Course
}
#endregion
#region 业绩效验
/// <summary>
/// 效验退款后 业绩提成是否达标
/// </summary>
/// <param name="orderId"></param>
public void ValidataAchievements(int orderId)
{
throw new NotImplementedException();
}
#endregion
}
}
......@@ -53,6 +53,14 @@ namespace Edu.Repository.Sell
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.OrderId)} in({demodel.OrderIds})";
}
if (demodel.UserType > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.UserType)} ={demodel.UserType}";
}
if (demodel.IsDept > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.IsDept)} ={demodel.IsDept}";
}
string sql = $@" select r.* from RB_Sell_Achievements_Details r where {where} order by r.Id asc";
......@@ -96,6 +104,14 @@ namespace Edu.Repository.Sell
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.OrderId)} in({demodel.OrderIds})";
}
if (demodel.UserType > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.UserType)} ={demodel.UserType}";
}
if (demodel.IsDept > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.IsDept)} ={demodel.IsDept}";
}
string sql = $@" select r.*,
......@@ -144,7 +160,14 @@ from RB_Sell_Achievements_Details r where {where} order by r.Id asc";
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.OrderId)} ={demodel.OrderId}";
}
if (demodel.UserType > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.UserType)} ={demodel.UserType}";
}
if (demodel.IsDept > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.IsDept)} ={demodel.IsDept}";
}
string sql = $@" select r.* from RB_Sell_Achievements_Details r where {where} order by r.Id desc";
return GetPage<RB_Sell_Achievements_Details_ViewModel>(pageIndex, pageSize, out count, sql).ToList();
......@@ -183,6 +206,14 @@ from RB_Sell_Achievements_Details r where {where} order by r.Id asc";
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.OrderId)} ={demodel.OrderId}";
}
if (demodel.UserType > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.UserType)} ={demodel.UserType}";
}
if (demodel.IsDept > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.IsDept)} ={demodel.IsDept}";
}
string sql = $@" select r.UserId,r.Depart_Id,r.School_Id,sum(r.StudentCount) as StudentCount,sum(r.CurrentPeriodMoney + r.DeductionMoney) as CurrentPeriodMoney
......@@ -242,6 +273,14 @@ GROUP BY PeriodId ";
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.OrderId)} ={demodel.OrderId}";
}
if (demodel.UserType > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.UserType)} ={demodel.UserType}";
}
if (demodel.IsDept > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.IsDept)} ={demodel.IsDept}";
}
string sql = $@" select sum(r.CurrentPeriodMoney + r.DeductionMoney) from RB_Sell_Achievements_Details r where {where}";
......@@ -249,8 +288,6 @@ GROUP BY PeriodId ";
return obj == null ? 0 : Convert.ToDecimal(obj);
}
/// <summary>
/// 获取销售提成根据用户id
/// </summary>
......@@ -292,6 +329,14 @@ GROUP BY PeriodId ";
{
where += $@" and DATE_FORMAT(STR_TO_DATE(CONCAT(p.Periods,'-01'),'%Y-%m-%d'),'%Y-%m-%d')>=DATE_FORMAT('{demodel.PeriodsTime}','%Y-%m-%d')";
}
if (demodel.UserType > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.UserType)} ={demodel.UserType}";
}
if (demodel.IsDept > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.IsDept)} ={demodel.IsDept}";
}
string sql = $@" SELECT
r.*, p.Periods AS PeriodsTime
......
......@@ -22,10 +22,6 @@ namespace Edu.WebApi.Controllers.Course
[EnableCors("AllowCors")]
public class SellAchievementsController : BaseController
{
/// <summary>
/// 教务奖励处理类对象
/// </summary>
private readonly SellCommissionModule sellCommissionModule = new SellCommissionModule();
/// <summary>
/// 市场顾问
/// </summary>
......@@ -176,14 +172,14 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetSellCommissionPeriodsPageList()
public ApiResult GetSellAchievementsPeriodsPageList()
{
var userInfo = base.UserInfo;
var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var dmodel = JsonHelper.DeserializeObject<RB_Sell_Commission_Periods_ViewModel>(RequestParm.Msg.ToString());
var dmodel = JsonHelper.DeserializeObject<RB_Sell_Achievements_Periods_ViewModel>(RequestParm.Msg.ToString());
dmodel.Group_Id = userInfo.Group_Id;
var list = sellCommissionModule.GetSellCommissionPeriodsPageList(pageModel.PageIndex, pageModel.PageSize, out long count, dmodel);
var list = sellAchievementsModule.GetSellAchievementsPeriodsPageList(pageModel.PageIndex, pageModel.PageSize, out long count, dmodel);
pageModel.Count = Convert.ToInt32(count);
pageModel.PageData = list.Select(x => new
{
......@@ -206,13 +202,12 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetSellCommissionPeriodsList() {
public ApiResult GetSellAchievementsPeriodsList() {
var userInfo = base.UserInfo;
var dmodel = JsonHelper.DeserializeObject<RB_Sell_Commission_Periods_ViewModel>(RequestParm.Msg.ToString());
var dmodel = JsonHelper.DeserializeObject<RB_Sell_Achievements_Periods_ViewModel>(RequestParm.Msg.ToString());
dmodel.Group_Id = userInfo.Group_Id;
var list = sellCommissionModule.GetSellCommissionPeriodsList(dmodel);
var list = sellAchievementsModule.GetSellAchievementsPeriodsList(dmodel);
return ApiResult.Success("", list.Select(x => new
{
x.Id,
......@@ -226,15 +221,15 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetSellCommissionUserList() {
public ApiResult GetSellAchievementsUserList() {
var userInfo = base.UserInfo;
var dmodel = JsonHelper.DeserializeObject<RB_Sell_Commission_Details_ViewModel>(RequestParm.Msg.ToString());
var dmodel = JsonHelper.DeserializeObject<RB_Sell_Achievements_Details_ViewModel>(RequestParm.Msg.ToString());
dmodel.Group_Id = userInfo.Group_Id;
if (dmodel.PeriodId <= 0) {
return ApiResult.ParamIsNull("请传递期数id");
}
var list = sellCommissionModule.GetSellCommissionUserList(dmodel);
var list = sellAchievementsModule.GetSellAchievementsUserList(dmodel);
return ApiResult.Success("", list.Select(x => new
{
x.School_Id,
......@@ -244,9 +239,7 @@ namespace Edu.WebApi.Controllers.Course
x.UserId,
x.UserName,
x.StudentCount,
x.CurrentPeriodMoney,
x.CurrentExtraMoney,
CommissionMoney = x.CurrentPeriodMoney + x.CurrentExtraMoney
x.CurrentPeriodMoney
}));
}
......@@ -255,17 +248,17 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetSellCommissionUserDetailList()
public ApiResult GetSellAchievementsUserDetailList()
{
var userInfo = base.UserInfo;
var dmodel = JsonHelper.DeserializeObject<RB_Sell_Commission_Details_ViewModel>(RequestParm.Msg.ToString());
var dmodel = JsonHelper.DeserializeObject<RB_Sell_Achievements_Details_ViewModel>(RequestParm.Msg.ToString());
dmodel.Group_Id = userInfo.Group_Id;
if (dmodel.PeriodId <= 0)
{
return ApiResult.ParamIsNull("请传递期数id");
}
var list = sellCommissionModule.GetSellCommissionUserDetailList_V2(dmodel);
var list = sellAchievementsModule.GetSellAchievementsUserDetailList_V2(dmodel);
return ApiResult.Success("", list.Select(x => new
{
x.School_Id,
......@@ -283,21 +276,18 @@ namespace Edu.WebApi.Controllers.Course
x.IssueNum,
x.StudentCount,
x.Periods,
TotalCommissionMoney = x.CommissionMoney + x.OtherMoney + x.BackMoney,
x.OtherMoney,
x.BackMoney,
TotalCommissionMoney = x.CommissionMoney,
x.GiveOutMoney,
x.IsFirstCommission,
x.TotalHours,
x.TotalLearn,
x.CurrentHours,
x.IsContinueClass,
x.Remark,
x.CurrentPeriodMoney,
x.CurrentExtraMoney,
x.DeductionMoney,
x.DeductionExtraMoney,
YFMoney = x.CurrentPeriodMoney + x.CurrentExtraMoney + x.DeductionMoney + x.DeductionExtraMoney
YFMoney = x.CurrentPeriodMoney + x.DeductionMoney,
x.UserType,
x.IsDept
}));
}
......@@ -306,17 +296,17 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetSellCommissionForOrderList()
public ApiResult GetSellAchievementsForOrderList()
{
var userInfo = base.UserInfo;
var dmodel = JsonHelper.DeserializeObject<RB_Sell_Commission_Details_ViewModel>(RequestParm.Msg.ToString());
var dmodel = JsonHelper.DeserializeObject<RB_Sell_Achievements_Details_ViewModel>(RequestParm.Msg.ToString());
dmodel.Group_Id = userInfo.Group_Id;
if (dmodel.OrderId <= 0)
{
return ApiResult.ParamIsNull("请传递订单id");
}
var list = sellCommissionModule.GetSellCommissionUserDetailList(dmodel);
var list = sellAchievementsModule.GetSellAchievementsUserDetailList(dmodel);
return ApiResult.Success("", list.Select(x => new
{
x.School_Id,
......@@ -333,21 +323,18 @@ namespace Edu.WebApi.Controllers.Course
x.OrderId,
x.StudentCount,
x.Periods,
TotalCommissionMoney = x.CommissionMoney + x.OtherMoney + x.BackMoney,
x.OtherMoney,
x.BackMoney,
TotalCommissionMoney = x.CommissionMoney,
x.GiveOutMoney,
x.IsFirstCommission,
x.TotalHours,
x.TotalLearn,
x.CurrentHours,
x.IsContinueClass,
x.Remark,
x.CurrentPeriodMoney,
x.CurrentExtraMoney,
x.DeductionMoney,
x.DeductionExtraMoney,
YFMoney = x.CurrentPeriodMoney + x.CurrentExtraMoney + x.DeductionMoney + x.DeductionExtraMoney
YFMoney = x.CurrentPeriodMoney + x.DeductionMoney,
x.UserType,
x.IsDept
}));
}
......@@ -356,14 +343,14 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetSellCommissionStatistics() {
public ApiResult GetSellAchievementsStatistics() {
var userInfo = base.UserInfo;
var pageModel = JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var dmodel = JsonHelper.DeserializeObject<RB_Sell_Commission_Details_ViewModel>(RequestParm.Msg.ToString());
var dmodel = JsonHelper.DeserializeObject<RB_Sell_Achievements_Details_ViewModel>(RequestParm.Msg.ToString());
dmodel.Group_Id = userInfo.Group_Id;
var list = sellCommissionModule.GetSellCommissionStatisticsPageList(pageModel.PageIndex, pageModel.PageSize, out long count, dmodel);
decimal TotalMoney = sellCommissionModule.GetSellCommissionStatistics(dmodel);
var list = sellAchievementsModule.GetSellAchievementsStatisticsPageList(pageModel.PageIndex, pageModel.PageSize, out long count, dmodel);
decimal TotalMoney = sellAchievementsModule.GetSellAchievementsStatistics(dmodel);
pageModel.Count = Convert.ToInt32(count);
pageModel.PageData = new
{
......@@ -384,21 +371,18 @@ namespace Edu.WebApi.Controllers.Course
x.OrderId,
x.StudentCount,
x.Periods,
TotalCommissionMoney = x.CommissionMoney + x.OtherMoney + x.BackMoney,
x.OtherMoney,
x.BackMoney,
TotalCommissionMoney = x.CommissionMoney,
x.GiveOutMoney,
x.IsFirstCommission,
x.TotalHours,
x.TotalLearn,
x.CurrentHours,
x.IsContinueClass,
x.Remark,
x.CurrentPeriodMoney,
x.CurrentExtraMoney,
x.DeductionMoney,
x.DeductionExtraMoney,
YFMoney = x.CurrentPeriodMoney + x.CurrentExtraMoney + x.DeductionMoney + x.DeductionExtraMoney
YFMoney = x.CurrentPeriodMoney + x.DeductionMoney,
x.UserType,
x.IsDept
})
};
return ApiResult.Success("", pageModel);
......@@ -410,35 +394,33 @@ namespace Edu.WebApi.Controllers.Course
/// <returns></returns>
[HttpPost]
[Obsolete]
public FileContentResult GetSellCommissionStatisticsToExcel() {
public FileContentResult GetSellAchievementsStatisticsToExcel() {
var userInfo = base.UserInfo;
var dmodel = JsonHelper.DeserializeObject<RB_Sell_Commission_Details_ViewModel>(RequestParm.Msg.ToString());
var dmodel = JsonHelper.DeserializeObject<RB_Sell_Achievements_Details_ViewModel>(RequestParm.Msg.ToString());
dmodel.Group_Id = userInfo.Group_Id;
string ExcelName = "销售提成" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
string ExcelName = "业绩提成" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
List<ExcelDataSource> slist = new List<ExcelDataSource>();
ExcelDataSource header = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30) {
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 = 25, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "类型") { CellWidth = 25, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "人员") { CellWidth = 25, HAlignmentEnum = HAlignmentEnum.CENTER, VAlignmentEnum = VAlignmentEnum.CENTER },
new ExcelColumn(value: "业绩方式") { CellWidth = 25, 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 },
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 },
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 },
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 },
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 }
......@@ -448,8 +430,8 @@ namespace Edu.WebApi.Controllers.Course
try
{
var list = sellCommissionModule.GetSellCommissionStatisticsPageList(1, 1000000, out long count, dmodel);
decimal TotalMoney = sellCommissionModule.GetSellCommissionStatistics(dmodel);
var list = sellAchievementsModule.GetSellAchievementsStatisticsPageList(1, 1000000, out long count, dmodel);
decimal TotalMoney = sellAchievementsModule.GetSellAchievementsStatistics(dmodel);
#region 组装数据
foreach (var item in list)
{
......@@ -458,25 +440,23 @@ namespace Edu.WebApi.Controllers.Course
ExcelRows = new List<ExcelColumn>(30) {
new ExcelColumn(value: item.SchoolName){ },
new ExcelColumn(value: item.DeptName){ },
new ExcelColumn(value: item.UserType == 1?"市场":item.UserType ==2?"顾问":"教师"){ },
new ExcelColumn(value: item.UserName){ },
new ExcelColumn(value: item.IsDept==1?"部门":"个人"){ },
new ExcelColumn(value: item.ClassNo){ },
new ExcelColumn(value: item.ClassName + (item.IsContinueClass == 1 ? " 续班" : "")){ },
new ExcelColumn(value: item.ClassName){ },
new ExcelColumn(value: item.ClassTypeName){ },
new ExcelColumn(value: item.StudentCount.ToString()){ },
new ExcelColumn(value: item.OrderId.ToString()){ },
new ExcelColumn(value: (item.CommissionMoney + item.OtherMoney + item.BackMoney).ToString("#0.00")){ },
new ExcelColumn(value: (item.OtherMoney).ToString("#0.00")){ },
new ExcelColumn(value: (item.BackMoney).ToString("#0.00")){ },
new ExcelColumn(value: (item.CommissionMoney).ToString("#0.00")){ },
new ExcelColumn(value: (item.GiveOutMoney).ToString("#0.00")){ },
new ExcelColumn(value: item.IsFirstCommission == 1 ?"是":"否"){ },
new ExcelColumn(value: item.TotalHours.ToString()){ },
new ExcelColumn(value: item.TotalLearn.ToString()){ },
new ExcelColumn(value: item.CurrentHours == -1 ?"-": item.CurrentHours.ToString()){ },
new ExcelColumn(value: (item.CurrentPeriodMoney).ToString("#0.00")){ },
new ExcelColumn(value: (item.CurrentExtraMoney).ToString("#0.00")){ },
new ExcelColumn(value: (item.DeductionMoney).ToString("#0.00")){ },
new ExcelColumn(value: (item.DeductionExtraMoney).ToString("#0.00")){ },
new ExcelColumn(value: (item.CurrentPeriodMoney + item.CurrentExtraMoney + item.DeductionMoney + item.DeductionExtraMoney).ToString("#0.00")){ },
new ExcelColumn(value: (item.CurrentPeriodMoney + item.DeductionMoney).ToString("#0.00")){ },
new ExcelColumn(value: item.Periods){ },
new ExcelColumn(value: item.Remark){ },
},
......@@ -507,8 +487,6 @@ namespace Edu.WebApi.Controllers.Course
new ExcelColumn(value: ""){ },
new ExcelColumn(value: ""){ },
new ExcelColumn(value: ""){ },
new ExcelColumn(value: ""){ },
new ExcelColumn(value: ""){ },
new ExcelColumn(value: TotalMoney.ToString("#0.00")){ },
new ExcelColumn(value: ""){ },
new ExcelColumn(value: ""){ },
......@@ -561,37 +539,12 @@ namespace Edu.WebApi.Controllers.Course
}
}
/// <summary>
/// 验证用户离职
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetUserLeaveOrderCommission() {
var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int UserId = parms.GetInt("UserId", 0);
if (UserId <= 0)
{
return ApiResult.ParamIsNull();
}
string msg = sellCommissionModule.GetUserLeaveOrderCommission(UserId, userInfo);
if (msg == "")
{
return ApiResult.Success("暂无需补交订单");
}
else
{
return ApiResult.Failed(msg);
}
}
/// <summary>
/// 获取提成可发放人员列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetSellCommissionSendEmployeeList() {
public ApiResult GetSellAchievementsSendEmployeeList() {
var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int PeriodId = parms.GetInt("PeriodId", 0);//期数id
......@@ -600,7 +553,7 @@ namespace Edu.WebApi.Controllers.Course
return ApiResult.ParamIsNull();
}
var list = sellCommissionModule.GetSellCommissionSendEmployeeList(PeriodId, userInfo);
var list = sellAchievementsModule.GetSellAchievementsSendEmployeeList(PeriodId, userInfo);
return ApiResult.Success("", list);
}
......@@ -609,7 +562,7 @@ namespace Edu.WebApi.Controllers.Course
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetSellCommissionSendEmployee() {
public ApiResult SetSellAchievementsSendEmployee() {
var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int PeriodId = parms.GetInt("PeriodId", 0);//期数id
......@@ -623,7 +576,7 @@ namespace Edu.WebApi.Controllers.Course
return ApiResult.ParamIsNull("请传递用户id");
}
string msg = sellCommissionModule.SetSellCommissionSendEmployee(PeriodId, EmpIds, userInfo);
string msg = sellAchievementsModule.SetSellAchievementsSendEmployee(PeriodId, EmpIds, userInfo);
if (msg == "")
{
return ApiResult.Success("");
......
......@@ -29,6 +29,10 @@ namespace Edu.WebApi.Controllers.Third
/// 订单处理类
/// </summary>
private readonly OrderModule orderModule = new OrderModule();
/// <summary>
/// 业绩提成
/// </summary>
private readonly SellAchievementsModule sellAchievementsModule = new SellAchievementsModule();
/// <summary>
/// 根部部门层级获取部门主管
......@@ -155,6 +159,10 @@ namespace Edu.WebApi.Controllers.Third
bool flag = orderModule.UpdateEduOrderIncome(OrderId, Income, PlatformTax, Refund, empModel);
if (flag)
{
if (Refund > 0) {
//是退款 检验订单是否会影响 业绩提成
System.Threading.Tasks.Task.Run(() => sellAchievementsModule.ValidataAchievements(OrderId));
}
return ApiResult.Success();
}
else
......
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