From cfa1ff4ec27d8a691c0b4ac7b832464045805fac Mon Sep 17 00:00:00 2001 From: zhangli <1109134334@qq.com> Date: Wed, 15 Jun 2022 17:41:33 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=80=83=E8=AF=95=E8=AE=B0=E5=BD=95-?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=80=83=E5=9C=BA=E5=88=A4=E6=96=AD=E8=80=83?= =?UTF-8?q?=E8=AF=95=E6=97=B6=E9=97=B4=E6=98=AF=E5=90=A6=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=EF=BC=9B=E6=96=B0=E5=A2=9E=E8=80=83=E5=9C=BA-=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E8=80=83=E5=9C=BA=E5=88=97=E8=A1=A8=E7=AD=9B=E6=8E=89?= =?UTF-8?q?=E6=8E=92=E8=80=83=E6=97=B6=E9=97=B4=E5=AD=98=E5=9C=A8=E5=86=B2?= =?UTF-8?q?=E7=AA=81=E7=9A=84=E6=95=99=E5=AE=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Exam_ExamPlanLesson/FormRoomTeacher.js | 20 ++++---- .../Views/Exam_ExamPlanLesson/Index.js | 12 +++-- .../Exam_ExamPlanRoomService.cs | 2 +- .../Exam_ExamRoom/Exam_ExamRoomService.cs | 46 ++++++++++++++++++- 4 files changed, 64 insertions(+), 16 deletions(-) diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlanLesson/FormRoomTeacher.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlanLesson/FormRoomTeacher.js index 244a8d55d..6a43b138b 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlanLesson/FormRoomTeacher.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlanLesson/FormRoomTeacher.js @@ -56,7 +56,7 @@ var bootstrap = function ($, learun) { selectedRow = null; learun.layerForm({ id: 'formroom1', - title: '新增考场', + title: '选择考场', url: top.$.rootUrl + '/EducationalAdministration/Exam_ExamPlanLesson/FormRoom?EPLId=' + EPLId, width: 850, height: 500, @@ -92,11 +92,13 @@ var bootstrap = function ($, learun) { } else { $('[data-table="' + id + '"]').lrSetFormData(data[id]); - var empnoArr = data[id].EmpNo.split(','); - var empnameArr = data[id].EmpName.split(','); - $.each(empnoArr, function (i, val) { - tempdatra.push({ EmpNo: val, EmpName: empnameArr[i] }); - }); + if (data[id].EmpNo && (data[id].EmpNo).indexOf(',') != -1) { + var empnoArr = data[id].EmpNo.split(','); + var empnameArr = data[id].EmpName.split(','); + $.each(empnoArr, function (i, val) { + tempdatra.push({ EmpNo: val, EmpName: empnameArr[i] }); + }); + } $('#Exam_ExamPlanTeacher').jfGridSet('refreshdata', tempdatra); } } @@ -146,7 +148,7 @@ var bootstrap = function ($, learun) { } var datas = $('#Exam_ExamPlanTeacher').jfGridGet('rowdatas'); if (datas == null || datas.length == 0) { - learun.alert.warning("请先新增监考老师!"); + learun.alert.warning("请新增监考老师!"); return false; } return true; @@ -169,14 +171,14 @@ var bootstrap = function ($, learun) { '/EducationalAdministration/Exam_ExamPlanLesson/SaveRoomAndTeacher?keyValue=' + keyValue, postData, - function(res) { + function (res) { // 保存成功后才回调 if (!!callBack) { callBack(res, formData, i); } }); - } + } }; page.init(); } diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlanLesson/Index.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlanLesson/Index.js index 883428f9e..4ed2217cb 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlanLesson/Index.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/Exam_ExamPlanLesson/Index.js @@ -129,12 +129,16 @@ var bootstrap = function ($, learun) { if (ELCheckMark == 1) { return learun.alert.warning("该项已审核!"); } - var param ={}; + var param = {}; param.EPId = EPId; param.EPLId = EPLId; + //判断是否已设置考试时间 + if (!$('#examDate').html() || !$('#examTime').html()) { + return learun.alert.warning("请先设置考试时间!"); + } //判断是否已新增班级 - var data= learun.httpGet(top.$.rootUrl + '/EducationalAdministration/Exam_ExamPlanLesson/GetListForClass?queryJson='+JSON.stringify(param)); - + var data = learun.httpGet(top.$.rootUrl + '/EducationalAdministration/Exam_ExamPlanLesson/GetListForClass?queryJson=' + JSON.stringify(param)); + if (data.data.length > 0) { learun.layerForm({ id: 'formteacherRoom', @@ -149,7 +153,7 @@ var bootstrap = function ($, learun) { } else { return learun.alert.warning("请先添加班级!"); } - + } else { return learun.alert.warning("请选择考试课程!"); } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanRoom/Exam_ExamPlanRoomService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanRoom/Exam_ExamPlanRoomService.cs index 2c9bfeb67..a11efa94d 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanRoom/Exam_ExamPlanRoomService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanRoom/Exam_ExamPlanRoomService.cs @@ -303,7 +303,7 @@ where l.EPLId='{EPLId}'"; var EPLIds = examLessonList.Select(y => y.EPLId).ToList(); if (db.FindList(x => EPLIds.Contains(x.EPLId)).Count() <= 0) { - return (false, "请先添加考试班级!"); + return (false, "请先新增考试班级!"); } List list = new List(); diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamRoom/Exam_ExamRoomService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamRoom/Exam_ExamRoomService.cs index 3c830ea23..0b12a54a3 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamRoom/Exam_ExamRoomService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamRoom/Exam_ExamRoomService.cs @@ -59,15 +59,57 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration } if (!queryParam["EPLId"].IsEmpty()) { + var examLesson = this.BaseRepository("CollegeMIS").FindEntity(queryParam["EPLId"].ToString()); //排考安排课程表Id - var ELEntity = this.BaseRepository("CollegeMIS").FindList($@"select * from Exam_ExamPlan where EPId=( -select EPId from Exam_ExamPlanLesson where EPLId='{queryParam["EPLId"].ToString()}')").FirstOrDefault(); + var ELEntity = this.BaseRepository("CollegeMIS").FindEntity(examLesson.EPId); if (ELEntity != null) { strSql.Append($" AND t.AcademicYearNo = '{ELEntity.AcademicYearNo}' "); strSql.Append($" AND t.Semester = '{ELEntity.Semester}' "); } strSql.Append($" AND t.ClassroomNo not in (select ClassroomNo from Exam_ExamPlanRoom where EPLId='{queryParam["EPLId"].ToString()}') "); + + //查询与考试课程的考试时间在同一天的考场,如果存在考试时间冲突的考场 则排除此考场 + if (examLesson.ExamDate != null && examLesson.ExamTime.Contains("-") && examLesson.RealStuCount > 0) + { + //当前考试课程考试时间 + var examtimeStart = + Convert.ToDateTime(examLesson.ExamDate.Value.ToString("yyyy-MM-dd") + " " + + (examLesson.ExamTime).Split('-')[0]); + var examtimeEnd = Convert.ToDateTime(examLesson.ExamDate.Value.ToString("yyyy-MM-dd") + " " + + examLesson.ExamTime.Split('-')[1]); + + List conflictRoom = new List(); + var examRoomByDateSql = + $@"select a.ClassroomNo,b.ExamDate,b.ExamTime from [dbo].[Exam_ExamPlanRoom] a + join Exam_ExamPlanLesson b on a.EPLId = b.EPLId + where ExamDate = '{examLesson.ExamDate}'"; + var examRoomsByDate = this.BaseRepository("CollegeMIS") + .FindList(examRoomByDateSql).ToList(); + + foreach (var examRoom in examRoomsByDate) + { + 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))) + { + conflictRoom.Add(examRoom.ClassroomNo); + } + } + if (conflictRoom.Count() > 0) + { + var classroomNo = string.Join("','", conflictRoom.ToList()); + strSql.Append($" AND t.ClassroomNo not in ('{classroomNo}') "); + } + + } } if (!queryParam["SqlParameter"].IsEmpty()) From 249554651d056053b3863dc9193ac0aaf85c6967 Mon Sep 17 00:00:00 2001 From: ndbs Date: Wed, 15 Jun 2022 18:06:56 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=80=89=E4=BF=AE=E8=AF=BE=E6=95=99?= =?UTF-8?q?=E5=B8=88=E8=AE=BE=E7=BD=AE=E6=88=90=E7=BB=A9=E6=AF=94=E4=BE=8B?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=88=B0=E9=80=89=E4=BF=AE=E8=AF=BE=E5=BC=80?= =?UTF-8?q?=E8=AF=BE=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OpenLessonPlanOfElective/OpenLessonPlanOfElectiveService.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/OpenLessonPlanOfElective/OpenLessonPlanOfElectiveService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/OpenLessonPlanOfElective/OpenLessonPlanOfElectiveService.cs index 95c01e4b1..be1622439 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/OpenLessonPlanOfElective/OpenLessonPlanOfElectiveService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/OpenLessonPlanOfElective/OpenLessonPlanOfElectiveService.cs @@ -799,6 +799,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration if (classInfoEntity != null) { db.ExecuteBySql("update StuSelectLessonListOfElective set OrdinaryScoreScale=" + entity.OrdinaryScoreScale + ",TermInScoreScale=" + entity.TermInScoreScale + ",TermEndScoreScale=" + entity.TermEndScoreScale + ",OtherScoreScale=" + entity.OtherScoreScale + " where F_SchoolId='" + F_SchoolId + "' and AcademicYearNo='" + AcademicYearNo + "' and Semester='" + Semester + "' and LessonSection='" + LessonSection + "' and ClassroomNo='" + classInfoEntity.ClassroomNo + "' and LessonNo='" + LessonNo + "' and LessonSortNo='2' "); + db.ExecuteBySql("update OpenLessonPlanOfElective set OrdinaryScoreScale=" + entity.OrdinaryScoreScale + ",TermInScoreScale=" + entity.TermInScoreScale + ",TermEndScoreScale=" + entity.TermEndScoreScale + ",OtherScoreScale=" + entity.OtherScoreScale + " where F_SchoolId='" + F_SchoolId + "' and AcademicYearNo='" + AcademicYearNo + "' and Semester='" + Semester + "' and LessonSection='" + LessonSection + "' and ClassroomNo='" + classInfoEntity.ClassroomNo + "' and LessonNo='" + LessonNo + "' and LessonSortNo='2' "); //修改StuScore中的成绩 var beforeList = db.FindList(x => x.F_SchoolId == F_SchoolId && x.AcademicYearNo == AcademicYearNo && x.Semester == Semester && x.ClassRoomNo == classInfoEntity.ClassroomNo && x.LessonNo == LessonNo && x.LessonSortNo == "2" && x.LessonSection == LessonSection);