From 15d077f2011f61318586855dceff288c6f2754ad Mon Sep 17 00:00:00 2001 From: lb01 Date: Tue, 15 Nov 2022 16:34:27 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AD=A6=E7=94=9F=E8=AF=BE=E8=A1=A8?= =?UTF-8?q?=E8=AF=B7=E5=81=87=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LearunApp-2.2.0/pages.json | 6 + .../IndexInStudent/list.vue | 453 ++++++++++++++++++ 2 files changed, 459 insertions(+) create mode 100644 Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuAttendanceLeave/IndexInStudent/list.vue diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages.json b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages.json index afa43999c..fd3dc1203 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages.json +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages.json @@ -585,6 +585,12 @@ "navigationBarTitleText": "审核" } }, + { + "path": "pages/EducationalAdministration/StuAttendanceLeave/IndexInStudent/list", + "style": { + "navigationBarTitleText": "课表请假管理" + } + }, //疫情详细信息 { "path": "pages/PersonnelManagement/ContactsDetails/list", diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuAttendanceLeave/IndexInStudent/list.vue b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuAttendanceLeave/IndexInStudent/list.vue new file mode 100644 index 000000000..40d5c2d9f --- /dev/null +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuAttendanceLeave/IndexInStudent/list.vue @@ -0,0 +1,453 @@ + + + + + + + \ No newline at end of file From 6529e05a7a119e682f555fd843e959208f184c91 Mon Sep 17 00:00:00 2001 From: zhangli <1109134334@qq.com> Date: Tue, 15 Nov 2022 16:53:54 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=AD=A6=E7=94=9F=E8=AF=B7=E5=81=87?= =?UTF-8?q?=E5=AE=A1=E6=A0=B8=E9=80=9A=E8=BF=87=E5=90=8E=EF=BC=8C=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=AD=A6=E7=94=9F=E8=AF=BE=E8=A1=A8=E8=AF=B7=E5=81=87?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modules/StuLeaveManagementApi.cs | 7 +- .../ArrangeLessonTermEntity.cs | 3 + .../StuLeaveManagementService.cs | 68 +++++++++++++++++-- 3 files changed, 70 insertions(+), 8 deletions(-) diff --git a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/StuLeaveManagementApi.cs b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/StuLeaveManagementApi.cs index e66e6b3f2..5546c6a1f 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/StuLeaveManagementApi.cs +++ b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/StuLeaveManagementApi.cs @@ -36,11 +36,14 @@ namespace Learun.Application.WebApi Get["/form"] = GetForm; Post["/delete"] = DeleteForm; Post["/save"] = SaveForm; - //审核学生请假 - Post["/savecheck"] = SaveCheckForm; + //判断是否可以审核 + Get["/ischeck"] = IsCheck; //学生请假--教师审核列表 Get["/checkpagelist"] = GetCheckPageList; + //审核学生请假 + Post["/savecheck"] = SaveCheckForm; + } #region 获取数据 diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermEntity.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermEntity.cs index c119ffef3..5bafb28a7 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermEntity.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTerm/ArrangeLessonTermEntity.cs @@ -157,6 +157,9 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration /// [NotMapped] public string SyncType { get; set; } + [NotMapped] public string StuName { get; set; } + [NotMapped] public string Grade { get; set; } + #endregion #region 扩展操作 diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuLeaveManagement/StuLeaveManagementService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuLeaveManagement/StuLeaveManagementService.cs index 10968868c..400edee4b 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuLeaveManagement/StuLeaveManagementService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuLeaveManagement/StuLeaveManagementService.cs @@ -39,12 +39,12 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration var dp = new DynamicParameters(new { }); if (!queryParam["LeaveType"].IsEmpty()) { - dp.Add("LeaveType",queryParam["LeaveType"].ToString(), DbType.String); + dp.Add("LeaveType", queryParam["LeaveType"].ToString(), DbType.String); strSql.Append(" AND t.LeaveType = @LeaveType "); } if (!queryParam["CheckStatus"].IsEmpty()) { - dp.Add("CheckStatus",queryParam["CheckStatus"].ToString(), DbType.String); + dp.Add("CheckStatus", queryParam["CheckStatus"].ToString(), DbType.String); strSql.Append(" AND t.CheckStatus = @CheckStatus "); } if (!queryParam["StuNo"].IsEmpty()) @@ -90,7 +90,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration strSql.Append(" ) "); } } - return this.BaseRepository("CollegeMIS").FindList(strSql.ToString(),dp, pagination); + return this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp, pagination); } catch (Exception ex) { @@ -222,7 +222,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration { try { - this.BaseRepository("CollegeMIS").Delete(t=>t.Id == keyValue); + this.BaseRepository("CollegeMIS").Delete(t => t.Id == keyValue); } catch (Exception ex) { @@ -244,21 +244,77 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration /// 实体 public void SaveEntity(string keyValue, StuLeaveManagementEntity entity) { + var db = this.BaseRepository("CollegeMIS"); try { + db.BeginTrans(); if (!string.IsNullOrEmpty(keyValue)) { entity.Modify(keyValue); - this.BaseRepository("CollegeMIS").Update(entity); + db.Update(entity); + + if (entity.CheckStatus.Trim() == "1" && entity.StartTime != null) + { + //请假审核通过后,该学生的对应日期的课表改为请假 + var model = db.FindList( + $"select * from StuLeaveManagement where Id='{keyValue}'").FirstOrDefault(); + //请假开始时间和结束时间 + var startTime = Convert.ToDateTime(model.StartTime?.ToString("yyyy-MM-dd") + " 00:00:00"); + var endTime = Convert.ToDateTime(model.EndTime?.ToString("yyyy-MM-dd") + " 23:59:59"); + + //排课数据 + var arrangeLessonTermList = db.FindList($@"select a.*,b.StuName,b.Grade from [dbo].[ArrangeLessonTerm] a +join stuinfobasic b on a.teachclassno=b.classno +where b.stuno='{model.CreateUserNo}' +and a.lessondate between '{startTime}' and '{endTime}'"); + + var deptList = db.FindList(); + var majorList = db.FindList(); + var classInfoList = db.FindList(); + foreach (var arrangeLessonTerm in arrangeLessonTermList) + { + StuAttendanceLeaveEntity stuAttendanceLeave = new StuAttendanceLeaveEntity(); + stuAttendanceLeave.Create(); + stuAttendanceLeave.AcademicYearNo = arrangeLessonTerm.AcademicYearNo; + stuAttendanceLeave.Semester = arrangeLessonTerm.Semester; + stuAttendanceLeave.StuNo = model.CreateUserNo; + stuAttendanceLeave.StuName = arrangeLessonTerm.StuName; + stuAttendanceLeave.Grade = arrangeLessonTerm.Grade; + stuAttendanceLeave.DeptNo = arrangeLessonTerm.DeptNo; + stuAttendanceLeave.DeptName = deptList.Where(x => x.DeptNo == arrangeLessonTerm.DeptNo) + .FirstOrDefault()?.DeptName; + stuAttendanceLeave.MajorNo = arrangeLessonTerm.MajorNo; + stuAttendanceLeave.MajorName = majorList.Where(x => x.MajorNo == arrangeLessonTerm.MajorNo) + .FirstOrDefault()?.MajorName; + stuAttendanceLeave.ClassNo = arrangeLessonTerm.TeachClassNo; + stuAttendanceLeave.ClassName = classInfoList + .Where(x => x.ClassNo == arrangeLessonTerm.TeachClassNo).FirstOrDefault()?.ClassName; + stuAttendanceLeave.LessonNo = arrangeLessonTerm.LessonNo; + stuAttendanceLeave.LessonName = arrangeLessonTerm.LessonName; + stuAttendanceLeave.TeachClassNo = arrangeLessonTerm.TeachClassNo; + stuAttendanceLeave.LessonSortNo = arrangeLessonTerm.LessonSortNo; + //stuAttendanceLeave.LessonSortName = arrangeLessonTerm.LessonSortName; + stuAttendanceLeave.LessonDate = arrangeLessonTerm.LessonDate; + stuAttendanceLeave.LessonTime = arrangeLessonTerm.LessonTime; + stuAttendanceLeave.LeaveType = "1"; + stuAttendanceLeave.EmpNo = arrangeLessonTerm.EmpNo; + stuAttendanceLeave.ClassRoomNo = arrangeLessonTerm.ClassroomNo; + + db.Insert(stuAttendanceLeave); + } + } } else { entity.Create(); - this.BaseRepository("CollegeMIS").Insert(entity); + db.Insert(entity); } + + db.Commit(); } catch (Exception ex) { + db.Rollback(); if (ex is ExceptionEx) { throw;