123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Linq.Expressions;
- using Bowin.Common.Linq.Entity;
- using Bowin.Common.Linq;
- using EMIS.Entities;
- using EMIS.ViewModel;
- using EMIS.ViewModel.UniversityManage.SpecialtyClassManage;
- using EMIS.ViewModel.Students;
- using EMIS.ViewModel.CultureplanManage.PlanManagement;
- using EMIS.ViewModel.EducationManagement;
- using EMIS.ViewModel.GraduationManage.GraduationSetting;
- using EMIS.DataLogic.SystemDAL;
- using EMIS.DataLogic.GraduationManage.GraduationSetting;
- using EMIS.CommonLogic.StudentManage.StudentStatistics;
- namespace EMIS.CommonLogic.GraduationManage.GraduationSetting
- {
- public class GraduationStandardServices : BaseServices, IGraduationStandardServices
- {
- public GraduationStandardDAL GraduationStandardDAL { get; set; }
- public IInSchoolSettingServices InSchoolSettingServices { get; set; }
- /// <summary>
- /// 查询对应的毕业标准信息View
- /// </summary>
- /// <param name="configuretView"></param>
- /// <param name="gradSchoolyearID"></param>
- /// <param name="campusID"></param>
- /// <param name="collegeID"></param>
- /// <param name="yearID"></param>
- /// <param name="standardID"></param>
- /// <param name="educationID"></param>
- /// <param name="learningformID"></param>
- /// <param name="learnSystem"></param>
- /// <param name="inSchoolStatus"></param>
- /// <param name="pageIndex"></param>
- /// <param name="pageSize"></param>
- /// <returns></returns>
- public IGridResultSet<GraduationStandardView> GetGraduationStandardViewGrid(ConfiguretView configuretView, Guid? gradSchoolyearID,
- Guid? campusID, Guid? collegeID, int? yearID, int? standardID, int? educationID, int? learningformID, string learnSystem,
- int? inSchoolStatus, int pageIndex, int pageSize)
- {
- //毕业标准
- Expression<Func<ER_GraduationStandard, bool>> expGraduationStandard = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
-
- //执行计划(只对已提交状态进行统计)
- Expression<Func<EM_ExecutablePlan, bool>> expExecutablePlan = (x => true);
- expExecutablePlan = expExecutablePlan.And(x => x.RecordStatus == (int)EM_ExecuteStatus.Submited);
- //学生信息
- Expression<Func<CF_Student, bool>> expStudent = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
- if (inSchoolStatus != null && inSchoolStatus > -1)
- {
- var inschoolStatusList = InSchoolSettingServices.GetInschoolStatusList(true);
- if (inSchoolStatus == 1)
- {
- //表示在校
- expStudent = expStudent.And(x => inschoolStatusList.Contains(x.InSchoolStatusID));
- }
- if (inSchoolStatus == 0)
- {
- //不在校
- expStudent = expStudent.And(x => !inschoolStatusList.Contains(x.InSchoolStatusID));
- }
- }
- var query = GraduationStandardDAL.GetGraduationStandardViewQueryable(expGraduationStandard, expExecutablePlan, expStudent);
- if (gradSchoolyearID.HasValue)
- {
- query = query.Where(x => x.GraduatingSemesterID == gradSchoolyearID);
- }
- if (campusID.HasValue)
- {
- query = query.Where(x => x.CampusID == campusID);
- }
- if (collegeID.HasValue)
- {
- query = query.Where(x => x.CollegeID == collegeID);
- }
- if (yearID.HasValue)
- {
- query = query.Where(x => x.SchoolyearID == yearID);
- }
- if (standardID.HasValue)
- {
- query = query.Where(x => x.StandardID == standardID);
- }
- if (educationID.HasValue)
- {
- query = query.Where(x => x.EducationID == educationID);
- }
- if (learningformID.HasValue)
- {
- query = query.Where(x => x.LearningformID == learningformID);
- }
- if (!string.IsNullOrEmpty(learnSystem) && learnSystem != "-1")
- {
- var LearnSystems = Convert.ToDecimal(learnSystem);
- query = query.Where(x => x.LearnSystem == LearnSystems);
- }
- //查询条件
- if (!string.IsNullOrEmpty(configuretView.ConditionValue))
- {
- query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue.Trim());
- }
- return this.GetQueryByDataRangeByCollege(query)
- .OrderBy(x => x.CollegeNo.Length).ThenBy(x => x.CollegeNo)
- .ThenBy(x => x.StandardID).ThenBy(x => x.EducationID)
- .ThenBy(x => x.LearningformID).ThenBy(x => x.LearnSystem)
- .ThenBy(x => x.SchoolyearID)
- .ToGridResultSet<GraduationStandardView>(pageIndex, pageSize);
- }
- /// <summary>
- /// 查询对应的毕业标准信息List
- /// </summary>
- /// <param name="configuretView"></param>
- /// <param name="gradSchoolyearID"></param>
- /// <param name="campusID"></param>
- /// <param name="collegeID"></param>
- /// <param name="yearID"></param>
- /// <param name="standardID"></param>
- /// <param name="educationID"></param>
- /// <param name="learningformID"></param>
- /// <param name="learnSystem"></param>
- /// <param name="inSchoolStatus"></param>
- /// <returns></returns>
- public List<GraduationStandardView> GetGraduationStandardViewList(ConfiguretView configuretView, Guid? gradSchoolyearID,
- Guid? campusID, Guid? collegeID, int? yearID, int? standardID, int? educationID, int? learningformID, string learnSystem,
- int? inSchoolStatus)
- {
- //毕业标准
- Expression<Func<ER_GraduationStandard, bool>> expGraduationStandard = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
- //执行计划(只对已提交状态进行统计)
- Expression<Func<EM_ExecutablePlan, bool>> expExecutablePlan = (x => true);
- expExecutablePlan = expExecutablePlan.And(x => x.RecordStatus == (int)EM_ExecuteStatus.Submited);
- //学生信息
- Expression<Func<CF_Student, bool>> expStudent = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
- if (inSchoolStatus != null && inSchoolStatus > -1)
- {
- var inschoolStatusList = InSchoolSettingServices.GetInschoolStatusList(true);
- if (inSchoolStatus == 1)
- {
- //表示在校
- expStudent = expStudent.And(x => inschoolStatusList.Contains(x.InSchoolStatusID));
- }
- if (inSchoolStatus == 0)
- {
- //不在校
- expStudent = expStudent.And(x => !inschoolStatusList.Contains(x.InSchoolStatusID));
- }
- }
- var query = GraduationStandardDAL.GetGraduationStandardViewQueryable(expGraduationStandard, expExecutablePlan, expStudent);
- if (gradSchoolyearID.HasValue)
- {
- query = query.Where(x => x.GraduatingSemesterID == gradSchoolyearID);
- }
- if (campusID.HasValue)
- {
- query = query.Where(x => x.CampusID == campusID);
- }
- if (collegeID.HasValue)
- {
- query = query.Where(x => x.CollegeID == collegeID);
- }
- if (yearID.HasValue)
- {
- query = query.Where(x => x.SchoolyearID == yearID);
- }
- if (standardID.HasValue)
- {
- query = query.Where(x => x.StandardID == standardID);
- }
- if (educationID.HasValue)
- {
- query = query.Where(x => x.EducationID == educationID);
- }
- if (learningformID.HasValue)
- {
- query = query.Where(x => x.LearningformID == learningformID);
- }
- if (!string.IsNullOrEmpty(learnSystem) && learnSystem != "-1")
- {
- var LearnSystems = Convert.ToDecimal(learnSystem);
- query = query.Where(x => x.LearnSystem == LearnSystems);
- }
- //查询条件
- if (!string.IsNullOrEmpty(configuretView.ConditionValue))
- {
- query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue.Trim());
- }
- return this.GetQueryByDataRangeByCollege(query)
- .OrderBy(x => x.CollegeNo.Length).ThenBy(x => x.CollegeNo)
- .ThenBy(x => x.StandardID).ThenBy(x => x.EducationID)
- .ThenBy(x => x.LearningformID).ThenBy(x => x.LearnSystem)
- .ThenBy(x => x.SchoolyearID)
- .ToList();
- }
- /// <summary>
- /// 根据毕业标准ID查询对应的毕业标准信息GraduationStandardView
- /// </summary>
- /// <param name="GraduationStandardID"></param>
- /// <returns></returns>
- public GraduationStandardView GetGraduationStandardView(Guid? GraduationStandardID)
- {
- try
- {
- var query = GraduationStandardDAL.GetGraduationStandardViewQueryable(x => x.GraduationStandardID == GraduationStandardID)
- .SingleOrDefault();
- return query;
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
- }
- /// <summary>
- /// 毕业标准生成
- /// 注:年级专业对应的学生人数大于0
- /// </summary>
- /// <param name="GraduatingSemesterID"></param>
- /// <param name="collegeID"></param>
- /// <returns></returns>
- public string GraduationStandardGenerate(Guid? GraduatingSemesterID, Guid? collegeID)
- {
- try
- {
- //查询课程类型设置信息List
- var courseTypeSelectCourseTypeList = GraduationStandardDAL.CourseTypeSelectCourseTypeRepository
- .GetList(x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE).ToList();
- if (courseTypeSelectCourseTypeList == null || courseTypeSelectCourseTypeList.Count() <= 0)
- {
- throw new Exception("课程类型设置未配置,请配置。");
- }
- //毕业标准
- Expression<Func<CF_Grademajor, bool>> expGrademajor = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
- if (GraduatingSemesterID.HasValue)
- {
- //毕业学期
- expGrademajor = expGrademajor.And(x => x.GraduateSchoolyearID == GraduatingSemesterID);
- }
- //学生信息
- Expression<Func<CF_Student, bool>> expStudent = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
- var query = GraduationStandardDAL.GetGrademajorViewQueryable(expGrademajor, expStudent);
- if (collegeID.HasValue)
- {
- //院系所
- query = query.Where(x => x.CollegeID == collegeID);
- }
- //年级专业对应的学生人数大于0
- query = query.Where(x => x.StudentCount > 0);
- //查询对应的年级专业信息grademajorViewList(注:数据范围)
- var grademajorViewList = this.GetQueryByDataRangeByCollege(query).ToList();
- //年级专业IDList
- var grademajorIDList = grademajorViewList.Select(x => x.GrademajorID).ToList();
- //查询对应的毕业标准信息graduationStandardList
- var graduationStandardList = GraduationStandardDAL.GraduationStandardRepository
- .GetList(x => grademajorIDList.Contains((Guid)x.GrademajorID)).ToList();
- int insert = 0;
- int update = 0;
- string tipMessage = null;
- List<ER_GraduationStandard> graduationStandardInList = new List<ER_GraduationStandard>();
- List<ER_GraduationStandard> graduationStandardUpList = new List<ER_GraduationStandard>();
- foreach (var grademajorID in grademajorIDList)
- {
- //根据年级专业ID查询对应的毕业标准信息
- var graduationStandard = graduationStandardList
- .Where(x => x.GrademajorID == grademajorID).SingleOrDefault();
- if (graduationStandard == null)
- {
- ER_GraduationStandard newGraduationStandard = new ER_GraduationStandard();
- newGraduationStandard.GraduationStandardID = Guid.NewGuid();
- newGraduationStandard.GrademajorID = grademajorID;
- newGraduationStandard.RequireCourseCount = 0;
- newGraduationStandard.GraduationCredit = 0;
- SetNewStatus(newGraduationStandard);
- graduationStandardInList.Add(newGraduationStandard);
- insert++;
- }
- else
- {
- SetModifyStatus(graduationStandard);
- graduationStandardUpList.Add(graduationStandard);
- update++;
- }
- }
- //批量插入
- UnitOfWork.BulkInsert<ER_GraduationStandard>(graduationStandardInList);
- if (graduationStandardUpList != null && graduationStandardUpList.Count() > 0)
- {
- //批量更新
- UnitOfWork.BatchUpdate<ER_GraduationStandard>(graduationStandardUpList);
- }
- if (insert > 0 && update <= 0)
- {
- tipMessage = insert + "条";
- }
- else
- {
- tipMessage = insert + "条,更新成功" + update + "条";
- }
- return tipMessage;
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
- }
- /// <summary>
- /// 编辑(新增、修改,业务主键:年级专业ID)
- /// </summary>
- /// <param name="graduationStandardView"></param>
- public void GraduationStandardEdit(GraduationStandardView graduationStandardView)
- {
- try
- {
- //查询课程类型设置信息List
- var courseTypeSelectCourseTypeList = GraduationStandardDAL.CourseTypeSelectCourseTypeRepository
- .GetList(x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE).ToList();
- if (courseTypeSelectCourseTypeList == null || courseTypeSelectCourseTypeList.Count() <= 0)
- {
- throw new Exception("课程类型设置未配置,请配置。");
- }
- //查询数据库进行验证
- var graduationStandardVerification = GraduationStandardDAL.GraduationStandardRepository
- .GetList(x => x.GraduationStandardID != graduationStandardView.GraduationStandardID
- && x.GrademajorID == graduationStandardView.GrademajorID).SingleOrDefault();
- if (graduationStandardVerification == null)
- {
- //数据有误验证
- if (graduationStandardView.GraduationStandardID != Guid.Empty)
- {
- var graduationStandard = GraduationStandardDAL.GraduationStandardRepository
- .GetList(x => x.GraduationStandardID == graduationStandardView.GraduationStandardID)
- .SingleOrDefault();
- if (graduationStandard == null)
- {
- throw new Exception("数据有误,请核查");
- }
- else
- {
- //表示修改
- graduationStandard.RequireCourseCount = graduationStandardView.RequireCourseCount;
- graduationStandard.GraduationCredit = graduationStandardView.GraduationCredit;
- SetModifyStatus(graduationStandard);
- }
- }
- else
- {
- //表示新增
- ER_GraduationStandard graduationStandard = new ER_GraduationStandard();
- graduationStandard.GraduationStandardID = Guid.NewGuid();
- graduationStandard.GrademajorID = graduationStandardView.GrademajorID;
- graduationStandard.RequireCourseCount = graduationStandardView.RequireCourseCount;
- graduationStandard.GraduationCredit = graduationStandardView.GraduationCredit;
- SetNewStatus(graduationStandard);
- UnitOfWork.Add(graduationStandard);
- }
- }
- else
- {
- throw new Exception("已存在相同的毕业标准,请核查");
- }
- //事务提交
- UnitOfWork.Commit();
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
- }
- /// <summary>
- /// 毕业标准批量新增(业务主键:年级专业ID)
- /// </summary>
- /// <param name="grademajorIDList"></param>
- /// <param name="graduationStandardView"></param>
- /// <returns></returns>
- public string GraduationStandardBatchAdd(List<Guid?> grademajorIDList, GraduationStandardView graduationStandardView)
- {
- try
- {
- //查询课程类型设置信息List
- var courseTypeSelectCourseTypeList = GraduationStandardDAL.CourseTypeSelectCourseTypeRepository
- .GetList(x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE).ToList();
- if (courseTypeSelectCourseTypeList == null || courseTypeSelectCourseTypeList.Count() <= 0)
- {
- throw new Exception("课程类型设置未配置,请配置。");
- }
- //查询对应的毕业标准信息graduationStandardList
- var graduationStandardList = GraduationStandardDAL.GraduationStandardRepository
- .GetList(x => grademajorIDList.Contains((Guid)x.GrademajorID)).ToList();
- int success = 0; //成功
- int fail = 0; //失败
- string tipMessage = null; //提示消息
- List<ER_GraduationStandard> graduationStandardInList = new List<ER_GraduationStandard>();
- foreach (var grademajorID in grademajorIDList)
- {
- //根据年级专业ID查询对应的毕业标准信息
- var graduationStandard = graduationStandardList
- .Where(x => x.GrademajorID == grademajorID).SingleOrDefault();
- if (graduationStandard == null)
- {
- ER_GraduationStandard newGraduationStandard = new ER_GraduationStandard();
- newGraduationStandard.GraduationStandardID = Guid.NewGuid();
- newGraduationStandard.GrademajorID = grademajorID;
- newGraduationStandard.RequireCourseCount = graduationStandardView.RequireCourseCount ?? 0;
- newGraduationStandard.GraduationCredit = graduationStandardView.GraduationCredit ?? 0;
- SetNewStatus(newGraduationStandard);
- graduationStandardInList.Add(newGraduationStandard);
- success++;
- }
- else
- {
- //表示已存在相同的毕业标准信息
- fail++;
- }
- }
- //批量插入
- UnitOfWork.BulkInsert<ER_GraduationStandard>(graduationStandardInList);
- if (success > 0 && fail <= 0)
- {
- tipMessage = success + "条";
- }
- else
- {
- tipMessage = success + "条,失败" + fail + "条,原因:已存在相同的毕业标准信息,请检查";
- }
- return tipMessage;
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
- }
- /// <summary>
- /// 查询未新增的毕业标准对应的年级专业信息GrademajorView
- /// </summary>
- /// <param name="configuretView"></param>
- /// <param name="campusID"></param>
- /// <param name="collegeID"></param>
- /// <param name="schoolyearID"></param>
- /// <param name="standardID"></param>
- /// <param name="educationID"></param>
- /// <param name="learningformID"></param>
- /// <param name="learnSystem"></param>
- /// <param name="inSchoolStatus"></param>
- /// <param name="gradSchoolyearID"></param>
- /// <param name="pageIndex"></param>
- /// <param name="pageSize"></param>
- /// <returns></returns>
- public IGridResultSet<GrademajorView> GetGraduationStandardNoAddViewGrid(ConfiguretView configuretView, Guid? campusID,
- Guid? collegeID, int? schoolyearID, int? standardID, int? educationID, int? learningformID, string learnSystem,
- int? inSchoolStatus, Guid? gradSchoolyearID, int pageIndex, int pageSize)
- {
- //年级专业信息
- Expression<Func<CF_Grademajor, bool>> expGrademajor = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
- if (schoolyearID.HasValue)
- {
- //年级
- expGrademajor = expGrademajor.And(x => x.GradeID == schoolyearID);
- }
- if (gradSchoolyearID.HasValue)
- {
- //毕业学期
- expGrademajor = expGrademajor.And(x => x.GraduateSchoolyearID == gradSchoolyearID);
- }
- //学生信息
- Expression<Func<CF_Student, bool>> expStudent = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
- if (inSchoolStatus != null && inSchoolStatus > -1)
- {
- var inschoolStatusList = InSchoolSettingServices.GetInschoolStatusList(true);
- if (inSchoolStatus == 1)
- {
- //表示在校
- expStudent = expStudent.And(x => inschoolStatusList.Contains(x.InSchoolStatusID));
- }
- if (inSchoolStatus == 0)
- {
- //不在校
- expStudent = expStudent.And(x => !inschoolStatusList.Contains(x.InSchoolStatusID));
- }
- }
- var query = GraduationStandardDAL.GetGraduationStandardViewNoAddQueryable(expGrademajor, expStudent);
- if (campusID.HasValue)
- {
- query = query.Where(x => x.CampusID == campusID);
- }
- if (collegeID.HasValue)
- {
- query = query.Where(x => x.CollegeID == collegeID);
- }
- if (standardID.HasValue)
- {
- query = query.Where(x => x.StandardID == standardID);
- }
- if (educationID.HasValue)
- {
- query = query.Where(x => x.EducationID == educationID);
- }
- if (learningformID.HasValue)
- {
- query = query.Where(x => x.LearningformID == learningformID);
- }
- if (!string.IsNullOrEmpty(learnSystem) && learnSystem != "-1")
- {
- var LearnSystems = Convert.ToDecimal(learnSystem);
- query = query.Where(x => x.LearnSystem == LearnSystems);
- }
- //查询条件
- if (!string.IsNullOrEmpty(configuretView.ConditionValue))
- {
- query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue.Trim());
- }
- return this.GetQueryByDataRangeByCollege(query).OrderBy(x => x.CollegeCode.Length).ThenBy(x => x.CollegeCode).ThenBy(x => x.StandardID)
- .ThenBy(x => x.EducationID).ThenBy(x => x.LearningformID).ThenBy(x => x.LearnSystem).ThenBy(x => x.GradeID).ToGridResultSet<GrademajorView>(pageIndex, pageSize);
- }
- /// <summary>
- /// 查询未新增的毕业标准对应的年级专业信息List
- /// </summary>
- /// <param name="configuretView"></param>
- /// <param name="campusID"></param>
- /// <param name="collegeID"></param>
- /// <param name="schoolyearID"></param>
- /// <param name="standardID"></param>
- /// <param name="educationID"></param>
- /// <param name="learningformID"></param>
- /// <param name="learnSystem"></param>
- /// <param name="inSchoolStatus"></param>
- /// <param name="gradSchoolyearID"></param>
- /// <returns></returns>
- public IList<GrademajorView> GetGraduationStandardNoAddViewList(ConfiguretView configuretView, Guid? campusID, Guid? collegeID, int? schoolyearID, int? standardID, int? educationID, int? learningformID, string learnSystem, int? inSchoolStatus, Guid? gradSchoolyearID)
- {
- //年级专业信息
- Expression<Func<CF_Grademajor, bool>> expGrademajor = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
- if (schoolyearID.HasValue)
- {
- //年级
- expGrademajor = expGrademajor.And(x => x.GradeID == schoolyearID);
- }
- if (gradSchoolyearID.HasValue)
- {
- //毕业学期
- expGrademajor = expGrademajor.And(x => x.GraduateSchoolyearID == gradSchoolyearID);
- }
- //学生信息
- Expression<Func<CF_Student, bool>> expStudent = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
- if (inSchoolStatus != null && inSchoolStatus > -1)
- {
- var inschoolStatusList = InSchoolSettingServices.GetInschoolStatusList(true);
- if (inSchoolStatus == 1)
- {
- //表示在校
- expStudent = expStudent.And(x => inschoolStatusList.Contains(x.InSchoolStatusID));
- }
- if (inSchoolStatus == 0)
- {
- //不在校
- expStudent = expStudent.And(x => !inschoolStatusList.Contains(x.InSchoolStatusID));
- }
- }
- var query = GraduationStandardDAL.GetGraduationStandardViewNoAddQueryable(expGrademajor, expStudent);
- if (campusID.HasValue)
- {
- query = query.Where(x => x.CampusID == campusID);
- }
- if (collegeID.HasValue)
- {
- query = query.Where(x => x.CollegeID == collegeID);
- }
- if (standardID.HasValue)
- {
- query = query.Where(x => x.StandardID == standardID);
- }
- if (educationID.HasValue)
- {
- query = query.Where(x => x.EducationID == educationID);
- }
- if (learningformID.HasValue)
- {
- query = query.Where(x => x.LearningformID == learningformID);
- }
- if (!string.IsNullOrEmpty(learnSystem) && learnSystem != "-1")
- {
- var LearnSystems = Convert.ToDecimal(learnSystem);
- query = query.Where(x => x.LearnSystem == LearnSystems);
- }
- //查询条件
- if (!string.IsNullOrEmpty(configuretView.ConditionValue))
- {
- query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue.Trim());
- }
- return this.GetQueryByDataRangeByCollege(query).OrderBy(x => x.CollegeCode.Length).ThenBy(x => x.CollegeCode).ThenBy(x => x.StandardID)
- .ThenBy(x => x.EducationID).ThenBy(x => x.LearningformID).ThenBy(x => x.LearnSystem).ThenBy(x => x.GradeID).ToList();
- }
- /// <summary>
- /// 删除
- /// </summary>
- /// <param name="graduationStandardIDs"></param>
- /// <returns></returns>
- public bool GraduationStandardDelete(List<Guid?> graduationStandardIDs)
- {
- try
- {
- UnitOfWork.Delete<ER_GraduationStandard>(x => graduationStandardIDs.Contains(x.GraduationStandardID));
- UnitOfWork.Commit();
- return true;
- }
- catch (Exception ex)
- {
- throw new Exception(ex.Message);
- }
- }
- /// <summary>
- /// 查询毕业标准对应的专业计划信息SpecialtyPlanView
- /// </summary>
- /// <param name="configuretView"></param>
- /// <param name="graduationStandardID"></param>
- /// <param name="schoolyearID"></param>
- /// <param name="courseTypeID"></param>
- /// <param name="starttermID"></param>
- /// <param name="isMainCourse"></param>
- /// <param name="handleModeID"></param>
- /// <param name="pageIndex"></param>
- /// <param name="pageSize"></param>
- /// <returns></returns>
- public IGridResultSet<SpecialtyPlanView> GetSpecialtyPlanViewGrid(ConfiguretView configuretView, Guid? graduationStandardID,
- Guid? schoolyearID, int? courseTypeID, int? starttermID, int? isMainCourse, int? handleModeID, int pageIndex, int pageSize)
- {
- //毕业标准
- Expression<Func<ER_GraduationStandard, bool>> expGraduationStandard = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
- expGraduationStandard = expGraduationStandard.And(x => x.GraduationStandardID == graduationStandardID);
- var query = GraduationStandardDAL.GetSpecialtyPlanViewQueryable(expGraduationStandard);
- if (schoolyearID.HasValue)
- {
- query = query.Where(x => x.SchoolyearID == schoolyearID);
- }
- if (courseTypeID.HasValue)
- {
- query = query.Where(x => x.CourseTypeID == courseTypeID);
- }
- if (starttermID.HasValue)
- {
- query = query.Where(x => x.StarttermID == starttermID);
- }
- if (isMainCourse.HasValue)
- {
- //可否学位课程
- if (isMainCourse.Value == (int)CF_GeneralPurpose.IsYes)
- {
- query = query.Where(x => x.IsMainCourse == true);
- }
- if (isMainCourse.Value == (int)CF_GeneralPurpose.IsNo)
- {
- query = query.Where(x => x.IsMainCourse != true);
- }
- }
- if (handleModeID.HasValue)
- {
- query = query.Where(x => x.HandleModeID == handleModeID);
- }
- //查询条件
- if (!string.IsNullOrEmpty(configuretView.ConditionValue))
- {
- query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue.Trim());
- }
- return this.GetQueryByDataRangeByCollege(query)
- .OrderBy(x => x.SchoolyearCode.Length).ThenBy(x => x.SchoolyearCode)
- .ThenBy(x => x.CourseCode.Length).ThenBy(x => x.CourseCode)
- .ToGridResultSet<SpecialtyPlanView>(pageIndex, pageSize);
- }
- /// <summary>
- /// 查询毕业标准对应的专业计划信息List
- /// </summary>
- /// <param name="configuretView"></param>
- /// <param name="graduationStandardID"></param>
- /// <param name="schoolyearID"></param>
- /// <param name="courseTypeID"></param>
- /// <param name="starttermID"></param>
- /// <param name="isMainCourse"></param>
- /// <param name="handleModeID"></param>
- /// <returns></returns>
- public IList<SpecialtyPlanView> GetSpecialtyPlanViewList(ConfiguretView configuretView, Guid? graduationStandardID,
- Guid? schoolyearID, int? courseTypeID, int? starttermID, int? isMainCourse, int? handleModeID)
- {
- //毕业标准
- Expression<Func<ER_GraduationStandard, bool>> expGraduationStandard = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
- expGraduationStandard = expGraduationStandard.And(x => x.GraduationStandardID == graduationStandardID);
- var query = GraduationStandardDAL.GetSpecialtyPlanViewQueryable(expGraduationStandard);
- if (schoolyearID.HasValue)
- {
- query = query.Where(x => x.SchoolyearID == schoolyearID);
- }
- if (courseTypeID.HasValue)
- {
- query = query.Where(x => x.CourseTypeID == courseTypeID);
- }
- if (starttermID.HasValue)
- {
- query = query.Where(x => x.StarttermID == starttermID);
- }
- if (isMainCourse.HasValue)
- {
- //可否学位课程
- if (isMainCourse.Value == (int)CF_GeneralPurpose.IsYes)
- {
- query = query.Where(x => x.IsMainCourse == true);
- }
- if (isMainCourse.Value == (int)CF_GeneralPurpose.IsNo)
- {
- query = query.Where(x => x.IsMainCourse != true);
- }
- }
- if (handleModeID.HasValue)
- {
- query = query.Where(x => x.HandleModeID == handleModeID);
- }
- //查询条件
- if (!string.IsNullOrEmpty(configuretView.ConditionValue))
- {
- query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue.Trim());
- }
- return this.GetQueryByDataRangeByCollege(query)
- .OrderBy(x => x.SchoolyearCode.Length).ThenBy(x => x.SchoolyearCode)
- .ThenBy(x => x.CourseCode.Length).ThenBy(x => x.CourseCode)
- .ToList();
- }
- /// <summary>
- /// 查询毕业标准对应的执行计划信息ExecutablePlanView
- /// </summary>
- /// <param name="configuretView"></param>
- /// <param name="graduationStandardID"></param>
- /// <param name="schoolyearID"></param>
- /// <param name="courseTypeID"></param>
- /// <param name="starttermID"></param>
- /// <param name="isMainCourse"></param>
- /// <param name="handleModeID"></param>
- /// <param name="executablePlanStatus"></param>
- /// <param name="pageIndex"></param>
- /// <param name="pageSize"></param>
- /// <returns></returns>
- public IGridResultSet<ExecutablePlanView> GetExecutablePlanViewGrid(ConfiguretView configuretView, Guid? graduationStandardID,
- Guid? schoolyearID, int? courseTypeID, int? starttermID, int? isMainCourse, int? handleModeID, int? executablePlanStatus, int pageIndex, int pageSize)
- {
- //毕业标准
- Expression<Func<ER_GraduationStandard, bool>> expGraduationStandard = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
- expGraduationStandard = expGraduationStandard.And(x => x.GraduationStandardID == graduationStandardID);
- var query = GraduationStandardDAL.GetExecutablePlanViewQueryable(expGraduationStandard);
- if (schoolyearID.HasValue)
- {
- query = query.Where(x => x.SchoolyearID == schoolyearID);
- }
- if (courseTypeID.HasValue)
- {
- query = query.Where(x => x.CourseTypeID == courseTypeID);
- }
- if (starttermID.HasValue)
- {
- query = query.Where(x => x.StarttermID == starttermID);
- }
- if (isMainCourse.HasValue)
- {
- //可否学位课程
- if (isMainCourse.Value == (int)CF_GeneralPurpose.IsYes)
- {
- query = query.Where(x => x.IsMainCourse == true);
- }
- if (isMainCourse.Value == (int)CF_GeneralPurpose.IsNo)
- {
- query = query.Where(x => x.IsMainCourse != true);
- }
- }
- if (handleModeID.HasValue)
- {
- query = query.Where(x => x.HandleModeID == handleModeID);
- }
- if (executablePlanStatus.HasValue)
- {
- //执行计划状态
- query = query.Where(x => x.RecordStatus == executablePlanStatus);
- }
- //查询条件
- if (!string.IsNullOrEmpty(configuretView.ConditionValue))
- {
- query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue.Trim());
- }
- return this.GetQueryByDataRangeByCollege(query)
- .OrderBy(x => x.SchoolyearCode.Length).ThenBy(x => x.SchoolyearCode)
- .ThenBy(x => x.CourseCode.Length).ThenBy(x => x.CourseCode)
- .ToGridResultSet<ExecutablePlanView>(pageIndex, pageSize);
- }
- /// <summary>
- /// 查询毕业标准对应的执行计划信息List
- /// </summary>
- /// <param name="configuretView"></param>
- /// <param name="graduationStandardID"></param>
- /// <param name="schoolyearID"></param>
- /// <param name="courseTypeID"></param>
- /// <param name="starttermID"></param>
- /// <param name="isMainCourse"></param>
- /// <param name="handleModeID"></param>
- /// <param name="executablePlanStatus"></param>
- /// <returns></returns>
- public IList<ExecutablePlanView> GetExecutablePlanViewList(ConfiguretView configuretView, Guid? graduationStandardID,
- Guid? schoolyearID, int? courseTypeID, int? starttermID, int? isMainCourse, int? handleModeID, int? executablePlanStatus)
- {
- //毕业标准
- Expression<Func<ER_GraduationStandard, bool>> expGraduationStandard = (x => x.RecordStatus > (int)SYS_STATUS.UNUSABLE);
- expGraduationStandard = expGraduationStandard.And(x => x.GraduationStandardID == graduationStandardID);
- var query = GraduationStandardDAL.GetExecutablePlanViewQueryable(expGraduationStandard);
- if (schoolyearID.HasValue)
- {
- query = query.Where(x => x.SchoolyearID == schoolyearID);
- }
- if (courseTypeID.HasValue)
- {
- query = query.Where(x => x.CourseTypeID == courseTypeID);
- }
- if (starttermID.HasValue)
- {
- query = query.Where(x => x.StarttermID == starttermID);
- }
- if (isMainCourse.HasValue)
- {
- //可否学位课程
- if (isMainCourse.Value == (int)CF_GeneralPurpose.IsYes)
- {
- query = query.Where(x => x.IsMainCourse == true);
- }
- if (isMainCourse.Value == (int)CF_GeneralPurpose.IsNo)
- {
- query = query.Where(x => x.IsMainCourse != true);
- }
- }
- if (handleModeID.HasValue)
- {
- query = query.Where(x => x.HandleModeID == handleModeID);
- }
- if (executablePlanStatus.HasValue)
- {
- //执行计划状态
- query = query.Where(x => x.RecordStatus == executablePlanStatus);
- }
- //查询条件
- if (!string.IsNullOrEmpty(configuretView.ConditionValue))
- {
- query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue.Trim());
- }
- return this.GetQueryByDataRangeByCollege(query)
- .OrderBy(x => x.SchoolyearCode.Length).ThenBy(x => x.SchoolyearCode)
- .ThenBy(x => x.CourseCode.Length).ThenBy(x => x.CourseCode)
- .ToList();
- }
- /// <summary>
- /// 获取年级专业各在校状态学生
- /// </summary>
- /// <param name="configuretView"></param>
- /// <param name="grademajorID"></param>
- /// <param name="inschoolStatus"></param>
- /// <param name="pageIndex"></param>
- /// <param name="pageSize"></param>
- /// <returns></returns>
- public IGridResultSet<BaseStudentView> GetGradeMajorStudentViewGrid(ConfiguretView configuretView, Guid? grademajorID,
- int? inschoolStatus, int pageIndex, int pageSize)
- {
- //在校状态
- Expression<Func<CF_Student, bool>> expStudent = (x => true);
- if (inschoolStatus != null && inschoolStatus > -1)
- {
- var inschoolStatusList = InSchoolSettingServices.GetInschoolStatusList(true);
- if (inschoolStatus == 1)
- {
- //表示在校
- expStudent = expStudent.And(x => inschoolStatusList.Contains(x.InSchoolStatusID));
- }
- if (inschoolStatus == 0)
- {
- //不在校
- expStudent = expStudent.And(x => !inschoolStatusList.Contains(x.InSchoolStatusID));
- }
- }
- var query = GraduationStandardDAL.GetGradeMajorStudentViewQueryAble(x => x.GrademajorID == grademajorID, expStudent);
- //查询条件
- if (!string.IsNullOrEmpty(configuretView.ConditionValue))
- {
- query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue.Trim());
- }
- return this.GetQueryByDataRangeByCollege(query).OrderByDescending(x => x.ClassmajorCode.Length)
- .OrderBy(x => x.ClassmajorCode).OrderBy(x => x.LoginID)
- .ToGridResultSet<BaseStudentView>(pageIndex, pageSize);
- }
- /// <summary>
- /// 获取年级专业各在校状态学生
- /// </summary>
- /// <param name="configuretView"></param>
- /// <param name="grademajorID"></param>
- /// <param name="inschoolStatus"></param>
- /// <returns></returns>
- public List<BaseStudentView> GetGradeMajorStudentViewGrid(ConfiguretView configuretView, Guid? grademajorID,
- int? inschoolStatus)
- {
- //在校状态
- Expression<Func<CF_Student, bool>> expStudent = (x => true);
- if (inschoolStatus != null && inschoolStatus > -1)
- {
- var inschoolStatusList = InSchoolSettingServices.GetInschoolStatusList(true);
- if (inschoolStatus == 1)
- {
- //表示在校
- expStudent = expStudent.And(x => inschoolStatusList.Contains(x.InSchoolStatusID));
- }
- if (inschoolStatus == 0)
- {
- //不在校
- expStudent = expStudent.And(x => !inschoolStatusList.Contains(x.InSchoolStatusID));
- }
- }
- var query = GraduationStandardDAL.GetGradeMajorStudentViewQueryAble(x => x.GrademajorID == grademajorID, expStudent);
- //查询条件
- if (!string.IsNullOrEmpty(configuretView.ConditionValue))
- {
- query = query.DynamicWhere(configuretView.Attribute, configuretView.Condition, configuretView.ConditionValue.Trim());
- }
- return this.GetQueryByDataRangeByCollege(query).OrderByDescending(x => x.ClassmajorCode.Length)
- .OrderBy(x => x.ClassmajorCode).OrderBy(x => x.LoginID)
- .ToList();
- }
- }
- }
|