Commit 30c0b3ac authored by 吴春's avatar 吴春

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

# Conflicts:
#	Edu.Module.Course/ClassModule.cs
parents a08a7b87 4a69f56a
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.Course
{
/// <summary>
/// 教务奖励实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Teaching_Rewards
{
/// <summary>
/// 主键
/// </summary>
public int Id { get; set; }
/// <summary>
/// 满班率id
/// </summary>
public int FullClassRateId { get; set; }
/// <summary>
/// 上课率id
/// </summary>
public int TackClassRateId { get; set; }
/// <summary>
/// 奖励课时费
/// </summary>
public decimal Money { get; set; }
/// <summary>
/// 增加带班人数
/// </summary>
public int PeopelNum { get; set; }
}
}
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.Course
{
/// <summary>
/// 教务奖励基础实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Teaching_Rewards_Base
{
/// <summary>
/// 主键
/// </summary>
public int Id { get; set; }
/// <summary>
/// 类型 1社会班 2学生班
/// </summary>
public int Type { get; set; }
/// <summary>
/// 基础课时费用
/// </summary>
public decimal BasicMoney { get; set; }
/// <summary>
/// 基础课时
/// </summary>
public int BasicHour { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { get; set; }
/// <summary>
/// 创建时间
/// </summary>
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改人
/// </summary>
public int UpdateBy { get; set; }
/// <summary>
/// 更新时间
/// </summary>
public DateTime UpdateTime { get; set; }
}
}
using Edu.Common.Enum;
using Edu.Common.Enum.Course;
using System;
using VT.FW.DB;
namespace Edu.Model.Entity.Course
{
/// <summary>
/// 教务奖励概率实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Teaching_Rewards_Rate
{
/// <summary>
/// 主键
/// </summary>
public int Id { get; set; }
/// <summary>
/// 类型 1社会-奖金 2社会-课时费 3学生-奖金 4学生-课时费
/// </summary>
public int Type { get; set; }
/// <summary>
/// 概率类型 1满班率 2平均上课率/续班率
/// </summary>
public int RateType { get; set; }
/// <summary>
/// 起始值(最小率)
/// </summary>
public decimal StartValue { get; set; }
/// <summary>
/// 结束值(最大率)
/// </summary>
public decimal EndValue { get; set; }
/// <summary>
/// 集团编号
/// </summary>
public int Group_Id { get; set; }
/// <summary>
/// 学校编号
/// </summary>
public int School_Id { get; set; }
/// <summary>
/// 创建人
/// </summary>
public int CreateBy { 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.User
{
/// <summary>
/// 部门岗位关联表实体类
/// </summary>
[Serializable]
[DB(ConnectionName = "DefaultConnection")]
public class RB_Department_Post
{
/// <summary>
/// 部门岗位关联表主键Id
/// </summary>
public int Id { get; set; }
/// <summary>
/// 部门编号
/// </summary>
public int Dept_Id { get; set; }
/// <summary>
/// 岗位编号
/// </summary>
public int PostId { get; set; }
}
}
...@@ -21,11 +21,6 @@ namespace Edu.Model.Entity.User ...@@ -21,11 +21,6 @@ namespace Edu.Model.Entity.User
/// </summary> /// </summary>
public string PostName { get; set; } public string PostName { get; set; }
/// <summary>
/// 部门编号
/// </summary>
public int RB_Dept_Id { get; set; }
/// <summary> /// <summary>
/// 集团编号 /// 集团编号
/// </summary> /// </summary>
......
using System;
using System.Collections.Generic;
namespace Edu.Model.ViewModel.Course
{
/// <summary>
/// 教务奖励-基础实体类
/// </summary>
[Serializable]
public class RB_Teaching_Rewards_Base_ViewModel : Model.Entity.Course.RB_Teaching_Rewards_Base
{
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
namespace Edu.Model.ViewModel.Course
{
/// <summary>
/// 教务奖励-比率实体类
/// </summary>
[Serializable]
public class RB_Teaching_Rewards_Rate_ViewModel : Model.Entity.Course.RB_Teaching_Rewards_Rate
{
/// <summary>
/// 满班率
/// </summary>
public List<RB_Teaching_Rewards_Rate_ViewModel> FullClassList { get; set; }
/// <summary>
/// 增加课时费
/// </summary>
public decimal ClassMoney { get; set; }
/// <summary>
/// 增加带班人数
/// </summary>
public int PeopelNum { get; set; }
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
namespace Edu.Model.ViewModel.Course
{
/// <summary>
/// 教务奖励实体类
/// </summary>
[Serializable]
public class RB_Teaching_Rewards_ViewModel : Model.Entity.Course.RB_Teaching_Rewards
{
/// <summary>
/// ids
/// </summary>
public string FullClassRateIds { get; set; }
/// <summary>
/// ids
/// </summary>
public string TackClassRateIds { get; set; }
}
}
\ No newline at end of file
using Edu.Model.Entity.User;
using System;
using System.Collections.Generic;
using System.Text;
namespace Edu.Model.ViewModel.User
{
/// <summary>
/// 部门岗位关联表视图实体类
/// </summary>
public class RB_Department_Post_ViewModel: RB_Department_Post
{
/// <summary>
/// 岗位名称
/// </summary>
public string PostName { get; set; }
/// <summary>
/// 部门编号【查询使用,逗号分隔】
/// </summary>
public string QDeptIds { get; set; }
}
}
...@@ -65,5 +65,15 @@ namespace Edu.Model.ViewModel.User ...@@ -65,5 +65,15 @@ namespace Edu.Model.ViewModel.User
return Common.ConvertHelper.StringToList(this.ManagerIds); return Common.ConvertHelper.StringToList(this.ManagerIds);
} }
} }
/// <summary>
/// 部门管理岗位列表
/// </summary>
public List<RB_Department_Post_ViewModel> DeptPostList { get; set; }
/// <summary>
/// 选择的岗位
/// </summary>
public List<int> ChoosePostList { get; set; }
} }
} }
\ No newline at end of file
...@@ -43,11 +43,6 @@ namespace Edu.Model.ViewModel.User ...@@ -43,11 +43,6 @@ namespace Edu.Model.ViewModel.User
} }
} }
/// <summary>
/// 所属部门
/// </summary>
public string DeptName { get; set; }
/// <summary> /// <summary>
/// 岗位编号查询 /// 岗位编号查询
/// </summary> /// </summary>
......
...@@ -144,6 +144,11 @@ namespace Edu.Module.Course ...@@ -144,6 +144,11 @@ namespace Edu.Module.Course
bool flag = false; bool flag = false;
if (model.ClassId > 0) if (model.ClassId > 0)
{ {
var oldModel = GetClassModule(model.ClassId);
if (oldModel.Teacher_Id != model.Teacher_Id && model.Teacher_Id > 0 && oldModel.Teacher_Id > 0)
{
class_PlanRepository.UpdatePlanTeacherIdRepository(model.Teacher_Id, model.ClassId);
}
Dictionary<string, object> fileds = new Dictionary<string, object>() Dictionary<string, object> fileds = new Dictionary<string, object>()
{ {
{ nameof(RB_Class_ViewModel.ClassName),model.ClassName}, { nameof(RB_Class_ViewModel.ClassName),model.ClassName},
...@@ -170,7 +175,6 @@ namespace Edu.Module.Course ...@@ -170,7 +175,6 @@ namespace Edu.Module.Course
{ nameof(RB_Class_ViewModel.DefaultTimeJson),model.DefaultTimeJson}, { nameof(RB_Class_ViewModel.DefaultTimeJson),model.DefaultTimeJson},
{ nameof(RB_Class_ViewModel.DateJson),model.DateJson}, { nameof(RB_Class_ViewModel.DateJson),model.DateJson},
//{ nameof(RB_Class_ViewModel.CompleteProgress),model.CompleteProgress}, //{ nameof(RB_Class_ViewModel.CompleteProgress),model.CompleteProgress},
//{ nameof(RB_Class_ViewModel.OutRemark),model.OutRemark},
}; };
flag = classRepository.Update(fileds, new WhereHelper(nameof(RB_Class_ViewModel.ClassId), model.ClassId)); flag = classRepository.Update(fileds, new WhereHelper(nameof(RB_Class_ViewModel.ClassId), model.ClassId));
} }
...@@ -258,16 +262,66 @@ namespace Edu.Module.Course ...@@ -258,16 +262,66 @@ namespace Edu.Module.Course
} }
//班级上课计划列表 //班级上课计划列表
List<RB_Class_Plan_ViewModel> classPlanList = new List<RB_Class_Plan_ViewModel>(); List<RB_Class_Plan_ViewModel> classPlanList = CreateClassPlanList(model, defaultPlanTimeList);
//删除班级计划
switch (model.ClassStyle) model.ClassPlanList = classPlanList;
if (model.ClassPlanList != null && model.ClassPlanList.Count > 0)
{ {
//按周排课 foreach (var item in model.ClassPlanList)
case Common.Enum.Course.ClassStyleEnum.Week: {
if (model.WeekDayList != null && model.WeekDayList.Count > 0) item.ClassPlanId = 0;
if (!class_PlanRepository.CheckExistsRepository(item))
{ {
var srartDate = model.OpenTime; //添加班级上课计划
for (var i = 0; i < 120; i++) var newClassPlanId = class_PlanRepository.Insert(item);
if (item.PlanTimeList != null && item.PlanTimeList.Count > 0)
{
foreach (var subItem in item.PlanTimeList)
{
subItem.ClassTimeId = 0;
subItem.ClassPlanId = newClassPlanId;
//添加班级上课计划的上课时间
class_TimeRepository.Insert(subItem);
}
}
}
}
}
#endregion
return flag;
}
/// <summary>
/// 生成班级上课计划表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
private List<RB_Class_Plan_ViewModel> CreateClassPlanList(RB_Class_ViewModel model,List<RB_Class_Time_ViewModel> defaultPlanTimeList)
{
List<RB_Class_Plan_ViewModel> classPlanList = new List<RB_Class_Plan_ViewModel>();
double totalMinutes = 0;
foreach (var item in defaultPlanTimeList)
{
var startDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + item.StartTime+":00");
var endDate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd") + " " + item.EndTime + ":00");
TimeSpan span = endDate.Subtract(startDate);
if (span.TotalMinutes > 0)
{
totalMinutes += span.TotalMinutes;
}
}
//计算每天课时数
var dayClassHour = totalMinutes / 45.0;
if (dayClassHour > 0)
{
var totalDay = model.ClassHours / dayClassHour;
var srartDate = model.OpenTime;
switch (model.ClassStyle)
{
//按周排课
case Common.Enum.Course.ClassStyleEnum.Week:
int i = 0;
while (classPlanList.Count < totalDay)
{ {
var newDate = srartDate.AddDays(i); var newDate = srartDate.AddDays(i);
foreach (var item in model.WeekDayList) foreach (var item in model.WeekDayList)
...@@ -388,17 +442,15 @@ namespace Edu.Module.Course ...@@ -388,17 +442,15 @@ namespace Edu.Module.Course
break; break;
} }
} }
i++;
} }
} break;
break; //按月排课
//按月排课 case Common.Enum.Course.ClassStyleEnum.Month:
case Common.Enum.Course.ClassStyleEnum.Month: int j = 0;
if (model.WeekDayList != null && model.WeekDayList.Count > 0) while (classPlanList.Count < totalDay)
{
var srartDate = model.OpenTime;
for (var i = 0; i < 120; i++)
{ {
var newDate = srartDate.AddDays(i); var newDate = srartDate.AddDays(j);
foreach (var item in model.WeekDayList) foreach (var item in model.WeekDayList)
{ {
if (newDate.Day == Convert.ToInt32(item)) if (newDate.Day == Convert.ToInt32(item))
...@@ -416,12 +468,11 @@ namespace Edu.Module.Course ...@@ -416,12 +468,11 @@ namespace Edu.Module.Course
}); });
} }
} }
j++;
} }
} break;
break; //固定日期排课
//固定日期排课 case Common.Enum.Course.ClassStyleEnum.FixedDate:
case Common.Enum.Course.ClassStyleEnum.FixedDate:
{
foreach (var item in model.WeekDayList) foreach (var item in model.WeekDayList)
{ {
classPlanList.Add(new RB_Class_Plan_ViewModel() classPlanList.Add(new RB_Class_Plan_ViewModel()
...@@ -436,34 +487,10 @@ namespace Edu.Module.Course ...@@ -436,34 +487,10 @@ namespace Edu.Module.Course
TeacherId = model.Teacher_Id, TeacherId = model.Teacher_Id,
}); });
} }
} break;
break;
}
model.ClassPlanList = classPlanList;
if (model.ClassPlanList != null && model.ClassPlanList.Count > 0)
{
foreach (var item in model.ClassPlanList)
{
item.ClassPlanId = 0;
if (!class_PlanRepository.CheckExistsRepository(item))
{
//添加班级上课计划
var newClassPlanId = class_PlanRepository.Insert(item);
if (item.PlanTimeList != null && item.PlanTimeList.Count > 0)
{
foreach (var subItem in item.PlanTimeList)
{
subItem.ClassTimeId = 0;
subItem.ClassPlanId = newClassPlanId;
//添加班级上课计划的上课时间
class_TimeRepository.Insert(subItem);
}
}
}
} }
} }
#endregion return classPlanList;
return flag;
} }
/// <summary> /// <summary>
...@@ -493,9 +520,10 @@ namespace Edu.Module.Course ...@@ -493,9 +520,10 @@ namespace Edu.Module.Course
{ {
extModel.DefaultTimeList = Common.Plugin.JsonHelper.DeserializeObject<List<RB_Class_Time_ViewModel>>(extModel.DefaultTimeJson); extModel.DefaultTimeList = Common.Plugin.JsonHelper.DeserializeObject<List<RB_Class_Time_ViewModel>>(extModel.DefaultTimeJson);
} }
if (!string.IsNullOrEmpty(extModel.DateJson))
{ if (!string.IsNullOrEmpty(extModel.DateJson) && extModel.ClassStyle!= Common.Enum.Course.ClassStyleEnum.OnLine)
extModel.WeekDayList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(extModel.DateJson); {
extModel.WeekDayList= Common.Plugin.JsonHelper.DeserializeObject<List<string>>(extModel.DateJson);
} }
} }
return extModel; return extModel;
......
...@@ -127,7 +127,7 @@ namespace Edu.Module.Course ...@@ -127,7 +127,7 @@ namespace Edu.Module.Course
} }
else if (item.ClassStyle == Common.Enum.Course.ClassStyleEnum.FixedDate) else if (item.ClassStyle == Common.Enum.Course.ClassStyleEnum.FixedDate)
{ {
item.ClassPlanList = PlanWeek.Where(x => x.ClassId == item.ClassId).ToList(); item.ClassPlanList = PlanFixed.Where(x => x.ClassId == item.ClassId).ToList();
} }
} }
} }
...@@ -793,6 +793,75 @@ namespace Edu.Module.Course ...@@ -793,6 +793,75 @@ namespace Edu.Module.Course
} }
} }
/// <summary>
/// 订单转班
/// </summary>
/// <param name="orderId"></param>
/// <param name="classId"></param>
/// <param name="userInfo"></param>
/// <returns></returns>
public string SetClassOrderCareOfClass(int orderId, int classId, UserInfo userInfo)
{
var orderModel = orderRepository.GetEntity(orderId);
if (orderModel == null) { return "订单不存在"; }
if (orderModel.OrderState == OrderStateEnum.Cancel) { return "订单状态不正确"; }
if (orderModel.ClassId == classId) { return "转入班级不正确"; }
var classModel = classRepository.GetEntity(classId);
if (classModel == null) { return "班级不存在"; }
//获取该班级下订单人数
int BNum = orderRepository.GetClassOrderPeopleNum(classId.ToString()).FirstOrDefault()?.GuestNum ?? 0;
if (BNum + orderModel.GuestNum > classModel.ClassPersion)
{
return "转入班级剩余招收人数不足,请核实后再试";
}
Dictionary<string, object> keyValues = new Dictionary<string, object>() {
{ nameof(RB_Order_ViewModel.ClassId),classId}
};
List<WhereHelper> wheres = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Order_ViewModel.OrderId),
FiledValue=orderId,
OperatorEnum=OperatorEnum.Equal
}
};
bool flag = orderRepository.Update(keyValues, wheres);
if (flag)
{
//查询所有的学生名单
var glist = order_GuestRepository.GetList(new RB_Order_Guest_ViewModel() { OrderId = orderId });
foreach (var item in glist) {
Dictionary<string, object> keyValues1 = new Dictionary<string, object>() {
{ nameof(RB_Order_Guest_ViewModel.ClassId),classId}
};
List<WhereHelper> wheres1 = new List<WhereHelper>() {
new WhereHelper(){
FiledName=nameof(RB_Order_Guest_ViewModel.Id),
FiledValue=item.Id,
OperatorEnum=OperatorEnum.Equal
}
};
order_GuestRepository.Update(keyValues1, wheres1);
}
//记录日志
changeLogRepository.Insert(new Model.Entity.Log.RB_User_ChangeLog()
{
Id = 0,
Type = 2,
CreateBy = userInfo.Id,
CreateTime = DateTime.Now,
Group_Id = userInfo.Group_Id,
LogContent = $"订单转班,由【{orderModel.ClassId}】转移至【{classId}】",
School_Id = userInfo.School_Id,
SourceId = orderId
});
return "";
}
else {
return "出错了,请联系管理员";
}
}
#endregion #endregion
#region 学生名单 #region 学生名单
......
This diff is collapsed.
...@@ -21,12 +21,16 @@ namespace Edu.Module.User ...@@ -21,12 +21,16 @@ namespace Edu.Module.User
/// </summary> /// </summary>
private readonly RB_AccountRepository accountRepository = new RB_AccountRepository(); private readonly RB_AccountRepository accountRepository = new RB_AccountRepository();
/// <summary> /// <summary>
/// 岗位仓储层对象 /// 岗位仓储层对象
/// </summary> /// </summary>
private readonly RB_PostRepository postRepository = new RB_PostRepository(); private readonly RB_PostRepository postRepository = new RB_PostRepository();
/// <summary>
/// 部门岗位关联表仓储层对象
/// </summary>
private readonly RB_Department_PostRepository department_PostRepository = new RB_Department_PostRepository();
/// <summary> /// <summary>
/// 获取部门分页列表 /// 获取部门分页列表
/// </summary> /// </summary>
...@@ -40,6 +44,7 @@ namespace Edu.Module.User ...@@ -40,6 +44,7 @@ namespace Edu.Module.User
var list = departmentRepository.GetDepartmentPageListRepository(pageIndex, pageSize, out rowsCount, query); var list = departmentRepository.GetDepartmentPageListRepository(pageIndex, pageSize, out rowsCount, query);
List<RB_Department_ViewModel> parentList = new List<RB_Department_ViewModel>(); List<RB_Department_ViewModel> parentList = new List<RB_Department_ViewModel>();
List<Employee_ViewModel> empList = new List<Employee_ViewModel>(); List<Employee_ViewModel> empList = new List<Employee_ViewModel>();
List<RB_Department_Post_ViewModel> deptPostList = new List<RB_Department_Post_ViewModel>();
if (list != null && list.Count > 0) if (list != null && list.Count > 0)
{ {
//查询部门列表 //查询部门列表
...@@ -54,6 +59,12 @@ namespace Edu.Module.User ...@@ -54,6 +59,12 @@ namespace Edu.Module.User
{ {
empList = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { QIds = persion }); empList = accountRepository.GetEmployeeListRepository(new Employee_ViewModel() { QIds = persion });
} }
string qDeptIds = string.Join(",", list.Select(qitem => qitem.DeptId));
if (!string.IsNullOrEmpty(qDeptIds))
{
deptPostList = department_PostRepository.GetDepartmentPostListRepository(new RB_Department_Post_ViewModel() { QDeptIds = qDeptIds });
}
} }
foreach (var item in list) foreach (var item in list)
{ {
...@@ -73,6 +84,7 @@ namespace Edu.Module.User ...@@ -73,6 +84,7 @@ namespace Edu.Module.User
persionName = persionName.Substring(1); persionName = persionName.Substring(1);
} }
item.ManagerName = persionName; item.ManagerName = persionName;
item.DeptPostList = deptPostList?.Where(qitem => qitem.Dept_Id == item.DeptId)?.ToList() ?? new List<RB_Department_Post_ViewModel>();
} }
return list; return list;
} }
...@@ -217,22 +229,22 @@ namespace Edu.Module.User ...@@ -217,22 +229,22 @@ namespace Edu.Module.User
#region 添加岗位 #region 添加岗位
if (isQueryPost) if (isQueryPost)
{ {
var tempPostList = postList?.Where(qitem => qitem.RB_Dept_Id == fItem.DeptId)?.ToList(); //var tempPostList = postList?.Where(qitem => qitem.RB_Dept_Id == fItem.DeptId)?.ToList();
if (tempPostList != null && tempPostList.Count > 0) //if (tempPostList != null && tempPostList.Count > 0)
{ //{
foreach (var pItem in tempPostList) // foreach (var pItem in tempPostList)
{ // {
tModel.ChildList.Add(new DepartmentTree_ViewModel() // tModel.ChildList.Add(new DepartmentTree_ViewModel()
{ // {
DeptId = pItem.PostId, // DeptId = pItem.PostId,
DeptName = pItem.PostName, // DeptName = pItem.PostName,
ParentId = 0, // ParentId = 0,
ChildList = new List<DepartmentTree_ViewModel>(), // ChildList = new List<DepartmentTree_ViewModel>(),
School_Id = fItem.School_Id, // School_Id = fItem.School_Id,
DataType = 3, // DataType = 3,
}); // });
} // }
} //}
} }
#endregion #endregion
...@@ -296,22 +308,22 @@ namespace Edu.Module.User ...@@ -296,22 +308,22 @@ namespace Edu.Module.User
#region 添加岗位 #region 添加岗位
if (postList != null && postList.Count > 0) if (postList != null && postList.Count > 0)
{ {
var tempPostList = postList?.Where(qitem => qitem.RB_Dept_Id == item.DeptId)?.ToList(); //var tempPostList = postList?.Where(qitem => qitem.RB_Dept_Id == item.DeptId)?.ToList();
if (tempPostList != null && tempPostList.Count > 0) //if (tempPostList != null && tempPostList.Count > 0)
{ //{
foreach (var pItem in tempPostList) // foreach (var pItem in tempPostList)
{ // {
model.ChildList.Add(new DepartmentTree_ViewModel() // model.ChildList.Add(new DepartmentTree_ViewModel()
{ // {
DeptId = pItem.PostId, // DeptId = pItem.PostId,
DeptName = pItem.PostName, // DeptName = pItem.PostName,
ParentId = 0, // ParentId = 0,
ChildList = new List<DepartmentTree_ViewModel>(), // ChildList = new List<DepartmentTree_ViewModel>(),
School_Id = item.School_Id, // School_Id = item.School_Id,
DataType = 3, // DataType = 3,
}); // });
} // }
} //}
} }
#endregion #endregion
...@@ -399,7 +411,7 @@ namespace Edu.Module.User ...@@ -399,7 +411,7 @@ namespace Edu.Module.User
/// </summary> /// </summary>
/// <param name="extModel"></param> /// <param name="extModel"></param>
/// <returns></returns> /// <returns></returns>
public bool SetDepartmentModule(RB_Department_ViewModel extModel) public virtual bool SetDepartmentModule(RB_Department_ViewModel extModel)
{ {
bool flag; bool flag;
if (extModel.DeptId > 0) if (extModel.DeptId > 0)
...@@ -425,6 +437,20 @@ namespace Edu.Module.User ...@@ -425,6 +437,20 @@ namespace Edu.Module.User
extModel.DeptId = newId; extModel.DeptId = newId;
flag = newId > 0; flag = newId > 0;
} }
department_PostRepository.DeleteOne(new WhereHelper(nameof(RB_Department_Post_ViewModel.Dept_Id), extModel.DeptId));
if (extModel.ChoosePostList != null && extModel.ChoosePostList.Count > 0)
{
foreach (var item in extModel.ChoosePostList)
{
var deptPostModel = new RB_Department_Post_ViewModel()
{
Id = 0,
Dept_Id = extModel.DeptId,
PostId = item
};
department_PostRepository.Insert(deptPostModel);
}
}
return flag; return flag;
} }
...@@ -435,7 +461,22 @@ namespace Edu.Module.User ...@@ -435,7 +461,22 @@ namespace Edu.Module.User
/// <returns></returns> /// <returns></returns>
public RB_Department_ViewModel GetDepartmentModule(object DeptId) public RB_Department_ViewModel GetDepartmentModule(object DeptId)
{ {
return departmentRepository.GetEntity<RB_Department_ViewModel>(DeptId); var extModel = departmentRepository.GetEntity<RB_Department_ViewModel>(DeptId);
if (extModel != null && extModel.DeptId > 0)
{
var deptPostList = department_PostRepository.GetDepartmentPostListRepository(new RB_Department_Post_ViewModel()
{
Dept_Id = extModel.DeptId
});
extModel.ChoosePostList = new List<int>();
if (deptPostList != null && deptPostList.Count > 0)
{
}
extModel.DeptPostList = deptPostList;
}
return extModel;
} }
/// <summary> /// <summary>
......
...@@ -61,7 +61,6 @@ namespace Edu.Module.User ...@@ -61,7 +61,6 @@ namespace Edu.Module.User
Dictionary<string, object> fileds = new Dictionary<string, object>() Dictionary<string, object> fileds = new Dictionary<string, object>()
{ {
{nameof(RB_Post_ViewModel.PostName),extModel.PostName }, {nameof(RB_Post_ViewModel.PostName),extModel.PostName },
{nameof(RB_Post_ViewModel.RB_Dept_Id),extModel.RB_Dept_Id },
{nameof(RB_Post_ViewModel.UpdateBy),extModel.UpdateBy }, {nameof(RB_Post_ViewModel.UpdateBy),extModel.UpdateBy },
{nameof(RB_Post_ViewModel.UpdateTime),extModel.UpdateTime }, {nameof(RB_Post_ViewModel.UpdateTime),extModel.UpdateTime },
}; };
......
...@@ -152,6 +152,10 @@ WHERE 1=1 ...@@ -152,6 +152,10 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.School_Id), query.School_Id); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.School_Id), query.School_Id);
} }
if (query.ClassId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.ClassId), query.ClassId);
}
if (query.CouseId > 0) if (query.CouseId > 0)
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.CouseId), query.CouseId); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_ViewModel.CouseId), query.CouseId);
......
using Edu.Common.Enum; using Edu.Common.Enum;
using Edu.Model.Entity.Course; using Edu.Model.Entity.Course;
using Edu.Model.ViewModel.Course; using Edu.Model.ViewModel.Course;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
...@@ -73,6 +74,23 @@ WHERE 1=1 ...@@ -73,6 +74,23 @@ WHERE 1=1
return base.Exists(list); return base.Exists(list);
} }
/// <summary>
/// 老师改变则修改后面的代课老师为新的教师编号
/// </summary>
/// <param name="TeacherId"></param>
/// <param name="classId"></param>
/// <returns></returns>
public bool UpdatePlanTeacherIdRepository(int TeacherId, int classId)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
UPDATE rb_class_plan
SET TeacherId={0}
WHERE ClassId={1} AND ClassDate>'{2}'
", TeacherId, classId, DateTime.Now.ToString("yyyy-MM-dd"));
return base.Execute(builder.ToString()) > 0;
}
/// <summary> /// <summary>
/// 根据班级编号删除班级上课计划 /// 根据班级编号删除班级上课计划
/// </summary> /// </summary>
......
...@@ -82,7 +82,8 @@ WHERE 1=1 ...@@ -82,7 +82,8 @@ WHERE 1=1
/// <returns></returns> /// <returns></returns>
public List<RB_Class_Time_ViewModel> GetClassTimeForProduct(string classIds) { public List<RB_Class_Time_ViewModel> GetClassTimeForProduct(string classIds) {
string sql = $@"SELECT t.ClassId,t.StartTime,t.EndTime FROM rb_class_time t string sql = $@"SELECT t.ClassId,t.StartTime,t.EndTime FROM rb_class_time t
WHERE t.ClassId =1 GROUP BY t.ClassId,t.StartTime,t.EndTime"; LEFT JOIN rb_class_plan p on t.ClassPlanId = p.ClassPlanId
WHERE p.`Status`=0 AND t.ClassId =1 GROUP BY t.ClassId,t.StartTime,t.EndTime";
return Get<RB_Class_Time_ViewModel>(sql).ToList(); return Get<RB_Class_Time_ViewModel>(sql).ToList();
} }
......
using Edu.Common.Enum;
using Edu.Model.Entity.Course;
using Edu.Model.ViewModel.Course;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.Course
{
/// <summary>
/// 教务奖励仓储层
/// </summary>
public class RB_Teaching_RewardsRepository : BaseRepository<RB_Teaching_Rewards>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns>
public List<RB_Teaching_Rewards_ViewModel> GetList(RB_Teaching_Rewards_ViewModel demodel)
{
string where = $@" 1=1";
if (demodel.FullClassRateId > 0)
{
where += $@" and {nameof(RB_Teaching_Rewards.FullClassRateId)} ={demodel.FullClassRateId}";
}
if (!string.IsNullOrEmpty(demodel.FullClassRateIds))
{
where += $@" and {nameof(RB_Teaching_Rewards.FullClassRateId)} in({demodel.FullClassRateIds})";
}
if (demodel.TackClassRateId > 0)
{
where += $@" and {nameof(RB_Teaching_Rewards.TackClassRateId)} ={demodel.TackClassRateId}";
}
if (!string.IsNullOrEmpty(demodel.TackClassRateIds))
{
where += $@" and {nameof(RB_Teaching_Rewards.TackClassRateId)} in({demodel.TackClassRateIds})";
}
string sql = $@" select * from RB_Teaching_Rewards where {where} order by Id desc";
return Get<RB_Teaching_Rewards_ViewModel>(sql).ToList();
}
}
}
using Edu.Common.Enum;
using Edu.Model.Entity.Course;
using Edu.Model.ViewModel.Course;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.Course
{
/// <summary>
/// 教务奖励-基础仓储层
/// </summary>
public class RB_Teaching_Rewards_BaseRepository : BaseRepository<RB_Teaching_Rewards_Base>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <param name="orderIds"></param>
/// <returns></returns>
public List<RB_Teaching_Rewards_Base_ViewModel> GetList(RB_Teaching_Rewards_Base_ViewModel demodel)
{
string where = $@" 1=1";
if (demodel.School_Id > 0)
{
where += $@" and {nameof(RB_Teaching_Rewards_Base.School_Id)} ={demodel.School_Id}";
}
if (demodel.Type > 0)
{
where += $@" and {nameof(RB_Teaching_Rewards_Base.Type)} ={demodel.Type}";
}
string sql = $@" select * from RB_Teaching_Rewards_Base where {where} order by Id desc";
return Get<RB_Teaching_Rewards_Base_ViewModel>(sql).ToList();
}
}
}
using Edu.Common.Enum;
using Edu.Model.Entity.Course;
using Edu.Model.ViewModel.Course;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VT.FW.DB.Dapper;
namespace Edu.Repository.Course
{
/// <summary>
/// 教务奖励-概率仓储层
/// </summary>
public class RB_Teaching_Rewards_RateRepository : BaseRepository<RB_Teaching_Rewards_Rate>
{
/// <summary>
/// 获取列表
/// </summary>
/// <param name="demodel"></param>
/// <returns></returns>
public List<RB_Teaching_Rewards_Rate_ViewModel> GetList(RB_Teaching_Rewards_Rate_ViewModel demodel)
{
string where = $@" 1=1";
if (demodel.School_Id > 0)
{
where += $@" and {nameof(RB_Teaching_Rewards_Rate.School_Id)} ={demodel.School_Id}";
}
if (demodel.Type > 0)
{
where += $@" and {nameof(RB_Teaching_Rewards_Rate.Type)} ={demodel.Type}";
}
if (demodel.RateType > 0)
{
where += $@" and {nameof(RB_Teaching_Rewards_Rate.RateType)} ={demodel.RateType}";
}
string sql = $@" select * from RB_Teaching_Rewards_Rate where {where} order by Id desc";
return Get<RB_Teaching_Rewards_Rate_ViewModel>(sql).ToList();
}
}
}
using Edu.Model.Entity.User;
using Edu.Model.ViewModel.User;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Edu.Repository.User
{
/// <summary>
/// 部门岗位关联表仓储层
/// </summary>
public class RB_Department_PostRepository : BaseRepository<RB_Department_Post>
{
/// <summary>
/// 获取部门管理岗位列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Department_Post_ViewModel> GetDepartmentPostListRepository(RB_Department_Post_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,IFNULL(B.PostName,'') AS PostName
FROM rb_department_post AS A LEFT JOIN rb_post AS B ON A.PostId=B.PostId
WHERE 1=1
");
if (query == null)
{
return new List<RB_Department_Post_ViewModel>();
}
else
{
if (query.Dept_Id > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Department_Post_ViewModel.Dept_Id), query.Dept_Id);
}
if (!string.IsNullOrEmpty(query.QDeptIds))
{
builder.AppendFormat(" AND {0} IN ({1}) ", nameof(RB_Department_Post_ViewModel.Dept_Id), query.QDeptIds);
}
}
return Get<RB_Department_Post_ViewModel>(builder.ToString()).ToList();
}
}
}
...@@ -27,8 +27,8 @@ namespace Edu.Repository.User ...@@ -27,8 +27,8 @@ namespace Edu.Repository.User
DynamicParameters parameters = new DynamicParameters(); DynamicParameters parameters = new DynamicParameters();
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
builder.AppendFormat(@" builder.AppendFormat(@"
SELECT A.*,IFNULL(B.DeptName,'') AS DeptName SELECT A.*
FROM rb_post AS A LEFT JOIN rb_department AS B ON A.RB_Dept_Id=B.DeptId FROM rb_post AS A
WHERE 1=1 WHERE 1=1
"); ");
if (query != null) if (query != null)
...@@ -83,10 +83,6 @@ WHERE 1=1 ...@@ -83,10 +83,6 @@ WHERE 1=1
{ {
builder.Append($" AND A.{nameof(RB_Post_ViewModel.PostId)}={query.PostId} "); builder.Append($" AND A.{nameof(RB_Post_ViewModel.PostId)}={query.PostId} ");
} }
if (query.RB_Dept_Id > 0)
{
builder.Append($" AND A.{nameof(RB_Post_ViewModel.RB_Dept_Id)}={query.RB_Dept_Id} ");
}
if (!string.IsNullOrEmpty(query.QPostIds)) if (!string.IsNullOrEmpty(query.QPostIds))
{ {
builder.Append($" AND A.{nameof(RB_Post_ViewModel.PostId)} IN({query.QPostIds}) "); builder.Append($" AND A.{nameof(RB_Post_ViewModel.PostId)} IN({query.QPostIds}) ");
......
...@@ -284,10 +284,10 @@ namespace Edu.WebApi.Controllers.Course ...@@ -284,10 +284,10 @@ namespace Edu.WebApi.Controllers.Course
demodel.Group_Id = userInfo.Group_Id; demodel.Group_Id = userInfo.Group_Id;
demodel.School_Id = userInfo.School_Id; demodel.School_Id = userInfo.School_Id;
demodel.Dept_Id = userInfo.DeptId; demodel.Dept_Id = userInfo.DeptId;
demodel.OrderForm = Common.Enum.Course.OrderFormEnum.Computer; demodel.OrderForm = OrderFormEnum.Computer;
demodel.EnterID = userInfo.Id; demodel.EnterID = userInfo.Id;
demodel.OrderState = Common.Enum.Course.OrderStateEnum.Normal; demodel.OrderState = OrderStateEnum.Normal;
demodel.TradeWay = Common.Enum.Course.TradeWayEnum.OnLine; demodel.TradeWay = TradeWayEnum.OnLine;
demodel.CreateBy = userInfo.Id; demodel.CreateBy = userInfo.Id;
demodel.CreateTime = DateTime.Now; demodel.CreateTime = DateTime.Now;
demodel.UpdateBy = userInfo.Id; demodel.UpdateBy = userInfo.Id;
...@@ -611,8 +611,14 @@ namespace Edu.WebApi.Controllers.Course ...@@ -611,8 +611,14 @@ namespace Edu.WebApi.Controllers.Course
return ApiResult.ParamIsNull("请传递转入班级id"); return ApiResult.ParamIsNull("请传递转入班级id");
} }
string msg = orderModule.SetClassOrderCareOfClass(OrderId, ClassId, userInfo);
return ApiResult.Success(); if (msg == "")
{
return ApiResult.Success();
}
else {
return ApiResult.Failed(msg);
}
} }
/// <summary> /// <summary>
...@@ -775,6 +781,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -775,6 +781,7 @@ namespace Edu.WebApi.Controllers.Course
{ {
x.OrderId, x.OrderId,
x.ClassId, x.ClassId,
x.ClassName,
x.TradeWay, x.TradeWay,
x.Class_Price, x.Class_Price,
x.Unit_Price, x.Unit_Price,
......
using System;
using System.Collections.Generic;
using System.Linq;
using Edu.Cache.User;
using Edu.Common.API;
using Edu.Common.Enum.Course;
using Edu.Common.Plugin;
using Edu.Model.ViewModel.Course;
using Edu.Model.ViewModel.Log;
using Edu.Module.Course;
using Edu.WebApi.Filter;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
namespace Edu.WebApi.Controllers.Course
{
[Route("api/[controller]/[action]")]
[ApiExceptionFilter]
[ApiController]
[EnableCors("AllowCors")]
public class TeachingRewardsController : BaseController
{
/// <summary>
/// 教务奖励处理类对象
/// </summary>
private readonly TeachingRewardsModule teachingRewardsModule = new TeachingRewardsModule();
#region 基础配置
/// <summary>
/// 获取教务奖励列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetTeachingRewardsList()
{
var userInfo = base.UserInfo;
RB_Teaching_Rewards_Rate_ViewModel demodel = JsonHelper.DeserializeObject<RB_Teaching_Rewards_Rate_ViewModel>(RequestParm.Msg.ToString());
if (demodel.Type <= 0) {
return ApiResult.ParamIsNull();
}
var list = teachingRewardsModule.GetTeachimgRewardsList(demodel, userInfo, out List<RB_Teaching_Rewards_Rate_ViewModel> fclist);
return ApiResult.Success("", new
{
FullClassRateList = fclist.Select(x => new
{
x.Id,
x.StartValue,
x.EndValue
}),
List = list.Select(x => new
{
x.Id,
x.StartValue,
x.EndValue,
FullClassList = x.FullClassList.Select(z => new
{
z.Id,
z.StartValue,
z.EndValue,
z.ClassMoney,
z.PeopelNum
})
})
});
}
/// <summary>
/// 保存教务奖励配置
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetTeachingRewardsInfo()
{
var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int Type = parms.GetInt("Type", 0);
string list = parms.GetStringValue("List");
if (string.IsNullOrEmpty(list))
{
return ApiResult.ParamIsNull("请传递比例列表");
}
List<RB_Teaching_Rewards_Rate_ViewModel> deList = JsonHelper.DeserializeObject<List<RB_Teaching_Rewards_Rate_ViewModel>>(list);
if (deList == null || !deList.Any())
{
return ApiResult.ParamIsNull("请传递比例列表");
}
decimal xcrate = 0;
foreach (var item in deList) {
if (item.StartValue <= 0) {
return ApiResult.ParamIsNull("比率不能小于0");
}
if (item.EndValue <= 0) {
return ApiResult.ParamIsNull("比率不能小于0");
}
if (item.StartValue > item.EndValue) {
return ApiResult.ParamIsNull("起始值不能大于结束值");
}
if (item.StartValue <= xcrate){
return ApiResult.ParamIsNull("续学率有重复,请核实后再试");
}
xcrate = item.EndValue;
if (item.FullClassList == null || !item.FullClassList.Any())
{
return ApiResult.ParamIsNull("请传递满班率列表");
}
decimal mbrate = 0;
foreach (var qitem in deList) {
if (qitem.StartValue <= 0)
{
return ApiResult.ParamIsNull("比率不能小于0");
}
if (qitem.EndValue <= 0)
{
return ApiResult.ParamIsNull("比率不能小于0");
}
if (qitem.StartValue > qitem.EndValue)
{
return ApiResult.ParamIsNull("起始值不能大于结束值");
}
if (qitem.StartValue <= mbrate)
{
return ApiResult.ParamIsNull("续学率有重复,请核实后再试");
}
mbrate = qitem.EndValue;
if (qitem.ClassMoney < 0) { return ApiResult.Failed("奖金/课时费不能小于0"); }
if (Type == 2 || Type == 4) {
if (qitem.PeopelNum < 0)
{
return ApiResult.Failed("增加带班人数不正确");
}
}
}
}
var flag = teachingRewardsModule.SetTeachingRewardsInfo(Type, deList, userInfo);
if (flag)
{
return ApiResult.Success();
}
else {
return ApiResult.Failed();
}
}
/// <summary>
/// 获取教务奖励 基础
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult GetTeachingRewardsBaseInfo()
{
var userInfo = base.UserInfo;
JObject parms = JObject.Parse(RequestParm.Msg.ToString());
int Type = parms.GetInt("Type", 1);// 类型 1社会班 2学生班
if (Type <= 0) {
return ApiResult.ParamIsNull();
}
var model = teachingRewardsModule.GetTeachingRewardsBaseInfo(Type, userInfo);
return ApiResult.Success("", model);
}
/// <summary>
/// 保存教务奖励 基础
/// </summary>
/// <returns></returns>
[HttpPost]
public ApiResult SetTeachingRewardsBase() {
var userInfo = base.UserInfo;
RB_Teaching_Rewards_Base_ViewModel demodel = JsonHelper.DeserializeObject<RB_Teaching_Rewards_Base_ViewModel>(RequestParm.Msg.ToString());
if (demodel.Type <= 0) {
return ApiResult.ParamIsNull();
}
demodel.Group_Id = userInfo.Group_Id;
demodel.School_Id = userInfo.School_Id;
demodel.CreateBy = userInfo.Id;
demodel.CreateTime = DateTime.Now;
demodel.UpdateBy = userInfo.Id;
demodel.UpdateTime = DateTime.Now;
bool flag = teachingRewardsModule.SetTeachingRewardsBase(demodel, userInfo);
if (flag)
{
return ApiResult.Success();
}
else {
return ApiResult.Failed();
}
}
#endregion
}
}
...@@ -1217,7 +1217,6 @@ namespace Edu.WebApi.Controllers.User ...@@ -1217,7 +1217,6 @@ namespace Edu.WebApi.Controllers.User
var query = new RB_Post_ViewModel() var query = new RB_Post_ViewModel()
{ {
Group_Id = base.UserInfo.Group_Id, Group_Id = base.UserInfo.Group_Id,
RB_Dept_Id = base.ParmJObj.GetInt("RB_Dept_Id"),
}; };
var list = postModule.GetPostListModule(query); var list = postModule.GetPostListModule(query);
return ApiResult.Success(data: list); return ApiResult.Success(data: list);
......
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