From a6f1862308835b8a8160bf39ccd087ae01241cb9 Mon Sep 17 00:00:00 2001 From: dyy <807692433@qq.com> Date: Fri, 11 Aug 2023 17:43:19 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=A2=9E=E5=8A=A0=E3=80=91=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=AE=9E=E8=AE=AD=E8=AF=BE=E7=9A=84=E6=8E=92=E8=AF=BE?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=EF=BC=9B=E5=85=A8=E9=99=A2=E3=80=81=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E8=AF=BE=E7=A8=8B=E8=A1=A8=E6=98=BE=E7=A4=BA=E5=AE=9E?= =?UTF-8?q?=E8=AE=AD=E8=AF=BE=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=AE=9E=E8=AE=AD?= =?UTF-8?q?=E6=A0=87=E8=AF=86=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/TimeTableController.cs | 19 ++-- .../Views/TimeTable/ClassIndexInEducation.js | 1 + .../Views/TimeTable/Index.cshtml | 1 + .../Views/TimeTable/Index.js | 5 + .../Views/TimeTable/IndexInEducation.js | 3 +- .../XmlConfig/database.config | 2 +- .../ArrangeLessonTermService.cs | 92 ++++++++++++++++++- 7 files changed, 109 insertions(+), 14 deletions(-) diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Controllers/TimeTableController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Controllers/TimeTableController.cs index ed879416d..35a90c0e3 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Controllers/TimeTableController.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Controllers/TimeTableController.cs @@ -163,6 +163,7 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers { var weekdatelist = new List(); var yearsemester = Common.GetSemesterAndYear(); + var arrangelessonlist = arrangeLessonTermIBLL.GetListForTimeTable("{\"AcademicYearNo\":\"" + yearsemester.AcademicYearShort + "\",\"Semester\":\"" + yearsemester.Semester + "\"}").OrderBy(m => m.LessonDate); if (arrangelessonlist.Any()) { @@ -171,13 +172,13 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers var monday = firstday.LessonDate.Value.AddDays(-Convert.ToInt32(firstday.LessonDate.Value.DayOfWeek) + 1); var sunday = lastday.LessonDate.Value.AddDays(7 - Convert.ToInt32(lastday.LessonDate.Value.DayOfWeek)); //总周数 - var weekCount = Math.Ceiling(Convert.ToDouble((sunday - monday).Days+1) / 7); + var weekCount = Math.Ceiling(Convert.ToDouble((sunday - monday).Days + 1) / 7); for (var i = 0; i < weekCount; i++) { var wentity = new WeekDate(); wentity.week = i + 1; wentity.startdate = monday.AddDays(i * 7).ToString("yyyy-MM-dd"); - wentity.enddate = monday.AddDays(i * 7+6).ToString("yyyy-MM-dd"); + wentity.enddate = monday.AddDays(i * 7 + 6).ToString("yyyy-MM-dd"); wentity.textweek = "第" + wentity.week + "周 (" + wentity.startdate + "~" + wentity.enddate + ")"; weekdatelist.Add(wentity); } @@ -330,7 +331,7 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers 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(), + classRoom = string.IsNullOrEmpty(e.ClassroomName) ? "" : e.ClassroomName.Trim(), academicyear = semesterAndYear.AcademicYearShort, semester = strSemester, lessonNo = e?.LessonNo, @@ -338,10 +339,12 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers empno = e?.EmpNo, lessonTime = e.LessonTime, lessonDate = e.LessonDate.ToString("yyyy-MM-dd"), - classRoomNo = e?.ClassRoomNo.Trim(), + classRoomNo = string.IsNullOrEmpty(e.ClassRoomNo) ? "" : e.ClassRoomNo.Trim(), lessonSortNo = e.LessonSortNo, e.OLPEId, className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName, + lessonTypeCode = e.LessonTypeCode, + lessonTypeName = e.LessonTypeName, 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, @@ -455,7 +458,9 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers classRoomNo = string.IsNullOrEmpty(e.ClassRoomNo) ? "" : e.ClassRoomNo.Trim(), lessonSortNo = e.LessonSortNo, e?.OLPEId, - className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName + className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName, + lessonTypeCode = e.LessonTypeCode, + lessonTypeName = e.LessonTypeName } } ; @@ -510,7 +515,7 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers where ee == g.Key select new { - AltId=e.AltId, + AltId = e.AltId, day = e.LessonTime.ToCharArray()[0], lessonTime = e.LessonTime, lessonDate = e.LessonDate.ToString("yyyy-MM-dd"), @@ -518,7 +523,7 @@ namespace Learun.Application.Web.Areas.PersonnelManagement.Controllers academicyear = semesterAndYear.AcademicYearShort, semester = strSemester, deptNo = e?.DeptNo, - deptname="", + deptname = "", majorNo = e?.MajorNo, lessonNo = e?.LessonNo, curriculum = e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName, diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/ClassIndexInEducation.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/ClassIndexInEducation.js index 3f9c15b4f..b762e373d 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/ClassIndexInEducation.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/ClassIndexInEducation.js @@ -77,6 +77,7 @@ var bootstrap = function ($, learun) { } html += '
课程:' + item.curriculum + + (item.lessonTypeCode == "Professional2" ? "【实训】" : "") + '
' + '
教师:' + item.teacher + diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/Index.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/Index.cshtml index 3b3d7f665..30f5d0b79 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/Index.cshtml +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/Index.cshtml @@ -116,6 +116,7 @@
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/Index.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/Index.js index 5388ed57f..f993b1c94 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/Index.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/Index.js @@ -103,6 +103,7 @@ var bootstrap = function ($, learun) { } html += '
课程:' + item.curriculum + + (item.lessonTypeCode == "Professional2" ? "【实训】" : "") + '
' + '
教师:' + item.teacher + @@ -143,6 +144,10 @@ var bootstrap = function ($, learun) { }); }, bind: function () { + // 刷新 + $('#lr_refresh').on('click', function () { + location.reload(); + }); $("#datesearch").lrselect({ placeholder: "请选择周次", width: "250px", diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/IndexInEducation.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/IndexInEducation.js index e9fb9c6ec..200de5bde 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/IndexInEducation.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TimeTable/IndexInEducation.js @@ -77,6 +77,7 @@ var bootstrap = function ($, learun) { } html += '
课程:' + item.curriculum + + (item.lessonTypeCode == "Professional2" ? "【实训】" : "") + '
' + '
教师:' + item.teacher + @@ -298,7 +299,7 @@ var bootstrap = function ($, learun) { }); $("#datesearch").lrselect({ placeholder: "请选择周次", - width:"250px", + width: "250px", allowSearch: true, url: top.$.rootUrl + '/PersonnelManagement/TimeTable/GetWeeksData', value: 'week', diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/database.config b/Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/database.config index b974965d2..f15359384 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/database.config +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/XmlConfig/database.config @@ -41,7 +41,7 @@ - + diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermService.cs index b50124011..4db127a9a 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermService.cs @@ -784,6 +784,8 @@ WHERE (AcademicYearNo = '" + strAcademicYear + "') and semester='" + strSemest var classroomData = (await BaseRepository("CollegeMIS").FindListAsync()).ToList(); if (entity.SyncType == "1") { + var oldArrangeLessonTermList = (await BaseRepository("CollegeMIS").FindListAsync($"select * from ArrangeLessonTerm t where t.AcademicYearNo='{entity.AcademicYearNo}' and t.Semester='{entity.Semester}' ")).ToList(); + var LessonList = BaseRepository("paikeDbString").FindList( @"SELECT a.week AS 'week', a.section AS 'section',a.timetext AS 'timetext',c.name AS 'classname',c.number AS 'classnumber', r.name AS 'roomname',r.number AS 'ClassroomNo',t.name AS 'teachername',t.number AS 'teacherNumber', cu.name AS 'curriculunName', @@ -798,7 +800,6 @@ WHERE (AcademicYearNo = '" + strAcademicYear + "') and semester='" + strSemest if (LessonList.Count() > 0) { - var oldArrangeLessonTermList = (await BaseRepository("CollegeMIS").FindListAsync()).ToList(); var insertDataList = new List(); foreach (var item in LessonList) { @@ -845,6 +846,67 @@ WHERE (AcademicYearNo = '" + strAcademicYear + "') and semester='" + strSemest } } + + //实训课 + var LessonListOfPracticalTrain = BaseRepository("paikeDbString").FindList( + @"SELECT a.WEEK AS 'week',a.section AS 'section',a.timetext AS 'timetext',c.NAME AS 'classname',c.number AS 'classnumber', + r.NAME AS 'roomname',r.number AS 'ClassroomNo',t.NAME AS 'teachername',t.number AS 'teacherNumber',cu.NAME AS 'curriculunName', + cu.number AS 'curriculunNumber',s.YEAR AS 'year',s.number AS 'semester',a.teachers_number AS 'teachersNumber',a.teachers_name AS 'teachersName' + FROM tb_practicaltraining_paike a + LEFT JOIN tb_clazz c ON c.id = a.`clazzid` + LEFT JOIN tb_classroom r ON r.id = a.`classroomid` + LEFT JOIN tb_teacher t ON t.id = a.`teacherid` + LEFT JOIN tb_curriculum cu ON cu.id = a.`curriculunid` + LEFT JOIN tb_semester s ON s.id = a.`semester` + WHERE 1 = 1 AND c.number IS NOT NULL AND s.YEAR = '" + entity.AcademicYearNo + "' AND s.number = '" + entity.Semester + "'"); + if (LessonListOfPracticalTrain.Any()) + { + var insertDataList = new List(); + foreach (var item in LessonListOfPracticalTrain) + { + var classinfo = classData.FirstOrDefault(m => m.ClassNo == item.classnumber); + var timesArr = item.timetext.Substring(0, item.timetext.Length - 1).Split(','); + foreach (var timesItem in timesArr) + { + var insertData = new ArrangeLessonTermEntity + { + ALTId = Guid.NewGuid().ToString(), + LessonDate = DateTime.Parse(timesItem), + AcademicYearNo = item.year, + Semester = item.semester, + DeptNo = classinfo?.DeptNo, + MajorNo = classinfo?.MajorNo, + LessonNo = item.curriculunNumber, + LessonName = item.curriculunName, + TeachClassNo = item.curriculunName + classinfo?.ClassNo, + EmpNo = item.teacherNumber, + EmpName = item.teachername, + LessonSortNo = lessonData.FirstOrDefault(m => m.LessonNo == item.curriculunNumber)?.LessonSortNo, + ClassroomNo = classroomData.FirstOrDefault(m => m.ClassroomNo == item.ClassroomNo)?.ClassroomNo, + LessonTime = item.week + item.section, + CheckMark = "1", + F_SchoolId = entity.F_SchoolId + }; + if (oldArrangeLessonTermList.Count(m => m.AcademicYearNo == insertData.AcademicYearNo && m.Semester == insertData.Semester + && m.LessonNo == insertData.LessonNo && m.LessonDate.Value.Date == insertData.LessonDate.Value.Date + && m.DeptNo == insertData.DeptNo && m.MajorNo == insertData.MajorNo + && m.TeachClassNo == insertData.TeachClassNo && m.EmpNo == insertData.EmpNo + && m.ClassroomNo == insertData.ClassroomNo && m.LessonTime == insertData.LessonTime + && m.F_SchoolId == insertData.F_SchoolId) == 0 + && insertDataList.Count(m => m.AcademicYearNo == insertData.AcademicYearNo && m.Semester == insertData.Semester + && m.LessonNo == insertData.LessonNo && m.LessonDate.Value.Date == insertData.LessonDate.Value.Date + && m.DeptNo == insertData.DeptNo && m.MajorNo == insertData.MajorNo + && m.TeachClassNo == insertData.TeachClassNo && m.EmpNo == insertData.EmpNo + && m.ClassroomNo == insertData.ClassroomNo && m.LessonTime == insertData.LessonTime + && m.F_SchoolId == insertData.F_SchoolId) == 0) + { + insertDataList.Add(insertData); + BaseRepository("CollegeMIS").Insert(insertData); + } + } + } + } + } else { @@ -1192,21 +1254,25 @@ WHERE (AcademicYearNo = '" + strAcademicYear + "') and semester='" + strSemest if (userType == "学生") { sql = @"SELECT - b.LessonNo,b.AcademicYearNo as AcademicYear,b.LessonName,b.LessonTime,b.LessonDate,b.Empname EmpName,b.EmpNo,c.ClassroomName,b.Semester,b.ClassroomNo as ClassRoomNo,b.LessonSortNo,d.ClassName,e.EnName from StuSelectLessonList a + b.LessonNo,b.AcademicYearNo as AcademicYear,b.LessonName,b.LessonTime,b.LessonDate,b.Empname EmpName,b.EmpNo,c.ClassroomName,b.Semester,b.ClassroomNo as ClassRoomNo,b.LessonSortNo,d.ClassName,e.EnName,f.LessonTypeName,f.LessonTypeCode + from StuSelectLessonList a left join ArrangeLessonTerm b on b.TeachClassNo=RTRIM(a.LessonName) + RTRIM(a.PartCode) + RTRIM(a.TeachClassNo) left join ClassroomInfo c on c.ClassroomNo=b.classroomNo left join ClassInfo d on replace(b.TeachClassNo,b.LessonName,'')=d.ClassNo left join LessonInfo e on a.LessonNo=e.LessonNo + left join CdLessonType f on e.LessonTypeId=f.LTId where a.StuNo=@userAccount and a.AcademicYearNo=@strAcademicYear and a.Semester=@strSemester and b.AcademicYearNo=@strAcademicYear and b.Semester=@strSemester and b.LessonDate>=@startDate and b.LessonDate<=@endDate and b.CheckMark=1"; } else { - sql = @"select b.AcademicYearNo as AcademicYear,b.LessonNo,e.EnName,b.LessonName,b.LessonTime,b.LessonDate,b.EmpNo,b.Empname EmpName,replace(b.TeachClassNo,b.LessonName,'') TeachClassNo, c.ClassroomName,b.Semester,b.ClassroomNo as ClassRoomNo,b.LessonSortNo,d.ClassName from ArrangeLessonTerm b + sql = @"select b.AcademicYearNo as AcademicYear,b.LessonNo,e.EnName,b.LessonName,b.LessonTime,b.LessonDate,b.EmpNo,b.Empname EmpName,replace(b.TeachClassNo,b.LessonName,'') TeachClassNo, c.ClassroomName,b.Semester,b.ClassroomNo as ClassRoomNo,b.LessonSortNo,d.ClassName,f.LessonTypeName,f.LessonTypeCode + from ArrangeLessonTerm b left join ClassroomInfo c on c.ClassroomNo=b.classroomNo left join ClassInfo d on replace(b.TeachClassNo,b.LessonName,'')=d.ClassNo left join LessonInfo e on b.LessonNo=e.LessonNo + left join CdLessonType f on e.LessonTypeId=f.LTId where b.EmpNo=@userAccount and b.AcademicYearNo=@strAcademicYear and b.Semester=@strSemester and b.LessonDate>=@startDate and b.LessonDate<=@endDate and b.CheckMark=1"; } @@ -1669,10 +1735,12 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les var semesterAndYear = Common.GetSemesterAndYear(startDate); var strAcademicYear = semesterAndYear.AcademicYearShort; var strSemester = semesterAndYear.Semester; - string sql = @"select b.AltId,b.F_SchoolId,b.DeptNo,b.MajorNo,b.AcademicYearNo as AcademicYear,b.LessonNo,b.LessonName,b.LessonTime,b.LessonDate,b.EmpNo,b.Empname EmpName,replace (b.TeachClassNo,b.LessonName,'') TeachClassNo, c.ClassroomName,b.Semester,b.ClassroomNo as ClassRoomNo,b.LessonSortNo,d.ClassName + string sql = @"select b.AltId,b.F_SchoolId,b.DeptNo,b.MajorNo,b.AcademicYearNo as AcademicYear,b.LessonNo,b.LessonName,b.LessonTime,b.LessonDate,b.EmpNo,b.Empname EmpName,replace (b.TeachClassNo,b.LessonName,'') TeachClassNo, c.ClassroomName,b.Semester,b.ClassroomNo as ClassRoomNo,b.LessonSortNo,d.ClassName,f.LessonTypeName,f.LessonTypeCode from ArrangeLessonTerm b left join ClassroomInfo c on c.ClassroomNo=b.classroomNo - left join ClassInfo d on replace(b.TeachClassNo,b.LessonName,'')=d.ClassNo + left join ClassInfo d on replace(b.TeachClassNo,b.LessonName,'')=d.ClassNo + left join LessonInfo e on b.LessonNo=e.LessonNo + left join CdLessonType f on e.LessonTypeId=f.LTId where b.AcademicYearNo=@strAcademicYear and b.Semester=@strSemester and b.LessonDate>=@startDate and b.LessonDate<=@endDate and b.CheckMark=1"; @@ -2217,6 +2285,12 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les public string F_SchoolId { get; set; } public string DeptNo { get; set; } public string MajorNo { get; set; } + /// + /// 课程类型 + /// + public string LessonTypeName { get; set; } + public string LessonTypeCode { get; set; } + } @@ -2856,6 +2930,14 @@ group by AcademicYearNo,Semester,DeptNo,MajorNo,LessonNo,TeachClassNo,EmpNo,Les public string year { get; set; } public string semester { get; set; } public string schoolno { get; set; } + /// + /// 副讲老师编号 + /// + public string teachersNumber { get; set; } + /// + /// 副讲老师名称 + /// + public string teachersName { get; set; } } #endregion }