diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/OpenLessonPlanOfElective/MergeIndex.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/OpenLessonPlanOfElective/MergeIndex.js index 93e7635e7..055f0fb1b 100644 --- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/OpenLessonPlanOfElective/MergeIndex.js +++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/EducationalAdministration/Views/OpenLessonPlanOfElective/MergeIndex.js @@ -217,7 +217,19 @@ var bootstrap = function ($, learun) { { label: "已报人数", name: "StuNumOfApply", width: 60, align: "left" }, { label: "通过人数", name: "StuNum", width: 60, align: "left" }, { label: "已报人数(预)", name: "StuNumOfApplyPre", width: 80, align: "left" }, - { label: "通过人数(预)", name: "StuNumPre", width: 80, align: "left" } + { label: "通过人数(预)", name: "StuNumPre", width: 80, align: "left" }, + { + label: "选课专业", name: "ElectiveMajorList", width: 150, align: "left",formatter: function (cellvalue,row) { + var str = ""; + for (var i = 0; i < row.ElectiveMajorList.length; i++) { + str += row.ElectiveMajorList[i].Grade + "级" + row.ElectiveMajorList[i].MajorName; + if (i != row.ElectiveMajorList.length - 1) { + str += ","; + } + } + return str; + } + } ], mainId: 'Id', isPage: true, diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTermOfElective/ArrangeLessonTermOfElectiveService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTermOfElective/ArrangeLessonTermOfElectiveService.cs index cf01e049b..b57de4c9d 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTermOfElective/ArrangeLessonTermOfElectiveService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ArrangeLessonTermOfElective/ArrangeLessonTermOfElectiveService.cs @@ -191,6 +191,9 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration //ArrangeLessonTermOfElective数据处理 var insertDataList = new List(); var lessonData = (await BaseRepository("CollegeMIS").FindListAsync()).ToList(); + var oldArrangeLessonTermOfElectiveDataList = BaseRepository("CollegeMIS") + .FindList(m => m.F_SchoolId == entity.F_SchoolId + && m.AcademicYearNo == entity.AcademicYearNo && m.Semester == entity.Semester).ToList(); foreach (var item in dataList) { if (!string.IsNullOrEmpty(item.paike.timeText)) @@ -217,7 +220,13 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration F_SchoolId = entity.F_SchoolId, CheckMark = "1" }; - insertDataList.Add(insertData); + if (oldArrangeLessonTermOfElectiveDataList.Count(m => m.AcademicYearNo == insertData.AcademicYearNo + && m.Semester == insertData.Semester && m.LessonNo == insertData.LessonNo + && m.LessonSection == insertData.LessonSection && m.EmpNo == insertData.EmpNo + && m.ClassRoomNo == insertData.ClassRoomNo) == 0) + { + insertDataList.Add(insertData); + } } } @@ -284,7 +293,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration x.ClassRoomNo == insertOpenLessonPlanOfElectiveData.ClassRoomNo && x.F_SchoolId == insertOpenLessonPlanOfElectiveData.F_SchoolId) == 0) { - insertOpenLessonPlanOfElectiveDataList.Add(insertOpenLessonPlanOfElectiveData); + if (BaseRepository("CollegeMIS").FindEntity(m => m.Id == insertOpenLessonPlanOfElectiveData.Id) == null + && BaseRepository("CollegeMIS").FindEntity(m => m.Id == insertOpenLessonPlanOfElectiveData.Id) == null) + { + insertOpenLessonPlanOfElectiveDataList.Add(insertOpenLessonPlanOfElectiveData); + } } } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ElectiveMajor/ElectiveMajorEntity.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ElectiveMajor/ElectiveMajorEntity.cs index 07051fc5d..aa1b3ddbc 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ElectiveMajor/ElectiveMajorEntity.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/ElectiveMajor/ElectiveMajorEntity.cs @@ -69,6 +69,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration } #endregion #region 扩展字段 + [NotMapped] + public string MajorNo { get; set; } + [NotMapped] + public string MajorName { get; set; } + #endregion } } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/OpenLessonPlanOfElective/OpenLessonPlanOfElectiveEntity.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/OpenLessonPlanOfElective/OpenLessonPlanOfElectiveEntity.cs index 378ba783c..3f3730287 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/OpenLessonPlanOfElective/OpenLessonPlanOfElectiveEntity.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/OpenLessonPlanOfElective/OpenLessonPlanOfElectiveEntity.cs @@ -1,5 +1,6 @@ using Learun.Util; using System; +using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; namespace Learun.Application.TwoDevelopment.EducationalAdministration @@ -221,6 +222,11 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration /// [NotMapped] public string LessonNo2 { get; set; } [NotMapped] public string EmpNo2 { get; set; } + /// + /// 选课专业列表 + /// + [NotMapped] + public List ElectiveMajorList { get; set; } #endregion } } diff --git a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/OpenLessonPlanOfElective/OpenLessonPlanOfElectiveService.cs b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/OpenLessonPlanOfElective/OpenLessonPlanOfElectiveService.cs index 9f68fac2f..a4b0ca115 100644 --- a/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/OpenLessonPlanOfElective/OpenLessonPlanOfElectiveService.cs +++ b/Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.TwoDevelopment/EducationalAdministration/OpenLessonPlanOfElective/OpenLessonPlanOfElectiveService.cs @@ -95,7 +95,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration strSql.Append(@"select b.*,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 - where 1=1 "); + where 1=1 and a.MajorId is not null and a.Grade is not null "); //学号 if (!queryParam["StuNo"].IsEmpty()) { @@ -106,18 +106,26 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration 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='' "); + } //教学工作安排中“选课”工作设置的学年学期 var now = DateTime.Now; var EADateArrangeEntityAboutElective = this.BaseRepository("CollegeMIS").FindEntity(x => x.WorkName == "选课" && x.MakeDate <= now && x.EndDate >= now && x.CheckMark == "1"); 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)"); + 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 { @@ -354,6 +362,10 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration 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); @@ -362,6 +374,7 @@ namespace Learun.Application.TwoDevelopment.EducationalAdministration //审核通过人数 item.StuNumPre = aaa.Where(x => x.Status == 2).Count(); + } return list;