@@ -95,11 +95,14 @@ var bootstrap = function ($, learun) { | |||||
if (data[id].EmpNo && (data[id].EmpNo).indexOf(',') != -1) { | if (data[id].EmpNo && (data[id].EmpNo).indexOf(',') != -1) { | ||||
var empnoArr = data[id].EmpNo.split(','); | var empnoArr = data[id].EmpNo.split(','); | ||||
var empnameArr = data[id].EmpName.split(','); | var empnameArr = data[id].EmpName.split(','); | ||||
$.each(empnoArr, function (i, val) { | |||||
if (!!val) { | |||||
tempdatra.push({ EmpNo: val, EmpName: empnameArr[i] }); | |||||
} | |||||
}); | |||||
$.each(empnoArr, | |||||
function(i, val) { | |||||
if (!!val) { | |||||
tempdatra.push({ EmpNo: val, EmpName: empnameArr[i] }); | |||||
} | |||||
}); | |||||
} else { | |||||
tempdatra.push({ EmpNo: data[id].EmpNo, EmpName: data[id].EmpName }); | |||||
} | } | ||||
$('#Exam_ExamPlanTeacher').jfGridSet('refreshdata', tempdatra); | $('#Exam_ExamPlanTeacher').jfGridSet('refreshdata', tempdatra); | ||||
} | } | ||||
@@ -343,7 +343,7 @@ where l.EPLId='{EPLId}'"; | |||||
//考场座位数 | //考场座位数 | ||||
int? seatCount = 0; | int? seatCount = 0; | ||||
var roomListSql = | var roomListSql = | ||||
$"select * from Exam_ExamRoom where AcademicYearNo='{examPlan.AcademicYearNo}' and Semester='{examPlan.Semester}' and EREnabled=1 "; | |||||
$"select * from Exam_ExamRoom where AcademicYearNo='{examPlan.AcademicYearNo}' and Semester='{examPlan.Semester}' and ImportDeptNo='{examPlan.ImportDeptNo}' and EREnabled=1 "; | |||||
if (conflictRoom.Count() > 0) | if (conflictRoom.Count() > 0) | ||||
{ | { | ||||
var classroomNo = string.Join("','", conflictRoom.ToList()); | var classroomNo = string.Join("','", conflictRoom.ToList()); | ||||
@@ -461,9 +461,9 @@ where l.EPLId='{EPLId}'"; | |||||
} | } | ||||
//查询课程信息 | //查询课程信息 | ||||
var lessoninfo = db.FindList<LessonInfoEntity>($@"select top 1 t.LessonTypeName,l.* from lessoninfo l | |||||
var lessoninfo = db.FindList<LessonInfoEntity>($@"select top 1 t.LessonTypeName,t.LessonTypeCode,l.* from lessoninfo l | |||||
join [dbo].[CdLessonType] t on l.LessonTypeId = t.LTId where l.LessonNo='{LessonNo}' ").FirstOrDefault(); | join [dbo].[CdLessonType] t on l.LessonTypeId = t.LTId where l.LessonNo='{LessonNo}' ").FirstOrDefault(); | ||||
if (lessoninfo != null && !lessoninfo.LessonTypeName.Contains("公共") && !lessoninfo.LessonTypeName.Contains("公开")) | |||||
if (lessoninfo != null && !lessoninfo.LessonTypeName.Contains("公共") && !lessoninfo.LessonTypeName.Contains("公开")&&!lessoninfo.LessonTypeCode.Contains("OpenLesson")) | |||||
{ | { | ||||
//如果是专业课,监考老师不能添加这门课的代课老师 | //如果是专业课,监考老师不能添加这门课的代课老师 | ||||
var teachClass = db.FindList<TeachClassEntity>( | var teachClass = db.FindList<TeachClassEntity>( | ||||
@@ -502,14 +502,23 @@ where l.EPLId='{EPLId}'"; | |||||
empnos.Add(examRoom.EmpNo); | empnos.Add(examRoom.EmpNo); | ||||
} | } | ||||
} | } | ||||
var sql = $@"select * from Exam_InvigilateTeacher where AcademicYearNo='{examPlan.AcademicYearNo}' and Semester='{examPlan.Semester}' and ITEnabled=1 "; | |||||
//20230614增加已排监考次数算法 | |||||
//排过监考的老师顺序往后调整 | |||||
//var sql = $@"select * from Exam_InvigilateTeacher where AcademicYearNo='{examPlan.AcademicYearNo}' and Semester='{examPlan.Semester}' and ImportDeptNo='{examPlan.ImportDeptNo}' and ITEnabled=1 "; | |||||
var sql = $@"select aa.EmpName,aa.EmpNo,count(b.EmpNo) as times from Exam_InvigilateTeacher aa | |||||
left join(select EPRId, SUBSTRING(a.EmpNo, number, CHARINDEX(',',a.EmpNo + ',',number)-number) as EmpNo | |||||
from[Exam_ExamPlanRoom] a with(nolock) ,master..spt_values with(nolock) | |||||
where number>= 1 and number<len(a.EmpNo) and type = 'p' | |||||
and sUBSTRING(',' + a.EmpNo , number,1)= ',' and eplid in ({string.Join(",", examLessonList.Select(m=>"'"+m.EPLId+"'"))}) | |||||
) b on aa.empno = b.empno | |||||
where aa.AcademicYearNo = '{examPlan.AcademicYearNo}' and aa.Semester = '{examPlan.Semester}' and aa.ImportDeptNo = '{examPlan.ImportDeptNo}' and aa.ITEnabled = 1"; | |||||
if (empnos.Count() > 0) | if (empnos.Count() > 0) | ||||
{ | { | ||||
string nos = string.Join("','", empnos); | string nos = string.Join("','", empnos); | ||||
sql += $" and EmpNo not in ('{nos}')"; | |||||
sql += $" and aa.EmpNo not in ('{nos}')"; | |||||
} | } | ||||
var Exam_InvigilateTeacher = db.FindList<Exam_InvigilateTeacherEntity>(sql).OrderBy(x => Guid.NewGuid()).ToList(); | |||||
sql += " group by aa.EmpName,aa.EmpNo order by times"; | |||||
var Exam_InvigilateTeacher = db.FindList<Exam_InvigilateTeacherEntity>(sql).OrderBy(x => Guid.NewGuid()).OrderBy(x=>x.times).ToList(); | |||||
//查询考场 | //查询考场 | ||||
var examPlanRooms = db.FindList<Exam_ExamPlanRoomEntity>(x => x.EPLId == epLesson.EPLId).ToList(); | var examPlanRooms = db.FindList<Exam_ExamPlanRoomEntity>(x => x.EPLId == epLesson.EPLId).ToList(); | ||||
@@ -72,6 +72,9 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
} | } | ||||
#endregion | #endregion | ||||
#region 扩展字段 | #region 扩展字段 | ||||
[NotMapped] public int times { get; set; } | |||||
#endregion | #endregion | ||||
} | } | ||||
} | } | ||||
@@ -88,6 +88,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
{ | { | ||||
strSql.Append($" AND t.AcademicYearNo = '{ELEntity.AcademicYearNo}' "); | strSql.Append($" AND t.AcademicYearNo = '{ELEntity.AcademicYearNo}' "); | ||||
strSql.Append($" AND t.Semester = '{ELEntity.Semester}' "); | strSql.Append($" AND t.Semester = '{ELEntity.Semester}' "); | ||||
strSql.Append($" AND t.ImportDeptNo = '{ELEntity.ImportDeptNo}' "); | |||||
} | } | ||||
//同一考试课程下考场的监考老师不重复 | //同一考试课程下考场的监考老师不重复 | ||||
var empSql = "SELECT STUFF( (SELECT ',' + empno FROM Exam_ExamPlanRoom WHERE 1=1 "; | var empSql = "SELECT STUFF( (SELECT ',' + empno FROM Exam_ExamPlanRoom WHERE 1=1 "; | ||||
@@ -97,7 +98,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
} | } | ||||
empSql += $@" and EPLId = T.EPLId FOR XML PATH('') ), 1, 1, '') AS empno FROM Exam_ExamPlanRoom AS T | empSql += $@" and EPLId = T.EPLId FOR XML PATH('') ), 1, 1, '') AS empno FROM Exam_ExamPlanRoom AS T | ||||
where EPLId ='{queryParam["EPLId"].ToString()}'"; | |||||
where EPLId ='{queryParam["EPLId"].ToString()}' and empno is not null "; | |||||
var obj = this.BaseRepository("CollegeMIS").FindList<Exam_ExamPlanRoomEntity>(empSql).Select(x => x.EmpNo).Distinct().ToList(); | var obj = this.BaseRepository("CollegeMIS").FindList<Exam_ExamPlanRoomEntity>(empSql).Select(x => x.EmpNo).Distinct().ToList(); | ||||
if (obj.Count() > 0) | if (obj.Count() > 0) | ||||
{ | { | ||||
@@ -113,9 +114,9 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration | |||||
LessonNo = LessonNo.Split('(')[0]; | LessonNo = LessonNo.Split('(')[0]; | ||||
} | } | ||||
//查询课程信息 | //查询课程信息 | ||||
var lessoninfo = this.BaseRepository("CollegeMIS").FindList<LessonInfoEntity>($@"select top 1 t.LessonTypeName,l.* from lessoninfo l | |||||
var lessoninfo = this.BaseRepository("CollegeMIS").FindList<LessonInfoEntity>($@"select top 1 t.LessonTypeName,t.LessonTypeCode,l.* from lessoninfo l | |||||
join [dbo].[CdLessonType] t on l.LessonTypeId = t.LTId where l.LessonNo='{LessonNo}' ").FirstOrDefault(); | join [dbo].[CdLessonType] t on l.LessonTypeId = t.LTId where l.LessonNo='{LessonNo}' ").FirstOrDefault(); | ||||
if (lessoninfo != null && !lessoninfo.LessonTypeName.Contains("公共") && !lessoninfo.LessonTypeName.Contains("公开")) | |||||
if (lessoninfo != null && !lessoninfo.LessonTypeName.Contains("公共") && !lessoninfo.LessonTypeName.Contains("公开")&&!lessoninfo.LessonTypeCode.Contains("OpenLesson")) | |||||
{ | { | ||||
//如果是专业课,监考老师不能添加这门课的代课老师 | //如果是专业课,监考老师不能添加这门课的代课老师 | ||||
var teachClass = this.BaseRepository("CollegeMIS").FindList<TeachClassEntity>( | var teachClass = this.BaseRepository("CollegeMIS").FindList<TeachClassEntity>( | ||||