Commit 45aa2201 authored by liudong1993's avatar liudong1993

1

parent 8c5a0daf
...@@ -5974,5 +5974,65 @@ namespace Edu.Module.Course ...@@ -5974,5 +5974,65 @@ namespace Edu.Module.Course
public RB_Course_ViewModel GetCourseInfo(int courserId) { public RB_Course_ViewModel GetCourseInfo(int courserId) {
return courseRepository.GetEntity<RB_Course_ViewModel>(courserId); return courseRepository.GetEntity<RB_Course_ViewModel>(courserId);
} }
/// <summary>
/// 用户离职转交订单
/// </summary>
/// <param name="userId"></param>
/// <param name="receiveId"></param>
/// <param name="typeIds"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public string SetUserLeaveOrderCareOf(int userId, int receiveId, UserInfo userInfo)
{
var eModel = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { Group_Id = userInfo.Group_Id, Id = userId }).FirstOrDefault();
var reModel = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { Group_Id = userInfo.Group_Id, Id = receiveId }).FirstOrDefault();
if (eModel == null || reModel == null) { return "转交人不存在"; }
if (reModel.LeaveStatus == Common.Enum.User.LeaveStatusEnum.Departure) { return "转交人非在职状态,无法交接"; }
//转交未完款的订单
var list = orderRepository.GetUserLeaveOrderCareOf(userId, userInfo.Group_Id);
var trans = orderRepository.DbTransaction;
try
{
foreach (var item in list)
{
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Order.CreateBy), receiveId}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName = nameof(RB_Order.OrderId),
FiledValue = item.OrderId,
OperatorEnum = OperatorEnum.Equal
}
};
bool flag = orderRepository.Update(keyValues, wheres, trans);
if (flag)
{
//记录一下日志
user_ChangeLogRepository.Insert(new Model.Entity.Log.RB_User_ChangeLog()
{
AccountType = Common.Enum.User.AccountTypeEnum.Admin,
CreateBy = userInfo.Id,
Id = 0,
CreateTime = DateTime.Now,
Group_Id = userInfo.Group_Id,
LogContent = "修改订单创建人,由【" + eModel.EmployeeName + "(" + userId + ")" + "】转交给【" + reModel.EmployeeName + "(" + receiveId + ")" + "】",
School_Id = 0,
SourceId = item.OrderId,
Type = 2
}, trans);
}
}
orderRepository.DBSession.Commit();
}
catch (Exception ex)
{
LogHelper.Write(ex, "SetUserLeaveOrderCareOf");
orderRepository.DBSession.Rollback();
return "订单转交出错了,请联系管理员";
}
return "";
}
} }
} }
\ No newline at end of file
...@@ -385,6 +385,31 @@ namespace Edu.Module.Course ...@@ -385,6 +385,31 @@ namespace Edu.Module.Course
return SetClassOrderCommonModule(demodel, userInfo, isEditOrder, out message); return SetClassOrderCommonModule(demodel, userInfo, isEditOrder, out message);
} }
/// <summary>
/// 日语培训下单(批量)
/// </summary>
/// <param name="demodel"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
[TransactionCallHandler]
public virtual bool SetClassOrderModuleBatch(List<RB_Order_ViewModel> deList, UserInfo userInfo, bool isEditOrder, out string message)
{
bool flag = false; bool IsFirstBatch = true; message = "";
string StuIds = string.Join(",", deList.Select(x => x.StuIds));
if (string.IsNullOrEmpty(StuIds)) { return false; }
var glist = student_OrderGuestRepository.GetStuOrderList(StuIds, userInfo.Group_Id);
if (glist.Any())
{
IsFirstBatch = false;//是续费 有历史订单
}
foreach (var item in deList)
{
flag = SetClassOrderCommonModule(item, userInfo, isEditOrder, out message, IsFirstBatch);
if (flag == false) { return flag; }
}
return flag;
}
/// <summary> /// <summary>
/// 记录返佣信息 /// 记录返佣信息
/// </summary> /// </summary>
...@@ -785,9 +810,10 @@ namespace Edu.Module.Course ...@@ -785,9 +810,10 @@ namespace Edu.Module.Course
/// </summary> /// </summary>
/// <param name="demodel"></param> /// <param name="demodel"></param>
/// <param name="userInfo"></param> /// <param name="userInfo"></param>
/// <param name="IsFirstBatch">首次批量制单</param>
/// <returns></returns> /// <returns></returns>
public bool SetClassOrderCommonModule(RB_Order_ViewModel demodel, UserInfo userInfo, bool isEditOrder, out string message) public bool SetClassOrderCommonModule(RB_Order_ViewModel demodel, UserInfo userInfo, bool isEditOrder, out string message, bool IsFirstBatch = false)
{ {
bool flag = false; bool flag = false;
message = ""; message = "";
...@@ -885,18 +911,22 @@ namespace Edu.Module.Course ...@@ -885,18 +911,22 @@ namespace Edu.Module.Course
message = "同业信息有误"; message = "同业信息有误";
return false; return false;
} }
var glist = student_OrderGuestRepository.GetStuOrderList(demodel.StuIds, demodel.Group_Id); int RenewNum = 0;
if (glist.Any()) if (!IsFirstBatch)
{ {
foreach (var item in StuList) var glist = student_OrderGuestRepository.GetStuOrderList(demodel.StuIds, demodel.Group_Id);
if (glist.Any())
{ {
if (glist.Where(x => x.Student_Id == item.StuId).Any()) foreach (var item in StuList)
{ {
item.IsRenewGuest = 1;//是续费的 if (glist.Where(x => x.Student_Id == item.StuId).Any())
{
item.IsRenewGuest = 1;//是续费的
}
} }
} }
RenewNum = glist.Select(x => x.Student_Id).Distinct().Count();//续费订单数量
} }
int RenewNum = glist.Select(x => x.Student_Id).Distinct().Count();//续费订单数量
int NormalNum = demodel.GuestNum - RenewNum;//首次报名数量 int NormalNum = demodel.GuestNum - RenewNum;//首次报名数量
decimal dmoney = coursePrice * (courseModel.B2CRatio / 100) * NormalNum + coursePrice * (courseModel.B2CReNewRatio / 100) * RenewNum; decimal dmoney = coursePrice * (courseModel.B2CRatio / 100) * NormalNum + coursePrice * (courseModel.B2CReNewRatio / 100) * RenewNum;
if (demodel.DiscountMoney != dmoney) if (demodel.DiscountMoney != dmoney)
...@@ -1200,7 +1230,7 @@ namespace Edu.Module.Course ...@@ -1200,7 +1230,7 @@ namespace Edu.Module.Course
demodel.Class_Price = courseModel.SellPrice; demodel.Class_Price = courseModel.SellPrice;
if (demodel.EnterID <= 0 && demodel.CreateBy > 0) if (demodel.EnterID <= 0 && demodel.CreateBy > 0)
{ {
if (userInfo.AccountType == AccountTypeEnum.Teacher) if (userInfo.AccountType == AccountTypeEnum.Teacher && demodel.HelpEnterId ==0)
{ {
demodel.HelpEnterId = demodel.CreateBy; demodel.HelpEnterId = demodel.CreateBy;
} }
...@@ -1613,7 +1643,7 @@ namespace Edu.Module.Course ...@@ -1613,7 +1643,7 @@ namespace Edu.Module.Course
#endregion #endregion
#region 更新客人协助人员 #region 更新客人协助人员
if (demodel.OrderIdentify == 2 && (demodel.HelpEnterId > 0 || demodel.CourseConsultantId > 0)) if (demodel.OrderIdentify == 2 && demodel.CourseConsultantId > 0)
{ {
//客户转订单这种适配 //客户转订单这种适配
int StuId = StuList.FirstOrDefault().StuId; int StuId = StuList.FirstOrDefault().StuId;
...@@ -1622,40 +1652,20 @@ namespace Edu.Module.Course ...@@ -1622,40 +1652,20 @@ namespace Edu.Module.Course
{ {
StuId = StuId StuId = StuId
}); });
if (demodel.HelpEnterId > 0)
{
var assModel = list.Where(x => x.AssistType == Common.Enum.User.AssistTypeEnum.Teacher).FirstOrDefault();
if (assModel == null)
{
student_AssistRepository.Insert(new Model.Entity.Customer.RB_Student_Assist()
{
Id = 0,
AssistId = demodel.HelpEnterId,
AssistType = Common.Enum.User.AssistTypeEnum.Teacher,
CreateBy = userInfo.Id,
CreateTime = DateTime.Now,
Status = DateStateEnum.Normal,
StuId = StuId
});
}
}
//更新课程顾问 //更新课程顾问
if (demodel.CourseConsultantId > 0) var assModel = list.Where(x => x.AssistType == Common.Enum.User.AssistTypeEnum.CourseAdviser).FirstOrDefault();
if (assModel == null)
{ {
var assModel = list.Where(x => x.AssistType == Common.Enum.User.AssistTypeEnum.CourseAdviser).FirstOrDefault(); student_AssistRepository.Insert(new Model.Entity.Customer.RB_Student_Assist()
if (assModel == null)
{ {
student_AssistRepository.Insert(new Model.Entity.Customer.RB_Student_Assist() Id = 0,
{ AssistId = demodel.CourseConsultantId,
Id = 0, AssistType = Common.Enum.User.AssistTypeEnum.CourseAdviser,
AssistId = demodel.CourseConsultantId, CreateBy = userInfo.Id,
AssistType = Common.Enum.User.AssistTypeEnum.CourseAdviser, CreateTime = DateTime.Now,
CreateBy = userInfo.Id, Status = DateStateEnum.Normal,
CreateTime = DateTime.Now, StuId = StuId
Status = DateStateEnum.Normal, });
StuId = StuId
});
}
} }
} }
#endregion #endregion
......
...@@ -333,6 +333,16 @@ namespace Edu.Module.Course ...@@ -333,6 +333,16 @@ namespace Edu.Module.Course
{ {
item.IsRenewGuest = 1;//是续费的 item.IsRenewGuest = 1;//是续费的
} }
if (item.IsRenewGuest == 0) {
//验证 是否从试听课过来
int vTeacherId = visitor_ReserveRepository.GetVisitorReserveTeacherId(item.StuId, userInfo.Group_Id);
if (vTeacherId > 0) {
var tmodel = teacherRepository.GetEntity(vTeacherId);
item.HeadTeacherId = vTeacherId;
item.TeacherName = tmodel?.TeacherName ?? "";
}
}
} }
} }
int RenewNum = glist.Select(x => x.Student_Id).Distinct().Count();//续费订单数量 int RenewNum = glist.Select(x => x.Student_Id).Distinct().Count();//续费订单数量
...@@ -352,26 +362,6 @@ namespace Edu.Module.Course ...@@ -352,26 +362,6 @@ namespace Edu.Module.Course
EnterName = empModel.EmployeeName; 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 return new
{ {
CustomerId, CustomerId,
...@@ -381,7 +371,9 @@ namespace Edu.Module.Course ...@@ -381,7 +371,9 @@ namespace Edu.Module.Course
x.StuId, x.StuId,
x.StuName, x.StuName,
x.StuTel, x.StuTel,
x.IsRenewGuest x.IsRenewGuest,
STTeacherId = x.HeadTeacherId,
STTeacherName = x.TeacherName
}), }),
EnterId, EnterId,
EnterName EnterName
......
This diff is collapsed.
...@@ -108,6 +108,10 @@ namespace Edu.Module.Course ...@@ -108,6 +108,10 @@ namespace Edu.Module.Course
/// 财务单据 /// 财务单据
/// </summary> /// </summary>
private readonly RB_FinanceRepository financeRepository = new RB_FinanceRepository(); private readonly RB_FinanceRepository financeRepository = new RB_FinanceRepository();
/// <summary>
/// 日志
/// </summary>
private readonly RB_User_ChangeLogRepository user_ChangeLogRepository = new RB_User_ChangeLogRepository();
#region 基础配置 #region 基础配置
...@@ -1516,7 +1520,7 @@ namespace Edu.Module.Course ...@@ -1516,7 +1520,7 @@ namespace Edu.Module.Course
} }
return ""; return "";
} }
/// <summary> /// <summary>
/// 生成当期提成 /// 生成当期提成
...@@ -1659,15 +1663,22 @@ namespace Edu.Module.Course ...@@ -1659,15 +1663,22 @@ namespace Edu.Module.Course
/// <returns></returns> /// <returns></returns>
public string GetUserLeaveOrderCommission(int userId, UserInfo userInfo) public string GetUserLeaveOrderCommission(int userId, UserInfo userInfo)
{ {
string msg = "";
int count = orderRepository.GetUserLeaveOrderCommission(userId, userInfo.Group_Id); int count = orderRepository.GetUserLeaveOrderCommission(userId, userInfo.Group_Id);
if (count <= 0) if (count > 0) {
{ msg += "该用户有" + count + "个订单提成需补交,无法设置离职、";
return "";
} }
else //验证员工是否有未完款的订单
{ count = orderRepository.GetUserLeaveOrderMoney(userId, userInfo.Group_Id);
return "该用户有" + count + "个订单提成需补交,无法设置离职"; if (count > 0) {
msg += "该用户有" + count + "个订单未完款,无法设置离职、";
}
//验证员工下是否有学员,需转交之后才能离职
count = orderRepository.GetUserLeaveOrderManager(userId, userInfo.Group_Id);
if (count > 0) {
msg += "该用户有" + count + "个学员未转交,无法设置离职、";
} }
return msg;
} }
/// <summary> /// <summary>
......
...@@ -248,5 +248,15 @@ namespace Edu.Module.User ...@@ -248,5 +248,15 @@ namespace Edu.Module.User
{ {
return accountRepository.GetWorkUserIdByTidRepository(tid); return accountRepository.GetWorkUserIdByTidRepository(tid);
} }
/// <summary>
/// 获取列表
/// </summary>
/// <param name="dmodel"></param>
/// <returns></returns>
public List<Employee_ViewModel> GetEmployeeListRepository(Employee_ViewModel dmodel)
{
return accountRepository.GetEmployeeListRepository(dmodel);
}
} }
} }
\ No newline at end of file
...@@ -1124,81 +1124,85 @@ namespace Edu.Module.User ...@@ -1124,81 +1124,85 @@ namespace Edu.Module.User
/// <param name="receiveId"></param> /// <param name="receiveId"></param>
/// <param name="userInfo"></param> /// <param name="userInfo"></param>
/// <returns></returns> /// <returns></returns>
//public string SetUserLeaveStudentCareOf(int userId, int receiveId, UserInfo userInfo) public string SetUserLeaveStudentCareOf(int userId, int receiveId, UserInfo userInfo)
//{ {
// var eModel = accountModule.GetEmployeeInfo(userId); var eModel = accountModule.GetEmployeeListRepository(new Employee_ViewModel() { Group_Id = userInfo.Group_Id, Id = userId }).FirstOrDefault();
// var reModel = accountModule.GetEmployeeInfo(receiveId); var reModel = accountModule.GetEmployeeListRepository(new Employee_ViewModel() { Group_Id = userInfo.Group_Id, Id = receiveId }).FirstOrDefault();
// if (eModel == null || reModel == null) { return "转交人不存在"; } if (eModel == null || reModel == null) { return "转交人不存在"; }
// if (reModel.IsLeave != 1) { return "转交人非在职状态,无法交接"; } if (reModel.LeaveStatus == Common.Enum.User.LeaveStatusEnum.Departure) { return "转交人非在职状态,无法交接"; }
// //获取学员负责人 / 服务人员 //获取学员负责人 / 服务人员
// var list = studentRepository.GetUserStudentCareOf(userId, userInfo.Group_Id); var list = studentRepository.GetUserStudentCareOf(userId, userInfo.Group_Id);
// if (list.Any()) if (list.Any())
// { {
// //查询所有的服务人员 //查询所有的服务人员
// var alist = student_AssistRepository.GetUserStudentAssistCareOf(userId, userInfo.Group_Id); var alist = student_AssistRepository.GetUserStudentAssistCareOf(userId, userInfo.Group_Id);
// var trans = studentRepository.DbTransaction; var trans = studentRepository.DbTransaction;
// try try
// { {
// foreach (var item in list) foreach (var item in list)
// { {
// bool flag = true; bool flag = true;
// if (item.CreateBy == userId) { if (item.CreateBy == userId)
// Dictionary<string, object> keyValues = new Dictionary<string, object>() { {
// { nameof(RB_Student_ViewModel.CreateBy), receiveId} Dictionary<string, object> keyValues = new Dictionary<string, object>() {
// }; { nameof(RB_Student_ViewModel.CreateBy), receiveId}
// List<WhereHelper> wheres = new List<WhereHelper>() { };
// new WhereHelper(){ List<WhereHelper> wheres = new List<WhereHelper>() {
// FiledName = nameof(RB_Student_ViewModel.StuId), new WhereHelper(){
// FiledValue = item.StuId, FiledName = nameof(RB_Student_ViewModel.StuId),
// OperatorEnum =OperatorEnum.Equal FiledValue = item.StuId,
// } OperatorEnum =OperatorEnum.Equal
// }; }
// flag = studentRepository.Update(keyValues, wheres, trans); };
// } flag = studentRepository.Update(keyValues, wheres, trans);
// if (flag) { }
// var clist = alist.Where(x => x.StuId == item.StuId).ToList(); if (flag)
// foreach (var qitem in clist) { {
// Dictionary<string, object> keyValues = new Dictionary<string, object>() { var clist = alist.Where(x => x.StuId == item.StuId).ToList();
// { nameof(RB_Student_Assist_Extend.AssistId),receiveId}, foreach (var qitem in clist)
// }; {
// List<WhereHelper> wheres = new List<WhereHelper>() { Dictionary<string, object> keyValues = new Dictionary<string, object>() {
// new WhereHelper(){ { nameof(RB_Student_Assist_Extend.AssistId),receiveId},
// FiledName = nameof(RB_Student_Assist_Extend.Id), };
// FiledValue = qitem.Id, List<WhereHelper> wheres = new List<WhereHelper>() {
// OperatorEnum =OperatorEnum.Equal new WhereHelper(){
// } FiledName = nameof(RB_Student_Assist_Extend.Id),
// }; FiledValue = qitem.Id,
// flag = student_AssistRepository.Update(keyValues, wheres, trans); OperatorEnum =OperatorEnum.Equal
// } }
// } };
// if (flag) { flag = student_AssistRepository.Update(keyValues, wheres, trans);
// //插入日志 }
// student_LogRepository.Insert(new Model.Entity.Customer.RB_Student_Log() }
// { if (flag)
// CreateBy = userInfo.Id, {
// CreateTime = DateTime.Now, //插入日志
// CreateType = 1, student_LogRepository.Insert(new Model.Entity.Customer.RB_Student_Log()
// Group_Id = userInfo.Group_Id, {
// LogContent = "离职转交客人负责人与服务人员,由【" + eModel.EmployeeName + "(" + userId + ")" + "】转交给【" + reModel.EmployeeName + "(" + receiveId + ")" + "】", CreateBy = userInfo.Id,
// LogId = 0, CreateTime = DateTime.Now,
// LogTitle = "离职转交学员", CreateType = 1,
// LogType = Common.Enum.Log.StudentLogTypeEnum.BasicInfo, Group_Id = userInfo.Group_Id,
// StuId = item.StuId LogContent = "离职转交客人负责人与服务人员,由【" + eModel.EmployeeName + "(" + userId + ")" + "】转交给【" + reModel.EmployeeName + "(" + receiveId + ")" + "】",
// }, trans); LogId = 0,
// } LogTitle = "离职转交学员",
// } LogType = Common.Enum.Log.StudentLogTypeEnum.BasicInfo,
// studentRepository.DBSession.Commit(); StuId = item.StuId
// } }, trans);
// catch (Exception ex) }
// { }
// LogHelper.Write(ex, "SetUserLeaveStudentCareOf"); studentRepository.DBSession.Commit();
// studentRepository.DBSession.Rollback(); }
// return "学员转交出错了,请联系管理员"; catch (Exception ex)
// } {
// } LogHelper.Write(ex, "SetUserLeaveStudentCareOf");
// return ""; studentRepository.DBSession.Rollback();
//} return "学员转交出错了,请联系管理员";
}
}
return "";
}
#endregion #endregion
} }
......
...@@ -48,6 +48,10 @@ WHERE 1=1 ...@@ -48,6 +48,10 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_Bonus_Extend.MonthNum), query.MonthNum); builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_Bonus_Extend.MonthNum), query.MonthNum);
} }
if (query.EmployeeId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Personnel_Bonus_Extend.EmployeeId), query.EmployeeId);
}
if (query.PeriodId > 0) if (query.PeriodId > 0)
{ {
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_Bonus_Extend.PeriodId), query.PeriodId); builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Personnel_Bonus_Extend.PeriodId), query.PeriodId);
......
...@@ -52,5 +52,19 @@ WHERE 1=1 ...@@ -52,5 +52,19 @@ WHERE 1=1
string delSql = string.Format(" DELETE FROM RB_Student_Assist WHERE StuId={0} ", StuId); string delSql = string.Format(" DELETE FROM RB_Student_Assist WHERE StuId={0} ", StuId);
return base.Execute(delSql)>0; return base.Execute(delSql)>0;
} }
/// <summary>
/// 获取协助人员转交
/// </summary>
/// <param name="userId"></param>
/// <param name="group_Id"></param>
/// <returns></returns>
public List<RB_Student_Assist_Extend> GetUserStudentAssistCareOf(int userId, int group_Id)
{
string sql = $@"SELECT a.* FROM rb_student_assist a
inner join rb_student s on s.StuId = a.StuId
WHERE a.`Status`=0 and s.Group_Id ={group_Id} and s.`Status`=0 and a.AssistId ={userId} ";
return Get<RB_Student_Assist_Extend>(sql).ToList();
}
} }
} }
...@@ -411,5 +411,21 @@ WHERE 1=1 AND A.Status=0 {0} ...@@ -411,5 +411,21 @@ WHERE 1=1 AND A.Status=0 {0}
dicList.Add("lastMonth", lastMonthList); dicList.Add("lastMonth", lastMonthList);
return dicList; return dicList;
} }
/// <summary>
/// 获取试听课程老师
/// </summary>
/// <param name="stuId"></param>
/// <param name="groupId"></param>
/// <returns></returns>
public int GetVisitorReserveTeacherId(int stuId, int groupId) {
string sql = $@"SELECT c.TeacherId FROM rb_visitor_reserve r
INNER JOIN rb_reserve_class c on r.ReserveClassId = c.ReserveClassId
WHERE r.Group_Id ={groupId} and r.`Status` =0 and c.`Status` =0 and r.Visitor_Id ={stuId}
ORDER BY c.ClassDate DESC LIMIT 1";
var obj = ExecuteScalar(sql);
return obj != null ? Convert.ToInt32(obj) : 0;
}
} }
} }
...@@ -735,6 +735,49 @@ and LXConfirmState =1 and IFNULL(CommissionMoney,0) = -1 and LXConfirmDate <='{e ...@@ -735,6 +735,49 @@ and LXConfirmState =1 and IFNULL(CommissionMoney,0) = -1 and LXConfirmDate <='{e
#endregion #endregion
#region 离职验证
/// <summary>
/// 获取人员 未完款的订单
/// </summary>
/// <param name="userId"></param>
/// <param name="group_Id"></param>
/// <returns></returns>
public int GetUserLeaveOrderMoney(int userId, int group_Id)
{
string sql = $@"SELECT COUNT(0) FROM rb_order WHERE Group_Id ={group_Id} and OrderState =1 and CreateBy ={userId} and (PreferPrice - DiscountMoney) <>(Income - Refund + PlatformTax)";
var obj = ExecuteScalar(sql);
return obj != null ? Convert.ToInt32(obj) : 0;
}
/// <summary>
/// 获取人员 未转交的学员
/// </summary>
/// <param name="userId"></param>
/// <param name="group_Id"></param>
/// <returns></returns>
public int GetUserLeaveOrderManager(int userId, int group_Id)
{
string sql = $@"SELECT COUNT(0) FROM rb_student s
LEFT JOIN rb_student_assist a on s.StuId = a.StuId and a.`Status` =0
WHERE s.`Status`=0 and s.Group_Id ={group_Id} and (s.CreateBy ={userId} or a.AssistId ={userId})";
var obj = ExecuteScalar(sql);
return obj != null ? Convert.ToInt32(obj) : 0;
}
/// <summary>
/// 获取用户未完款订单
/// </summary>
/// <param name="userId"></param>
/// <param name="group_Id"></param>
public List<RB_Order_ViewModel> GetUserLeaveOrderCareOf(int userId, int group_Id)
{
string sql = $@"select * from rb_order WHERE Group_Id ={group_Id} and OrderState =1 and CreateBy ={userId} and (PreferPrice - DiscountMoney) <>(Income - Refund + PlatformTax)";
return Get<RB_Order_ViewModel>(sql).ToList();
}
#endregion
#region 销售业绩统计 #region 销售业绩统计
/// <summary> /// <summary>
......
...@@ -245,7 +245,10 @@ namespace Edu.WebApi.Controllers.Bonus ...@@ -245,7 +245,10 @@ namespace Edu.WebApi.Controllers.Bonus
var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString()); var pageModel = Common.Plugin.JsonHelper.DeserializeObject<ResultPageModel>(RequestParm.Msg.ToString());
var query = new RB_Personnel_Bonus_Extend() var query = new RB_Personnel_Bonus_Extend()
{ {
PeriodId = base.ParmJObj.GetInt("PeriodId") PeriodId = base.ParmJObj.GetInt("PeriodId"),
YearNum = base.ParmJObj.GetInt("YearNum"),
MonthNum = base.ParmJObj.GetInt("MonthNum"),
EmployeeId = base.ParmJObj.GetInt("EmployeeId")
}; };
query.Group_Id = base.UserInfo.Group_Id; query.Group_Id = base.UserInfo.Group_Id;
List<object> result = new List<object>(); List<object> result = new List<object>();
......
...@@ -643,6 +643,146 @@ namespace Edu.WebApi.Controllers.Course ...@@ -643,6 +643,146 @@ namespace Edu.WebApi.Controllers.Course
return flag ? ApiResult.Success(message: message) : ApiResult.Failed(message: message); return flag ? ApiResult.Success(message: message) : ApiResult.Failed(message: message);
} }
/// <summary>
/// 新增订单 (批量)
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetClassOrderBatch()
{
var userInfo = base.UserInfo;
var OrderListStr = base.ParmJObj.GetStringValue("OrderList");
if (string.IsNullOrEmpty(OrderListStr)) {
return ApiResult.ParamIsNull("请传递表单数据");
}
List<string> OrderObjList = JsonHelper.DeserializeObject<List<string>>(OrderListStr);
List<RB_Order_ViewModel> deList = new List<RB_Order_ViewModel>();
foreach (var item in OrderObjList)
{
JObject parms = JObject.Parse(item);
RB_Order_ViewModel demodel = new RB_Order_ViewModel()
{
OrderId = parms.GetInt("OrderId"),
ClassId = parms.GetInt("ClassId"),
GuestNum = parms.GetInt("GuestNum"),
OrderSource = (OrderSourceEnum)parms.GetInt("OrderSource"),
OrderType = (OrderTypeEnum)parms.GetInt("OrderType"),
PreferPrice = parms.GetDecimal("PreferPrice"),
SaleRemark = parms.GetStringValue("SaleRemark"),
SourceId = parms.GetInt("SourceId"),
Unit_Price = parms.GetDecimal("Unit_Price"),
HelpEnterId = parms.GetInt("HelpEnterId"),
GeneralOccupation = parms.GetStringValue("GeneralOccupation"),
EduOccupation = parms.GetStringValue("EduOccupation"),
OrderNature = (OrderNatureEnum)parms.GetInt("OrderNature"),
OldPreferPrice = parms.GetDecimal("OldPreferPrice"),
CourseId = parms.GetInt("CourseId"),
StartClassHours = parms.GetInt("StartClassHours"),
EffectTime = parms.GetDateTime("EffectTime"),
UpOrderId = parms.GetInt("UpOrderId"),
VisitorReserveId = parms.GetInt("VisitorReserveId"),
JoinType = OrderJoinTypeEnum.Normal,
TargetJoinType = OrderJoinTypeEnum.Normal,
DiscountMoney = parms.GetDecimal("DiscountMoney"),
PerDiscountMoney = parms.GetDecimal("PerDiscountMoney"),
IsLessPrice = parms.GetInt("IsLessPrice"),
LessPrice = parms.GetDecimal("LessPrice"),
PerLessMoney = parms.GetDecimal("PerLessMoney"),
CustomerId = parms.GetInt("CustomerId"),
StuIds = parms.GetStringValue("StuIds"),
OrderIdentify = parms.GetInt("OrderIdentify"),
CourseConsultantId = parms.GetInt("CourseConsultantId"),
EnterID = parms.GetInt("EnterId"),
ScrollSchoolId = parms.GetInt("ScrollSchoolId")
};
var IsInsertClass = parms.GetInt("IsChaBan");
if (IsInsertClass == 1)
{
demodel.JoinType = OrderJoinTypeEnum.InsertClass;
}
if (demodel.OrderType == OrderTypeEnum.CourseOrder && demodel.ClassId <= 0)
{
return ApiResult.ParamIsNull("请传递班级id");
}
if (demodel.GuestNum <= 0)
{
return ApiResult.ParamIsNull("请传递报名人数");
}
if (demodel.Unit_Price <= 0)
{
return ApiResult.ParamIsNull("成交单价不能小于0");
}
if (demodel.OrderSource <= 0)
{
return ApiResult.ParamIsNull("请选择客人来源");
}
if (demodel.OrderIdentify == 2 && string.IsNullOrEmpty(demodel.StuIds) && demodel.OrderId == 0)
{
return ApiResult.ParamIsNull("请传递选择客户");
}
if (demodel.OrderIdentify == 2 && !string.IsNullOrEmpty(demodel.StuIds))
{
//验证学生是否已有其他订单
var vlist = orderModule.ValidataStuOrder(demodel.StuIds, userInfo.Group_Id);
if (vlist.Any())
{
var vmodel = vlist.FirstOrDefault();
return ApiResult.Tip("学员" + vmodel.GuestName + "存在有效未付款订单" + vmodel.OrderId + ",请取消该订单后再试", vmodel.OrderId);
}
}
if (!string.IsNullOrEmpty(demodel.StuIds))
{
int gNum = JsonHelper.DeserializeObject<List<int>>("[" + demodel.StuIds + "]").Count();
if (demodel.GuestNum != gNum)
{
return ApiResult.ParamIsNull("客人数量不正确");
}
}
demodel.Group_Id = userInfo.Group_Id;
demodel.School_Id = userInfo.School_Id;
demodel.Dept_Id = userInfo.DeptId;
demodel.OrderForm = OrderFormEnum.Computer;
if (demodel.OrderType == OrderTypeEnum.CourseOrder && demodel.OrderIdentify != 2)
{
demodel.EnterID = userInfo.Id; //由前端传递了, 可能会不存在 (此字段为市场人员)
}
demodel.OrderState = OrderStateEnum.Normal;
demodel.TradeWay = TradeWayEnum.OnLine;
demodel.CreateBy = userInfo.Id;
demodel.CreateTime = DateTime.Now;
demodel.UpdateBy = userInfo.Id;
demodel.UpdateTime = DateTime.Now;
if (demodel.OrderType == OrderTypeEnum.CourseOrder)
{
if (demodel.JoinType == OrderJoinTypeEnum.Normal)
{
demodel.StartClassHours = 0;
}
else if (demodel.JoinType == OrderJoinTypeEnum.InsertClass)
{
if (demodel.CourseId <= 0)
{
return ApiResult.ParamIsNull(message: "请选择插班课程!");
}
}
}
else {
return ApiResult.Failed("只能课程订单批量操作");
}
deList.Add(demodel);
}
if (!deList.Any()) {
return ApiResult.Failed("请传递订单信息");
}
var flag = orderModule.SetClassOrderModuleBatch(deList, userInfo, base.CheckUserActionAuth("Edit_Order"), out string message);
return flag ? ApiResult.Success(message: message) : ApiResult.Failed(message: message);
}
/// <summary> /// <summary>
/// 设置订单应收总额 /// 设置订单应收总额
/// </summary> /// </summary>
......
...@@ -2849,6 +2849,43 @@ namespace Edu.WebApi.Controllers.User ...@@ -2849,6 +2849,43 @@ namespace Edu.WebApi.Controllers.User
} }
#endregion
#region 离职转交
/// <summary>
/// 设置离职用户订单转交
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetUserLeaveOrderCareOf()
{
var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int UserId = parms.GetInt("UserId", 0);//转交人
int ReceiveId = parms.GetInt("ReceiveId", 0);//接收人
string TypeIds = parms.GetStringValue("TypeIds");//类型 1订单 2学员
if (UserId <= 0 || ReceiveId <= 0 || string.IsNullOrEmpty(TypeIds))
{
return ApiResult.ParamIsNull();
}
if (TypeIds.Contains("1")) {
string msg = classModule.SetUserLeaveOrderCareOf(UserId, ReceiveId, userInfo);
if (msg != "") {
return ApiResult.Failed("转交未完款订单失败:" + msg);
}
}
if (TypeIds.Contains("2")) {
string msg = studentModule.SetUserLeaveStudentCareOf(UserId, ReceiveId, userInfo);
if (msg != "")
{
return ApiResult.Failed("转交学员失败:" + msg);
}
}
return ApiResult.Success();
}
#endregion #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