diff --git a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Learun.Application.WebApi.csproj b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Learun.Application.WebApi.csproj index d5d2a289a..20ea5b435 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Learun.Application.WebApi.csproj +++ b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Learun.Application.WebApi.csproj @@ -223,6 +223,7 @@ + diff --git a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/StuLeaveManagementApi.cs b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/StuLeaveManagementApi.cs new file mode 100644 index 000000000..ec6947c2d --- /dev/null +++ b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/Modules/StuLeaveManagementApi.cs @@ -0,0 +1,204 @@ +using Nancy; +using Learun.Util; +using System.Collections.Generic; +using Learun.Application.TwoDevelopment.EducationalAdministration; +using static Learun.Application.WebApi.Modules.StuInfoFreshApi; +using System; +using System.IO; +using System.Linq; +using Learun.Application.Base.SystemModule; +using Learun.Application.OA; +using Learun.Application.OA.File.FileInfo; +using Learun.Application.TwoDevelopment.LogisticsManagement; +using Learun.Application.TwoDevelopment.LR_Desktop; +using Learun.Application.WorkFlow; +using Microsoft.Ajax.Utilities; + +namespace Learun.Application.WebApi +{ + ///2022.11.14 + /// + /// 学生请假 + /// + + public class StuLeaveManagementApi : BaseApi + { + + private StuLeaveManagementIBLL stuLeaveManagementIBLL = new StuLeaveManagementBLL(); + + /// + /// 注册接口 + /// + public StuLeaveManagementApi() + : base("/Learun/adms/EducationalAdministration/StuLeaveManagement") + { + Get["/pagelist"] = GetPageList; + Get["/form"] = GetForm; + Post["/delete"] = DeleteForm; + Post["/save"] = SaveForm; + + //判断是否可以审核 + Get["/ischeck"] = IsCheck; + //学生请假--教师审核列表 + Get["/checkpagelist"] = GetCheckPageList; + //审核学生请假 + Post["/savecheck"] = SaveCheckForm; + + } + #region 获取数据 + + /// + /// 获取页面显示列表分页数据 + /// + /// + /// + public Response GetPageList(dynamic _) + { + ReqPageParam parameter = this.GetReqData(); + var data = stuLeaveManagementIBLL.GetPageList(parameter.pagination, parameter.queryJson); + var jsonData = new + { + rows = data, + total = parameter.pagination.total, + page = parameter.pagination.page, + records = parameter.pagination.records + }; + return Success(jsonData); + } + /// + /// 学生请假--教师审核列表 + /// + /// + /// + public Response GetCheckPageList(dynamic _) + { + ReqPageParam parameter = this.GetReqData(); + var data = stuLeaveManagementIBLL.GetCheckPageList(parameter.pagination, parameter.queryJson); + var jsonData = new + { + rows = data, + total = parameter.pagination.total, + page = parameter.pagination.page, + records = parameter.pagination.records + }; + return Success(jsonData); + } + /// + /// 获取表单数据 + /// + /// + /// + public Response GetForm(dynamic _) + { + string keyValue = this.GetReqData(); + var StuLeaveManagementData = stuLeaveManagementIBLL.GetStuLeaveManagementEntity(keyValue); + var jsonData = new + { + StuLeaveManagement = StuLeaveManagementData, + }; + return Success(jsonData); + } + + + #endregion + + #region 提交数据 + + /// + /// 删除实体数据 + /// + /// + /// + public Response DeleteForm(dynamic _) + { + string keyValue = this.GetReqData(); + stuLeaveManagementIBLL.DeleteEntity(keyValue); + return Success("删除成功!"); + } + /// + /// 保存实体数据(新增、修改) + /// + /// + /// + public Response SaveForm(dynamic _) + { + var loginInfo = LoginUserInfo.Get(); + ReqFormEntity parameter = this.GetReqData(); + StuLeaveManagementEntity entity = parameter.strEntity.ToObject(); + if (string.IsNullOrEmpty(parameter.keyValue)) + { + entity.CreateUserId = loginInfo.userId; + entity.CreateUserNo = loginInfo.account; + entity.CreateTime = DateTime.Now; + } + stuLeaveManagementIBLL.SaveEntity(parameter.keyValue, entity); + return Success("保存成功!"); + } + + /// + /// 判断是否可以审核 + /// + /// + /// + public Response IsCheck(dynamic _) + { + string keyValue = this.GetReqData(); + var stuLeaveManagementData = stuLeaveManagementIBLL.GetStuLeaveManagementEntity(keyValue); + bool isDeptDirector = false; //登录用户是否是系主任标识 + var deptDirectorRoleId = Config.GetValue("DeptDirectorRoleId"); + var loginInfoRoleIds = LoginUserInfo.Get().roleIds; + if (loginInfoRoleIds.IndexOf(',') == -1) + { + if (loginInfoRoleIds == deptDirectorRoleId) + { + isDeptDirector = true; + } + } + else + { + if (loginInfoRoleIds.Split(',').Contains(deptDirectorRoleId)) + { + isDeptDirector = true; + } + } + if (stuLeaveManagementData.LeaveDay > 2 && !isDeptDirector) + { + return Fail("该请假申请大于2天,需要由系主任审核!"); + } + + return Success(""); + } + + /// + /// 审核学生请假 + /// + /// + /// + public Response SaveCheckForm(dynamic _) + { + var loginInfo = LoginUserInfo.Get(); + ReqFormEntity parameter = this.GetReqData(); + StuLeaveManagementEntity entity = parameter.strEntity.ToObject(); + entity.CheckUserId = loginInfo.userId; + entity.CheckUserNo = loginInfo.account; + entity.CheckTime = DateTime.Now; + stuLeaveManagementIBLL.SaveEntity(parameter.keyValue, entity); + return Success("保存成功!"); + } + #endregion + + #region 私有类 + + /// + /// 表单实体类 + /// + private class ReqFormEntity + { + public string keyValue { get; set; } + public string strEntity { get; set; } + } + #endregion + + } + +} \ No newline at end of file diff --git a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/XmlConfig/system.config b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/XmlConfig/system.config index 581b1ba5f..2c9fc01e6 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.WebApi/XmlConfig/system.config +++ b/Learun.Framework.Ultimate V7/Learun.Application.WebApi/XmlConfig/system.config @@ -107,5 +107,7 @@ + + \ No newline at end of file diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuLeaveManagement/StuLeaveManagementBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuLeaveManagement/StuLeaveManagementBLL.cs index 4aef237d6..334a03297 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuLeaveManagement/StuLeaveManagementBLL.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuLeaveManagement/StuLeaveManagementBLL.cs @@ -43,6 +43,31 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration } } + /// + /// 学生请假教师审核列表 + /// + /// + /// + /// + public IEnumerable GetCheckPageList(Pagination pagination, string queryJson) + { + try + { + return stuLeaveManagementService.GetCheckPageList(pagination, queryJson); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowBusinessException(ex); + } + } + } + /// /// 获取StuLeaveManagement表实体数据 /// @@ -90,7 +115,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration } } } - #endregion #region 提交数据 @@ -142,7 +166,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration } } } - /// /// 提交实体数据 /// @@ -212,5 +235,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration } } } + } } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuLeaveManagement/StuLeaveManagementIBLL.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuLeaveManagement/StuLeaveManagementIBLL.cs index 3ba13f447..201589595 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuLeaveManagement/StuLeaveManagementIBLL.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/StuLeaveManagement/StuLeaveManagementIBLL.cs @@ -21,13 +21,13 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration /// 查询参数 /// IEnumerable GetPageList(Pagination pagination, string queryJson); + IEnumerable GetCheckPageList(Pagination pagination, string queryJson); /// /// 获取StuLeaveManagement表实体数据 /// /// 主键 /// StuLeaveManagementEntity GetStuLeaveManagementEntity(string keyValue); - /// /// 获取主表实体数据 /// @@ -49,7 +49,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration /// 主键 /// 实体 void SaveEntity(string keyValue, StuLeaveManagementEntity entity); - /// /// 提交实体数据 /// @@ -64,5 +63,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration #endregion int Num(string CreateUserNo); + } } 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 48da054f0..ee05327da 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 @@ -31,11 +31,8 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration try { var strSql = new StringBuilder(); - strSql.Append("SELECT t.*,s.StuName as CreateUserName "); - //strSql.Append("SELECT t.*,s.StuName as CreateUserName,s.ClassNo,s.DeptNo,s.MajorNo,c.ClassDiredctorNo,c.ClassTutorNo "); - strSql.Append(" FROM StuLeaveManagement t "); - strSql.Append(" left join StuInfoBasic s on t.CreateUserNo=s.StuNo "); - //strSql.Append(" left join ClassInfo c on s.ClassNo=c.ClassNo "); + strSql.Append("SELECT t.*,s.StuName as CreateUserName,s.ClassNo,s.DeptNo,s.MajorNo,c.ClassDiredctorNo,c.ClassTutorNo "); + strSql.Append(" FROM StuLeaveManagement t left join StuInfoBasic s on t.CreateUserNo=s.StuNo left join ClassInfo c on s.ClassNo=c.ClassNo "); strSql.Append(" WHERE 1=1 "); var queryParam = queryJson.ToJObject(); // 虚拟参数 @@ -56,43 +53,124 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration strSql.Append(" AND t.CreateUserNo = @StuNo "); } //班级班主任/辅导员/系主任 - //if (!queryParam["ClassManagerNo"].IsEmpty()) - //{ - // dp.Add("ClassManagerNo", queryParam["ClassManagerNo"].ToString(), DbType.String); - // strSql.Append(" AND (c.ClassDiredctorNo = @ClassManagerNo or c.ClassTutorNo = @ClassManagerNo "); - // //登录用户是否是系主任:若是,展示大于2天的请假记录; - // var deptDirectorRoleId = Config.GetValue("DeptDirectorRoleId"); - // if (deptDirectorRoleId != null) - // { - // var loginInfoRoleIds = LoginUserInfo.Get().roleIds; - // if (loginInfoRoleIds.IndexOf(',') == -1) - // { - // if (loginInfoRoleIds == deptDirectorRoleId) - // { - // strSql.Append(" or t.LeaveDay>2 )"); - // } - // else - // { - // strSql.Append(" ) "); - // } - // } - // else - // { - // if (loginInfoRoleIds.Split(',').Contains(deptDirectorRoleId)) - // { - // strSql.Append(" or t.LeaveDay>2 )"); - // } - // else - // { - // strSql.Append(" ) "); - // } - // } - // } - // else - // { - // strSql.Append(" ) "); - // } - //} + if (!queryParam["ClassManagerNo"].IsEmpty()) + { + dp.Add("ClassManagerNo", queryParam["ClassManagerNo"].ToString(), DbType.String); + strSql.Append(" AND (c.ClassDiredctorNo = @ClassManagerNo or c.ClassTutorNo = @ClassManagerNo "); + //登录用户是否是系主任:若是,展示大于2天的请假记录; + var deptDirectorRoleId = Config.GetValue("DeptDirectorRoleId"); + if (deptDirectorRoleId != null) + { + var loginInfoRoleIds = LoginUserInfo.Get().roleIds; + if (loginInfoRoleIds.IndexOf(',') == -1) + { + if (loginInfoRoleIds == deptDirectorRoleId) + { + strSql.Append(" or t.LeaveDay>2 )"); + } + else + { + strSql.Append(" ) "); + } + } + else + { + if (loginInfoRoleIds.Split(',').Contains(deptDirectorRoleId)) + { + strSql.Append(" or t.LeaveDay>2 )"); + } + else + { + strSql.Append(" ) "); + } + } + } + else + { + strSql.Append(" ) "); + } + } + return this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp, pagination); + } + catch (Exception ex) + { + if (ex is ExceptionEx) + { + throw; + } + else + { + throw ExceptionEx.ThrowServiceException(ex); + } + } + } + + + public IEnumerable GetCheckPageList(Pagination pagination, string queryJson) + { + try + { + var strSql = new StringBuilder(); + strSql.Append("SELECT t.*,s.StuName as CreateUserName,s.ClassNo,s.DeptNo,s.MajorNo,c.ClassDiredctorNo,c.ClassTutorNo "); + strSql.Append(" FROM StuLeaveManagement t left join StuInfoBasic s on t.CreateUserNo=s.StuNo left join ClassInfo c on s.ClassNo=c.ClassNo "); + strSql.Append(" WHERE 1=1 "); + var queryParam = queryJson.ToJObject(); + // 虚拟参数 + var dp = new DynamicParameters(new { }); + if (!queryParam["LeaveType"].IsEmpty()) + { + 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); + strSql.Append(" AND t.CheckStatus = @CheckStatus "); + } + if (!queryParam["StuNo"].IsEmpty()) + { + dp.Add("StuNo", queryParam["StuNo"].ToString(), DbType.String); + strSql.Append(" AND t.CreateUserNo = @StuNo "); + } + //班级班主任/辅导员/系主任 + var ClassManagerNo = LoginUserInfo.Get().account; + if (!string.IsNullOrEmpty(ClassManagerNo)) + { + dp.Add("ClassManagerNo", ClassManagerNo, DbType.String); + strSql.Append(" AND (c.ClassDiredctorNo = @ClassManagerNo or c.ClassTutorNo = @ClassManagerNo "); + //登录用户是否是系主任:若是,展示大于2天的请假记录; + var deptDirectorRoleId = Config.GetValue("DeptDirectorRoleId"); + if (deptDirectorRoleId != null) + { + var loginInfoRoleIds = LoginUserInfo.Get().roleIds; + if (loginInfoRoleIds.IndexOf(',') == -1) + { + if (loginInfoRoleIds == deptDirectorRoleId) + { + strSql.Append(" or t.LeaveDay>2 )"); + } + else + { + strSql.Append(" ) "); + } + } + else + { + if (loginInfoRoleIds.Split(',').Contains(deptDirectorRoleId)) + { + strSql.Append(" or t.LeaveDay>2 )"); + } + else + { + strSql.Append(" ) "); + } + } + } + else + { + strSql.Append(" ) "); + } + } return this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp, pagination); } catch (Exception ex) @@ -117,7 +195,25 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration { try { - return this.BaseRepository("CollegeMIS").FindEntity(keyValue); + var data = this.BaseRepository("CollegeMIS").FindEntity(keyValue); + if (data != null) + { + var studentlist = this.BaseRepository("CollegeMIS").FindList(x => x.StuNo == data.CreateUserNo).FirstOrDefault(); + if (studentlist != null) + { + data.DeptNo = studentlist.DeptNo; + data.MajorNo = studentlist.MajorNo; + data.ClassNo = studentlist.ClassNo; + data.CreateUserName = studentlist.StuName; + } + var classlist = this.BaseRepository("CollegeMIS").FindList(x =>x.ClassNo == data.ClassNo).FirstOrDefault(); + if (classlist!=null) + { + data.ClassDiredctorNo = classlist.ClassDiredctorNo; + data.ClassTutorNo = classlist.ClassTutorNo; + } + } + return data; } catch (Exception ex) { @@ -155,7 +251,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration } } } - #endregion #region 提交数据 @@ -190,21 +285,147 @@ 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 = this.BaseRepository("CollegeMIS").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,b.GenderNo 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 = this.BaseRepository("CollegeMIS").FindList(); + var majorList = this.BaseRepository("CollegeMIS").FindList(); + var classInfoList = this.BaseRepository("CollegeMIS").FindList(); + var classRoomList = this.BaseRepository("CollegeMIS").FindList().ToList(); + var lessonSortList = this.BaseRepository("CollegeMIS").FindList().ToList(); + foreach (var arrangeLessonTerm in arrangeLessonTermList) + { + StuAttendanceLeaveEntity stuAttendanceLeave = new StuAttendanceLeaveEntity(); + 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 = lessonSortList.Find(m => m.LessonSortNo == arrangeLessonTerm.LessonSortNo)?.LessonSortName; + stuAttendanceLeave.LessonDate = arrangeLessonTerm.LessonDate; + stuAttendanceLeave.LessonTime = arrangeLessonTerm.LessonTime; + stuAttendanceLeave.LeaveType = entity.LeaveType; + stuAttendanceLeave.EmpNo = arrangeLessonTerm.EmpNo; + stuAttendanceLeave.TecRemark = "按天请假"; + stuAttendanceLeave.UpdateDate = DateTime.Now; + stuAttendanceLeave.IsCheck = "1"; + stuAttendanceLeave.ClassRoomNo = arrangeLessonTerm.ClassroomNo; + stuAttendanceLeave.ClassRoomName = classRoomList.FirstOrDefault(x => x.ClassroomNo == arrangeLessonTerm.ClassroomNo)?.ClassroomName; + //去重 + var isExistModel = this.BaseRepository("CollegeMIS").FindEntity(x => + x.AcademicYearNo == stuAttendanceLeave.AcademicYearNo && x.Semester == stuAttendanceLeave.Semester && + x.StuNo == stuAttendanceLeave.StuNo &&x.LessonNo == stuAttendanceLeave.LessonNo && x.TeachClassNo == stuAttendanceLeave.TeachClassNo && + x.LessonSortNo == stuAttendanceLeave.LessonSortNo &&x.LessonDate == stuAttendanceLeave.LessonDate && x.LessonTime == stuAttendanceLeave.LessonTime && + x.EmpNo == stuAttendanceLeave.EmpNo &&x.ClassRoomNo == stuAttendanceLeave.ClassRoomNo + ); + if (isExistModel!=null) + { + stuAttendanceLeave.Modify(isExistModel.ID); + db.Update(stuAttendanceLeave); + } + else + { + stuAttendanceLeave.Create(); + db.Insert(stuAttendanceLeave); + } + + //学生考勤 + StuAttendanceEntity stuAttendanceEntity = new StuAttendanceEntity(); + stuAttendanceEntity.AcademicYearNo = arrangeLessonTerm.AcademicYearNo; + stuAttendanceEntity.Semester = arrangeLessonTerm.Semester; + stuAttendanceEntity.StuNo = model.CreateUserNo; + //stuAttendanceEntity.StuName = arrangeLessonTerm.StuName; + //stuAttendanceEntity.Gender = arrangeLessonTerm.GenderNo.ToLower()=="true"?"男":"女"; + //stuAttendanceEntity.Grade = arrangeLessonTerm.Grade; + stuAttendanceEntity.DeptNo = arrangeLessonTerm.DeptNo; + stuAttendanceEntity.DeptName = deptList.Where(x => x.DeptNo == arrangeLessonTerm.DeptNo) + .FirstOrDefault()?.DeptName; + stuAttendanceEntity.MajorNo = arrangeLessonTerm.MajorNo; + stuAttendanceEntity.MajorName = majorList.Where(x => x.MajorNo == arrangeLessonTerm.MajorNo).FirstOrDefault()?.MajorName; + stuAttendanceEntity.ClassNo = arrangeLessonTerm.TeachClassNo; + stuAttendanceEntity.ClassName = classInfoList + .Where(x => x.ClassNo == arrangeLessonTerm.TeachClassNo).FirstOrDefault()?.ClassName; + stuAttendanceEntity.LessonNo = arrangeLessonTerm.LessonNo; + stuAttendanceEntity.LessonName = arrangeLessonTerm.LessonName; + stuAttendanceEntity.TeachClassNo = arrangeLessonTerm.TeachClassNo; + stuAttendanceEntity.LessonSortNo = arrangeLessonTerm.LessonSortNo; + stuAttendanceEntity.LessonSortName = lessonSortList.Find(m => m.LessonSortNo == arrangeLessonTerm.LessonSortNo)?.LessonSortName; + stuAttendanceEntity.LessonDate = arrangeLessonTerm.LessonDate; + stuAttendanceEntity.PlanWeek = null; + stuAttendanceEntity.LessonTime = arrangeLessonTerm.LessonTime; + stuAttendanceEntity.AttendOrNo = "否"; + stuAttendanceEntity.Sort = Convert.ToInt32(entity.LeaveType) == 2 ? "病假" : "事假"; + stuAttendanceEntity.EmpNo = arrangeLessonTerm.EmpNo; + stuAttendanceEntity.Remark = "按天请假"; + stuAttendanceEntity.CheckMarkDept = ""; + stuAttendanceEntity.CheckMark = ""; + stuAttendanceEntity.InertDate = DateTime.Now; + stuAttendanceEntity.ClassRoomNo = arrangeLessonTerm.ClassroomNo; + stuAttendanceEntity.ClassRoomName = classRoomList.FirstOrDefault(x => x.ClassroomNo == arrangeLessonTerm.ClassroomNo)?.ClassroomName; + //去重 + var isExistModel2 = this.BaseRepository("CollegeMIS").FindEntity(x => + x.AcademicYearNo == stuAttendanceEntity.AcademicYearNo && x.Semester == stuAttendanceEntity.Semester && x.StuNo == stuAttendanceEntity.StuNo && + x.LessonNo == stuAttendanceEntity.LessonNo && x.TeachClassNo == stuAttendanceEntity.TeachClassNo && x.LessonSortNo == stuAttendanceEntity.LessonSortNo && + x.LessonDate == stuAttendanceEntity.LessonDate && x.LessonTime == stuAttendanceEntity.LessonTime && x.EmpNo == stuAttendanceEntity.EmpNo && x.ClassRoomNo == stuAttendanceEntity.ClassRoomNo); + if (isExistModel2 != null) + { + stuAttendanceEntity.Modify(isExistModel2.ID); + db.Update(stuAttendanceEntity); + } + else + { + stuAttendanceEntity.Create(); + db.Insert(stuAttendanceEntity); + } + + } + } } else { entity.Create(); - this.BaseRepository("CollegeMIS").Insert(entity); + db.Insert(entity); } + + db.Commit(); } catch (Exception ex) { + db.Rollback(); if (ex is ExceptionEx) { throw; @@ -293,5 +514,6 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration throw; } } + } } 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 c4699cd22..aca079a58 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages.json +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages.json @@ -886,6 +886,25 @@ "navigationBarTitleText": "学生签到" } }, + // 按天请假管理 + { + "path": "pages/EducationalAdministration/StuLeaveManagement/list", + "style": { + "navigationBarTitleText": "按天请假管理" + } + }, + { + "path": "pages/EducationalAdministration/StuLeaveManagement/single", + "style": { + "navigationBarTitleText": "详情" + } + }, + { + "path": "pages/EducationalAdministration/StuLeaveManagement/Check/list", + "style": { + "navigationBarTitleText": "学生按天请假审核" + } + }, //教学工作量 { "path": "pages/TeacherWorkload/list", diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuLeaveManagement/Check/list.vue b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuLeaveManagement/Check/list.vue new file mode 100644 index 000000000..4c86865a2 --- /dev/null +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuLeaveManagement/Check/list.vue @@ -0,0 +1,503 @@ + + + + + + + diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuLeaveManagement/Check/single.vue b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuLeaveManagement/Check/single.vue new file mode 100644 index 000000000..4ce7433c1 --- /dev/null +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuLeaveManagement/Check/single.vue @@ -0,0 +1,358 @@ + + + + + + diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuLeaveManagement/list.vue b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuLeaveManagement/list.vue new file mode 100644 index 000000000..17ce388f0 --- /dev/null +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuLeaveManagement/list.vue @@ -0,0 +1,484 @@ + + + + + + + diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuLeaveManagement/single.vue b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuLeaveManagement/single.vue new file mode 100644 index 000000000..98c73f83d --- /dev/null +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EducationalAdministration/StuLeaveManagement/single.vue @@ -0,0 +1,382 @@ + + + + + +