@@ -245,43 +245,43 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers | |||
} | |||
var leaveList = stuAttendanceLeaveIBLL.GetList(); | |||
var formatData = from d in timeTables | |||
let tt = d.LessonTime.Substring(1) | |||
group d by tt into g | |||
orderby g.Key | |||
select new | |||
{ | |||
time = g.Key, | |||
list = from e in timeTables | |||
let ee = e.LessonTime.Substring(1) | |||
where ee == g.Key | |||
select new | |||
{ | |||
day = e.LessonTime.ToCharArray()[0], | |||
curriculum = string.IsNullOrEmpty(e.EnName) ? (e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName) : (e.LessonSortNo == "2" ? e.EnName + "[选修]" : e.EnName), | |||
lessonName = e.LessonName, | |||
teacher = e.EmpName, | |||
classRoom = e.ClassroomName?.Trim(), | |||
academicyear = semesterAndYear.AcademicYearShort, | |||
semester = strSemester, | |||
lessonNo = e?.LessonNo, | |||
teachClassNo = e?.TeachClassNo, | |||
empno = e?.EmpNo, | |||
lessonTime = e.LessonTime, | |||
lessonDate = e.LessonDate.ToString("yyyy-MM-dd"), | |||
classRoomNo = e?.ClassRoomNo.Trim(), | |||
lessonSortNo = e.LessonSortNo, | |||
e.OLPEId, | |||
className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName, | |||
leaveType = leaveList.Any(c => c.LessonNo == e.LessonNo && c.StuNo == userInfo.account && c.LessonDate == e.LessonDate && c.LessonTime == e.LessonTime) ? 1 : 0, | |||
checkType = leaveList.FirstOrDefault(c => c.LessonNo == e.LessonNo && c.StuNo == userInfo.account && c.LessonDate == e.LessonDate && c.LessonTime == e.LessonTime)?.IsCheck, | |||
} | |||
} | |||
let tt = d.LessonTime.Substring(1) | |||
group d by tt into g | |||
orderby g.Key | |||
select new | |||
{ | |||
time = g.Key, | |||
list = from e in timeTables | |||
let ee = e.LessonTime.Substring(1) | |||
where ee == g.Key | |||
select new | |||
{ | |||
day = e.LessonTime.ToCharArray()[0], | |||
curriculum = string.IsNullOrEmpty(e.EnName) ? (e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName) : (e.LessonSortNo == "2" ? e.EnName + "[选修]" : e.EnName), | |||
lessonName = e.LessonName, | |||
teacher = e.EmpName, | |||
classRoom = e.ClassroomName?.Trim(), | |||
academicyear = semesterAndYear.AcademicYearShort, | |||
semester = strSemester, | |||
lessonNo = e?.LessonNo, | |||
teachClassNo = e?.TeachClassNo, | |||
empno = e?.EmpNo, | |||
lessonTime = e.LessonTime, | |||
lessonDate = e.LessonDate.ToString("yyyy-MM-dd"), | |||
classRoomNo = e?.ClassRoomNo.Trim(), | |||
lessonSortNo = e.LessonSortNo, | |||
e.OLPEId, | |||
className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName, | |||
leaveType = leaveList.Any(c => c.LessonNo == e.LessonNo && c.StuNo == userInfo.account && c.LessonDate == e.LessonDate && c.LessonTime == e.LessonTime) ? 1 : 0, | |||
checkType = leaveList.FirstOrDefault(c => c.LessonNo == e.LessonNo && c.StuNo == userInfo.account && c.LessonDate == e.LessonDate && c.LessonTime == e.LessonTime)?.IsCheck, | |||
} | |||
} | |||
; | |||
// var leaveList = stuAttendanceLeaveIBLL.GetList(); | |||
// var leaveList = stuAttendanceLeaveIBLL.GetList(); | |||
//var formatData = timeTables.OrderBy(a => a.LessonTime.Substring(1)) | |||
// .Select(a => new | |||
// { | |||
@@ -327,7 +327,7 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetDataInEducation(string startTime, string endTime, string classNo, string empNo, string schoolId) | |||
public ActionResult GetDataInEducation(string startTime, string endTime, string classNo, string empNo, string schoolId, string classroomNo) | |||
{ | |||
var userInfo = LoginUserInfo.Get(); | |||
//开始时间 | |||
@@ -341,7 +341,7 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers | |||
var timeTableList = new List<TimeTable>(); | |||
//课程表 | |||
var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId); | |||
var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId, classroomNo); | |||
timeTableList.AddRange(data); | |||
//选修课课程表 | |||
//20220718因 更改教务课表显示格式为班级作为列头,选修课无班级所以不能显示在课表内 | |||
@@ -356,9 +356,9 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers | |||
return JsonResult(noDataResult); | |||
} | |||
//最大节次 | |||
int maxlessontime = timeTables.Max(m =>Convert.ToInt32(m.LessonTime.Substring(1))); | |||
int maxlessontime = timeTables.Max(m => Convert.ToInt32(m.LessonTime.Substring(1))); | |||
//班级列表 | |||
var classinfolist = timeTables.Select(m => new { m.TeachClassNo, m.ClassName}).OrderBy(m => m.TeachClassNo).GroupBy(m=>new {m.TeachClassNo,m.ClassName}); | |||
var classinfolist = timeTables.Select(m => new { m.TeachClassNo, m.ClassName }).OrderBy(m => m.TeachClassNo).GroupBy(m => new { m.TeachClassNo, m.ClassName }); | |||
var formatData = from d in timeTables | |||
let tt = d.LessonTime.Substring(1) | |||
group d by tt into g | |||
@@ -415,7 +415,7 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers | |||
var timeTableList = new List<TimeTable>(); | |||
//课程表 | |||
var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId); | |||
var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId, ""); | |||
timeTableList.AddRange(data); | |||
//选修课课程表 | |||
//var dataOfElective = arrangeLessonTermOfElectiveIBLL.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId); | |||
@@ -492,6 +492,19 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers | |||
return Success(data); | |||
} | |||
/// <summary> | |||
/// 课程表【教务】--教室下拉框信息 | |||
/// </summary> | |||
/// <returns></returns> | |||
[HttpGet] | |||
[AjaxOnly] | |||
public ActionResult GetClassroomData(string schoolId = "") | |||
{ | |||
var data = arrangeLessonTermIBLL.GetClassroomData(schoolId); | |||
return Success(data); | |||
} | |||
/// <summary> | |||
/// 表单--修改教师所带的课程【教务】--课程下拉框信息 | |||
/// </summary> | |||
@@ -123,6 +123,9 @@ | |||
<div class="lr-layout-tool-item"> | |||
<div id="EmpNo" type="lrselect" class="lr-select"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<div id="ClassroomNo" type="lrselect" class="lr-select"></div> | |||
</div> | |||
<div class="lr-layout-tool-item"> | |||
<a id="lr_search" class="btn btn-primary">查询</a> | |||
</div> | |||
@@ -153,6 +153,7 @@ var bootstrap = function ($, learun) { | |||
p.schoolId = $('#F_SchoolId').lrselectGet(); | |||
p.ClassNo = $('#ClassNo').lrselectGet(); | |||
p.EmpNo = $('#EmpNo').lrselectGet(); | |||
p.ClassroomNo = $('#ClassroomNo').lrselectGet(); | |||
page.search(p); | |||
}); | |||
// 按条件清空排课数据 | |||
@@ -284,6 +285,14 @@ var bootstrap = function ($, learun) { | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
//教室 | |||
$('#ClassroomNo').lrselect({ | |||
placeholder: "请选择教室", | |||
allowSearch: true, | |||
url: top.$.rootUrl + '/PersonnelManagement/TimeTable/GetClassroomData', | |||
value: 'value', | |||
text: 'text' | |||
}); | |||
}, | |||
search: function (param) { | |||
param = param || {}; | |||
@@ -112,13 +112,13 @@ namespace Learun.Application.WebApi.Modules | |||
} | |||
/// <summary> | |||
/// 全院课程表【按班级分组】 | |||
/// </summary> | |||
/// <param name="_"></param> | |||
/// <returns></returns> | |||
private Response GetTimeTableData(dynamic _) | |||
{ | |||
var param = this.GetReq<TimeParameter>(); | |||
@@ -139,7 +139,7 @@ namespace Learun.Application.WebApi.Modules | |||
//课程表数据 | |||
var timeTableList = new List<Learun.Application.TwoDevelopment.EducationalAdministration.TimeTable>(); | |||
//必修课课程表 | |||
var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, param.ClassNo, param.EmpNo, ""); | |||
var data = arrangeLessonTermIBLL.GetTimeTableInEducation(startDate, endDate, param.ClassNo, param.EmpNo, "", ""); | |||
timeTableList.AddRange(data); | |||
//选修课课程表 | |||
var dataOfElective = arrangeLessonTermOfElectiveIBLL.GetTimeTableInEducation(startDate, endDate, param.ClassNo, param.EmpNo, ""); | |||
@@ -171,7 +171,7 @@ namespace Learun.Application.WebApi.Modules | |||
}).OrderBy(x => x.LessonSortNo).ThenBy(x => x.ClassNo).ToList(); | |||
result.ClassDataList = dataTemp; | |||
return Success(result); | |||
} | |||
@@ -437,12 +437,13 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
/// <param name="endDate">查询截止时间</param> | |||
/// <param name="classNo">班级编号</param> | |||
/// <param name="empNo">教师编号</param> | |||
/// <param name="classroomNo">教室编号</param> | |||
/// <returns></returns> | |||
public IEnumerable<TimeTable> GetTimeTableInEducation(string startDate, string endDate, string classNo, string empNo, string schoolId) | |||
public IEnumerable<TimeTable> GetTimeTableInEducation(string startDate, string endDate, string classNo, string empNo, string schoolId, string classroomNo) | |||
{ | |||
try | |||
{ | |||
return arrangeLessonTermService.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId); | |||
return arrangeLessonTermService.GetTimeTableInEducation(startDate, endDate, classNo, empNo, schoolId, classroomNo); | |||
} | |||
catch (Exception ex) | |||
{ | |||
@@ -504,6 +505,29 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
} | |||
} | |||
/// <summary> | |||
/// 课程表【教务】--教室下拉框信息 | |||
/// </summary> | |||
/// <returns></returns> | |||
public IEnumerable<SelectModel> GetClassroomData(string schoolId) | |||
{ | |||
try | |||
{ | |||
return arrangeLessonTermService.GetClassroomData(schoolId); | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowBusinessException(ex); | |||
} | |||
} | |||
} | |||
/// <summary> | |||
/// 教学调度【教务】--课程下拉框信息 | |||
/// </summary> | |||
@@ -105,8 +105,9 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
/// <param name="endDate">查询截止时间</param> | |||
/// <param name="classNo">班级编号</param> | |||
/// <param name="empNo">教师编号</param> | |||
/// <param name="classroomNo">教室编号</param> | |||
/// <returns></returns> | |||
IEnumerable<TimeTable> GetTimeTableInEducation(string startDate, string endDate, string classNo, string empNo, string schoolId); | |||
IEnumerable<TimeTable> GetTimeTableInEducation(string startDate, string endDate, string classNo, string empNo, string schoolId, string classroomNo); | |||
/// <summary> | |||
/// 课程表【教务】--班级下拉框信息 | |||
@@ -120,6 +121,12 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
/// <param name="startDate"></param> | |||
/// <returns></returns> | |||
IEnumerable<SelectModel> GetTeacherData(string schoolId); | |||
/// <summary> | |||
/// 课程表【教务】--教室下拉框信息 | |||
/// </summary> | |||
/// <returns></returns> | |||
IEnumerable<SelectModel> GetClassroomData(string schoolId); | |||
bool GetAny(); | |||
IEnumerable<CdDeptEntity> GetDepts(string academicYearNo, string semester); | |||
IEnumerable<CdDeptEntity> GetDeptsNotRecord(string academicYearNo, string semester); | |||
@@ -307,7 +307,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||
/// <param name="teachClassNo"></param> | |||
/// <returns></returns> | |||
public IEnumerable<StuSelectLessonListEntity> AttendanceStudents(Pagination pagination, string queryJson) | |||
{ | |||
{ | |||
try | |||
{ | |||
var queryParam = queryJson.ToJObject(); | |||
@@ -1593,8 +1593,9 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les | |||
/// <param name="endDate">查询截止时间</param> | |||
/// <param name="classNo">班级编号</param> | |||
/// <param name="empNo">教师编号</param> | |||
/// <param name="classroomNo">教室编号</param> | |||
/// <returns></returns> | |||
public IEnumerable<TimeTable> GetTimeTableInEducation(string startDate, string endDate, string classNo, string empNo, string schoolId) | |||
public IEnumerable<TimeTable> GetTimeTableInEducation(string startDate, string endDate, string classNo, string empNo, string schoolId, string classroomNo) | |||
{ | |||
var semesterAndYear = Common.GetSemesterAndYear(startDate); | |||
var strAcademicYear = semesterAndYear.AcademicYearShort; | |||
@@ -1621,6 +1622,10 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les | |||
{ | |||
result = result.Where(x => x.F_SchoolId == schoolId); | |||
} | |||
if (!string.IsNullOrEmpty(classroomNo)) | |||
{ | |||
result = result.Where(x => x.ClassRoomNo == classroomNo); | |||
} | |||
return result; | |||
} | |||
catch (Exception ex) | |||
@@ -1644,9 +1649,9 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les | |||
{ | |||
try | |||
{ | |||
//前三年-后三年 | |||
var preYear = DateTime.Now.AddYears(-3).Year; | |||
var nextYear = DateTime.Now.AddYears(3).Year; | |||
//前五年-后五年 | |||
var preYear = DateTime.Now.AddYears(-5).Year; | |||
var nextYear = DateTime.Now.AddYears(5).Year; | |||
var yearList = new List<string>(); | |||
for (int i = preYear; i <= nextYear; i++) | |||
{ | |||
@@ -1688,9 +1693,9 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les | |||
{ | |||
try | |||
{ | |||
//前三年-后三年 | |||
var preYear = DateTime.Now.AddYears(-3).Year; | |||
var nextYear = DateTime.Now.AddYears(3).Year; | |||
//前五年-后五年 | |||
var preYear = DateTime.Now.AddYears(-5).Year; | |||
var nextYear = DateTime.Now.AddYears(5).Year; | |||
var yearList = new List<string>(); | |||
for (int i = preYear; i <= nextYear; i++) | |||
{ | |||
@@ -1746,6 +1751,49 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les | |||
} | |||
} | |||
/// <summary> | |||
/// 课程表【教务】--教室下拉框信息 | |||
/// </summary> | |||
/// <returns></returns> | |||
public IEnumerable<SelectModel> GetClassroomData(string schoolId) | |||
{ | |||
try | |||
{ | |||
//前五年-后五年 | |||
var preYear = DateTime.Now.AddYears(-5).Year; | |||
var nextYear = DateTime.Now.AddYears(5).Year; | |||
var yearList = new List<string>(); | |||
for (int i = preYear; i <= nextYear; i++) | |||
{ | |||
yearList.Add(string.Format("'{0}-{1}'", i.ToString().Substring(2), (i + 1).ToString().Substring(2))); | |||
} | |||
var yearListStr = string.Join(",", yearList.ToArray()); | |||
var strSql = new StringBuilder(); | |||
strSql.Append("select distinct a.ClassroomNo as value,c.ClassroomName as text from "); | |||
strSql.Append("ArrangeLessonTerm a inner join ClassroomInfo c on a.ClassroomNo=c.ClassroomNo "); | |||
strSql.Append("where a.AcademicYearNo in (" + yearListStr + ") "); | |||
if (!string.IsNullOrEmpty(schoolId)) | |||
{ | |||
strSql.Append(" and a.F_SchoolId = '" + schoolId + "' "); | |||
} | |||
var result = this.BaseRepository("CollegeMIS").FindList<SelectModel>(strSql.ToString()).OrderBy(x => x.value); | |||
return result; | |||
} | |||
catch (Exception ex) | |||
{ | |||
if (ex is ExceptionEx) | |||
{ | |||
throw; | |||
} | |||
else | |||
{ | |||
throw ExceptionEx.ThrowServiceException(ex); | |||
} | |||
} | |||
} | |||
public IEnumerable<CdDeptEntity> GetDepts(string academicYearNo, string semester) | |||
{ | |||
try | |||