Commit 047504a5 authored by liudong1993's avatar liudong1993

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

parents 7fdfd31d 18f5da20
......@@ -94,7 +94,7 @@ namespace Edu.Common
}
/// <summary>
/// 获取时间格式
/// 获取时间格式[MM-dd]
/// </summary>
/// <param name="time"></param>
/// <returns></returns>
......
......@@ -128,5 +128,10 @@ namespace Edu.Model.Entity.Bonus
/// 当月人头奖励配置数据Json格式
/// </summary>
public string HisBonusData { get; set; }
/// <summary>
/// 线索条数
/// </summary>
public int ClueNum { get; set; }
}
}
......@@ -113,5 +113,15 @@ namespace Edu.Model.ViewModel.Customer
/// 同行数量
/// </summary>
public int CustomerCount { get; set; }
/// <summary>
/// 开始日期
/// </summary>
public string StartDate { get; set; }
/// <summary>
/// 结束日期
/// </summary>
public string EndDate { get; set; }
}
}
......@@ -19,5 +19,15 @@ namespace Edu.Model.ViewModel.Customer
/// 约访次数
/// </summary>
public int AppointmentCount { get; set; }
/// <summary>
/// 开始时间
/// </summary>
public string StartDate { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public string EndDate { get; set; }
}
}
......@@ -26,10 +26,20 @@ namespace Edu.Model.ViewModel.Customer
public string ReceptionPersionTel { get; set; }
/// <summary>
/// 查询日期
/// 单个日期查询
/// </summary>
public string QueryDate { get; set; }
/// <summary>
/// 开始时间
/// </summary>
public string StartDate { get; set; }
/// <summary>
/// 结束时间
/// </summary>
public string EndDate { get; set; }
/// <summary>
/// 学员名称
/// </summary>
......
......@@ -259,5 +259,10 @@ namespace Edu.Model.ViewModel.User
/// 线索条数
/// </summary>
public int ClueCount { get; set; }
/// <summary>
/// 创建人编号
/// </summary>
public List<int> CreateIds { get; set; }
}
}
\ No newline at end of file
......@@ -381,6 +381,7 @@ namespace Edu.Module.Course
UpdateTime = DateTime.Now,
DeductionMoney = DeductionMoney,
OpenBonus = curNum > 0 ? item.OpenBonus : 0,
ClueNum= stuModel?.ClueCount??0,
ClueNumSalary = stuModel?.ClueCount > 5 ? item.ClueNumSalary : 0
};
pModel.IsReach = pModel.CurOrderMoney > item.MonthGoalMoney ? 1 : 0;
......@@ -608,22 +609,36 @@ namespace Edu.Module.Course
}
else
{
DateTime d1 = new DateTime(Year, Month, 1);
string startDate = Common.ConvertHelper.FormatDate(d1);
DateTime endTime = d1.AddMonths(1).AddDays(-1);
string endDate = Common.ConvertHelper.FormatDate(endTime);
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.TotalBonusMoney = list?.Sum(qitem => qitem.CurRewardMoney + qitem.ClueNumSalary + qitem.OpenBonus) ?? 0;
monthData.CurRewardMoney = list?.Sum(qitem => qitem.CurRewardMoney) ?? 0;
monthData.OpenBonus = list?.Sum(qitem => qitem.OpenBonus) ?? 0;
monthData.ClueNumSalary = list?.Sum(qitem => qitem.ClueNumSalary) ?? 0;
monthData.GuestNum = list?.Sum(qitem => qitem.CurGuestNum) ?? 0;
monthData.OrderCount = list?.Sum(qitem => qitem?.DeductionList?.Count) ?? 0;
monthData.ReachCount = list?.FirstOrDefault()?.IsReach ?? 0;
monthData.OrderCount = 0;
monthData.ClueCount = list?.Sum(qitem=>qitem.ClueNum)??0;
foreach (var subItem in list)
{
monthData.OrderCount += subItem?.DetailList?.Count()??0;
}
monthData.ReachCount = list?.Where(qitem => qitem.IsReach > 0)?.Count() ?? 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);
GetNextGoal(monthData.GuestNum, hisModel, out int CurrentStep,out decimal StartNum,out decimal EndNum, out string NextGoal, out decimal NextBonus);
monthData.CurrentStep = CurrentStep;
monthData.StartNum = StartNum;
monthData.EndNum = EndNum;
monthData.NextGoal = NextGoal;
monthData.NextBonus = NextBonus;
}
......@@ -632,7 +647,7 @@ namespace Edu.Module.Course
}
/// <summary>
/// 获取当月数据
/// 计算当月人头奖励数据
/// </summary>
/// <param name="user"></param>
private EmpStaticItem GetCurrentMonthData(UserInfo user)
......@@ -669,11 +684,17 @@ namespace Edu.Module.Course
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);
GetCurrentGoal(monthData.GuestNum, item, out int CurrentStep,out decimal StartNum,out decimal EndNum, out string NextGoal, out decimal awardAmount);
monthData.CurrentStep = CurrentStep;
monthData.StartNum = StartNum;
monthData.EndNum = EndNum;
monthData.NextGoal = NextGoal;
monthData.NextBonus = awardAmount;
monthData.BonusMoney = (CurRewardMoney + OpenBonus + ClueNumSalary);
monthData.CurRewardMoney = CurRewardMoney;
monthData.OpenBonus = OpenBonus;
monthData.ClueNumSalary = ClueNumSalary;
monthData.TotalBonusMoney = (CurRewardMoney + OpenBonus + ClueNumSalary);
monthData.ClueCount = stuModel?.ClueCount ?? 0;
break;
}
}
......@@ -700,18 +721,26 @@ namespace Edu.Module.Course
}, isGetDetail: true);
if (list != null && list.Count > 0)
{
yearData.BonusMoney = list?.Sum(qitem => qitem.CurRewardMoney + qitem.ClueNumSalary + qitem.OpenBonus - qitem.BeforeMoney) ?? 0;
yearData.TotalBonusMoney = list?.Sum(qitem => qitem.CurRewardMoney + qitem.ClueNumSalary + qitem.OpenBonus) ?? 0;
yearData.CurRewardMoney= list?.Sum(qitem => qitem.CurRewardMoney) ?? 0;
yearData.ClueNumSalary = list?.Sum(qitem => qitem.ClueNumSalary)??0;
yearData.OpenBonus = list?.Sum(qitem => qitem.OpenBonus) ?? 0;
yearData.GuestNum = list?.Sum(qitem => qitem.CurGuestNum) ?? 0;
yearData.OrderCount = list?.Sum(qitem => qitem?.DeductionList?.Count) ?? 0;
yearData.OrderCount = list?.Sum(qitem => qitem?.DetailList?.Count) ?? 0;
yearData.ReachCount = list?.Where(qitem => qitem.IsReach == 1)?.Count() ?? 0;
yearData.ClueCount = list?.Sum(qitem => qitem.ClueNum) ?? 0;
}
if (Year == CurrentYear)
{
var monData = GetCurrentMonthData(user);
yearData.BonusMoney += monData?.BonusMoney ?? 0;
yearData.GuestNum+= monData?.GuestNum ?? 0;
yearData.TotalBonusMoney += monData?.TotalBonusMoney ?? 0;
yearData.ClueNumSalary += monData?.ClueNumSalary ?? 0;
yearData.OpenBonus += monData?.OpenBonus ?? 0;
yearData.CurRewardMoney += monData?.CurRewardMoney ?? 0;
yearData.GuestNum += monData?.GuestNum ?? 0;
yearData.OrderCount += monData?.OrderCount ?? 0;
yearData.ReachCount += monData?.ReachCount ?? 0;
yearData.ClueCount += monData?.ClueCount ?? 0;
}
return yearData;
}
......@@ -724,11 +753,13 @@ namespace Edu.Module.Course
/// <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)
public void GetNextGoal(int GuestNum, CurrentMonthBonusData hisData, out int CurrentStep,out decimal StartNum,out decimal EndNum, out string NextGoal, out decimal awardAmount)
{
awardAmount = 0;
NextGoal = "";
CurrentStep = 1;
StartNum = 0;
EndNum = 0;
if (hisData != null && hisData.DetailList != null && hisData.DetailList.Count > 0)
{
var firstStep = hisData.DetailList[0];
......@@ -737,6 +768,8 @@ namespace Edu.Module.Course
CurrentStep = 1;
NextGoal = string.Format("距{0}档还差{1}个", 1, firstStep.StartNum - GuestNum);
awardAmount = firstStep.Money;
StartNum = firstStep.StartNum;
EndNum = firstStep.EndNum;
}
else
{
......@@ -745,15 +778,18 @@ namespace Edu.Module.Course
var tempNum = hisData.DetailList[i];
if (tempNum.StartNum <= GuestNum && GuestNum <= tempNum.EndNum)
{
StartNum = tempNum.StartNum;
EndNum = 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);
NextGoal = string.Format("距{0}档还差{1}个", (i + 1 + 1), hisData.DetailList[i + 1].StartNum - GuestNum);
}
else
{
CurrentStep = (i+1);
CurrentStep = (i + 1);
awardAmount = tempNum.Money;
NextGoal = string.Format("已完成当月目标!");
}
......@@ -771,11 +807,13 @@ namespace Edu.Module.Course
/// <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)
public void GetCurrentGoal(int GuestNum, RB_Bonus_PlanExtend hisData, out int CurrentStep,out decimal StartNum,out decimal EndNum, out string NextGoal, out decimal awardAmount)
{
awardAmount = 0;
NextGoal = "";
CurrentStep = 1;
StartNum = 0;
EndNum = 0;
if (hisData != null && hisData.DetailList != null && hisData.DetailList.Count > 0)
{
var firstStep = hisData.DetailList[0];
......@@ -784,6 +822,8 @@ namespace Edu.Module.Course
CurrentStep = 1;
NextGoal = string.Format("距{0}档还差{1}个", 1, firstStep.StartNum - GuestNum);
awardAmount = firstStep.Money;
StartNum = firstStep.StartNum;
EndNum = firstStep.EndNum;
}
else
{
......@@ -792,6 +832,8 @@ namespace Edu.Module.Course
var tempNum = hisData.DetailList[i];
if (tempNum.StartNum <= GuestNum && GuestNum <= tempNum.EndNum)
{
StartNum = tempNum.StartNum;
EndNum = tempNum.EndNum;
if ((i + 1) < hisData.DetailList.Count)
{
CurrentStep = (i + 1);
......@@ -819,7 +861,22 @@ namespace Edu.Module.Course
/// <summary>
/// 奖金
/// </summary>
public decimal BonusMoney { get; set; }
public decimal TotalBonusMoney { get; set; }
/// <summary>
/// 开单奖励
/// </summary>
public decimal OpenBonus { get; set; }
/// <summary>
/// 线索奖励
/// </summary>
public decimal ClueNumSalary { get; set; }
/// <summary>
/// 人头奖励
/// </summary>
public decimal CurRewardMoney { get; set; }
/// <summary>
/// 开单数量
......@@ -831,6 +888,16 @@ namespace Edu.Module.Course
/// </summary>
public int GuestNum { get; set; }
/// <summary>
/// 开始人数
/// </summary>
public decimal StartNum { get; set; }
/// <summary>
/// 结束人数
/// </summary>
public decimal EndNum { get; set; }
/// <summary>
/// 是否达到月度业绩目标
/// </summary>
......@@ -841,6 +908,11 @@ namespace Edu.Module.Course
/// </summary>
public int CurrentStep { get; set; }
/// <summary>
/// 线索条数
/// </summary>
public int ClueCount { get; set; }
/// <summary>
/// 下一个目标字符串
/// </summary>
......
......@@ -9366,6 +9366,83 @@ and {ruleModel.Time} >='{dmodel.RuleSTime.Value:yyyy-MM-dd}' and {ruleModel.Time
return allList;
}
/// <summary>
/// 我的直属下级
/// </summary>
/// <param name="Group_Id"></param>
/// <param name="Id"></param>
/// <param name="DeptId"></param>
/// <returns></returns>
public List<object> GetOKRPersonalDimensionListModule(int Group_Id, int Id, int DeptId = 0)
{
List<int> UserIdList = new List<int>();
List<object> allList = new List<object>();
#region 我的直属下级
var emList = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = Group_Id, IsLeave = 1, DirectSupervisor = Id, Dept_Id = DeptId });
if (emList.Any())
{
foreach (var item in emList)
{
UserIdList.Add(item.Id);
}
}
//如果是部门主管 需要将部门下除自己其他人加入
//查询部门负责人 负责的所有部门
var xjdlist = departmentRepository.GetDepartmentListRepository(new Model.ViewModel.User.RB_Department_ViewModel() { DeptId = DeptId, Group_Id = Group_Id, ManagerIds = Id.ToString() });
if (xjdlist.Any())
{
//查询该部门下所有人
var em1List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = Group_Id, IsLeave = 1, QDeptIds = string.Join(",", xjdlist.Select(x => x.DeptId)) });
em1List = em1List.Where(x => !UserIdList.Contains(x.Id) && x.DirectSupervisor == 0).ToList();//排序 已存在的直接关系
if (em1List.Any())
{
//查询全部负责人
string AllManagerIds = departmentRepository.GetAllDepartmentManagerIds(Group_Id);
List<int> AllDeptManageId = new List<int>();
if (!string.IsNullOrEmpty(AllManagerIds))
{
AllDeptManageId = JsonHelper.DeserializeObject<List<int>>("[" + AllManagerIds + "]");
}
//对 em1List 排除负责人
foreach (var item in em1List.Where(x => !AllDeptManageId.Contains(x.Id)))
{
allList.Add(new
{
Id = item.Id,
EmployeeName = item.EmployeeName,
UserIcon = item.UserIcon,
Dept_Id = item.Dept_Id,
Type = 2
});
UserIdList.Add(item.Id);
}
}
//上级部门下所有子部门的负责人
var d2list = departmentRepository.GetDepartmentListRepository(new Model.ViewModel.User.RB_Department_ViewModel() { Group_Id = Group_Id, QParentIds = string.Join(",", xjdlist.Select(x => x.DeptId)) });
string ManagerIds = string.Join(",", d2list.Where(x => !string.IsNullOrEmpty(x.ManagerIds)).Select(x => x.ManagerIds));
if (!string.IsNullOrEmpty(ManagerIds))
{
em1List = accountRepository.GetEmployeeListRepository(new Model.ViewModel.User.Employee_ViewModel() { Group_Id = Group_Id, IsLeave = 1, QIds = ManagerIds });
em1List = em1List.Where(x => !UserIdList.Contains(x.Id) && x.Id != Id && x.DirectSupervisor == 0).ToList();//排序 已存在的直接关系
foreach (var item in em1List)
{
allList.Add(new
{
Id = item.Id,
EmployeeName = item.EmployeeName,
UserIcon = item.UserIcon,
Dept_Id = item.Dept_Id,
Type = 2
});
UserIdList.Add(item.Id);
}
}
}
#endregion
return allList;
}
/// <summary>
/// 获取我所有下级
......
......@@ -659,32 +659,57 @@ namespace Edu.Module.User
/// <returns></returns>
public object GetStudentTodayStaticModule(int createBy)
{
DateTime startTime = DateTime.Now.AddMonths(-1);
string startDate = Common.ConvertHelper.FormatDate(startTime);
var today = Common.ConvertHelper.FormatDate(DateTime.Now);
//今日新增名单
int todayAdd = studentRepository.GetStudentStaticRepository(createBy.ToString(), today, today)?.FirstOrDefault()?.ClueCount ?? 0;
//今日到访
int todayVisit = student_VisitRepository.GetStudentVisitStaticRepository(new RB_Student_Visit_Extend() { CreateBy = createBy, QueryDate = today })?.Count() ?? 0;
//今日预约
int appointmentCount = student_AppointmentRepository.GetStudentVisitStaticRepository(new RB_Student_Appointment_Extend()
var addList = studentRepository.GetStudentStaticRepository(createBy.ToString(), startDate, today);
int days = (DateTime.Now - startTime).Days;
List<object> dayList = new List<object>();
//今日新增名单
int todayAdd = addList?.FirstOrDefault(qitem=>Common.ConvertHelper.FormatDate(qitem.CreateTime)== today)?.ClueCount ?? 0;
//到访名单
var visitList = student_VisitRepository.GetStudentVisitStaticRepository(new RB_Student_Visit_Extend()
{
CreateBy = createBy,
QueryDate = today
})?.FirstOrDefault()?.AppointmentCount ?? 0;
StartDate = startDate,
EndDate= today
});
//今日到访
int todayVisit = visitList?.FirstOrDefault(qitem => Common.ConvertHelper.FormatDate(qitem.CreateTime) == today)?.VisitCount ?? 0;
//今日新增同行
var customerCount = customerRepository.GetCustomerStaticRepository(new RB_Customer_Extend()
//预约列表
var appointmentList = student_AppointmentRepository.GetStudentVisitStaticRepository(new RB_Student_Appointment_Extend()
{
CreateBy = createBy,
QDate = today
})?.FirstOrDefault()?.CustomerCount ?? 0;
StartDate = startDate,
EndDate = today,
});
//今日预约
int appointmentCount = appointmentList?.FirstOrDefault(qitem => Common.ConvertHelper.FormatDate(qitem.CreateTime) == today)?.AppointmentCount ?? 0;
//今日试听
var trialLessonCount = visitor_ReserveRepository.GetVisitorReserveStaticRepository(new Model.ViewModel.Reserve.RB_Visitor_Reserve_Extend()
//新增同行列表
var customerList = customerRepository.GetCustomerStaticRepository(new RB_Customer_Extend()
{
CreateBy = createBy,
QDate = today
})?.FirstOrDefault()?.TrialLessonCount ?? 0;
StartDate = startDate,
EndDate = today
});
//今日新增同行
var customerCount = customerList?.FirstOrDefault(qitem => Common.ConvertHelper.FormatDate(qitem.CreateTime) == today)?.CustomerCount ?? 0;
//试听列表
var trialLessonList = visitor_ReserveRepository.GetVisitorReserveStaticRepository(new Model.ViewModel.Reserve.RB_Visitor_Reserve_Extend()
{
CreateBy = createBy,
StartClassDate = startDate,
EndClassDate=today
});
//今日试听
var trialLessonCount = trialLessonList?.FirstOrDefault(qitem => Common.ConvertHelper.FormatDate(qitem.CreateTime) == today)?.TrialLessonCount ?? 0;
//未沟通人数
var notCommunicateCount = studentRepository.GetStudentListRepository(new RB_Student_ViewModel()
{
......@@ -692,8 +717,24 @@ namespace Edu.Module.User
StuStage = 1
})?.Count();
for (int i = 1; i <= days; i++)
{
var newDate = startTime.AddDays(i);
dayList.Add(new
{
x = Common.ConvertHelper.FormatMonthDay(newDate),
y = addList?.FirstOrDefault(qitem => Common.ConvertHelper.FormatDate(qitem.CreateTime) == Common.ConvertHelper.FormatDate(newDate))?.ClueCount ?? 0,
AddCount = addList?.FirstOrDefault(qitem => Common.ConvertHelper.FormatDate(qitem.CreateTime) == Common.ConvertHelper.FormatDate(newDate))?.ClueCount ?? 0,
VisitCount = visitList?.FirstOrDefault(qitem => Common.ConvertHelper.FormatDate(qitem.CreateTime) == Common.ConvertHelper.FormatDate(newDate))?.VisitCount ?? 0,
appointmentCount = appointmentList?.FirstOrDefault(qitem => Common.ConvertHelper.FormatDate(qitem.CreateTime) == Common.ConvertHelper.FormatDate(newDate))?.AppointmentCount ?? 0,
customerCount = customerList?.FirstOrDefault(qitem => Common.ConvertHelper.FormatDate(qitem.CreateTime) == Common.ConvertHelper.FormatDate(newDate))?.CustomerCount ?? 0,
trialLessonCount=trialLessonList?.FirstOrDefault(qitem => Common.ConvertHelper.FormatDate(qitem.CreateTime) == Common.ConvertHelper.FormatDate(newDate))?.TrialLessonCount ?? 0,
});
}
object obj = new
{
dayList,
todayAdd,
todayVisit,
appointmentCount,
......
......@@ -192,7 +192,7 @@ WHERE o.OrderState in(1,2) and o.Group_Id ={group_Id} and o.CustomerId in({custo
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.CreateBy,COUNT(1) AS CustomerCount
SELECT A.CreateBy,DATE_FORMAT(A.CreateTime,'%Y-%m-%d') AS CreateTime,COUNT(1) AS CustomerCount
FROM RB_Customer AS A
WHERE 1=1
");
......@@ -212,8 +212,17 @@ WHERE 1=1
//指定日期新增同行数量
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y/%m/%d')= DATE_FORMAT('{1}','%y/%m/%d') ", nameof(RB_Customer_Extend.CreateTime), query.QDate);
}
if (!string.IsNullOrEmpty(query.StartDate))
{
builder.AppendFormat(" AND A.{0}>='{1}' ", nameof(RB_Customer_Extend.CreateTime), query.StartDate);
}
if (!string.IsNullOrEmpty(query.EndDate))
{
builder.AppendFormat(" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Customer_Extend.CreateTime), query.EndDate);
}
}
builder.AppendFormat(@" GROUP BY A.CreateBy ");
builder.AppendFormat(@" GROUP BY A.CreateBy,DATE_FORMAT(A.CreateTime,'%Y/%m/%d') ");
builder.AppendFormat(@" ORDER BY A.CreateBy,DATE_FORMAT(A.CreateTime,'%Y/%m/%d') ");
return Get<RB_Customer_Extend>(builder.ToString()).ToList();
}
}
......
......@@ -56,7 +56,7 @@ WHERE 1=1
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.CreateBy,Count(1) AS AppointmentCount
SELECT A.CreateBy,DATE_FORMAT(A.CreateTime,'%Y-%m-%d') AS CreateTime,Count(1) AS AppointmentCount
FROM RB_Student_Appointment AS A INNER JOIN rb_student AS B ON A.StuId=B.StuId
WHERE 1=1
");
......@@ -71,7 +71,6 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Appointment_Extend.StuId), query.StuId);
}
if (query.CreateBy > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Appointment_Extend.CreateBy), query.CreateBy);
......@@ -81,8 +80,16 @@ WHERE 1=1
//指定日期的约访统计
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y/%m/%d')= DATE_FORMAT('{1}','%y/%m/%d') ", nameof(RB_Student_Visit_Extend.CreateTime), Common.ConvertHelper.FormatDate(query.QueryDate));
}
if (!string.IsNullOrEmpty(query.StartDate))
{
builder.AppendFormat(" AND A.{0}>='{1}' ", nameof(RB_Student_Visit_Extend.CreateTime), Common.ConvertHelper.FormatDate(query.StartDate));
}
if (!string.IsNullOrEmpty(query.EndDate))
{
builder.AppendFormat(" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Student_Visit_Extend.CreateTime), Common.ConvertHelper.FormatDate(query.EndDate));
}
}
builder.AppendFormat(" GROUP BY A.CreateBy ");
builder.AppendFormat(" GROUP BY A.CreateBy,DATE_FORMAT(A.CreateTime,'%Y/%m/%d') ");
return Get<RB_Student_Appointment_Extend>(builder.ToString()).ToList();
}
}
......
......@@ -89,7 +89,7 @@ WHERE 1=1
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.StuId,Count(1) AS VisitCount
SELECT A.CreateBy,DATE_FORMAT(A.CreateTime,'%Y-%m-%d') AS CreateTime ,Count(1) AS VisitCount
FROM RB_Student_Visit AS A INNER JOIN rb_student AS B ON A.StuId=B.StuId
WHERE 1=1
");
......@@ -112,13 +112,17 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Visit_Extend.CreateBy), query.CreateBy);
}
if (!string.IsNullOrEmpty(query.QueryDate))
if (!string.IsNullOrEmpty(query.StartDate))
{
//今日到访
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y/%m/%d')= DATE_FORMAT('{1}','%y/%m/%d') ", nameof(RB_Student_Visit_Extend.CreateTime), Common.ConvertHelper.FormatDate(query.QueryDate));
builder.AppendFormat(" AND A.{0}>='{1}' ", nameof(RB_Student_Visit_Extend.CreateTime), Common.ConvertHelper.FormatDate(query.StartDate));
}
if (!string.IsNullOrEmpty(query.EndDate))
{
builder.AppendFormat(" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Student_Visit_Extend.CreateTime), Common.ConvertHelper.FormatDate(query.EndDate));
}
}
builder.AppendFormat(" GROUP BY A.StuId ");
builder.AppendFormat(" GROUP BY A.CreateBy,DATE_FORMAT(A.CreateTime,'%Y/%m/%d') ");
builder.AppendFormat(" ORDER BY A.CreateBy, DATE_FORMAT(A.CreateTime, '%Y/%m/%d') ");
return Get<RB_Student_Visit_Extend>(builder.ToString()).ToList();
}
}
......
......@@ -264,7 +264,7 @@ WHERE 1=1
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.CreateBy,COUNT(1) AS TrialLessonCount
SELECT A.CreateBy,COUNT(1) AS TrialLessonCount,DATE_FORMAT(A.CreateTime,'%Y-%m-%d') AS CreateTime
FROM RB_Visitor_Reserve AS A
WHERE 1=1
");
......@@ -284,8 +284,17 @@ WHERE 1=1
//指定日期的试听课数量
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y/%m/%d')= DATE_FORMAT('{1}','%y/%m/%d') ", nameof(RB_Visitor_Reserve_Extend.CreateTime), query.QDate);
}
if (!string.IsNullOrEmpty(query.StartClassDate))
{
builder.AppendFormat(" AND A.{0}>='{1}' ", nameof(RB_Visitor_Reserve_Extend.CreateTime), query.StartClassDate);
}
if (!string.IsNullOrEmpty(query.EndClassDate))
{
builder.AppendFormat(" AND A.{0}<='{1} 23:59:59' ", nameof(RB_Visitor_Reserve_Extend.CreateTime), query.EndClassDate);
}
}
builder.AppendFormat(@" GROUP BY A.CreateBy ");
builder.AppendFormat(@" GROUP BY A.CreateBy,DATE_FORMAT(A.CreateTime,'%Y/%m/%d') ");
builder.AppendFormat(@" ORDER BY A.CreateBy,DATE_FORMAT(A.CreateTime,'%Y/%m/%d') ");
return Get<RB_Visitor_Reserve_Extend>(builder.ToString()).ToList();
}
}
......
......@@ -274,6 +274,14 @@ WHERE 1=1
{
builder.AppendFormat(" AND t.StuId IN (SELECT StuId FROM rb_student_assist WHERE AssistId={0} AND `Status`=0) ", query.CreateBy);
}
if (query.BelongType == 4 && query.CreateIds != null && query.CreateIds.Count > 0)
{
string createIds = string.Join(",", query.CreateIds);
if (!string.IsNullOrEmpty(createIds))
{
builder.AppendFormat(" AND t.{0} IN({1}) ", nameof(RB_Student_ViewModel.CreateBy), createIds);
}
}
}
else
{
......@@ -746,11 +754,24 @@ WHERE 1=1
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT CreateBy,Count(1) AS ClueCount
SELECT CreateBy,DATE_FORMAT(CreateTime,'%Y-%m-%d') AS CreateTime,Count(1) AS ClueCount
FROM RB_Student
WHERE Status=0 AND CreateBy IN({0}) and CreateTime>='{1}' and CreateTime<='{2} 23:59:59'
", createByIds, startDate, endDate);
builder.AppendFormat(" GROUP BY CreateBy ");
WHERE Status=0
");
if (!string.IsNullOrEmpty(createByIds))
{
builder.AppendFormat(" AND CreateBy IN({0}) ", createByIds);
}
if (!string.IsNullOrEmpty(startDate))
{
builder.AppendFormat(" AND CreateTime>='{0}' ", startDate);
}
if (!string.IsNullOrEmpty(endDate))
{
builder.AppendFormat(" AND CreateTime<='{0} 23:59:59' ", endDate);
}
builder.AppendFormat(" GROUP BY CreateBy,DATE_FORMAT(CreateTime,'%Y/%m/%d') ");
builder.AppendFormat(" ORDER BY CreateBy,DATE_FORMAT(CreateTime,'%Y/%m/%d') ");
var list = Get<RB_Student_ViewModel>(builder.ToString()).ToList();
return list;
}
......
......@@ -2355,6 +2355,17 @@ namespace Edu.WebApi.Controllers.OKR
}
#endregion
/// <summary>
/// 获取当前人员下级列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetPersonalDimension()
{
var userInfo = base.UserInfo;
var allList = okrPeriodModule.GetOKRPersonalDimensionListModule(userInfo.Group_Id, userInfo.Id, userInfo.DeptId);
return ApiResult.Success(data: allList);
}
#region 管理端数据看板 作废
......
......@@ -682,6 +682,12 @@ namespace Edu.WebApi.Controllers.User
query.CreateBy = base.UserInfo.Id;
}
string CreateIds = base.ParmJObj.GetStringValue("CreateIds");
if (!string.IsNullOrEmpty(CreateIds))
{
query.CreateIds = Common.Plugin.JsonHelper.DeserializeObject<List<int>>(CreateIds);
}
int PlanId = base.ParmJObj.GetInt("PlanId");
if (PlanId > 0)
{
......
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