From ed1aa900598257b8df937b49d78ee7952a790465 Mon Sep 17 00:00:00 2001 From: ndbs Date: Thu, 11 Aug 2022 14:42:26 +0800 Subject: [PATCH 1/3] =?UTF-8?q?app2.0=20=E6=89=8B=E6=9C=BA=E7=AB=AF?= =?UTF-8?q?=E5=AD=A6=E7=94=9F10=E5=A4=A9=E8=AF=BE=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modules/TimeTable.cs | 87 ++++++++++++++++++- 1 file changed, 85 insertions(+), 2 deletions(-) diff --git a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/TimeTable.cs b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/TimeTable.cs index 22104a168..74cc17b24 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/TimeTable.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/TimeTable.cs @@ -22,11 +22,15 @@ namespace Learun.Application.WebApi.Modules Get["/StuList"] = GetStuInfo; Get["/StuLessonInfo"] = GetStuLessonInfo; Get["/timeTableData"] = GetTimeTableData; + Get["/TenDay"] = GetTenDay; } private ArrangeLessonTermIBLL arrangeLessonTermIBLL = new ArrangeLessonTermBLL(); private ArrangeLessonTermOfElectiveIBLL arrangeLessonTermOfElectiveIBLL = new ArrangeLessonTermOfElectiveBLL(); private StuAttendanceLeaveIBLL stuAttendanceLeaveIBLL = new StuAttendanceLeaveBLL(); private StuAttendanceIBLL stuAttendanceIBLL = new StuAttendanceBLL(); + private EmpInfoIBLL empInfoIbll = new EmpInfoBLL(); + private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL(); + private SchoolCalendarIBLL schoolCalendarIbll = new SchoolCalendarBLL(); /// /// 课程表【教师功能、学生功能】 @@ -113,7 +117,7 @@ namespace Learun.Application.WebApi.Modules } - + /// /// 全院课程表【按班级分组】 /// @@ -171,11 +175,88 @@ namespace Learun.Application.WebApi.Modules }).OrderBy(x => x.LessonSortNo).ThenBy(x => x.ClassNo).ToList(); result.ClassDataList = dataTemp; - + return Success(result); } + /// + /// 课程表【教师功能、学生功能】 + /// + /// + /// + public Response GetTenDay(dynamic _) + { + var param = this.GetReqData(); + var startdate = DateTime.Today; + var startDate = Common.CalculateFirstDateOfWeek(startdate).ToString("yyyy-MM-dd"); + var endDate = Common.CalculateLastDateOfWeek(startdate).ToString("yyyy-MM-dd"); + + //获取学年,学期 + var semesterAndYear = Common.GetSemesterAndYear(startDate); + var strAcademicYear = semesterAndYear.AcademicYearLong; + var strSemester = semesterAndYear.Semester; + + var entity = schoolCalendarIbll.GetSchoolCalendarEntityByNo(semesterAndYear.AcademicYearShort, semesterAndYear.Semester); + var StartTime = entity.StartTime.Value; + + + var Data = arrangeLessonTermIBLL.GetTimeTableInEducation("", "", "", "", ""); + if (param.Description == "学生") + { + var Stulist = stuInfoBasicIBLL.GetAllList().Where(x => x.StuNo == param.Account).FirstOrDefault(); + if (Stulist != null) + { + Data = arrangeLessonTermIBLL.GetTimeTableInEducation(param.StartDate, param.EndDate, param.ClassNo, "", ""); + } + } + else if (param.Description == "教师") + { + //教师 + var empInfo = empInfoIbll.GetAllList().Where(x => x.EmpNo == userInfo.account).FirstOrDefault().EmpNo; + if (empInfo != null) + { + Data = arrangeLessonTermIBLL.GetTimeTableInEducation(param.StartDate, param.EndDate, "", param.EmpNo, ""); + } + } + + var formatData = from d in Data.AsEnumerable() + let tt = d.LessonTime.Split('-')[0] + group d by tt into g + orderby g.Key + select new + { + time = g.Key, + list = from e in Data.AsEnumerable() + let ee = e.LessonTime.Split('-')[0] + where ee == g.Key + select new + { + ALTId = e.ALTId, + day = e.LessonTime.Split('-')[0], + jc = e.LessonTime.Split('-')[1], + curriculum = e.LessonSortNo == "2" ? e.LessonName + "[选修]" : e.LessonName, + teacher = e?.EmpName, + classRoom = string.IsNullOrEmpty(e.ClassroomName) ? "" : 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 = string.IsNullOrEmpty(e.ClassRoomNo) ? "" : e.ClassRoomNo.Trim(), + lessonSortNo = e.LessonSortNo, + e?.OLPEId, + className = string.IsNullOrEmpty(e.ClassName) ? "" : e.ClassName + } + } + ; + var result = new + { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = formatData }; + return Success(result); + + } /// /// 数字转中文 /// @@ -238,6 +319,8 @@ namespace Learun.Application.WebApi.Modules /// 教师编号 /// public string EmpNo { get; set; } + public string Description { get; set; } + public string Account { get; set; } } public class TimeTableData { From 6ab08f98a1f658b2848013586242cc603d31ddb5 Mon Sep 17 00:00:00 2001 From: zhangli <1109134334@qq.com> Date: Thu, 11 Aug 2022 14:50:36 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=8E=92=E8=80=83=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E8=A1=A8--=E5=AE=89=E6=8E=92=E7=8F=AD=E7=BA=A7=E5=85=B3?= =?UTF-8?q?=E8=81=94=E8=AF=BE=E7=A8=8B=E4=BF=A1=E6=81=AF=E8=A1=A8=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Exam_ExamPlanClassService.cs | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanClass/Exam_ExamPlanClassService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanClass/Exam_ExamPlanClassService.cs index 55e623e53..8f6791f3d 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanClass/Exam_ExamPlanClassService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/Exam_ExamPlanClass/Exam_ExamPlanClassService.cs @@ -327,32 +327,27 @@ where l.EPLId='{EPLId}' //排考记录表 var examPlan = db.FindEntity(EPId); //查询当前考试记录所有考试课程 - var lessonList = db.FindList(x => x.EPId == EPId); + var lessonList = db.FindList($@"select a.*,b.LessonTypeId,b.MajorNo as TeachMajorNo FROM [dbo].[Exam_ExamPlanLesson] a +left join [dbo].[Exam_ExamLesson] b on a.ELId=b.ELId +where a.EPId='{EPId}'"); foreach (var lesson in lessonList) { - var lessonno = lesson.LessonNo; - if (lesson.LessonNo.Contains("(")) - { - lessonno = lesson.LessonNo.Split('(')[0]; - } - //查询课程信息 - var lessoninfo = db.FindList($@"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) + var cdLessonType = db.FindEntity(lesson.LessonTypeId); + if (cdLessonType != null) { - if (lessoninfo.LessonTypeName.Contains("专业")) + if (cdLessonType.LessonTypeName.Contains("专业")) { //专业课添加此专业的所有班级 var addSql = $@"insert into Exam_ExamPlanClass SELECT NEWID(),'{lesson.EPLId}',c.ClassName,t.ClassNo,count(1) as StuNum FROM Exam_ExamStudent t left join classinfo c on t.ClassNo=c.ClassNo WHERE t.ESEnabled=1 and t.AcademicYearNo='{examPlan.AcademicYearNo}' and t.Semester='{examPlan.Semester}' and t.Grade='{lesson.Grade}' -and t.ESType='{examPlan.PlanType}' and c.majorno='{lessoninfo.TeachMajorNo}' +and t.ESType='{examPlan.PlanType}' and c.majorno='{lesson.TeachMajorNo}' and t.ClassNo not in (select ClassNo from [dbo].[Exam_ExamPlanClass] where EPLId='{lesson.EPLId}') group by t.ClassNo,t.AcademicYearNo,t.Semester,t.ESType,c.ClassName "; db.ExecuteBySql(addSql); } - else if (lessoninfo.LessonTypeName.Contains("公共") || lessoninfo.LessonTypeName.Contains("公开")) + else if (cdLessonType.LessonTypeName.Contains("公共") || cdLessonType.LessonTypeName.Contains("公开")) { //公共课添加所有班级 var addSql = $@"insert into Exam_ExamPlanClass From ffb8ed9a8e7a57ec6edc262db23644e568969a05 Mon Sep 17 00:00:00 2001 From: ndbs Date: Thu, 11 Aug 2022 16:33:05 +0800 Subject: [PATCH 3/3] =?UTF-8?q?app2.0=20=E6=89=8B=E6=9C=BA=E7=AB=AF?= =?UTF-8?q?=E5=AD=A6=E7=94=9F=E8=AF=BE=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modules/TimeTable.cs | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/TimeTable.cs b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/TimeTable.cs index 74cc17b24..fe3934459 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/TimeTable.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/TimeTable.cs @@ -192,15 +192,25 @@ namespace Learun.Application.WebApi.Modules var startDate = Common.CalculateFirstDateOfWeek(startdate).ToString("yyyy-MM-dd"); var endDate = Common.CalculateLastDateOfWeek(startdate).ToString("yyyy-MM-dd"); - //获取学年,学期 + // 获取学年,学期 var semesterAndYear = Common.GetSemesterAndYear(startDate); var strAcademicYear = semesterAndYear.AcademicYearLong; var strSemester = semesterAndYear.Semester; - var entity = schoolCalendarIbll.GetSchoolCalendarEntityByNo(semesterAndYear.AcademicYearShort, semesterAndYear.Semester); - var StartTime = entity.StartTime.Value; - - + if (param.StartDate.IsEmpty() && param.EndDate.IsEmpty()) + { + // 校历 + var entity = schoolCalendarIbll.GetSchoolCalendarEntityByNo(semesterAndYear.AcademicYearShort, semesterAndYear.Semester); + var StartTime = entity.StartTime.Value; + startDate = Common.CalculateFirstDateOfWeek(StartTime.AddDays(3)).ToString("yyyy-MM-dd");//StartTime.AddDays(((curWeek - 1) * 14)).ToString("yyyy-MM-dd"); + if (Convert.ToDateTime(startDate) < StartTime) + { + startDate = StartTime.ToString("yyyy-MM-dd"); + } + endDate = Common.CalculateFirstDateOfWeek(StartTime).AddDays(12).ToString("yyyy-MM-dd"); + param.StartDate = startDate; + param.EndDate = endDate; + } var Data = arrangeLessonTermIBLL.GetTimeTableInEducation("", "", "", "", ""); if (param.Description == "学生") { @@ -253,7 +263,7 @@ namespace Learun.Application.WebApi.Modules } ; var result = new - { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", weekList = formatData }; + { schoolName = "课程表", semester = $"{strAcademicYear}学年度 第{strSemester}学期", startDate = startDate, endDate = endDate, weekList = formatData }; return Success(result); }