Commit 9e6c987a authored by 罗超's avatar 罗超

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

# Conflicts:
#	Edu.Module.Course/OrderModule.cs
parents 21cb35bf 936a73e0
......@@ -16,7 +16,12 @@ namespace Edu.Model.Entity.Bonus
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 期数编号
/// </summary>
public int PeriodId { get; set; }
/// <summary>
/// 关联方案编号
/// </summary>
......@@ -104,21 +109,11 @@ namespace Edu.Model.Entity.Bonus
/// </summary>
public int IsReach { get; set; }
/// <summary>
/// 基本工资
/// </summary>
public decimal BasicSalary { get; set; }
/// <summary>
/// 开单奖金
/// </summary>
public decimal OpenBonus { get; set; }
/// <summary>
/// 工龄工资
/// </summary>
public decimal WorkAgeSalary { get; set; }
/// <summary>
/// 每5条线索奖金
/// </summary>
......@@ -128,5 +123,10 @@ namespace Edu.Model.Entity.Bonus
/// 以前月份的冲抵金额
/// </summary>
public decimal BeforeMoney { get; set; }
/// <summary>
/// 当月人头奖励配置数据Json格式
/// </summary>
public string HisBonusData { get; set; }
}
}
......@@ -36,5 +36,10 @@ namespace Edu.Model.Entity.Bonus
/// 日志内容
/// </summary>
public string LogContent { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Text;
using VT.FW.DB;
namespace Edu.Model.Entity.Bonus
{
/// <summary>
/// 人头奖金发放期数实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Personnel_Period
{
/// <summary>
/// 主键编号
/// </summary>
public int Id { get; set; }
/// <summary>
/// 名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 期数
/// </summary>
public string Periods { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建日期
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 累计金额
/// </summary>
public decimal SumPrice { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 关联财务单据ids
/// </summary>
public string Financials { get; set; }
/// <summary>
/// 已发放人员的列表
/// </summary>
public string EmpIds { get; set; }
/// <summary>
/// 期数备注
/// </summary>
public string Remark { get; set; }
}
}
......@@ -81,5 +81,10 @@ namespace Edu.Model.Entity.Sell
/// 备注
/// </summary>
public string Remark { get; set; }
/// <summary>
/// 订单业绩
/// </summary>
public decimal OrderSaleMoney { get; set; }
}
}
using Edu.Model.Entity.Bonus;
using Edu.Common.Plugin;
using Edu.Model.Entity.Bonus;
using System;
using System.Collections.Generic;
using System.Text;
......@@ -14,5 +15,10 @@ namespace Edu.Model.ViewModel.Bonus
/// 奖励主表编号【查询使用】
/// </summary>
public string QBonusIds { get; set; }
/// <summary>
/// 订单状态字符串
/// </summary>
public string OrderStateName { get { return this.OrderState.ToName(); } }
}
}
......@@ -10,5 +10,14 @@ namespace Edu.Model.ViewModel.Bonus
/// </summary>
public class RB_Personnel_BonusLog_Extend : RB_Personnel_BonusLog
{
/// <summary>
/// 奖励主表编号【查询使用】
/// </summary>
public string QBonusIds { get; set; }
/// <summary>
/// 创建时间字符串
/// </summary>
public string CreateTimeStr { get { return Common.ConvertHelper.FormatTime(this.CreateTime); } }
}
}
......@@ -14,10 +14,82 @@ namespace Edu.Model.ViewModel.Bonus
/// 人头奖励详情列表
/// </summary>
public List<RB_Personnel_BonusDetail_Extend> DetailList { get; set; }
/// <summary>
/// 抵扣列表
/// </summary>
public List<RB_Personnel_Deduction_Extend> DeductionList { get; set; }
/// <summary>
/// 变更日志列表
/// </summary>
public List<RB_Personnel_BonusLog_Extend> BonusLogList { get; set; }
/// <summary>
/// 是否查询未平账
/// </summary>
public int IsNoBalance { get; set; }
/// <summary>
/// 查询员工编号
/// </summary>
public string QEmployeeIds { get; set; }
/// <summary>
/// 期数编号【查询使用】
/// </summary>
public string QPeriodIds { get; set; }
/// <summary>
/// 员工姓名
/// </summary>
public string EmployeeName { get; set; }
}
/// <summary>
/// 当月人头奖励配置数据
/// </summary>
public class CurrentMonthBonusData
{
/// <summary>
/// 开单奖金
/// </summary>
public decimal OpenBonus { get; set; }
/// <summary>
/// 每5条线索奖金
/// </summary>
public decimal ClueNumSalary { get; set; }
/// <summary>
/// 当月目标金额
/// </summary>
public decimal MonthGoalMoney { get; set; }
/// <summary>
/// 人头梯度详情
/// </summary>
public List<CurrentMonthBonusDataDetails> DetailList { get; set; }
}
/// <summary>
/// 当月人头奖励梯度配置数据
/// </summary>
public class CurrentMonthBonusDataDetails
{
/// <summary>
/// 开始人数
/// </summary>
public decimal StartNum { get; set; }
/// <summary>
/// 结束人数
/// </summary>
public decimal EndNum { get; set; }
/// <summary>
/// 奖励金额
/// </summary>
public decimal Money { get; set; }
}
}
......@@ -14,5 +14,10 @@ namespace Edu.Model.ViewModel.Bonus
/// 奖励主表编号【查询使用】
/// </summary>
public string QBonusIds { get; set; }
/// <summary>
/// 创建时间字符串
/// </summary>
public string CreateTimeStr { get { return Common.ConvertHelper.FormatTime(this.CreateTime); } }
}
}
\ No newline at end of file
using Edu.Model.Entity.Bonus;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.Bonus
{
/// <summary>
/// 人头奖金发放期数扩展实体类
/// </summary>
public class RB_Personnel_Period_Extend : RB_Personnel_Period
{
/// <summary>
/// 提成数据
/// </summary>
public List<RB_Personnel_Bonus_Extend> BonusList { get; set; }
}
}
......@@ -103,5 +103,15 @@ namespace Edu.Model.ViewModel.Customer
/// 查询创建人
/// </summary>
public int QCreateBy { get; set; }
/// <summary>
/// 查询日期
/// </summary>
public string QDate { get; set; }
/// <summary>
/// 同行数量
/// </summary>
public int CustomerCount { get; set; }
}
}
......@@ -10,5 +10,14 @@ namespace Edu.Model.ViewModel.Customer
/// </summary>
public class RB_Student_Appointment_Extend: RB_Student_Appointment
{
/// <summary>
/// 查询日期
/// </summary>
public string QueryDate { get; set; }
/// <summary>
/// 约访次数
/// </summary>
public int AppointmentCount { get; set; }
}
}
......@@ -155,5 +155,10 @@ namespace Edu.Model.ViewModel.Reserve
/// 试听次数
/// </summary>
public int TrialLessonCount { get; set; }
/// <summary>
/// 查询日期
/// </summary>
public string QDate { get; set; }
}
}
......@@ -273,5 +273,16 @@ namespace Edu.Model.ViewModel.Sell
/// 学习目的
/// </summary>
public string LearningGoalsName { get; set; }
/// <summary>
/// QQ号码
/// </summary>
public string QQ { get; set; }
/// <summary>
/// 微信号
/// </summary>
public string WeChatNo { get; set; }
}
}
\ No newline at end of file
......@@ -49,6 +49,11 @@ namespace Edu.Model.ViewModel.Sell
/// </summary>
public string ClassTypeName { get; set; }
/// <summary>
/// 班级Ids
/// </summary>
public string ClassIds { get; set; }
/// <summary>
/// 订单ids
/// </summary>
......
......@@ -14,5 +14,10 @@ namespace Edu.Model.ViewModel.Sell
/// 只查询正常的
/// </summary>
public int IsSelectNor { get; set; }
/// <summary>
/// 订单ids
/// </summary>
public string OrderIds { get; set; }
}
}
\ No newline at end of file
This diff is collapsed.
......@@ -134,6 +134,12 @@ namespace Edu.Module.Course
/// </summary>
//private readonly RB_Customer_BalanceDetailRepository customer_BalanceDetailRepository = new RB_Customer_BalanceDetailRepository();
/// <summary>
/// 业绩提成
/// </summary>
private readonly RB_Sell_Achievements_EmpRepository sell_Achievements_EmpRepository = new RB_Sell_Achievements_EmpRepository();
/// <summary>
/// 学生关联
/// </summary>
......@@ -1346,7 +1352,9 @@ namespace Edu.Module.Course
MakeUpHours = 0,
StuIcon = item.StuIcon,
TotalHours = Convert.ToInt32(courseModel.ClassHours),
RenewState = item.IsRenewGuest == 1 ? 2 : 1
RenewState = item.IsRenewGuest == 1 ? 2 : 1,
QQ=item.QQ,
WeChatNo=item.WeChatNo,
};
SetOrderGuestInfo(guestModel, out string Nmessage);
......@@ -2714,14 +2722,37 @@ namespace Edu.Module.Course
}
#region 新增修改学员账号
if (flag &&!string.IsNullOrEmpty(dmodel.Mobile))
if (flag )
{
//学员表
var stuModel = studentRepository.GetStuByTelRepository(new RB_Student_ViewModel()
RB_Student_ViewModel stuModel = null;
if (!string.IsNullOrEmpty(dmodel.Mobile))
{
Group_Id = dmodel.Group_Id,
StuTel = dmodel.Mobile
});
//学员表
stuModel = studentRepository.GetStuByTelRepository(new RB_Student_ViewModel()
{
Group_Id = dmodel.Group_Id,
StuTel = dmodel.Mobile
});
}
if (stuModel == null && !string.IsNullOrEmpty(dmodel.QQ))
{
//学员表
stuModel = studentRepository.GetStuByTelRepository(new RB_Student_ViewModel()
{
Group_Id = dmodel.Group_Id,
QQ = dmodel.QQ
});
}
if (stuModel == null && !string.IsNullOrEmpty(dmodel.WeChatNo))
{
//学员表
stuModel = studentRepository.GetStuByTelRepository(new RB_Student_ViewModel()
{
Group_Id = dmodel.Group_Id,
WeChatNo = dmodel.WeChatNo
});
}
//不存在存在学员基本信息
if (stuModel == null)
{
......@@ -2932,6 +2963,9 @@ namespace Edu.Module.Course
//获取合同列表
var clist = education_ContractRepository.GetList(new RB_Education_Contract_ViewModel() { Group_Id = demodel.Group_Id, OrderIds = orderIds, Status = -1 }).Where(x => x.Status != 4).ToList();
//获取新的业绩提成
//var achList = sell_Achievements_EmpRepository.GetList(new RB_Sell_Achievements_Emp_ViewModel() { Group_Id = demodel.Group_Id, OrderIds = orderIds });
foreach (var item in orderList)
{
if (item.SourceOrderId > 0)
......
......@@ -336,25 +336,37 @@ namespace Edu.Module.Course
int EnterId = 0;
string EnterName = "";
var empModel = accountRepository.GetEmployeeInfo(userInfo.Id);
if (empModel.UserRole == UserRoleEnum.MarketPersion)
int SaleId = StuList.FirstOrDefault().CreateBy;
if (SaleId >0)
{
EnterId = empModel.Id;
EnterName = empModel.EmployeeName;
}
else {
int SaleId = StuList.FirstOrDefault().CreateBy;
if (SaleId != userInfo.Id)
//自己负责的
var empModel = accountRepository.GetEmployeeInfo(SaleId);
if (empModel.UserRole == UserRoleEnum.MarketPersion)
{
//自己负责的
empModel = accountRepository.GetEmployeeInfo(SaleId);
if (empModel.UserRole == UserRoleEnum.MarketPersion)
{
EnterId = empModel.Id;
EnterName = empModel.EmployeeName;
}
EnterId = empModel.Id;
EnterName = empModel.EmployeeName;
}
}
//2021-12-24 取消
//var empModel = accountRepository.GetEmployeeInfo(userInfo.Id);
//if (empModel.UserRole == UserRoleEnum.MarketPersion)
//{
// EnterId = empModel.Id;
// EnterName = empModel.EmployeeName;
//}
//else {
// int SaleId = StuList.FirstOrDefault().CreateBy;
// if (SaleId != userInfo.Id)
// {
// //自己负责的
// empModel = accountRepository.GetEmployeeInfo(SaleId);
// if (empModel.UserRole == UserRoleEnum.MarketPersion)
// {
// EnterId = empModel.Id;
// EnterName = empModel.EmployeeName;
// }
// }
//}
return new
{
CustomerId,
......
This diff is collapsed.
......@@ -101,7 +101,8 @@ namespace Edu.Module.Customer
{nameof(RB_Customer_Extend.WeChatNo),model.WeChatNo },
};
flag = customerRepository.Update(fileds, new WhereHelper(nameof(RB_Customer_Extend.CustomerId), model.CustomerId));
if (flag) {
if (flag)
{
#region 操作记录
string LogContent = "后台修改同业信息:";
if (oldModel.CustomerName != model.CustomerName)
......@@ -112,6 +113,19 @@ namespace Edu.Module.Customer
{
LogContent += "电话由'" + oldModel.ContactNumber + "'修改为'" + model.ContactNumber + "';";
}
if (oldModel.Fax != model.Fax)
{
LogContent += "传真由'" + oldModel.Fax + "'修改为'" + model.Fax + "';";
}
if (oldModel.QQ != model.QQ)
{
LogContent += "QQ由'" + oldModel.QQ + "'修改为'" + model.QQ + "';";
}
if (oldModel.Email != model.Email)
{
LogContent += "邮箱由'" + oldModel.Email + "'修改为'" + model.Email + "';";
}
if (oldModel.Address != model.Address)
{
LogContent += "地址由'" + oldModel.Address + "'修改为'" + model.Address + "';";
......@@ -128,7 +142,10 @@ namespace Edu.Module.Customer
{
LogContent += "类型由'" + (oldModel.CustomerType == 1 ? "企业" : "学校") + "'修改为'" + (model.CustomerType == 1 ? "企业" : "学校") + "';";
}
if (oldModel.WeChatNo != model.WeChatNo)
{
LogContent += "微信号由'" + oldModel.WeChatNo + "'修改为'" + model.WeChatNo + "';";
}
//记录操作日志
changeLogRepository.Insert(new Model.Entity.Log.RB_User_ChangeLog()
{
......
......@@ -123,6 +123,10 @@ namespace Edu.Module.Finance
/// </summary>
private readonly RB_Sell_Commission_DetailsRepository sell_Commission_DetailsRepository = new RB_Sell_Commission_DetailsRepository();
/// <summary>
/// 业绩提成
/// </summary>
private readonly RB_Sell_Achievements_EmpRepository sell_Achievements_EmpRepository = new RB_Sell_Achievements_EmpRepository();
/// <summary>
/// 学校仓储层对象
/// </summary>
private readonly RB_SchoolRepository schoolRepository = new RB_SchoolRepository();
......@@ -342,6 +346,7 @@ namespace Edu.Module.Finance
List<RB_Teaching_Perf_ViewModel> meritsProfitList = new List<RB_Teaching_Perf_ViewModel>();
List<RB_Class_Check_ViewModel> classHoursList = new List<RB_Class_Check_ViewModel>();
List<RB_Class_Check_ViewModel> classStuList = new List<RB_Class_Check_ViewModel>();
List<RB_Sell_Achievements_Emp_ViewModel> AchDetailList = new List<RB_Sell_Achievements_Emp_ViewModel>();
if (classList.Any())
{
string classIds = string.Join(",", classList.Select(x => x.ClassId));
......@@ -355,6 +360,13 @@ namespace Edu.Module.Finance
classHoursList = class_CheckRepository.GetClassLearnHoursList(GroupId, classIds);
//查询班级下所有学生的上课金额
classStuList = class_CheckRepository.GetClassStuLearnMoneyList(GroupId, classIds);
#region 查询订单下所有的业绩提成
if (orderAllList.Any())
{
string orderIds = string.Join(",", orderAllList.Select(x => x.OrderId));
AchDetailList = sell_Achievements_EmpRepository.GetList(new RB_Sell_Achievements_Emp_ViewModel() { Group_Id = GroupId, OrderIds = orderIds });
}
#endregion
}
//排序取消/删除班级
var oldlist = edu_RevenueReportRepository.GetList(new RB_Edu_RevenueReport_Extend() { StartTime = STime, EndTime = ETime, DateType = 1, Rb_Group_Id = GroupId });
......@@ -421,6 +433,10 @@ namespace Edu.Module.Finance
demodel.QTShouRu -= cfinanceList.Where(x => x.Is_Cashier == 1 && x.Fee > 0).GroupBy(x => new { x.FrID, x.Fee }).Sum(x => x.Key.Fee ?? 0);
//支出
demodel.TiCheng = orderList.Where(x => x.IsCommissionGive == 1).Sum(x => x.CommissionMoney + x.ExtraCommissionMoney);//销售提成
var achList = AchDetailList.Where(x => orderList.Select(x => x.OrderId).Contains(x.OrderId)).ToList();
if (achList.Any()) {
demodel.TiCheng += achList.Sum(x => x.GiveOutMoney);// 业绩提成
}
demodel.ClassFee = teacherBonusList.Where(x => x.ClassId == item.ClassId).Sum(x => x.Money);//老师提成
demodel.JiXiaoMoney = meritsProfitList.Where(x => x.ClassId == item.ClassId && x.PerfState == Common.Enum.Course.PerfStateEnum.Confirmed).OrderByDescending(x => x.CreateTime).FirstOrDefault()?.Money ?? 0;//绩效提成
......@@ -2889,6 +2905,19 @@ namespace Edu.Module.Finance
#endregion
#region 业绩提成
/// <summary>
/// 获取订单提成明细
/// </summary>
/// <param name="orderIds"></param>
/// <param name="group_Id"></param>
/// <returns></returns>
public List<RB_Sell_Achievements_Emp_ViewModel> GetAchListForOrderIds(string orderIds, int group_Id)
{
return sell_Achievements_EmpRepository.GetList(new RB_Sell_Achievements_Emp_ViewModel() { Group_Id = group_Id, OrderIds = orderIds });
}
#endregion
#region 月结窗口
......
......@@ -43,8 +43,6 @@ namespace Edu.Module.User
/// </summary>
private readonly AccountModule accountModule = new AccountModule();
/// <summary>
/// 小程序用户仓储层对象 add by:W 2021-09-15
/// </summary>
......@@ -101,6 +99,12 @@ namespace Edu.Module.User
/// </summary>
private readonly RB_NeedsRepository needsRepository = new RB_NeedsRepository();
/// <summary>
/// 学员约访仓储层对象
/// </summary>
private readonly RB_Student_AppointmentRepository student_AppointmentRepository = new RB_Student_AppointmentRepository();
/// <summary>
/// 获取学生列表
/// </summary>
......@@ -592,20 +596,20 @@ namespace Edu.Module.User
var assistList = GetStuAssistListModule(model.StuId);
var customerModel = customerRepository.GetEntity(model.CustomerId);
string searchContent = model.StuTel;
string searchContent = model.StuTel + "(学员电话)";
if (type == 2)
{
searchContent = model.QQ;
searchContent = model.QQ + "(学员电话)";
}
if (type == 3)
{
searchContent = model.WeChatNo;
searchContent = model.WeChatNo + "(学员微信)";
}
string createByName = accountModule.GetAccountListExtModule(new RB_Account_ViewModel()
{
Id = model.CreateBy
})?.FirstOrDefault()?.AccountName ?? "";
string markdownContent = $"`同业查重通知` \n>**概要信息** \n>同业名称:{customerModel?.CustomerName ?? ""}({customerModel?.ContactNumber ?? ""})\n>查询内容:{searchContent} \n>关联学员:{model.StuName}\n>关联学员电话:{model.StuTel}\n>";
string markdownContent = $"`同业查重通知` \n>**概要信息** \n>同业名称:{customerModel?.CustomerName ?? ""}({customerModel?.ContactNumber ?? ""})\n>查询内容:{searchContent} \n>关联学员:{model.StuName}\n>";
markdownContent += $"关联同事:{ createByName}\n> ";
Common.Message.PushMessageModel modelWork = new Common.Message.PushMessageModel()
{
......@@ -647,6 +651,57 @@ namespace Edu.Module.User
{
return member_UserRepository.GetMemberUserEntityRepository(query);
}
#endregion
#endregion
/// <summary>
/// 今日新名单
/// </summary>
/// <returns></returns>
public object GetStudentTodayStaticModule(int createBy)
{
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()
{
CreateBy = createBy,
QueryDate = today
})?.FirstOrDefault()?.AppointmentCount ?? 0;
//今日新增同行
var customerCount = customerRepository.GetCustomerStaticRepository(new RB_Customer_Extend()
{
CreateBy = createBy,
QDate = today
})?.FirstOrDefault()?.CustomerCount ?? 0;
//今日试听
var trialLessonCount = visitor_ReserveRepository.GetVisitorReserveStaticRepository(new Model.ViewModel.Reserve.RB_Visitor_Reserve_Extend()
{
CreateBy = createBy,
QDate = today
})?.FirstOrDefault()?.TrialLessonCount ?? 0;
//未沟通人数
var notCommunicateCount = studentRepository.GetStudentListRepository(new RB_Student_ViewModel()
{
CreateBy = createBy,
StuStage = 1
})?.Count();
object obj = new
{
todayAdd,
todayVisit,
appointmentCount,
customerCount,
trialLessonCount,
notCommunicateCount
};
return obj;
}
}
}
......@@ -20,7 +20,7 @@ namespace Edu.Repository.Bonus
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Personnel_BonusLog_Extend> GetPersonnelBonusLogPageRepository(int pageIndex, int pageSize, out long rowsCount, RB_Personnel_BonusLog_Extend query)
public List<RB_Personnel_BonusLog_Extend> GetPersonnelBonusLogListRepository(RB_Personnel_BonusLog_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
......@@ -34,6 +34,10 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_BonusLog_Extend.BonusId), query.BonusId);
}
if (!string.IsNullOrEmpty(query.QBonusIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_BonusLog_Extend.BonusId), query.QBonusIds);
}
if (query.LogType > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_BonusLog_Extend.LogType), query.LogType);
......@@ -42,8 +46,9 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_BonusLog_Extend.OrderId), query.OrderId);
}
}
return GetPage<RB_Personnel_BonusLog_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
return Get<RB_Personnel_BonusLog_Extend>( builder.ToString()).ToList();
}
/// <summary>
......@@ -61,7 +66,8 @@ WHERE 1=1
BonusId = BonusId,
LogType = LogType,
OrderId = OrderId,
LogContent = LogContent
LogContent = LogContent,
CreateTime=DateTime.Now,
};
var newId = base.Insert(newModel);
return newId > 0;
......
......@@ -36,6 +36,7 @@ WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_Bonus_Extend.Group_Id), query.Group_Id);
......@@ -48,6 +49,10 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_Bonus_Extend.MonthNum), query.MonthNum);
}
if (query.PeriodId > 0)
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_Bonus_Extend.PeriodId), query.PeriodId);
}
}
return GetPage<RB_Personnel_Bonus_Extend>(pageIndex,pageSize,out rowsCount,builder.ToString()).ToList();
}
......@@ -85,6 +90,10 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_Bonus_Extend.EmployeeId), query.EmployeeId);
}
if (!string.IsNullOrEmpty(query.QEmployeeIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_Bonus_Extend.EmployeeId), query.QEmployeeIds);
}
if (query.PlanType > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_Bonus_Extend.PlanType), query.PlanType);
......@@ -93,6 +102,14 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.DeductionMoney<>A.FinishDeductionMoney ");
}
if (query.PeriodId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_Bonus_Extend.PeriodId), query.PeriodId);
}
if (!string.IsNullOrEmpty(query.QPeriodIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_Bonus_Extend.PeriodId), query.QPeriodIds);
}
}
var list= Get<RB_Personnel_Bonus_Extend>(builder.ToString()).ToList();
if (list != null && list.Count > 0)
......
using Edu.Model.Entity.Bonus;
using Edu.Model.ViewModel.Bonus;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.Bonus
{
/// <summary>
/// 人头奖金发放期数仓储层
/// </summary>
public class RB_Personnel_PeriodRepository : BaseRepository<RB_Personnel_Period>
{
/// <summary>
/// 获取人头奖金期数分页列表
/// </summary>
/// <param name="pageIdex"></param>
/// <param name="pageSize"></param>
/// <param name="rowsCount"></param>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Personnel_Period_Extend> GetPersonnelPeriodPageRepository(int pageIdex, int pageSize, out long rowsCount, RB_Personnel_Period_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*
FROM RB_Personnel_Period AS A
WHERE 1=1
");
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_Period_Extend.Group_Id), query.Group_Id);
}
}
builder.AppendFormat(" ORDER BY A.{0} DESC ", nameof(RB_Personnel_Period_Extend.Id));
return GetPage<RB_Personnel_Period_Extend>(pageIdex, pageSize, out rowsCount, builder.ToString()).ToList();
}
}
}
\ No newline at end of file
......@@ -181,5 +181,39 @@ WHERE s.`Status`=0 and s.Group_Id ={group_Id} and s.CustomerId in({customerIds})
WHERE o.OrderState in(1,2) and o.Group_Id ={group_Id} and o.CustomerId in({customerIds}) GROUP BY o.CustomerId";
return Get<RB_Customer_Extend>(sql).ToList();
}
/// <summary>
/// 同行统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Customer_Extend> GetCustomerStaticRepository(RB_Customer_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.CreateBy,COUNT(1) AS CustomerCount
FROM RB_Customer AS A
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_Extend.Group_Id), query.Group_Id);
}
if (query.CreateBy > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Customer_Extend.CreateBy), query.CreateBy);
}
if (!string.IsNullOrEmpty(query.QDate))
{
//指定日期新增同行数量
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y/%m/%d')= DATE_FORMAT('{1}','%y/%m/%d') ", nameof(RB_Customer_Extend.CreateTime), query.QDate);
}
}
builder.AppendFormat(@" GROUP BY A.CreateBy ");
return Get<RB_Customer_Extend>(builder.ToString()).ToList();
}
}
}
......@@ -45,5 +45,45 @@ WHERE 1=1
return GetPage<RB_Student_Appointment_Extend>(pageIndex, pageSize, out rowsCount, builder.ToString()).ToList();
}
/// <summary>
/// 获取约访统计列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Student_Appointment_Extend> GetStudentVisitStaticRepository(RB_Student_Appointment_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.CreateBy,Count(1) AS AppointmentCount
FROM RB_Student_Appointment AS A INNER JOIN rb_student AS B ON A.StuId=B.StuId
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Appointment_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Appointment_Extend.Group_Id), query.Group_Id);
}
if (query.StuId > 0)
{
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);
}
if (!string.IsNullOrEmpty(query.QueryDate))
{
//指定日期的约访统计
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(" GROUP BY A.CreateBy ");
return Get<RB_Student_Appointment_Extend>(builder.ToString()).ToList();
}
}
}
......@@ -108,6 +108,10 @@ WHERE 1=1
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Student_Visit_Extend.StuId), query.QStuIds);
}
if (query.CreateBy > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Student_Visit_Extend.CreateBy), query.CreateBy);
}
if (!string.IsNullOrEmpty(query.QueryDate))
{
//今日到访
......
......@@ -254,5 +254,39 @@ WHERE 1=1
return Get<RB_Visitor_Reserve_Extend>(builder.ToString(), parameters).ToList();
}
/// <summary>
/// 试听课统计
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Visitor_Reserve_Extend> GetVisitorReserveStaticRepository(RB_Visitor_Reserve_Extend query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.CreateBy,COUNT(1) AS TrialLessonCount
FROM RB_Visitor_Reserve AS A
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Visitor_Reserve_Extend.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Visitor_Reserve_Extend.Group_Id), query.Group_Id);
}
if (query.CreateBy > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Visitor_Reserve_Extend.CreateBy), query.CreateBy);
}
if (!string.IsNullOrEmpty(query.QDate))
{
//指定日期的试听课数量
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y/%m/%d')= DATE_FORMAT('{1}','%y/%m/%d') ", nameof(RB_Visitor_Reserve_Extend.CreateTime), query.QDate);
}
}
builder.AppendFormat(@" GROUP BY A.CreateBy ");
return Get<RB_Visitor_Reserve_Extend>(builder.ToString()).ToList();
}
}
}
......@@ -1196,7 +1196,7 @@ WHERE 1=1
");
builder.AppendFormat(" AND o.OrderState IN({0},{1}) ", (int)OrderStateEnum.Normal, (int)OrderStateEnum.DropOut);
builder.AppendFormat(" AND o.{0}={1} ", nameof(RB_Order_ViewModel.OrderType), (int)OrderTypeEnum.CourseOrder);
builder.AppendFormat(" AND o.CreateTime >= '2021-11-01' ");
builder.AppendFormat(" AND o.CreateTime >= '2021-09-01' ");
builder.AppendFormat(" AND o.OrderId NOT IN(SELECT B.OrderId FROM rb_personnel_bonus AS A INNER JOIN rb_personnel_bonusdetail AS B ON A.Id=B.BonusId WHERE A.PlanType={0} AND A.EmployeeId ={1}) ", PlanType, SaleId);
//帐平
builder.AppendFormat(" AND o.PreferPrice = (o.Income - o.Refund + o.DiscountMoney + o.PlatformTax) ");
......
......@@ -45,6 +45,10 @@ namespace Edu.Repository.Sell
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.ClassId)} ={demodel.ClassId}";
}
if (!string.IsNullOrEmpty(demodel.ClassIds))
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.ClassId)} in({demodel.ClassIds})";
}
if (demodel.OrderId > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Details_ViewModel.OrderId)} ={demodel.OrderId}";
......@@ -115,7 +119,7 @@ namespace Edu.Repository.Sell
string sql = $@" select r.*,
(select count(0) from RB_Sell_Achievements_Details r1 where r1.UserId = r.UserId and r1.OrderId = r.OrderId and r1.Id <= r.Id) as IssueNum
(select count(0) from RB_Sell_Achievements_Details r1 where r1.UserId = r.UserId and r1.OrderId = r.OrderId and r1.IsDept = r.IsDept and r1.Id <= r.Id) as IssueNum
from RB_Sell_Achievements_Details r where {where} order by r.Id asc";
return Get<RB_Sell_Achievements_Details_ViewModel>(sql).ToList();
}
......
......@@ -41,6 +41,10 @@ namespace Edu.Repository.Sell
{
where += $@" and r.{nameof(RB_Sell_Achievements_Emp_ViewModel.EmpId)} ={demodel.EmpId}";
}
if (demodel.IsDept > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Emp_ViewModel.IsDept)} ={demodel.IsDept}";
}
if (demodel.PeriodsId > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Emp_ViewModel.PeriodsId)} ={demodel.PeriodsId}";
......@@ -53,9 +57,109 @@ namespace Edu.Repository.Sell
{
where += $@" and r.{nameof(RB_Sell_Achievements_Emp_ViewModel.PeriodsId)} >0";
}
if (!string.IsNullOrEmpty(demodel.OrderIds))
{
where += $@" and r.{nameof(RB_Sell_Achievements_Emp_ViewModel.OrderId)} in({demodel.OrderIds})";
}
string sql = $@" select r.* from RB_Sell_Achievements_Emp r where {where} order by r.Id desc";
return Get<RB_Sell_Achievements_Emp_ViewModel>(sql).ToList();
}
/// <summary>
/// 获取分页列表
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <param name="count"></param>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Sell_Achievements_Emp_ViewModel> GetPageList(int pageIndex,int pageSize,out long count,RB_Sell_Achievements_Emp_ViewModel demodel)
{
string where = $@" 1=1";
if (demodel.Group_Id > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Emp_ViewModel.Group_Id)} ={demodel.Group_Id}";
}
if (demodel.OrderId > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Emp_ViewModel.OrderId)} ={demodel.OrderId}";
}
if (demodel.Type > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Emp_ViewModel.Type)} ={demodel.Type}";
}
if (demodel.EmpId > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Emp_ViewModel.EmpId)} ={demodel.EmpId}";
}
if (demodel.IsDept > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Emp_ViewModel.IsDept)} ={demodel.IsDept}";
}
if (demodel.PeriodsId > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Emp_ViewModel.PeriodsId)} ={demodel.PeriodsId}";
}
if (demodel.GiveOutState > 0)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Emp_ViewModel.GiveOutState)} ={demodel.GiveOutState}";
}
if (demodel.IsSelectNor == 1)
{
where += $@" and r.{nameof(RB_Sell_Achievements_Emp_ViewModel.PeriodsId)} >0";
}
if (!string.IsNullOrEmpty(demodel.OrderIds))
{
where += $@" and r.{nameof(RB_Sell_Achievements_Emp_ViewModel.OrderId)} in({demodel.OrderIds})";
}
string sql = $@" select r.* from RB_Sell_Achievements_Emp r where {where} order by r.OrderId desc";
return GetPage<RB_Sell_Achievements_Emp_ViewModel>(pageIndex, pageSize, out count, sql).ToList();
}
/// <summary>
/// 获取当月业绩(个人)
/// </summary>
/// <param name="empId"></param>
/// <param name="periodsId"></param>
/// <param name="group_Id"></param>
/// <returns></returns>
public RB_Sell_Achievements_Emp_ViewModel GetMonthSaleMoney(int empId, int periodsId, int group_Id)
{
string sql = $@"SELECT MAX(SaleMoney) as SaleMoney,SUM(PushMoney) as PushMoney FROM rb_sell_achievements_emp WHERE Group_Id ={group_Id} and EmpId ={empId} and IsDept =2 and PeriodsId ={periodsId}";
return Get<RB_Sell_Achievements_Emp_ViewModel>(sql).FirstOrDefault();
}
/// <summary>
/// 获取当月新收/续费业绩金额(个人)
/// </summary>
/// <param name="empId"></param>
/// <param name="periodsId"></param>
/// <param name="group_Id"></param>
/// <returns></returns>
public List<RB_Sell_Achievements_Emp_ViewModel> GetMonthNorOrderMoney(int empId, int periodsId, int group_Id)
{
string sql = $@"
SELECT g.RenewState as Type,SUM(e.OrderSaleMoney) as OrderSaleMoney FROM rb_sell_achievements_emp e
INNER JOIN rb_order_guest g on e.OrderId = g.OrderId
WHERE e.Group_Id ={group_Id} and e.EmpId ={empId} and e.IsDept =2 and e.PeriodsId ={periodsId}
GROUP BY g.RenewState";
return Get<RB_Sell_Achievements_Emp_ViewModel>(sql).ToList();
}
/// <summary>
/// 获取用户累计已发提成(个人)
/// </summary>
/// <param name="id"></param>
/// <param name="group_Id"></param>
/// <returns></returns>
public RB_Sell_Achievements_Emp_ViewModel GetEmpTotalCommission(int empId, int group_Id)
{
string sql = $@"SELECT SUM(PushMoney) as PushMoney,SUM(GiveOutMoney) as GiveOutMoney FROM rb_sell_achievements_emp WHERE Group_Id ={group_Id} and EmpId ={empId} and IsDept =2";
return Get<RB_Sell_Achievements_Emp_ViewModel>(sql).FirstOrDefault();
}
}
}
......@@ -115,6 +115,14 @@ WHERE 1=1
{
builder.AppendFormat(" AND t.{0} in({1}) ", nameof(RB_Student_ViewModel.StuId), query.StuIds);
}
if (query.StuStage > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_ViewModel.StuStage), (int)query.StuStage);
}
if (query.CreateBy > 0)
{
builder.AppendFormat(" AND t.{0}={1} ", nameof(RB_Student_ViewModel.CreateBy), query.CreateBy);
}
}
return Get<RB_Student_ViewModel>(builder.ToString(), parameters).ToList();
}
......@@ -737,12 +745,12 @@ WHERE 1=1
public List<RB_Student_ViewModel> GetStudentStaticRepository(string createByIds,string startDate,string endDate)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT CreateBy,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 ");
var list = Get<RB_Student_ViewModel>(builder.ToString()).ToList();
return list;
}
......
using Edu.Cache.User;
using Edu.Common.API;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Bonus;
using Edu.Model.ViewModel.Sell;
using Edu.Module.Course;
using Edu.WebApi.Filter;
......@@ -26,6 +27,12 @@ namespace Edu.WebApi.Controllers.Bonus
/// </summary>
private readonly BonusConfigModule bonusConfigModule = new BonusConfigModule();
/// <summary>
/// 员工人头奖励仓储层对象
/// </summary>
private readonly EmployeeBonusModule employeeBonusModule = AOP.AOPHelper.CreateAOPObject<EmployeeBonusModule>();
#region 人头奖励配置
/// <summary>
/// 获取课程顾问、市场达标奖金配置分页列表
/// </summary>
......@@ -81,7 +88,7 @@ namespace Edu.WebApi.Controllers.Bonus
var query = new RB_Bonus_PlanExtend()
{
Id = base.ParmJObj.GetInt("Id"),
PlanType=base.ParmJObj.GetInt("PlanType"),
PlanType = base.ParmJObj.GetInt("PlanType"),
PlanName = base.ParmJObj.GetStringValue("PlanName"),
BasicSalary = base.ParmJObj.GetDecimal("BasicSalary"),
OpenBonus = base.ParmJObj.GetDecimal("OpenBonus"),
......@@ -90,7 +97,7 @@ namespace Edu.WebApi.Controllers.Bonus
SaleIds = base.ParmJObj.GetStringValue("SaleIds"),
UseCourseIds = base.ParmJObj.GetStringValue("UseCourseIds"),
NotUseCourseIds = base.ParmJObj.GetStringValue("NotUseCourseIds"),
MonthGoalMoney=base.ParmJObj.GetDecimal("MonthGoalMoney"),
MonthGoalMoney = base.ParmJObj.GetDecimal("MonthGoalMoney"),
};
query.CreateBy = base.UserInfo.Id;
query.UpdateBy = base.UserInfo.Id;
......@@ -148,5 +155,124 @@ namespace Edu.WebApi.Controllers.Bonus
var flag = bonusConfigModule.RemoveBonusPlanModule(Id);
return flag ? ApiResult.Success() : ApiResult.Failed();
}
#endregion
#region 员工人头奖励
/// <summary>
/// 生成员工人头奖励
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult CreateEmpBonus()
{
var userInfo = base.UserInfo;
var startDate = base.ParmJObj.GetStringValue("StartDate");
bool flag= employeeBonusModule.CreateEmployeeBonusModule(userInfo, out string message, startDate);
return flag ? ApiResult.Success() : ApiResult.Failed(message: message);
}
/// <summary>
/// 订单金额发生改变
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult ChangeOrder()
{
//订单改变
var OrderId = base.ParmJObj.GetInt("OrderId");
employeeBonusModule.ChangeEmployeeBonusModule(OrderId);
return ApiResult.Success();
}
/// <summary>
/// 获取人头奖励分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetPersonnelPeriodPage()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Personnel_Period_Extend()
{
};
query.Group_Id = base.UserInfo.Group_Id;
List<object> result = new List<object>();
var list = employeeBonusModule.GetPersonnelPeriodPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list)
{
string CreateByName = UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
result.Add(new
{
item.Id,
item.Name,
item.Periods,
item.SumPrice,
item.Remark,
CreateByName,
item.Financials,
CreateTime = Common.ConvertHelper.FormatTime(item.CreateTime),
item.BonusList,
});
}
pageModel.Count = rowsCount;
pageModel.PageData = result;
return ApiResult.Success(data: pageModel);
}
/// <summary>
/// 获取员工期数提成明细
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetPersonnelPeriodDetails()
{
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Personnel_Bonus_Extend()
{
PeriodId = base.ParmJObj.GetInt("PeriodId")
};
query.Group_Id = base.UserInfo.Group_Id;
List<object> result = new List<object>();
var list = employeeBonusModule.GetPersonnelBonusPageModule(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
foreach (var item in list)
{
string EmployeeName = UserReidsCache.GetUserLoginInfo(item.EmployeeId)?.AccountName ?? "";
string CreateByName= UserReidsCache.GetUserLoginInfo(item.CreateBy)?.AccountName ?? "";
result.Add(new
{
item.Id,
item.PeriodId,
item.PlanId,
item.PlanType,
item.YearNum,
item.MonthNum,
item.EmployeeId,
EmployeeName,
item.CurGuestNum,
item.CurRewardMoney,
item.CurOrderMoney,
item.DeductionMoney,
item.FinishDeductionMoney,
item.CreateBy,
CreateByName,
CreateTime=Common.ConvertHelper.FormatTime(item.CreateTime),
item.IsReach,
IsReachStr= item.IsReach==1?"已达标":"未达标",
item.OpenBonus,
item.ClueNumSalary,
item.BeforeMoney,
item.DetailList,
item.DeductionList,
item.BonusLogList,
});
}
pageModel.Count = rowsCount;
pageModel.PageData = result;
return ApiResult.Success(data: pageModel);
}
#endregion
}
}
......@@ -586,6 +586,80 @@ namespace Edu.WebApi.Controllers.Course
}
}
/// <summary>
/// 获取应发提成变更记录
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetSellAchievementsChangeLog() {
var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int OrderId = parms.GetInt("OrderId", 0);
int UserId = parms.GetInt("UserId", 0);
int UserType = parms.GetInt("UserType", 0);
int IsDept = parms.GetInt("IsDept", 0);
if (OrderId <= 0 || UserId <= 0 || UserType <= 0 || IsDept <= 0) {
return ApiResult.ParamIsNull();
}
var Robj = sellAchievementsModule.GetSellAchievementsChangeLog(OrderId, UserId, UserType, IsDept, userInfo.Group_Id, out string msg);
if (msg == "")
{
return ApiResult.Success("", Robj);
}
else {
return ApiResult.Failed(msg);
}
}
#endregion
#region 销售中心
/// <summary>
/// 获取市场中心业绩提成
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetSellCenterAchievementsStatistics() {
var userInfo = base.UserInfo;
JObject parms = JObject.Parse(base.RequestParm.Msg.ToString());
string Month = parms.GetStringValue("Month");
if (string.IsNullOrEmpty(Month)) {
return ApiResult.ParamIsNull();
}
Month = Convert.ToDateTime(Month).ToString("yyyy-MM");
var Robj = sellAchievementsModule.GetSellCenterAchievementsStatistics(Month, userInfo);
return ApiResult.Success("", Robj);
}
/// <summary>
/// 获取业绩发放明细分页列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetAchievementsEmpPageList() {
var userInfo = base.UserInfo;
ResultPageModel pmodel = JsonHelper.DeserializeObject<ResultPageModel>(base.RequestParm.Msg.ToString());
RB_Sell_Achievements_Emp_ViewModel demodel = JsonHelper.DeserializeObject<RB_Sell_Achievements_Emp_ViewModel>(base.RequestParm.Msg.ToString());
demodel.Group_Id = userInfo.Group_Id;
demodel.EmpId = userInfo.Id;
demodel.IsDept = 2;//非部门的
var list = sellAchievementsModule.GetAchievementsEmpPageList(pmodel.PageIndex, pmodel.PageSize, out long count, demodel);
pmodel.Count = Convert.ToInt32(count);
pmodel.PageData = list.Select(x => new
{
x.Id,
x.OrderId,
x.Rate,
x.PushMoney,
x.GiveOutMoney,
x.SaleMoney,
x.Remark
});
return ApiResult.Success("", pmodel);
}
#endregion
}
}
......@@ -154,6 +154,13 @@ namespace Edu.WebApi.Controllers.Finance
//提成
decimal SaleCommission = (orderList != null && orderList.Any()) ? orderList.Where(x => x.IsCommissionGive == 1).Sum(x => x.CommissionMoney + x.ExtraCommissionMoney) : 0;//销售提成
if (orderList.Any()) {
string OrderIds = string.Join(",", orderList.Select(x => x.OrderId));
var achList = financeModule.GetAchListForOrderIds(OrderIds, base.UserInfo.Group_Id);
if (achList.Any()) {
SaleCommission += achList.Sum(x => x.GiveOutMoney);// 业绩提成
}
}
decimal TeacherProfitNow = 0, MeritsProfit = 0;
if (classId > 0)
......
......@@ -57,21 +57,6 @@ namespace Edu.WebApi.Controllers.User
[AllowAnonymous]
public ApiResult Test()
{
//new DutyPlanModule().TransVisitorToStu();
var userInfo = base.UserInfo;
var startDate = base.ParmJObj.GetStringValue("StartDate");
employeeBonusModule.CreateEmployeeBonusModule(100000, startDate);
return ApiResult.Success();
}
[HttpGet]
[HttpPost]
[AllowAnonymous]
public ApiResult ChenageOrder()
{
var OrderId = base.ParmJObj.GetInt("OrderId");
employeeBonusModule.ChangeEmployeeBonusModule(OrderId);
return ApiResult.Success();
}
......
......@@ -14,6 +14,7 @@ using Edu.Common.Plugin;
using Edu.Model.CacheModel;
using Edu.Model.Public;
using Edu.Model.ViewModel.User;
using Edu.Module.Course;
using Edu.Module.User;
using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Authorization;
......@@ -57,6 +58,16 @@ namespace Edu.WebApi.Controllers.User
/// </summary>
private readonly AccountModule accountModule = new AccountModule();
/// <summary>
/// 学员处理类对象
/// </summary>
private readonly StudentModule studentModule = new StudentModule();
/// <summary>
/// 员工人头奖励处理类对象
/// </summary>
private readonly EmployeeBonusModule employeeBonusModule = new EmployeeBonusModule();
#region 字典管理
/// <summary>
......@@ -2474,5 +2485,34 @@ namespace Edu.WebApi.Controllers.User
return ApiResult.Success("获取成功", data: result);
}
#endregion
#region 用户中心 学员和奖金统计
/// <summary>
/// 人员统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult PersonnelStatic()
{
var obj = studentModule.GetStudentTodayStaticModule(base.UserInfo.Id);
return ApiResult.Success(data: obj);
}
/// <summary>
/// 人员奖励统计
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult PersonnelBonusStatic()
{
int Type = base.ParmJObj.GetInt("Type");
int Year = base.ParmJObj.GetInt("Year");
int Month = base.ParmJObj.GetInt("Month");
var obj = employeeBonusModule.GetEmpBonusStaticModule(base.UserInfo, Type,Year, Month);
return ApiResult.Success(data: obj);
}
#endregion
}
}
\ No newline at end of file
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