Commit 3acad3eb authored by 吴春's avatar 吴春

提交代码

parent 59fb2487
......@@ -30,11 +30,19 @@ namespace Edu.Common.Enum
[EnumField("App教师端")]
AppTech = 102,
/// <summary>
/// ERP【生成Token使用】
/// </summary>
[EnumField("ERP")]
ERP =6,
/// <summary>
/// App学生端
/// </summary>
[EnumField("App学生端")]
AppStudent = 103,
}
}
\ No newline at end of file
......@@ -18,6 +18,12 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
public List<RB_Class_Time_ViewModel> PlanTimeList { get; set; }
/// <summary>
///班级学员
/// </summary>
public List<RB_Order_Guest_ViewModel> GuestList { get; set; }
/// <summary>
/// 查询月份
/// </summary>
......@@ -76,5 +82,10 @@ namespace Edu.Model.ViewModel.Course
/// 上课日期【查询使用】
/// </summary>
public string QClassDateStr { get; set; }
/// <summary>
/// 老师备课次数>0已备课
/// </summary>
public int LessonPlanNum { get; set; }
}
}
......@@ -89,6 +89,8 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
public List<RB_Class_Time_ViewModel> DefaultTimeList { get; set; }
/// <summary>
/// 开班开始时间
/// </summary>
......
......@@ -14,6 +14,11 @@ namespace Edu.Model.ViewModel.Course
/// </summary>
public string OrderIds { get; set; }
/// <summary>
/// 班级ids
/// </summary>
public string ClassIds { get; set; }
/// <summary>
/// rb_student表的id
/// </summary>
......
......@@ -1319,6 +1319,46 @@ namespace Edu.Module.Course
{
return ClassLessonPlanRepository.GetLessonPlanListRepository(query);
}
/// <summary>
/// 获取老师计划列表
/// </summary>
/// <param name="classId">班级编号</param>
/// <param name="monthStr">月份</param>
/// <returns></returns>
public List<RB_Class_Plan_ViewModel> GetTeacherPlanModule(RB_Class_ViewModel model)
{
var timeList = new List<RB_Class_Time_ViewModel>();
var planList = class_PlanRepository.GetTeacherPlanListRepository(new RB_Class_Plan_ViewModel() { School_Id = model.School_Id, TeacherId = model.Teacher_Id, Group_Id = model.Group_Id, StartTime = model.StartTime, EndTime = model.EndTime });
if (planList != null && planList.Any())
{
string Ids = string.Join(",", planList.Select(qitem => qitem.ClassPlanId));
if (!string.IsNullOrEmpty(Ids))
{
timeList = class_TimeRepository.GetClassTimeListRepository(new RB_Class_Time_ViewModel() { QClassPlanIds = Ids });
}
string ClassIds = string.Join(",", planList.GroupBy(x => x.ClassId).Select(x => x.Key));
var orderStudentList = order_GuestRepository.GetList(new RB_Order_Guest_ViewModel()
{
ClassIds = ClassIds,
Group_Id = model.Group_Id,
School_Id = model.School_Id
}).Where(x => x.GuestState == 1).ToList();
foreach (var item in planList)
{
item.PlanTimeList = new List<RB_Class_Time_ViewModel>();
item.PlanTimeList = timeList.Where(x => x.ClassPlanId == item.ClassPlanId).ToList();
item.GuestList = new List<RB_Order_Guest_ViewModel>();
item.GuestList = orderStudentList.Where(x => x.ClassId == item.ClassId).ToList();
}
}
return planList;
}
#endregion
}
}
......@@ -291,5 +291,69 @@ WHERE p.`Status`=0 AND p.Group_Id={group_Id} AND p.ClassId ={classId}
return 0;
}
}
/// <summary>
/// 获取班级上课计划列表
/// </summary>
/// <param name="query"></param>
/// <returns></returns>
public List<RB_Class_Plan_ViewModel> GetTeacherPlanListRepository(RB_Class_Plan_ViewModel query)
{
StringBuilder builder = new StringBuilder();
builder.AppendFormat(@"
SELECT A.*,class.ClassName,lp.LessonPlanNum,IFNULL(B.RoomName,'') AS RoomName,IFNULL(T.TeacherName,'') AS TeacherName,IFNULL(T.TeacherHead,'') AS UserIcon
FROM RB_Class_Plan AS A LEFT JOIN rb_class_room AS B ON A.ClassRoomId=B.RoomId
LEFT JOIN rb_class as class on a.ClassId=class.ClassId
LEFT JOIN rb_teacher AS T ON A.TeacherId=T.TId
LEFT JOIN (SELECT ClassPlanId,COUNT(*) as LessonPlanNum from rb_class_lessonplan where `Status`=0 GROUP BY ClassPlanId)as lp on a.ClassPlanId=lp.ClassPlanId
WHERE 1=1
");
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Status), (int)DateStateEnum.Normal);
if (query != null)
{
if (query.ClassId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassId), query.ClassId);
}
if (query.ClassPlanId > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.ClassPlanId), query.ClassPlanId);
}
if (query.Group_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Group_Id), query.Group_Id);
}
if (query.School_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.School_Id), query.School_Id);
}
if (query.Teacher_Id > 0)
{
builder.AppendFormat(" AND A.{0}={1} ", nameof(RB_Class_Plan_ViewModel.Teacher_Id), query.Teacher_Id);
}
if (!string.IsNullOrEmpty(query.QClassIds))
{
builder.AppendFormat(" AND A.{0} IN({1}) ", nameof(RB_Class_Plan_ViewModel.ClassId), query.QClassIds);
}
if (!string.IsNullOrEmpty(query.QMonth))
{
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y/%m')= DATE_FORMAT('{1}-01','%y/%m') ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.QMonth);
}
if (!string.IsNullOrEmpty(query.StartTime))
{
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y-%m-%d')>=DATE_FORMAT('{1}','%y-%m-%d') ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.StartTime);
}
if (!string.IsNullOrEmpty(query.EndTime))
{
builder.AppendFormat(" AND DATE_FORMAT(A.{0},'%y-%m-%d')<=DATE_FORMAT('{1}','%y-%m-%d') ", nameof(RB_Class_Plan_ViewModel.ClassDate), query.EndTime);
}
}
return Get<RB_Class_Plan_ViewModel>(builder.ToString()).ToList();
}
}
}
......@@ -42,6 +42,10 @@ namespace Edu.Repository.Course
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.OrderId)} in({demodel.OrderIds})";
}
if (!string.IsNullOrEmpty(demodel.ClassIds))
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.ClassId)} in({demodel.ClassIds})";
}
if (!string.IsNullOrEmpty(demodel.GuestName))
{
where += $@" and {nameof(RB_Order_Guest_ViewModel.GuestName)} like '%{demodel.GuestName}%'";
......
......@@ -768,7 +768,7 @@ namespace Edu.WebApi.Controllers.Course
model.TeacherName = planDate.TeacherName;
model.WorkDate = planDate.ClassDate.ToString("yyyy年MM月dd日");
model.WeekStr = StringHelper.GetJapanWeekChar(planDate.ClassDate);
if (planTiemList!=null&& planTiemList.Any())
if (planTiemList != null && planTiemList.Any())
{
planTiemList.ForEach(x => x.NewPlanDateTime = planDate.ClassDate.ToString("yyyy-MM-dd") + " " + x.StartTime);
model.DayTime = planTiemList.Min(x => Convert.ToDateTime(x.NewPlanDateTime)).ToString("HH:ss");
......@@ -853,6 +853,62 @@ namespace Edu.WebApi.Controllers.Course
return ApiResult.Success("", List);
}
/// <summary>
/// 获取上课计划
/// </summary>
/// <returns></returns>
public ApiResult GetTeacherPlan()
{
var query = new RB_Class_ViewModel()
{
Group_Id = base.UserInfo.Group_Id,
School_Id = base.ParmJObj.GetInt("School_Id"),
Teacher_Id = base.ParmJObj.GetInt("Teacher_Id"),
StartTime = base.ParmJObj.GetStringValue("StartTime"),
EndTime = base.ParmJObj.GetStringValue("EndTime"),
};
var data = classModule.GetTeacherPlanModule(query);
List<object> result = new List<object>();
DateTime startTime = Convert.ToDateTime(query.StartTime);
DateTime endTime = Convert.ToDateTime(query.EndTime);
TimeSpan sp = endTime.Subtract(startTime);
for (int i = 0; i <= sp.Days; i++)
{
List<object> planList = new List<object>();
var plan = data.Where(x => x.ClassDate.ToString("yyyy-MM-dd") == startTime.AddDays(i).ToString("yyyy-MM-dd"));
foreach (var item in plan)
{
foreach (var itemTime in item.PlanTimeList)
{
planList.Add(new
{
item.ClassPlanId,
item.ClassId,
item.TeacherId,
item.LessonPlanNum,
item.School_Id,
item.ClassName,
itemTime.StartTime,
itemTime.EndTime,
GuestStr = (item.GuestList != null && item.GuestList.Any()) ? string.Join(",", item.GuestList.Select(x => x.GuestName)) : ""
});
}
}
result.Add(new
{
DateStr = i.ToString("yyyy年MM月dd日"),
PlanList = planList
});
}
return ApiResult.Success(data: result);
}
#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