Commit dea08b7b authored by 黄奎's avatar 黄奎

页面修改

parents c1f814e4 ea4c8736
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; }
}
}
...@@ -102,5 +102,6 @@ namespace Edu.Model.Entity.User ...@@ -102,5 +102,6 @@ namespace Edu.Model.Entity.User
/// 学生状态,1-未学习,2-已退课,3-学习中 /// 学生状态,1-未学习,2-已退课,3-学习中
/// </summary> /// </summary>
public int StuStatus { get; set; } public int StuStatus { get; set; }
} }
} }
...@@ -161,5 +161,11 @@ namespace Edu.Model.Entity.User ...@@ -161,5 +161,11 @@ namespace Edu.Model.Entity.User
/// 离职时间 /// 离职时间
/// </summary> /// </summary>
public DateTime? LeaveTime { get; set; } public DateTime? LeaveTime { get; set; }
/// <summary>
/// 带班基础人数 2020-12-10 Add by:w
/// </summary>
public int BaseStuNum { get; set; }
} }
} }
\ No newline at end of file
...@@ -41,7 +41,7 @@ namespace Edu.Model.ViewModel.Course ...@@ -41,7 +41,7 @@ namespace Edu.Model.ViewModel.Course
/// <summary> /// <summary>
/// 周几 /// 周几
/// </summary> /// </summary>
public string WeekDay { get; set; } public int WeekDay { get; set; }
/// <summary> /// <summary>
/// 班级对应的老师id /// 班级对应的老师id
......
...@@ -18,5 +18,11 @@ namespace Edu.Model.ViewModel.Course ...@@ -18,5 +18,11 @@ namespace Edu.Model.ViewModel.Course
/// rb_student表的id /// rb_student表的id
/// </summary> /// </summary>
public int StudentId { get; set; } public int StudentId { get; set; }
/// <summary>
/// 生日
/// </summary>
public string BirthDay { 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_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
...@@ -73,6 +73,19 @@ namespace Edu.Module.Course ...@@ -73,6 +73,19 @@ namespace Edu.Module.Course
return classRepository.GetClassListRepository(query); return classRepository.GetClassListRepository(query);
} }
/// <summary>
/// 获取班级上课时间列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Class_Time_ViewModel> GetClassTimeListRepository(RB_Class_Time_ViewModel query)
{
return class_TimeRepository.GetClassTimeListRepository(query);
}
/// <summary> /// <summary>
/// 获取班级分页列表 /// 获取班级分页列表
/// </summary> /// </summary>
...@@ -507,6 +520,7 @@ namespace Edu.Module.Course ...@@ -507,6 +520,7 @@ 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) && extModel.ClassStyle!= Common.Enum.Course.ClassStyleEnum.OnLine) 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);
...@@ -623,7 +637,7 @@ namespace Edu.Module.Course ...@@ -623,7 +637,7 @@ namespace Edu.Module.Course
extModel.ClassPlanId = newId; extModel.ClassPlanId = newId;
flag = newId > 0; flag = newId > 0;
} }
var oldPlanList= class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel() var oldPlanList = class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel()
{ {
ClassId = extModel.ClassId, ClassId = extModel.ClassId,
ClassPlanId = extModel.ClassPlanId, ClassPlanId = extModel.ClassPlanId,
...@@ -643,7 +657,7 @@ namespace Edu.Module.Course ...@@ -643,7 +657,7 @@ namespace Edu.Module.Course
} }
} }
//以前有计划 //以前有计划
else else
{ {
//现在没有设置时间【直接删除以前的时间】 //现在没有设置时间【直接删除以前的时间】
if (extModel.PlanTimeList == null || (extModel.PlanTimeList != null && extModel.PlanTimeList.Count == 0)) if (extModel.PlanTimeList == null || (extModel.PlanTimeList != null && extModel.PlanTimeList.Count == 0))
......
...@@ -97,37 +97,40 @@ namespace Edu.Module.Course ...@@ -97,37 +97,40 @@ namespace Edu.Module.Course
string classIds = string.Join(",", list.Select(x => x.ClassId)); string classIds = string.Join(",", list.Select(x => x.ClassId));
//查询阶梯价格 //查询阶梯价格
var stepList = class_StepPriceRepository.GetClassStepPriceListRepository(new RB_Class_StepPrice_ViewModel() { QClassIds = classIds }); var stepList = class_StepPriceRepository.GetClassStepPriceListRepository(new RB_Class_StepPrice_ViewModel() { QClassIds = classIds });
//查询课程安排
List<RB_Class_Plan_ViewModel> PlanWeek = new List<RB_Class_Plan_ViewModel>();
List<RB_Class_Plan_ViewModel> PlanFixed = new List<RB_Class_Plan_ViewModel>(); List<RB_Class_Plan_ViewModel> PlanFixed = new List<RB_Class_Plan_ViewModel>();
string k1classIds = string.Join(",", list.Where(x => x.ClassStyle == Common.Enum.Course.ClassStyleEnum.Week || x.ClassStyle == Common.Enum.Course.ClassStyleEnum.Month).Select(x => x.ClassId));
if (!string.IsNullOrEmpty(k1classIds))
{
PlanWeek = class_PlanRepository.GetClassPlanForProduct(k1classIds);
}
string k2classIds = string.Join(",", list.Where(x => x.ClassStyle == Common.Enum.Course.ClassStyleEnum.FixedDate).Select(x => x.ClassId)); string k2classIds = string.Join(",", list.Where(x => x.ClassStyle == Common.Enum.Course.ClassStyleEnum.FixedDate).Select(x => x.ClassId));
if (!string.IsNullOrEmpty(k2classIds)) if (!string.IsNullOrEmpty(k2classIds))
{ {
PlanFixed = class_PlanRepository.GetClassPlanListRepository(new RB_Class_Plan_ViewModel() { QClassIds = k2classIds }); PlanFixed = class_PlanRepository.GetClassPlanListRepository(new RB_Class_Plan_ViewModel() { QClassIds = k2classIds });
} }
//查询课程时间
var TimeList = class_TimeRepository.GetClassTimeForProduct(classIds);
foreach (var item in list) foreach (var item in list)
{ {
item.ClassStepPriceList = stepList.Where(x => x.ClassId == item.ClassId).OrderBy(x => x.PersionNum).ToList(); item.ClassStepPriceList = stepList.Where(x => x.ClassId == item.ClassId).OrderBy(x => x.PersionNum).ToList();
item.ClassTimeList = new List<RB_Class_Time_ViewModel>(); item.ClassTimeList = new List<RB_Class_Time_ViewModel>();
if (item.ClassStyle != Common.Enum.Course.ClassStyleEnum.OnLine) if (item.ClassStyle != Common.Enum.Course.ClassStyleEnum.OnLine)
{ {
item.ClassTimeList = TimeList.Where(x => x.ClassId == item.ClassId).OrderBy(x => x.StartTime).ToList(); if (!string.IsNullOrEmpty(item.DefaultTimeJson))
{
item.ClassTimeList = JsonHelper.DeserializeObject<List<RB_Class_Time_ViewModel>>(item.DefaultTimeJson);
}
} }
item.ClassPlanList = new List<RB_Class_Plan_ViewModel>(); item.ClassPlanList = new List<RB_Class_Plan_ViewModel>();
if (item.ClassStyle == Common.Enum.Course.ClassStyleEnum.Week || item.ClassStyle == Common.Enum.Course.ClassStyleEnum.Month) if (item.ClassStyle == Common.Enum.Course.ClassStyleEnum.Week || item.ClassStyle == Common.Enum.Course.ClassStyleEnum.Month)
{ {
item.ClassPlanList = PlanWeek.Where(x => x.ClassId == item.ClassId).ToList(); if (!string.IsNullOrEmpty(item.DateJson))
{
List<int> DayList = JsonHelper.DeserializeObject<List<int>>(item.DateJson);
foreach (var qitem in DayList) {
item.ClassPlanList.Add(new RB_Class_Plan_ViewModel()
{
WeekDay = qitem
});
}
}
} }
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 +796,75 @@ namespace Edu.Module.Course ...@@ -793,6 +796,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.
...@@ -131,19 +131,19 @@ namespace Edu.Module.User ...@@ -131,19 +131,19 @@ namespace Edu.Module.User
string logContent = ""; string logContent = "";
if (model.AssistName != oldModel.AssistName) if (model.AssistName != oldModel.AssistName)
{ {
logContent += string.Format(",将姓名由【{0}】修改为【{1}】。", oldModel.AssistName, oldModel.AssistName); logContent += string.Format(",将姓名由【{0}】修改为【{1}】。", oldModel.AssistName, model.AssistName);
} }
if (model.AssistTel != oldModel.AssistTel) if (model.AssistTel != oldModel.AssistTel)
{ {
logContent += string.Format(",将电话由【{0}】修改为【{1}】。", oldModel.AssistTel, oldModel.AssistTel); logContent += string.Format(",将电话由【{0}】修改为【{1}】。", oldModel.AssistTel, model.AssistTel);
} }
if (model.AssistIntro != oldModel.AssistIntro) if (model.AssistIntro != oldModel.AssistIntro)
{ {
logContent += string.Format(",将简介由【{0}】修改为【{1}】。", oldModel.AssistIntro, oldModel.AssistIntro); logContent += string.Format(",将简介由【{0}】修改为【{1}】。", oldModel.AssistIntro, model.AssistIntro);
} }
if (model.AssistIcon != oldModel.AssistIcon) if (model.AssistIcon != oldModel.AssistIcon)
{ {
logContent += string.Format(",将头像由【{0}】修改为【{1}】。", oldModel.AssistIcon, oldModel.AssistIcon); logContent += string.Format(",将头像由【{0}】修改为【{1}】。", oldModel.AssistIcon, model.AssistIcon);
} }
if (model.IDCard != oldModel.IDCard) if (model.IDCard != oldModel.IDCard)
{ {
......
...@@ -121,6 +121,7 @@ namespace Edu.Module.User ...@@ -121,6 +121,7 @@ namespace Edu.Module.User
fileds.Add(nameof(RB_Teacher_ViewModel.TeacherSay), model.TeacherSay); fileds.Add(nameof(RB_Teacher_ViewModel.TeacherSay), model.TeacherSay);
fileds.Add(nameof(RB_Teacher_ViewModel.Dept_Id), model.Dept_Id); fileds.Add(nameof(RB_Teacher_ViewModel.Dept_Id), model.Dept_Id);
fileds.Add(nameof(RB_Teacher_ViewModel.Post_Id), model.Post_Id); fileds.Add(nameof(RB_Teacher_ViewModel.Post_Id), model.Post_Id);
fileds.Add(nameof(RB_Teacher_ViewModel.BaseStuNum), model.BaseStuNum);
} }
else else
{ {
...@@ -136,13 +137,16 @@ namespace Edu.Module.User ...@@ -136,13 +137,16 @@ namespace Edu.Module.User
string logContent = ""; string logContent = "";
if (model.TeacherName != oldModel.TeacherName) if (model.TeacherName != oldModel.TeacherName)
{ {
logContent += string.Format(",将姓名由【{0}】修改为【{1}】。", oldModel.TeacherName, oldModel.TeacherName); logContent += string.Format(",将姓名由【{0}】修改为【{1}】。", oldModel.TeacherName, model.TeacherName);
} }
if (model.TeacherTel != oldModel.TeacherTel) if (model.TeacherTel != oldModel.TeacherTel)
{ {
logContent += string.Format(",将电话由【{0}】修改为【{1}】。", oldModel.TeacherTel, oldModel.TeacherTel); logContent += string.Format(",将电话由【{0}】修改为【{1}】。", oldModel.TeacherTel, model.TeacherTel);
}
if (model.BaseStuNum != oldModel.BaseStuNum)
{
logContent += string.Format(",将带班基础人数由【{0}】修改为【{1}】。", oldModel.BaseStuNum, model.BaseStuNum);
} }
if (model.IDCard != oldModel.IDCard) if (model.IDCard != oldModel.IDCard)
{ {
logContent += string.Format(",将身份证由【{0}】修改为【{1}】。", oldModel.IDCard, model.IDCard); logContent += string.Format(",将身份证由【{0}】修改为【{1}】。", oldModel.IDCard, model.IDCard);
......
...@@ -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);
......
...@@ -154,6 +154,10 @@ LEFT JOIN rb_teacher as c on c.TId=a.TeacherId ...@@ -154,6 +154,10 @@ LEFT JOIN rb_teacher as c on c.TId=a.TeacherId
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId);
} }
if (query.TeacherId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.TeacherId), query.TeacherId);
}
if (query.Status >= 0) if (query.Status >= 0)
{ {
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)query.Status); builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)query.Status);
......
...@@ -43,6 +43,14 @@ WHERE 1=1 ...@@ -43,6 +43,14 @@ WHERE 1=1
{ {
builder.AppendFormat(" AND {0} IN({1}) ", nameof(RB_Class_Time_ViewModel.ClassId), query.QClassIds); builder.AppendFormat(" AND {0} IN({1}) ", nameof(RB_Class_Time_ViewModel.ClassId), query.QClassIds);
} }
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Class_Plan_ViewModel.Group_Id), query.Group_Id);
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND {0}={1} ", nameof(RB_Class_Plan_ViewModel.School_Id), query.School_Id);
}
} }
return Get<RB_Class_Time_ViewModel>(builder.ToString()).ToList(); return Get<RB_Class_Time_ViewModel>(builder.ToString()).ToList();
} }
...@@ -74,7 +82,8 @@ WHERE 1=1 ...@@ -74,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();
} }
......
...@@ -153,7 +153,14 @@ where {where} order by {orderBy} ...@@ -153,7 +153,14 @@ where {where} order by {orderBy}
} }
if (!string.IsNullOrEmpty(demodel.GuestName)) if (!string.IsNullOrEmpty(demodel.GuestName))
{ {
where += $@" o.OrderId in (select OrderId from rb_order_guest where Status =0 and GuestName like '%{demodel.GuestName}%')"; if (demodel.Group_Id > 0)
{
where += $@" and o.OrderId in (select OrderId from rb_order_guest where Status =0 and Group_Id ={demodel.Group_Id} and GuestName like '%{demodel.GuestName}%')";
}
else
{
where += $@" and o.OrderId in (select OrderId from rb_order_guest where Status =0 and GuestName like '%{demodel.GuestName}%')";
}
} }
if (demodel.CouseId > 0) if (demodel.CouseId > 0)
{ {
......
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();
}
}
}
...@@ -126,7 +126,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -126,7 +126,7 @@ namespace Edu.WebApi.Controllers.Course
OutRemark = base.ParmJObj.GetStringValue("OutRemark"), OutRemark = base.ParmJObj.GetStringValue("OutRemark"),
CompleteProgress = base.ParmJObj.GetInt("CompleteProgress"), CompleteProgress = base.ParmJObj.GetInt("CompleteProgress"),
School_Id = base.ParmJObj.GetInt("School_Id"), School_Id = base.ParmJObj.GetInt("School_Id"),
ClassType=base.ParmJObj.GetInt("ClassType"), ClassType = base.ParmJObj.GetInt("ClassType"),
}; };
try try
{ {
...@@ -147,7 +147,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -147,7 +147,7 @@ namespace Edu.WebApi.Controllers.Course
switch (extModel.ClassStyle) switch (extModel.ClassStyle)
{ {
//按周排课 //按周排课
case ClassStyleEnum.Week: case ClassStyleEnum.Week:
if (!string.IsNullOrEmpty(WeekDayListStr)) if (!string.IsNullOrEmpty(WeekDayListStr))
{ {
extModel.WeekDayList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(WeekDayListStr); extModel.WeekDayList = Common.Plugin.JsonHelper.DeserializeObject<List<string>>(WeekDayListStr);
...@@ -309,7 +309,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -309,7 +309,7 @@ namespace Edu.WebApi.Controllers.Course
}; };
if (classModule.CheckPlanModule(extModel)) if (classModule.CheckPlanModule(extModel))
{ {
return ApiResult.Failed(message: "已经存在【"+Common.ConvertHelper.FormatDate(extModel.ClassDate)+"】的上课安排!请删除后再操作!"); return ApiResult.Failed(message: "已经存在【" + Common.ConvertHelper.FormatDate(extModel.ClassDate) + "】的上课安排!请删除后再操作!");
} }
extModel.School_Id = classModule.GetClassModule(extModel.ClassId)?.School_Id ?? 0; extModel.School_Id = classModule.GetClassModule(extModel.ClassId)?.School_Id ?? 0;
try try
...@@ -372,7 +372,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -372,7 +372,7 @@ namespace Edu.WebApi.Controllers.Course
{ {
var classId = base.ParmJObj.GetInt("ClassId"); var classId = base.ParmJObj.GetInt("ClassId");
var classPlanId = base.ParmJObj.GetInt("ClassPlanId"); var classPlanId = base.ParmJObj.GetInt("ClassPlanId");
var schoolId = base.ParmJObj.GetInt("SchoolId"); var schoolId = base.ParmJObj.GetInt("School_Id");
if (classId == 0 || classPlanId == 0 || schoolId == 0) if (classId == 0 || classPlanId == 0 || schoolId == 0)
{ {
return ApiResult.ParamIsNull(); return ApiResult.ParamIsNull();
...@@ -382,7 +382,39 @@ namespace Edu.WebApi.Controllers.Course ...@@ -382,7 +382,39 @@ namespace Edu.WebApi.Controllers.Course
{ {
return ApiResult.Failed("数据不存在"); return ApiResult.Failed("数据不存在");
} }
return ApiResult.Success(data: new { data.TeacherName, data.RoomName, ClassDate = data.ClassDate.ToString("yyyy-MM-dd") }); double totalMinutes = 0;
var planTimeList = classModule.GetClassTimeListRepository(new RB_Class_Time_ViewModel { ClassId = classId, ClassPlanId = classPlanId, Group_Id = base.UserInfo.Group_Id, School_Id = schoolId });
if (planTimeList != null && planTimeList.Any())
{
foreach (var item in planTimeList)
{
if (!string.IsNullOrWhiteSpace(item.StartTime) && !string.IsNullOrWhiteSpace(item.EndTime))
{
System.TimeSpan timeInfo = Convert.ToDateTime(data.ClassDate.ToString("yyyy-MM-dd") + " " + item.EndTime) - Convert.ToDateTime(data.ClassDate.ToString("yyyy-MM-dd") + " " + item.StartTime);
totalMinutes += timeInfo.TotalMinutes;
}
}
}
var orderGuestList = classModule.GetOrderGuest(new RB_Order_Guest_ViewModel { Group_Id = base.UserInfo.Group_Id, School_Id = data.School_Id, ClassId = data.ClassId });
var checkLogList = classModule.GetClassCheckListRepository(new RB_Class_Check_ViewModel { Group_Id = data.Group_Id, School_Id = data.School_Id, ClassId = data.ClassId, StartDate = data.ClassDate.ToString("yyyy-MM-dd HH:mm:ss"), EndDate = data.ClassDate.ToString("yyyy-MM-dd HH:mm:ss") });
List<object> guestList = new List<object>();
foreach (var item in orderGuestList)
{
guestList.Add(new
{
UserIcon = "",
item.Id,
SexStr = item.Sex == 1 ? "男" : "女",
item.GuestName,
item.Age,
CreateTimeStr = Common.ConvertHelper.FormatTime(item.CreateTime),
item.Mobile,
item.OrderId,
IsCheck = (checkLogList != null && checkLogList.Any()) ? checkLogList.Where(x => x.OrderGuestId == item.Id).FirstOrDefault()?.CheckStatus??-1 : -1
});
}
return ApiResult.Success(data: new { data.TeacherName, data.RoomName, TotalHour = Convert.ToInt32(totalMinutes / 60), ClassNum = Convert.ToInt32(totalMinutes / 45), ClassDate = data.ClassDate.ToString("yyyy-MM-dd"), GuestList= guestList });
} }
/// <summary> /// <summary>
...@@ -417,6 +449,10 @@ namespace Edu.WebApi.Controllers.Course ...@@ -417,6 +449,10 @@ namespace Edu.WebApi.Controllers.Course
public ApiResult AddClassStudent() public ApiResult AddClassStudent()
{ {
var model = Common.Plugin.JsonHelper.DeserializeObject<RB_Order_Guest_ViewModel>(RequestParm.Msg.ToString()); var model = Common.Plugin.JsonHelper.DeserializeObject<RB_Order_Guest_ViewModel>(RequestParm.Msg.ToString());
if (!string.IsNullOrWhiteSpace(model.BirthDay))
{
model.Age = System.DateTime.Now.Year - Convert.ToDateTime(model.BirthDay).Year;
}
model.GuestState = 1; model.GuestState = 1;
model.GuestSource = OrderSourceEnum.Employee; model.GuestSource = OrderSourceEnum.Employee;
model.CreateBy = base.UserInfo.Id; model.CreateBy = base.UserInfo.Id;
...@@ -438,7 +474,8 @@ namespace Edu.WebApi.Controllers.Course ...@@ -438,7 +474,8 @@ namespace Edu.WebApi.Controllers.Course
{ {
Group_Id = base.UserInfo.Group_Id, Group_Id = base.UserInfo.Group_Id,
School_Id = base.ParmJObj.GetInt("School_Id"), School_Id = base.ParmJObj.GetInt("School_Id"),
ClassId = base.ParmJObj.GetInt("ClassId") ClassId = base.ParmJObj.GetInt("ClassId"),
TeacherId = base.ParmJObj.GetInt("TeacherId")
}; };
var list = classModule.GetClassPlanLogPageListRepository(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query); var list = classModule.GetClassPlanLogPageListRepository(pageModel.PageIndex, pageModel.PageSize, out long rowsCount, query);
List<RB_Class_Check_ViewModel> checkLogList = new List<RB_Class_Check_ViewModel>(); List<RB_Class_Check_ViewModel> checkLogList = new List<RB_Class_Check_ViewModel>();
...@@ -449,6 +486,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -449,6 +486,7 @@ namespace Edu.WebApi.Controllers.Course
List<object> resultList = new List<object>(); List<object> resultList = new List<object>();
var dateList = list.GroupBy(x => new { MonthStr = x.ClassDate.ToString("MM"), YearStr = x.ClassDate.ToString("yyyy") }).Select(x => new { x.Key.MonthStr, x.Key.YearStr });
foreach (var item in list) foreach (var item in list)
{ {
int totalNum = checkLogList.Where(x => x.ClassId == item.ClassId && x.ClassRoomId == item.ClassRoomId && x.Group_Id == item.Group_Id && x.School_Id == item.School_Id).Count(); int totalNum = checkLogList.Where(x => x.ClassId == item.ClassId && x.ClassRoomId == item.ClassRoomId && x.Group_Id == item.Group_Id && x.School_Id == item.School_Id).Count();
...@@ -468,8 +506,9 @@ namespace Edu.WebApi.Controllers.Course ...@@ -468,8 +506,9 @@ namespace Edu.WebApi.Controllers.Course
}; };
resultList.Add(planCheckObj); resultList.Add(planCheckObj);
} }
var result = new { dateList, resultList };
pageModel.Count = rowsCount; pageModel.Count = rowsCount;
pageModel.PageData = resultList; pageModel.PageData = result;
return ApiResult.Success(data: pageModel); return ApiResult.Success(data: pageModel);
} }
......
...@@ -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;
...@@ -320,6 +320,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -320,6 +320,7 @@ namespace Edu.WebApi.Controllers.Course
OrderInfo = new OrderInfo = new
{ {
model.OrderId, model.OrderId,
model.ClassId,
model.GuestNum, model.GuestNum,
model.Class_Price, model.Class_Price,
model.Unit_Price, model.Unit_Price,
...@@ -611,8 +612,14 @@ namespace Edu.WebApi.Controllers.Course ...@@ -611,8 +612,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 +782,7 @@ namespace Edu.WebApi.Controllers.Course ...@@ -775,6 +782,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
}
}
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