Commit 3ac7b027 authored by 黄奎's avatar 黄奎

页面修改

parent 9e6c987a
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.Sell namespace Edu.Model.Entity.Sell
{ {
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_ReturnMoney_Batch public class RB_ReturnMoney_Batch
{ {
/// <summary> /// <summary>
......
...@@ -575,14 +575,69 @@ namespace Edu.Module.Course ...@@ -575,14 +575,69 @@ namespace Edu.Module.Course
public EmpStaticItem GetEmpBonusStaticModule(UserInfo user, int Type, int Year, int Month) public EmpStaticItem GetEmpBonusStaticModule(UserInfo user, int Type, int Year, int Month)
{ {
EmpStaticItem empItem = new EmpStaticItem(); EmpStaticItem empItem = new EmpStaticItem();
int CurrentYear = DateTime.Now.Year;
int CurrentMonth = DateTime.Now.Month;
//月度统计 //月度统计
if (Type == 1) if (Type == 1)
{ {
empItem = GetMonthDataModule(user, Year, Month);
}
//年度统计
else
{
empItem = GetYearDataModule(user, Year);
}
return empItem;
}
/// <summary>
/// 人头奖励月度统计
/// </summary>
/// <param name="user"></param>
/// <param name="Type"></param>
/// <param name="Year"></param>
/// <param name="Month"></param>
/// <returns></returns>
private EmpStaticItem GetMonthDataModule(UserInfo user, int Year, int Month)
{
EmpStaticItem monthData = new EmpStaticItem();
int CurrentYear = DateTime.Now.Year;
int CurrentMonth = DateTime.Now.Month;
//当月 //当月
if (Year == CurrentYear && Month == CurrentMonth) if (Year == CurrentYear && Month == CurrentMonth)
{ {
monthData = GetCurrentMonthData(user);
}
else
{
var list = personnel_BonusRepository.GetPersonnelBonusListRepository(new RB_Personnel_Bonus_Extend()
{
EmployeeId = user.Id,
YearNum = Year,
MonthNum = Month
}, isGetDetail: true);
monthData.BonusMoney = list?.Sum(qitem => qitem.CurRewardMoney + qitem.ClueNumSalary + qitem.OpenBonus - qitem.BeforeMoney) ?? 0;
monthData.GuestNum = list?.Sum(qitem => qitem.CurGuestNum) ?? 0;
monthData.OrderCount = list?.Sum(qitem => qitem?.DeductionList?.Count) ?? 0;
monthData.ReachCount = list?.FirstOrDefault()?.IsReach ?? 0;
if (list != null && list.Count > 0)
{
//历史人头提成方案
var hisModel = JsonHelper.DeserializeObject<CurrentMonthBonusData>(list?.FirstOrDefault()?.HisBonusData);
GetNextGoal(monthData.GuestNum, hisModel, out int CurrentStep, out string NextGoal, out decimal NextBonus);
monthData.CurrentStep = CurrentStep;
monthData.NextGoal = NextGoal;
monthData.NextBonus = NextBonus;
}
}
return monthData;
}
/// <summary>
/// 获取当月数据
/// </summary>
/// <param name="user"></param>
private EmpStaticItem GetCurrentMonthData(UserInfo user)
{
var monthData = new EmpStaticItem();
DateTime d1 = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); DateTime d1 = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
string startDate = Common.ConvertHelper.FormatDate(d1); string startDate = Common.ConvertHelper.FormatDate(d1);
DateTime endTime = d1.AddMonths(1).AddDays(-1); DateTime endTime = d1.AddMonths(1).AddDays(-1);
...@@ -602,58 +657,157 @@ namespace Edu.Module.Course ...@@ -602,58 +657,157 @@ namespace Edu.Module.Course
{ {
string endDate = Common.ConvertHelper.FormatDate(endTime); string endDate = Common.ConvertHelper.FormatDate(endTime);
var orderList = GetSaleOrderList(item, user.Group_Id, endDate, saleId, out List<RB_Order_ViewModel> allOrderList); var orderList = GetSaleOrderList(item, user.Group_Id, endDate, saleId, out List<RB_Order_ViewModel> allOrderList);
empItem.GuestNum = orderList?.Sum(qitem => qitem.GuestNum) ?? 0; monthData.GuestNum = orderList?.Sum(qitem => qitem.GuestNum) ?? 0;
empItem.OrderCount = allOrderList?.Count() ?? 0; monthData.OrderCount = allOrderList?.Count() ?? 0;
empItem.ReachCount = item.MonthGoalMoney > (orderList?.Sum(qitem => qitem.OrderMoney) ?? 0) ? 1 : 0; monthData.ReachCount = item.MonthGoalMoney > (orderList?.Sum(qitem => qitem.OrderMoney) ?? 0) ? 1 : 0;
//当月梯度奖励金额
decimal CurRewardMoney = GetStepAwardAmount(item, monthData.GuestNum);
//开单奖金
decimal OpenBonus = monthData.GuestNum > 0 ? item.OpenBonus : 0;
//线索奖励
var stuModel = studentRepository.GetStudentStaticRepository(saleId.ToString(), startDate, endDate)?.FirstOrDefault();
decimal ClueNumSalary = stuModel?.ClueCount > 5 ? item.ClueNumSalary : 0;
GetCurrentGoal(monthData.GuestNum, item, out int CurrentStep, out string NextGoal, out decimal awardAmount);
monthData.CurrentStep = CurrentStep;
monthData.NextGoal = NextGoal;
monthData.NextBonus = awardAmount;
monthData.BonusMoney = (CurRewardMoney + OpenBonus + ClueNumSalary);
break;
} }
} }
} }
} }
return monthData;
} }
else
/// <summary>
/// 人头奖励年度统计
/// </summary>
/// <param name="user"></param>
/// <param name="Year"></param>
/// <returns></returns>
private EmpStaticItem GetYearDataModule(UserInfo user, int Year)
{ {
int CurrentYear = DateTime.Now.Year;
int CurrentMonth = DateTime.Now.Month;
EmpStaticItem yearData = new EmpStaticItem();
var list = personnel_BonusRepository.GetPersonnelBonusListRepository(new RB_Personnel_Bonus_Extend() var list = personnel_BonusRepository.GetPersonnelBonusListRepository(new RB_Personnel_Bonus_Extend()
{ {
EmployeeId = user.Id, EmployeeId = user.Id,
YearNum = Year, YearNum = Year,
MonthNum = Month
}, isGetDetail: true); }, isGetDetail: true);
empItem.BonusMoney = list?.Sum(qitem => qitem.CurRewardMoney + qitem.ClueNumSalary + qitem.OpenBonus - qitem.BeforeMoney) ?? 0;
empItem.GuestNum = list?.Sum(qitem => qitem.CurGuestNum) ?? 0;
empItem.OrderCount = list?.Sum(qitem => qitem?.DeductionList?.Count) ?? 0;
empItem.ReachCount = list?.FirstOrDefault()?.IsReach ?? 0;
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
//历史人头提成方案 yearData.BonusMoney = list?.Sum(qitem => qitem.CurRewardMoney + qitem.ClueNumSalary + qitem.OpenBonus - qitem.BeforeMoney) ?? 0;
var hisModel = Common.Plugin.JsonHelper.DeserializeObject<CurrentMonthBonusData>(list?.FirstOrDefault()?.HisBonusData); yearData.GuestNum = list?.Sum(qitem => qitem.CurGuestNum) ?? 0;
empItem.NextGoal = ""; yearData.OrderCount = list?.Sum(qitem => qitem?.DeductionList?.Count) ?? 0;
empItem.NextBonus = 0; yearData.ReachCount = list?.Where(qitem => qitem.IsReach == 1)?.Count() ?? 0;
} }
if (Year == CurrentYear)
{
var monData = GetCurrentMonthData(user);
yearData.BonusMoney += monData?.BonusMoney ?? 0;
yearData.GuestNum+= monData?.GuestNum ?? 0;
yearData.OrderCount += monData?.OrderCount ?? 0;
yearData.ReachCount += monData?.ReachCount ?? 0;
} }
return yearData;
}
/// <summary>
/// 获取下一个目标
/// </summary>
/// <param name="GuestNum"></param>
/// <param name="hisData"></param>
/// <param name="CurrentStep"></param>
/// <param name="NextGoal"></param>
/// <param name="awardAmount"></param>
public void GetNextGoal(int GuestNum, CurrentMonthBonusData hisData,out int CurrentStep,out string NextGoal, out decimal awardAmount)
{
awardAmount = 0;
NextGoal = "";
CurrentStep = 1;
if (hisData != null && hisData.DetailList != null && hisData.DetailList.Count > 0)
{
var firstStep = hisData.DetailList[0];
if (GuestNum <= firstStep.EndNum)
{
CurrentStep = 1;
NextGoal = string.Format("距{0}档还差{1}个", 1, firstStep.StartNum - GuestNum);
awardAmount = firstStep.Money;
} }
//年度统计
else else
{ {
var list = personnel_BonusRepository.GetPersonnelBonusListRepository(new RB_Personnel_Bonus_Extend() for (var i = 0; i < hisData.DetailList.Count; i++)
{ {
EmployeeId = user.Id, var tempNum = hisData.DetailList[i];
YearNum = Year, if (tempNum.StartNum <= GuestNum && GuestNum <= tempNum.EndNum)
}, isGetDetail: true); {
empItem.BonusMoney = list?.Sum(qitem => qitem.CurRewardMoney + qitem.ClueNumSalary + qitem.OpenBonus - qitem.BeforeMoney) ?? 0; if ((i + 1) < hisData.DetailList.Count)
empItem.GuestNum = list?.Sum(qitem => qitem.CurGuestNum) ?? 0; {
empItem.OrderCount = list?.Sum(qitem => qitem?.DeductionList?.Count) ?? 0; CurrentStep = (i + 1);
empItem.ReachCount = list?.Where(qitem => qitem.IsReach == 1)?.Count() ?? 0; awardAmount = hisData.DetailList[i + 1].Money;
NextGoal = string.Format("距{0}档还差{1}个", (i+1+1), hisData.DetailList[i + 1].StartNum - GuestNum);
}
else
{
CurrentStep = (i+1);
awardAmount = tempNum.Money;
NextGoal = string.Format("已完成当月目标!");
}
}
}
}
} }
return empItem;
} }
/// <summary> /// <summary>
/// 获取下一个目标 /// 当月人头奖励目标计算
/// </summary> /// </summary>
public void GetNextGoal() /// <param name="GuestNum"></param>
/// <param name="hisData"></param>
/// <param name="CurrentStep"></param>
/// <param name="NextGoal"></param>
/// <param name="awardAmount"></param>
public void GetCurrentGoal(int GuestNum, RB_Bonus_PlanExtend hisData, out int CurrentStep, out string NextGoal, out decimal awardAmount)
{ {
awardAmount = 0;
NextGoal = "";
CurrentStep = 1;
if (hisData != null && hisData.DetailList != null && hisData.DetailList.Count > 0)
{
var firstStep = hisData.DetailList[0];
if (GuestNum <= firstStep.EndNum)
{
CurrentStep = 1;
NextGoal = string.Format("距{0}档还差{1}个", 1, firstStep.StartNum - GuestNum);
awardAmount = firstStep.Money;
}
else
{
for (var i = 0; i < hisData.DetailList.Count; i++)
{
var tempNum = hisData.DetailList[i];
if (tempNum.StartNum <= GuestNum && GuestNum <= tempNum.EndNum)
{
if ((i + 1) < hisData.DetailList.Count)
{
CurrentStep = (i + 1);
awardAmount = hisData.DetailList[i + 1].Money;
NextGoal = string.Format("距{0}档还差{1}个", (i + 1 + 1), hisData.DetailList[i + 1].StartNum - GuestNum);
}
else
{
CurrentStep = (i + 1);
awardAmount = tempNum.Money;
NextGoal = string.Format("已完成本月目标!");
}
}
}
}
}
} }
} }
...@@ -682,6 +836,11 @@ namespace Edu.Module.Course ...@@ -682,6 +836,11 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
public int ReachCount { get; set; } public int ReachCount { get; set; }
/// <summary>
/// 当前档数
/// </summary>
public int CurrentStep { get; set; }
/// <summary> /// <summary>
/// 下一个目标字符串 /// 下一个目标字符串
/// </summary> /// </summary>
......
...@@ -121,10 +121,7 @@ namespace Edu.Module.Course ...@@ -121,10 +121,7 @@ namespace Edu.Module.Course
/// 学生 /// 学生
/// </summary> /// </summary>
private readonly RB_StudentRepository studentRepository = new RB_StudentRepository(); private readonly RB_StudentRepository studentRepository = new RB_StudentRepository();
/// <summary>
/// 学生日志
/// </summary>
private readonly RB_Student_LogRepository student_LogRepository = new RB_Student_LogRepository();
/// <summary> /// <summary>
/// 同行 /// 同行
/// </summary> /// </summary>
......
...@@ -87,6 +87,7 @@ WHERE 1=1 ...@@ -87,6 +87,7 @@ WHERE 1=1
} }
} }
} }
builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_Customer_Extend.CustomerId));
return GetPage<RB_Customer_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList(); return GetPage<RB_Customer_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString(), parameters).ToList();
} }
......
...@@ -717,6 +717,10 @@ WHERE 1=1 AND A.Status=0 AND class.Status=0 AND class.ClassStatus <>4 AND b.Or ...@@ -717,6 +717,10 @@ WHERE 1=1 AND A.Status=0 AND class.Status=0 AND class.ClassStatus <>4 AND b.Or
{ {
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_Extend.GuestName)} like '%{demodel.GuestName}%'"); builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_Extend.GuestName)} like '%{demodel.GuestName}%'");
} }
if (demodel.GuestState > 0)
{
builder.AppendFormat($@" AND A.{nameof(RB_Order_Guest_Extend.GuestState)} ={(int)demodel.GuestState}");
}
if (!string.IsNullOrEmpty(demodel.ClassNo)) if (!string.IsNullOrEmpty(demodel.ClassNo))
{ {
builder.AppendFormat($@" AND class.{nameof(RB_Order_Guest_Extend.ClassNo)} like '%{demodel.ClassNo}%'"); builder.AppendFormat($@" AND class.{nameof(RB_Order_Guest_Extend.ClassNo)} like '%{demodel.ClassNo}%'");
......
...@@ -2325,7 +2325,6 @@ namespace Edu.WebApi.Controllers.Course ...@@ -2325,7 +2325,6 @@ namespace Edu.WebApi.Controllers.Course
#endregion #endregion
#region 甲鹤小程序付款的课程同步过来 #region 甲鹤小程序付款的课程同步过来
/// <summary> /// <summary>
/// 新增修改订单 /// 新增修改订单
...@@ -2391,6 +2390,20 @@ namespace Edu.WebApi.Controllers.Course ...@@ -2391,6 +2390,20 @@ namespace Edu.WebApi.Controllers.Course
#endregion
#region 获取学员状态列表
/// <summary>
/// 获取学员状态列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetGuestStateList()
{
var list = Common.Plugin.EnumHelper.EnumToList(typeof(GuestStateEnum));
return ApiResult.Success(data: list);
}
#endregion #endregion
} }
} }
...@@ -304,6 +304,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -304,6 +304,7 @@ namespace Edu.WebApi.Controllers.Course
EnterID = base.ParmJObj.GetInt("EnterID", 0), EnterID = base.ParmJObj.GetInt("EnterID", 0),
JoinType = base.ParmJObj.GetInt("JoinType", 0), JoinType = base.ParmJObj.GetInt("JoinType", 0),
EarlyWarning = (Common.Enum.Course.GuestClassHoursEarlyWarningEnum)base.ParmJObj.GetInt("EarlyWarning", 0), EarlyWarning = (Common.Enum.Course.GuestClassHoursEarlyWarningEnum)base.ParmJObj.GetInt("EarlyWarning", 0),
GuestState=(GuestStateEnum)base.ParmJObj.GetInt("GuestState"),
}; };
model.School_Id = -1; model.School_Id = -1;
var schoolId = base.ParmJObj.GetStringValue("School_Id"); var schoolId = base.ParmJObj.GetStringValue("School_Id");
......
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