using Dapper; using Learun.DataBase.Repository; using Learun.Util; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; namespace Learun.Application.TwoDevelopment.EducationalAdministration { /// /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园 /// Copyright (c) 2013-2018 北京泉江科技有限公司 /// 创 建:超级管理员 /// 日 期:2019-05-14 10:02 /// 描 述:选修课课程信息 /// public class OpenLessonPlanOfElectiveService : RepositoryFactory { #region 获取数据 /// /// 获取页面显示列表数据 /// /// 查询参数 /// public IEnumerable GetPageList(Pagination pagination, string queryJson) { try { var strSql = new StringBuilder(); strSql.Append("SELECT t.* "); strSql.Append(" FROM OpenLessonPlanOfElective t "); strSql.Append(" WHERE 1=1 and Id not in(select OLPOEId from ElectiveMergeItem)"); var queryParam = queryJson.ToJObject(); // 虚拟参数 var dp = new DynamicParameters(new { }); if (!queryParam["AcademicYearNo"].IsEmpty()) { dp.Add("AcademicYearNo", "%" + queryParam["AcademicYearNo"].ToString() + "%", DbType.String); strSql.Append(" AND t.AcademicYearNo Like @AcademicYearNo "); } if (!queryParam["Semester"].IsEmpty()) { dp.Add("Semester", queryParam["Semester"].ToString(), DbType.String); strSql.Append(" AND t.Semester = @Semester "); } if (!queryParam["LessonNo"].IsEmpty()) { dp.Add("LessonNo", queryParam["LessonNo"].ToString(), DbType.String); strSql.Append(" AND t.LessonNo = @LessonNo "); } if (!queryParam["LessonName"].IsEmpty()) { dp.Add("LessonName", "%" + queryParam["LessonName"].ToString() + "%", DbType.String); strSql.Append(" AND t.LessonName Like @LessonName "); } if (pagination != null) { return this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp, pagination); } else { return this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp); } } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 选修成绩比例设置 /// /// 查询参数 /// public IEnumerable GetPageListElective(Pagination pagination, string queryJson) { try { var basedbname = BaseRepository().getDbConnection().Database; var strSql = new StringBuilder(); strSql.Append("select t.*,c.F_FullName as F_School from OpenLessonPlanOfElective t "); strSql.Append(" left join " + basedbname + ".dbo.LR_Base_Company c on t.F_SchoolId=c.f_CompanyId "); strSql.Append(" WHERE 1=1 "); var queryParam = queryJson.ToJObject(); // 虚拟参数 var dp = new DynamicParameters(new { }); if (!queryParam["F_SchoolId"].IsEmpty()) { dp.Add("F_SchoolId", queryParam["F_SchoolId"].ToString(), DbType.String); strSql.Append(" AND t.F_SchoolId = @F_SchoolId "); } if (!queryParam["F_School"].IsEmpty()) { dp.Add("F_School", "%" + queryParam["F_School"].ToString() + "%", DbType.String); strSql.Append(" AND c.F_FullName Like @F_School "); } if (!queryParam["AcademicYearNo"].IsEmpty()) { dp.Add("AcademicYearNo", queryParam["AcademicYearNo"].ToString(), DbType.String); strSql.Append(" AND t.AcademicYearNo = @AcademicYearNo "); } if (!queryParam["Semester"].IsEmpty()) { dp.Add("Semester", queryParam["Semester"].ToString(), DbType.String); strSql.Append(" AND t.Semester = @Semester "); } if (!queryParam["Grade"].IsEmpty()) { dp.Add("Grade", queryParam["Grade"].ToString(), DbType.String); strSql.Append(" AND t.Grade = @Grade "); } if (!queryParam["DeptNo"].IsEmpty()) { dp.Add("DeptNo", queryParam["DeptNo"].ToString(), DbType.String); strSql.Append(" AND t.DeptNo = @DeptNo "); } if (!queryParam["DeptName"].IsEmpty()) { dp.Add("DeptName", "%" + queryParam["DeptName"].ToString() + "%", DbType.String); strSql.Append(" AND d.DeptName Like @DeptName "); } if (!queryParam["MajorNo"].IsEmpty()) { dp.Add("MajorNo", queryParam["MajorNo"].ToString(), DbType.String); strSql.Append(" AND t.MajorNo = @MajorNo "); } if (!queryParam["MajorName"].IsEmpty()) { dp.Add("MajorName", "%" + queryParam["MajorName"].ToString() + "%", DbType.String); strSql.Append(" AND m.MajorName Like @MajorName "); } if (!queryParam["LessonNo"].IsEmpty()) { dp.Add("LessonNo", queryParam["LessonNo"].ToString(), DbType.String); strSql.Append(" AND t.LessonNo = @LessonNo "); } if (!queryParam["LessonName"].IsEmpty()) { dp.Add("LessonName", "%" + queryParam["LessonName"].ToString() + "%", DbType.String); strSql.Append(" AND t.LessonName Like @LessonName "); } if (!queryParam["EmpNo"].IsEmpty()) { dp.Add("EmpNo", "%" + queryParam["EmpNo"].ToString() + "%", DbType.String); strSql.Append(" AND t.EmpNo Like @EmpNo "); } if (!queryParam["ClassRoomNo"].IsEmpty()) { dp.Add("ClassRoomNo", "%" + queryParam["ClassRoomNo"].ToString() + "%", DbType.String); strSql.Append(" AND t.ClassRoomNo Like @ClassRoomNo "); } return this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp, pagination); } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 获取页面显示列表数据【学子在线-选课中心】 /// /// 查询参数 /// public IEnumerable GetPageListOfStudent(Pagination pagination, string queryJson) { try { var queryParam = queryJson.ToJObject(); // 虚拟参数 var dp = new DynamicParameters(new { }); //学号 if (!queryParam["StuNo"].IsEmpty()) { dp.Add("StuNo", queryParam["StuNo"].ToString(), DbType.String); } //教学工作安排中“选课”工作设置的学年学期 var now = DateTime.Now; var EADateArrangeEntityAboutElective = this.BaseRepository("CollegeMIS").FindEntity(x => x.WorkName == "选课" && x.MakeDate <= now && x.EndDate >= now && x.CheckMark == "1"); var strSql = new StringBuilder(); strSql.Append(@"select b.*,leif.LessonTypeId,c.StuNo,c.StuName,c.Status,cp.Status as StatusPre from ElectiveMajor a left join OpenLessonPlanOfElective b on a.OLPOEId=b.Id left join StuSelectLessonListOfElective c on b.Id=c.OLPEId and c.StuNo=@StuNo left join StuSelectLessonListOfElectivePre cp on b.Id=cp.OLPEId and cp.StuNo=@StuNo left join LessonInfo leif on b.LessonNo=leif.LessonNo where not exists ( "); //不显示与已选课程 相同课程名称相同教师的课程 strSql.Append(" select * from StuSelectLessonListOfElective s where s.AcademicYearNo='" + EADateArrangeEntityAboutElective?.AcademicYearNo + "' and s.Semester='" + EADateArrangeEntityAboutElective.Semester + "' and s.StuNo=@StuNo and s.Status <>3 and s.LessonName=b.LessonName and s.EmpNo=b.EmpNo and s.OLPEId!=b.Id "); strSql.Append(" ) "); strSql.Append(" and a.MajorId is not null and a.Grade is not null "); strSql.Append(" AND b.AcademicYearNo='" + EADateArrangeEntityAboutElective?.AcademicYearNo + "' and b.Semester='" + EADateArrangeEntityAboutElective?.Semester + "' "); if (!queryParam["StuMajorNo"].IsEmpty()) { dp.Add("StuMajorNo", queryParam["StuMajorNo"].ToString(), DbType.String); strSql.Append(" and a.MajorId=@StuMajorNo "); } else { strSql.Append(" and a.MajorId='' "); } if (!queryParam["StuGrade"].IsEmpty()) { dp.Add("StuGrade", queryParam["StuGrade"].ToString(), DbType.String); strSql.Append(" and a.Grade=@StuGrade "); } else { strSql.Append(" and a.Grade='' "); } //不显示与已选课程 相同课程名称的课程 //if (EADateArrangeEntityAboutElective != null) //{ // strSql.Append(" AND b.AcademicYearNo='" + EADateArrangeEntityAboutElective?.AcademicYearNo + "' and b.Semester='" + EADateArrangeEntityAboutElective?.Semester + "'"); // strSql.Append(" and b.LessonName not in(select LessonName from StuSelectLessonListOfElective where AcademicYearNo='" + EADateArrangeEntityAboutElective?.AcademicYearNo + "' and Semester='" + EADateArrangeEntityAboutElective?.Semester + "' and StuNo='" + queryParam["StuNo"].ToString() + "' and Status<>3)"); //} //else //{ // strSql.Append(" AND b.AcademicYearNo='' and b.Semester=''"); //} if (!queryParam["EmpName"].IsEmpty()) { dp.Add("EmpName", queryParam["EmpName"].ToString(), DbType.String); strSql.Append(" AND b.EmpName = @EmpName "); } if (!queryParam["LessonName"].IsEmpty()) { dp.Add("LessonName", "%" + queryParam["LessonName"].ToString() + "%", DbType.String); strSql.Append(" AND b.LessonName Like @LessonName "); } var list = this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp, pagination); foreach (var item in list) { //模式二:正式选课 var aa = this.BaseRepository("CollegeMIS").FindList(x => x.OLPEId == item.Id); //已报名人数 item.StuNumOfApply = aa.Where(x => (x.Status == 1 || x.Status == 2)).Count(); //模式一:预选课 var aaa = this.BaseRepository("CollegeMIS").FindList(x => x.OLPEId == item.Id); //已报名人数 item.StuNumOfApplyPre = aaa.Where(x => (x.Status == 1 || x.Status == 2)).Count(); } return list; } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 获取OpenLessonPlanOfElective表实体数据 /// 主键 /// /// public OpenLessonPlanOfElectiveEntity GetOpenLessonPlanOfElectiveEntity(string keyValue) { try { return this.BaseRepository("CollegeMIS").FindEntity(keyValue); } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 获取OpenLessonPlan表实体数据 /// 主键 /// /// public OpenLessonPlanOfElectiveEntity GetOpenLessonPlanEntityByJson(string queryJson) { try { var queryParam = queryJson.ToJObject(); var F_SchoolId = queryParam["F_SchoolId"].ToString(); var AcademicYearNo = queryParam["AcademicYearNo"].ToString(); var Semester = queryParam["Semester"].ToString(); var LessonNo = queryParam["LessonNo"].ToString(); var LessonSection =queryParam["LessonSection"].ToString(); var ClassRoomNo = queryParam["ClassRoomNo"].ToString(); var classInfoEntity = this.BaseRepository("CollegeMIS").FindEntity(x => x.ClassroomNo == ClassRoomNo); if (classInfoEntity == null) { return new OpenLessonPlanOfElectiveEntity(); } return this.BaseRepository("CollegeMIS").FindEntity(x => x.F_SchoolId == F_SchoolId && x.AcademicYearNo == AcademicYearNo && x.Semester == Semester && x.ClassRoomNo == classInfoEntity.ClassroomNo && x.LessonSection == LessonSection && x.LessonNo == LessonNo && x.LessonSortNo == "2"); } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 获取StuSelectLessonListEntity表实体数据 /// 主键 /// /// public StuSelectLessonListOfElectiveEntity GetStuSelectLessonListEntityByJson(string queryJson) { try { var queryParam = queryJson.ToJObject(); var F_SchoolId = queryParam["F_SchoolId"].ToString(); var AcademicYearNo = queryParam["AcademicYearNo"].ToString(); var Semester = queryParam["Semester"].ToString(); var LessonNo = queryParam["LessonNo"].ToString(); var LessonSection = queryParam["LessonSection"].ToString(); var ClassRoomNo = queryParam["ClassRoomNo"].ToString(); var classInfoEntity = this.BaseRepository("CollegeMIS").FindEntity(x => x.ClassroomNo == ClassRoomNo); if (classInfoEntity == null) { return new StuSelectLessonListOfElectiveEntity(); } return this.BaseRepository("CollegeMIS").FindEntity(x => x.F_SchoolId == F_SchoolId && x.AcademicYearNo == AcademicYearNo && x.Semester == Semester && x.LessonNo == LessonNo && x.LessonSortNo == "2" && x.ClassRoomNo == ClassRoomNo && x.LessonSection == LessonSection); } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } #endregion #region 提交数据 /// /// 删除实体数据 /// 主键 /// /// public void DeleteEntity(string keyValue) { try { this.BaseRepository("CollegeMIS").Delete(t => t.Id == keyValue); } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 保存实体数据(新增、修改) /// 主键 /// /// public void SaveEntity(string keyValue, OpenLessonPlanOfElectiveEntity entity) { try { if (!string.IsNullOrEmpty(keyValue)) { entity.Modify(keyValue); this.BaseRepository("CollegeMIS").Update(entity); } else { entity.Create(); this.BaseRepository("CollegeMIS").Insert(entity); } } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 添加选修课程、合班记录 /// /// /// public void AddForm(string keyValue, OpenLessonPlanOfElectiveEntity entity) { var db = this.BaseRepository("CollegeMIS"); try { db.BeginTrans(); var lesson = db.FindEntity(x => x.CheckMark == true && x.LessonNo == entity.LessonNo); entity.StudyScore = lesson.StudyScore; entity.Create(); db.Insert(entity); //添加选修合班记录 ElectiveMergeEntity emEntity = new ElectiveMergeEntity(); emEntity.Create(); emEntity.AcademicYearNo = entity.AcademicYearNo; emEntity.Semester = entity.Semester; emEntity.LessonId = lesson.LessonId; emEntity.LessonNo = entity.LessonNo; emEntity.LessonName = entity.LessonName; emEntity.F_SchoolId = LoginUserInfo.Get().companyId; db.Insert(emEntity); var lessonSection = entity.LessonSection.Split(','); for (int i = 0; i < lessonSection.Length; i++) { //合班明细 ElectiveMergeItemEntity emItemEntity = new ElectiveMergeItemEntity(); emItemEntity.Create(); emItemEntity.EmId = emEntity.EMId; emItemEntity.OLPOEId = entity.Id; emItemEntity.LessonSection = lessonSection[i]; emItemEntity.LessonTime = entity.LessonTime.Split(',')[i]; emItemEntity.EmpNo = entity.EmpNo; emItemEntity.EmpName = entity.EmpName; emItemEntity.ClassRoomNo = entity.ClassRoomNo; emItemEntity.ClassRoomName = entity.ClassRoomName; db.Insert(emItemEntity); } db.Commit(); } catch (Exception ex) { db.Rollback(); if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 保存实体数据(新增、修改) /// 主键 /// /// public void SaveFormOfElective(string keyValue, OpenLessonPlanOfElectiveEntity entity) { var db = this.BaseRepository("CollegeMIS").BeginTrans(); try { if (!string.IsNullOrEmpty(keyValue)) { //单个编辑 //entity.Modify(keyValue); //this.BaseRepository("CollegeMIS").Update(entity); //多个编辑 var keyValueArr = keyValue.Split(','); foreach (var item in keyValueArr) { var model = db.FindEntity(item); if (model != null) { model.OrdinaryScoreScale = entity.OrdinaryScoreScale; model.TermInScoreScale = entity.TermInScoreScale; model.TermEndScoreScale = entity.TermEndScoreScale; model.OtherScoreScale = entity.OtherScoreScale; model.IsAllowEdit = entity.IsAllowEdit; db.Update(model); //修改StuSelectLessonList中的比例 db.ExecuteBySql("update StuSelectLessonListOfElective set OrdinaryScoreScale=" + entity.OrdinaryScoreScale + ",TermInScoreScale=" + entity.TermInScoreScale + ",TermEndScoreScale=" + entity.TermEndScoreScale + ",OtherScoreScale=" + entity.OtherScoreScale + " where AcademicYearNo='" + model.AcademicYearNo + "' and Semester='" + model.Semester + "' and LessonNo='" + model.LessonNo + "' and LessonSortNo='" + model.LessonSortNo + "' "); //修改StuScore中的成绩 var beforeList = db.FindList(x => x.AcademicYearNo == model.AcademicYearNo && x.Semester == model.Semester && x.LessonNo == model.LessonNo && x.LessonSortNo == model.LessonSortNo); if (beforeList.Any()) { foreach (var stuScoreItem in beforeList) { if (stuScoreItem.Score != null) { stuScoreItem.Score = (stuScoreItem.OrdinaryScore * (model.OrdinaryScoreScale / 100) + stuScoreItem.TermInScore * (model.TermInScoreScale / 100) + stuScoreItem.TermEndScore * (model.TermEndScoreScale / 100) + stuScoreItem.OtherScore * (model.OtherScoreScale / 100)).ToDecimal(0); db.Update(stuScoreItem); } } } } } } else { entity.Create(); db.Insert(entity); } db.Commit(); } catch (Exception ex) { db.Rollback(); if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } #endregion #region 扩展数据 /// /// 获取选课时间管理 /// /// public EADateArrangeEntity GetEADateArrangeEntityAboutElective() { try { var semesterAndYear = Common.GetSemesterAndYear(); var strAcademicYear = semesterAndYear.AcademicYearShort; var strSemester = semesterAndYear.Semester; var now = DateTime.Now; //不判断学年学期 return this.BaseRepository("CollegeMIS").FindEntity(x => x.WorkName == "选课" && x.MakeDate <= now && x.EndDate >= now && x.CheckMark == "1"); } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } public IEnumerable GetPageListOfMerge(Pagination pagination, string queryJson) { try { var strSql = new StringBuilder(); strSql.Append("SELECT "); strSql.Append(@" t.Id, t.AcademicYearNo, t.Semester, t.LessonNo, t.LessonNo as LessonNo2, t.LessonName, t.LessonSortNo, t.LessonSection, t.LessonTime, t.StudyScore, t.EmpNo, t.EmpNo as EmpNo2, t.EmpName, t.ClassRoomNo, t.ClassRoomName, t.StuNumMax, t.StuNum, t.ModifyTime, t.ModifyUserId, t.ModifyUserName "); strSql.Append(" FROM OpenLessonPlanOfElective t "); strSql.Append(" WHERE 1=1 "); var queryParam = queryJson.ToJObject(); // 虚拟参数 var dp = new DynamicParameters(new { }); if (!queryParam["AcademicYearNo"].IsEmpty()) { dp.Add("AcademicYearNo", "%" + queryParam["AcademicYearNo"].ToString() + "%", DbType.String); strSql.Append(" AND t.AcademicYearNo Like @AcademicYearNo "); } if (!queryParam["Semester"].IsEmpty()) { dp.Add("Semester", queryParam["Semester"].ToString(), DbType.String); strSql.Append(" AND t.Semester = @Semester "); } if (!queryParam["LessonNo"].IsEmpty()) { dp.Add("LessonNo", queryParam["LessonNo"].ToString(), DbType.String); strSql.Append(" AND t.LessonNo = @LessonNo "); } if (!queryParam["LessonName"].IsEmpty()) { dp.Add("LessonName", "%" + queryParam["LessonName"].ToString() + "%", DbType.String); strSql.Append(" AND t.LessonName Like @LessonName "); } var list = new List(); if (pagination != null) { list = this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp, pagination).ToList(); } else { list = this.BaseRepository("CollegeMIS").FindList(strSql.ToString(), dp).ToList(); } //选课专业 var majorSql = @"SELECT t.MajorName,t.MajorNo,a.* FROM ElectiveMajor a left join CdMajor t on a.majorid=t.id"; var electiveMajorList = this.BaseRepository("CollegeMIS").FindList(majorSql); foreach (var item in list) { //模式二:正式选课 var aa = this.BaseRepository("CollegeMIS").FindList(x => x.OLPEId == item.Id); //已报名人数 item.StuNumOfApply = aa.Where(x => (x.Status == 1 || x.Status == 2)).Count(); //审核通过人数 item.StuNum = aa.Where(x => x.Status == 2).Count(); //选课专业 //var strSql2 = new StringBuilder(); //strSql2.Append("select e.Id,e.OLPOEId,e.MajorId,e.Grade,m.MajorNo,m.MajorName from ElectiveMajor e left join CdMajor m on e.MajorId=m.ID where e.OLPOEId='" + item.Id + "' and e.MajorId is not null and e.Grade is not null "); //item.ElectiveMajorList = this.BaseRepository("CollegeMIS").FindList(strSql2.ToString()).OrderBy(x => x.MajorNo).ThenBy(x => x.Grade).ToList(); //模式一:预选课 var aaa = this.BaseRepository("CollegeMIS").FindList(x => x.OLPEId == item.Id); //已报名人数 item.StuNumOfApplyPre = aaa.Where(x => (x.Status == 1 || x.Status == 2)).Count(); //审核通过人数 item.StuNumPre = aaa.Where(x => x.Status == 2).Count(); //选课专业 item.ElectiveMajorList = electiveMajorList.Where(x => x.OLPOEId == item.Id).ToList(); } return list; } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 选修课课程异动 /// 主键 /// /// public void DoElectiveChange(OpenLessonPlanOfElectiveChangeEntity entity) { var db = this.BaseRepository("CollegeMIS").BeginTrans(); try { //OpenLessonPlanOfElective,StuSelectLessonListOfElective,StuSelectLessonListOfElectivePre, //ElectiveMergeItem,ElectiveMerge,OpenLessonPlanOfElectiveDel,ArrangeLessonTermOfElective var OLPEIdOne = entity.OLPEId; var EmId = db.FindEntity(x => x.OLPOEId == OLPEIdOne)?.EmId; var OLPEIdTwo = db.FindEntity(x => x.EmId == EmId && x.OLPOEId != OLPEIdOne).OLPOEId; var lessonInfoEntity = db.FindEntity(x => x.LessonNo == entity.AfterLessonNo); //选修课开课计划 db.ExecuteBySql($"update OpenLessonPlanOfElective set LessonNo='{entity.AfterLessonNo}',LessonName='{entity.AfterLessonName}',EmpNo='{entity.AfterEmpNo}',EmpName='{entity.AfterEmpName}',ClassRoomNo='{entity.AfterClassRoomNo}',ClassRoomName='{entity.AfterClassRoomName}' where Id='{OLPEIdOne}' "); //学生选课表 db.ExecuteBySql($"update StuSelectLessonListOfElective set LessonNo='{entity.AfterLessonNo}',LessonName='{entity.AfterLessonName}',EmpNo='{entity.AfterEmpNo}',EmpName='{entity.AfterEmpName}',ClassRoomNo='{entity.AfterClassRoomNo}',ClassRoomName='{entity.AfterClassRoomName}' where OLPEId='{OLPEIdOne}' "); db.ExecuteBySql($"update StuSelectLessonListOfElectivePre set LessonNo='{entity.AfterLessonNo}',EmpNo='{entity.AfterEmpNo}',ClassRoomNo='{entity.AfterClassRoomNo}' where OLPEId='{OLPEIdOne}' "); //选修合班明细 db.ExecuteBySql($"update ElectiveMergeItem set EmpNo='{entity.AfterEmpNo}',EmpName='{entity.AfterEmpName}',ClassRoomNo='{entity.AfterClassRoomNo}',ClassRoomName='{entity.AfterClassRoomName}' where EmId='{EmId}' "); //合班合并结果 db.ExecuteBySql($"update ElectiveMerge set LessonId='{lessonInfoEntity?.LessonId}',LessonNo='{entity.AfterLessonNo}',LessonName='{entity.AfterLessonName}' where EMId='{EmId}' "); //合班异动数据记录 db.ExecuteBySql($"update OpenLessonPlanOfElectiveDel set LessonNo='{entity.AfterLessonNo}',LessonName='{entity.AfterLessonName}',EmpNo='{entity.AfterEmpNo}',EmpName='{entity.AfterEmpName}',ClassRoomNo='{entity.AfterClassRoomNo}',ClassRoomName='{entity.AfterClassRoomName}' where Id='{OLPEIdTwo}' "); //选修课程表 db.ExecuteBySql($"update ArrangeLessonTermOfElective set LessonNo='{entity.AfterLessonNo}',LessonName='{entity.AfterLessonName}',EmpNo='{entity.AfterEmpNo}',EmpName='{entity.AfterEmpName}',ClassRoomNo='{entity.AfterClassRoomNo}',ClassRoomName='{entity.AfterClassRoomName}' where PaiKeId='{OLPEIdOne}' or PaiKeId='{OLPEIdTwo}' "); db.Commit(); } catch (Exception ex) { db.Rollback(); if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } /// /// 初始化学生选课情况 /// /// public void InitStuSelectLesson(string keyvalue) { try { } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } #endregion /// /// 保存StuSelectLessonList中的成绩比例 /// 主键 /// /// public void SaveStuSelectLessonListScaleByJson(string queryJson, StuSelectLessonListOfElectiveEntity entity) { var db = this.BaseRepository("CollegeMIS").BeginTrans(); try { var queryParam = queryJson.ToJObject(); var F_SchoolId = queryParam["F_SchoolId"].ToString(); var AcademicYearNo = queryParam["AcademicYearNo"].ToString(); var Semester = queryParam["Semester"].ToString(); var LessonNo = queryParam["LessonNo"].ToString(); var ClassRoomNo = queryParam["ClassRoomNo"].ToString(); var LessonSection = queryParam["LessonSection"].ToString(); var classInfoEntity = db.FindEntity(x => x.ClassroomNo == ClassRoomNo); 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); if (beforeList.Any()) { foreach (var stuScoreItem in beforeList) { if (stuScoreItem.Score != null) { stuScoreItem.Score = (stuScoreItem.OrdinaryScore * (entity.OrdinaryScoreScale / 100) + stuScoreItem.TermInScore * (entity.TermInScoreScale / 100) + stuScoreItem.TermEndScore * (entity.TermEndScoreScale / 100) + stuScoreItem.OtherScore * (entity.OtherScoreScale / 100)).ToDecimal(0); db.Update(stuScoreItem); } } } } db.Commit(); } catch (Exception ex) { db.Rollback(); if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } } } }