Commit dd834973 authored by 罗超's avatar 罗超

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

parents 7c631793 e18f4671
......@@ -3254,8 +3254,9 @@ namespace Edu.Module.Course
/// <param name="query">查询条件</param>
/// <param name="ClassType">课程类型(0-全部,1-正常,2-试听课)</param>
/// <returns></returns>
public object GetClassPlanStatisticalModule(RB_Class_Plan_ViewModel query, int ClassType = 0)
public object GetClassPlanStatisticalModule(RB_Class_Plan_ViewModel query,out List<object> result,int ClassType = 0)
{
result = new List<object>();
List<object> mondayList = new List<object>();
List<object> tuesdayList = new List<object>();
List<object> wednesdayList = new List<object>();
......@@ -3380,6 +3381,7 @@ namespace Edu.Module.Course
WeekStr = Common.ConvertHelper.GetWeekDay(ClassDate),
SubList = subList
};
result.Add(obj);
switch (ClassDate.DayOfWeek)
{
case DayOfWeek.Monday:
......
......@@ -2530,10 +2530,126 @@ namespace Edu.WebApi.Controllers.Course
};
//课程类型(0-全部,1-正常,2-试听课)
int ClassType = base.ParmJObj.GetInt("ClassType");
var obj = classModule.GetClassPlanStatisticalModule(query, ClassType: ClassType);
var obj = classModule.GetClassPlanStatisticalModule(query,out _,ClassType: ClassType);
return ApiResult.Success(data: obj);
}
/// <summary>
/// 下载老师上课计划
/// </summary>
/// <returns></returns>
[HttpPost]
[Obsolete]
public FileContentResult DownLoadClassPlan()
{
var startDate = base.ParmJObj.GetStringValue("StartTime");
var endDate = base.ParmJObj.GetStringValue("EndTime");
DateTime now = DateTime.Now;
//获取当前月的第一天
DateTime d1 = new DateTime(now.Year, now.Month, 1);
//当月最后一天
DateTime d2 = d1.AddMonths(1).AddDays(-1);
if (string.IsNullOrEmpty(startDate))
{
startDate = Common.ConvertHelper.FormatDate(d1);
}
if (string.IsNullOrEmpty(endDate))
{
endDate = Common.ConvertHelper.FormatDate(d2);
}
RB_Class_Plan_ViewModel query = new RB_Class_Plan_ViewModel()
{
StartTime = startDate,
EndTime = endDate,
TeacherId = base.ParmJObj.GetInt("TeacherId"),
ClassRoomId = base.ParmJObj.GetInt("ClassRoomId"),
Group_Id = base.UserInfo.Group_Id,
School_Id = -1,
ClassId = base.ParmJObj.GetInt("ClassId"),
};
//课程类型(0-全部,1-正常,2-试听课)
int ClassType = base.ParmJObj.GetInt("ClassType");
var obj = classModule.GetClassPlanStatisticalModule(query, out List<object> resultList, ClassType: ClassType);
List<ExcelDataSource> slist = new List<ExcelDataSource>();
ExcelDataSource header = new ExcelDataSource()
{
ExcelRows = new List<ExcelColumn>(30)
{
new ExcelColumn(value:"上课日期"){CellWidth=24,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"上课时间"){CellWidth=20,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"班级"){CellWidth=25,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"课程"){CellWidth=25,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"教室"){CellWidth=20,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"老师"){CellWidth=15,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:"学生名称"){CellWidth=30,HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
}
};
slist.Add(header);
string ExcelName = "老师上课计划统计" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";
try
{
if (resultList != null && resultList.Count > 0)
{
foreach (var jobj in resultList)
{
JObject jItem = JObject.Parse(Common.Plugin.JsonHelper.Serialize(jobj));
var DateStr = jItem["ClassDate"].ToString();
var WeekDay= jItem["WeekStr"].ToString();
JArray jArray = JArray.Parse(jItem["SubList"].ToString());
if (jArray != null && jArray.Count > 0)
{
foreach (var item in jArray)
{
JObject subObj = JObject.Parse(item.ToString());
var StartTime = subObj["StartTime"].ToString();
var EndTime = subObj["EndTime"].ToString();
var CourseName = subObj["CourseName"].ToString();
var ClassName = subObj["ClassName"].ToString();
var RoomName = subObj["RoomName"].ToString();
var TeacherName = subObj["TeacherName"].ToString();
JArray guestList = JArray.Parse(subObj["GuestList"].ToString());
string guestStr = "";
if (guestList != null && guestList.Count > 0)
{
foreach (var gItem in guestList)
{
JObject gObj = JObject.Parse(gItem.ToString());
guestStr += "/" + gObj["GuestName"].ToString();
}
}
var dataRow = new List<ExcelColumn>(30)
{
new ExcelColumn(value:DateStr+"("+WeekDay+")" ){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:StartTime+"-"+EndTime){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:ClassName){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:CourseName){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:RoomName){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:TeacherName){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
new ExcelColumn(value:guestStr.TrimStart('/')){HAlignmentEnum= HAlignmentEnum.CENTER,VAlignmentEnum= VAlignmentEnum.CENTER },
};
slist.Add(new ExcelDataSource()
{
ExcelRows = dataRow
});
}
}
}
}
var byteData = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData, "application/octet-stream", ExcelName);
}
catch (Exception ex)
{
LogHelper.Write(ex, "DownLoadClassPlan");
var byteData1 = ExcelTempLateHelper.ToExcelExtend(slist);
return File(byteData1, "application/octet-stream", ExcelName);
}
}
/// <summary>
/// 老师课时统计
/// </summary>
......
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