Bläddra i källkod

Merge branch '塔里木分支' of http://123.57.209.16:3000/bjquanjiang/DigitalScholl into 塔里木分支

新疆影视学院高职
ndbs 2 år sedan
förälder
incheckning
398538e3b7
2 ändrade filer med 75 tillägg och 10 borttagningar
  1. +8
    -2
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanRoom/Exam_ExamPlanRoomService.cs
  2. +67
    -8
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_InvigilateTeacher/Exam_InvigilateTeacherService.cs

+ 8
- 2
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanRoom/Exam_ExamPlanRoomService.cs Visa fil

@@ -439,7 +439,7 @@ where l.EPLId='{EPLId}'";
from Exam_ExamPlanRoom a
join Exam_ExamPlanLesson b on a.EPLId = b.EPLId
where b.EPId = '{EPId}'");
db.BeginTrans();
//老师时间管理
var examTeacherTime = db.FindList<Exam_ExamTeacherTimeEntity>();
@@ -454,9 +454,15 @@ where l.EPLId='{EPLId}'";
foreach (var epLesson in examLessonList)
{
List<string> empnos = new List<string>();
var LessonNo = epLesson.LessonNo;
if (LessonNo.Contains("("))
{
LessonNo = LessonNo.Split('(')[0];
}

//查询课程信息
var lessoninfo = db.FindList<LessonInfoEntity>($@"select top 1 t.LessonTypeName,l.* from lessoninfo l
join [dbo].[CdLessonType] t on l.LessonTypeId = t.LTId where l.LessonNo='{epLesson.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("公开"))
{
//如果是专业课,监考老师不能添加这门课的代课老师


+ 67
- 8
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_InvigilateTeacher/Exam_InvigilateTeacherService.cs Visa fil

@@ -62,28 +62,87 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration
}
if (!queryParam["EPLId"].IsEmpty())
{
//排考安排课程表Id
var ELEntity = this.BaseRepository("CollegeMIS").FindList<Exam_ExamPlanEntity>($@"select * from Exam_ExamPlan where EPId=(
select EPId from Exam_ExamPlanLesson where EPLId='{queryParam["EPLId"].ToString()}')").FirstOrDefault();
//考试课程数据
var EPLEntity = this.BaseRepository("CollegeMIS").FindEntity<Exam_ExamPlanLessonEntity>(queryParam["EPLId"].ToString());
//排考安排课程表 获取学年学期
var ELEntity = this.BaseRepository("CollegeMIS").FindEntity<Exam_ExamPlanEntity>(EPLEntity.EPId);
if (ELEntity != null)
{
strSql.Append($" AND t.AcademicYearNo = '{ELEntity.AcademicYearNo}' ");
strSql.Append($" AND t.Semester = '{ELEntity.Semester}' ");
}

var empSql = $@"SELECT DISTINCT EPLId, STUFF( (SELECT ',' + empno FROM Exam_ExamPlanRoom WHERE EPLId = T.EPLId FOR XML PATH('') ), 1, 1, '') AS empno FROM Exam_ExamPlanRoom AS T
where EPLId ='{queryParam["EPLId"].ToString()}'";
//同一考试课程下考场的监考老师不重复
var empSql = "SELECT DISTINCT EPLId, STUFF( (SELECT ',' + empno FROM Exam_ExamPlanRoom WHERE 1=1 ";
if (!queryParam["EPRId"].IsEmpty())
{
empSql += $" and EPRId<>'{queryParam["EPRId"].ToString()}'";
empSql += $" and EPRId<>'{queryParam["EPRId"].ToString()}'";
}

empSql += $@" and EPLId = T.EPLId FOR XML PATH('') ), 1, 1, '') AS empno FROM Exam_ExamPlanRoom AS T
where EPLId ='{queryParam["EPLId"].ToString()}'";
var obj = this.BaseRepository("CollegeMIS").FindList<Exam_ExamPlanRoomEntity>(empSql).Select(x => x.EmpNo).Distinct().ToList();
if (obj != null && obj.Count > 0)
{
var empNo = string.Join("','", obj[0].ToString().Split(',').Distinct());
strSql.Append($" AND t.EmpNo not in ('{empNo}')");
}

//筛选掉考试时间冲突的老师和专业课的代课老师
List<string> empnos = new List<string>();
var LessonNo = EPLEntity.LessonNo;
if (LessonNo.Contains("("))
{
LessonNo = LessonNo.Split('(')[0];
}
//查询课程信息
var lessoninfo = this.BaseRepository("CollegeMIS").FindList<LessonInfoEntity>($@"select top 1 t.LessonTypeName,l.* from lessoninfo l
join [dbo].[CdLessonType] t on l.LessonTypeId = t.LTId where l.LessonNo='{LessonNo}' ").FirstOrDefault();
if (lessoninfo != null && !lessoninfo.LessonTypeName.Contains("公共") && !lessoninfo.LessonTypeName.Contains("公开"))
{
//如果是专业课,监考老师不能添加这门课的代课老师
var teachClass = this.BaseRepository("CollegeMIS").FindList<TeachClassEntity>(
$"select distinct EmpNo from TeachClass where AcademicYearNo='{ELEntity.AcademicYearNo}' and Semester='{ELEntity.Semester}' and lessonno='{LessonNo}'");
var empno = teachClass.Select(x => x.EmpNo).ToList();
empnos = empnos.Union(empno).ToList();
}

if (EPLEntity.ExamDate != null && EPLEntity.ExamTime.Contains("-"))
{
//当前考试课程考试时间
var examtimeStart = Convert.ToDateTime(EPLEntity.ExamDate.Value.ToString("yyyy-MM-dd") + " " + (EPLEntity.ExamTime).Split('-')[0]);
var examtimeEnd = Convert.ToDateTime(EPLEntity.ExamDate.Value.ToString("yyyy-MM-dd") + " " + EPLEntity.ExamTime.Split('-')[1]);

//查询这个时间段不能监考的老师
var empnoTime = this.BaseRepository("CollegeMIS").FindList<Exam_ExamTeacherTimeEntity>(x =>
(examtimeStart >= x.ExamTimeStart && examtimeStart <= x.ExamTimeEnd) || (examtimeEnd >= x.ExamTimeStart && examtimeEnd <= x.ExamTimeEnd)).Select(x => x.EmpNo).ToList();
foreach (var empno in empnoTime)
{
empnos = empnos.Union(empno.Split(',').ToList()).ToList();
}

//查询已安排的监考老师数据
var examRoomByDateSql = $@"select a.EmpNo,b.ExamDate,b.ExamTime from [dbo].[Exam_ExamPlanRoom] a
join Exam_ExamPlanLesson b on a.EPLId = b.EPLId
where a.EmpNo is not null and b.ExamDate='{EPLEntity.ExamDate}' and a.EPLId<>'{queryParam["EPLId"].ToString()}'";
var examRoomsByDateList = this.BaseRepository("CollegeMIS").FindList<Exam_ExamPlanRoomEntity>(examRoomByDateSql).ToList();
foreach (var examRoom in examRoomsByDateList)
{
var examRoomTime1 = Convert.ToDateTime(examRoom.ExamDate.Value.ToString("yyyy-MM-dd") + " " + examRoom.ExamTime.Split('-')[0]);
var examRoomTime2 = Convert.ToDateTime(examRoom.ExamDate.Value.ToString("yyyy-MM-dd") + " " + examRoom.ExamTime.Split('-')[1]);

//此处判断当前考场时间是否在考试课程排考时间的开始前30分钟到结束后30分钟
if ((examRoomTime1 >= examtimeStart.AddMinutes(-30) && examRoomTime1 <= examtimeEnd.AddMinutes(30)) || (examRoomTime2 >= examtimeStart.AddMinutes(-30) && examRoomTime2 <= examtimeEnd.AddMinutes(30)))
{
empnos.Add(examRoom.EmpNo);
}
}
if (empnos.Count() > 0)
{
string nos = string.Join("','", empnos);
strSql.Append($" AND t.EmpNo not in ('{nos}')");
}
}

}
if (!queryParam["SqlParameter"].IsEmpty())
{
@@ -111,7 +170,7 @@ select EPId from Exam_ExamPlanLesson where EPLId='{queryParam["EPLId"].ToString(
/// <param name="Semester"></param>
/// <returns></returns>
public IEnumerable<Exam_InvigilateTeacherEntity> GetList(string AcademicYearNo, int? Semester)
{
{
try
{
return this.BaseRepository("CollegeMIS").FindList<Exam_InvigilateTeacherEntity>(x => x.AcademicYearNo == AcademicYearNo && x.Semester == Semester);


Laddar…
Avbryt
Spara