|
- 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
- {
- /// <summary>
- /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
- /// Copyright (c) 2013-2018 北京泉江科技有限公司
- /// 创 建:超级管理员
- /// 日 期:2019-08-26 16:58
- /// 描 述:选修合班设置
- /// </summary>
- public class ElectiveMergeService : RepositoryFactory
- {
- #region 获取数据
-
- /// <summary>
- /// 获取页面显示列表数据
- /// <summary>
- /// <param name="queryJson">查询参数</param>
- /// <returns></returns>
- public IEnumerable<ElectiveMergeEntity> GetPageList(Pagination pagination, string queryJson)
- {
- try
- {
- var strSql = new StringBuilder();
- strSql.Append(@"select distinct a.*,d.StudyScore from ElectiveMerge a left join
- ElectiveMergeItem b
- on a.EMId = b.EmId left join lessoninfo d on a.LessonId=d.LessonId
- ");
- 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 a.AcademicYearNo =@AcademicYearNo ");
- }
- if (!queryParam["Semester"].IsEmpty())
- {
- dp.Add("Semester", "" + queryParam["Semester"].ToString() + "", DbType.String);
- strSql.Append(" AND a.Semester = @Semester ");
- }
- if (!queryParam["LessonName"].IsEmpty())
- {
- dp.Add("LessonName", "" + queryParam["LessonName"].ToString() + "", DbType.String);
- strSql.Append(" AND a.LessonNo = @LessonName ");
-
- }
- return this.BaseRepository("CollegeMIS").FindList<ElectiveMergeEntity>(strSql.ToString(), dp, pagination);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 获取ElectiveMerge表实体数据
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public ElectiveMergeEntity GetElectiveMergeEntity(string keyValue)
- {
- try
- {
- var ementity = this.BaseRepository("CollegeMIS").FindEntity<ElectiveMergeEntity>(keyValue);
- var stumax = this.BaseRepository("CollegeMIS").FindObject(@"select distinct isnull(c.StuNumMax,0) from ElectiveMerge a left join
- ElectiveMergeItem b
- on a.EMId = b.EmId left join OpenLessonPlanOfElective c
- on b.OLPOEId = c.Id where a.EMId = '" + keyValue + "'");
- ementity.StuNumMax = Convert.ToInt32(stumax);
- return ementity;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- #endregion
-
- #region 提交数据
-
- /// <summary>
- /// 删除实体数据
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public void DeleteEntity(string keyValue)
- {
- var db = this.BaseRepository("CollegeMIS");
- try
- {
- db.BeginTrans();
- var deldatalist = db.FindList<ElectiveMergeItemEntity>(m => m.EmId == keyValue).OrderBy(m => Convert.ToInt32(m.LessonSection));
- var deldatafirst = deldatalist.First();
- var deldatalast = deldatalist.Last();
- var opfirst = db.FindEntity<OpenLessonPlanOfElectiveEntity>(m => m.Id == deldatafirst.OLPOEId);
- opfirst.LessonSection = deldatafirst.LessonSection;
- opfirst.LessonTime = deldatafirst.LessonTime;
- db.Update(opfirst);
- db.ExecuteBySql(@"insert into OpenLessonPlanOfElective(Id, MakeDate, AcademicYearNo, Semester, LessonNo, PartCode, LessonName, LessonSortNo, LessonSortDetailNo, LessonSection, LessonTime, StudyScore, StartWeek, EndWeek, StartDate, EndDate, CheckStyleNo, ScoreRecordStyleNo, EmpNo, EmpName, ClassRoomNo, ClassRoomName, CheckMark, StuNumMax, StuNum, ModifyTime, ModifyUserId, ModifyUserName, F_SchoolId)
- select Id, MakeDate, AcademicYearNo, Semester, LessonNo, PartCode, LessonName, LessonSortNo, LessonSortDetailNo, LessonSection, LessonTime, StudyScore, StartWeek, EndWeek, StartDate, EndDate, CheckStyleNo, ScoreRecordStyleNo, EmpNo, EmpName, ClassRoomNo, ClassRoomName, CheckMark, StuNumMax, StuNum, ModifyTime, ModifyUserId, ModifyUserName, F_SchoolId
- from OpenLessonPlanOfElectiveDel where id='" + deldatalast.OLPOEId + "'");
- db.ExecuteBySql("delete from OpenLessonPlanOfElectiveDel where id='" + deldatalast.OLPOEId + "'");
- db.Delete<ElectiveMergeItemEntity>(m => m.EmId == keyValue);
- db.Delete<ElectiveMergeEntity>(t => t.EMId == keyValue);
- db.Commit();
- }
- catch (Exception ex)
- {
- db.Rollback();
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 保存实体数据(新增、修改)
- /// <param name="keyValue">主键</param>
- /// <summary>
- /// <returns></returns>
- public void SaveEntity(string keyValue, ElectiveMergeEntity entity, List<ElectiveMergeItemEntity> electiveMergeItemEntity)
- {
- var db = this.BaseRepository("CollegeMIS");
- try
- {
- if (!string.IsNullOrEmpty(keyValue))
- {
- entity.Modify(keyValue);
- this.BaseRepository("CollegeMIS").Update(entity);
- }
- else
- {
- db.BeginTrans();
- db.Insert(entity);
- db.Insert(electiveMergeItemEntity);
- var ids = string.Join(",", electiveMergeItemEntity.Select(n => n.OLPOEId));
- var olplist = db.FindList<OpenLessonPlanOfElectiveEntity>(m =>
- ids.Contains(m.Id)).OrderBy(c => Convert.ToInt32(c.LessonSection));
- var opfirst = olplist.First();
- var oplast = olplist.Last();
- opfirst.LessonSection += "," + oplast.LessonSection;
- opfirst.LessonTime += "," + oplast.LessonTime;
- db.Update(opfirst);
- db.ExecuteBySql($@"insert into OpenLessonPlanOfElectiveDel(Id, MakeDate, AcademicYearNo, Semester, LessonNo, PartCode, LessonName, LessonSortNo, LessonSortDetailNo, LessonSection, LessonTime, StudyScore, StartWeek, EndWeek, StartDate, EndDate, CheckStyleNo, ScoreRecordStyleNo, EmpNo, EmpName, ClassRoomNo, ClassRoomName, CheckMark, StuNumMax, StuNum, ModifyTime, ModifyUserId, ModifyUserName, F_SchoolId )
- select Id, MakeDate, AcademicYearNo, Semester, LessonNo, PartCode, LessonName, LessonSortNo, LessonSortDetailNo, LessonSection, LessonTime, StudyScore, StartWeek, EndWeek, StartDate, EndDate, CheckStyleNo, ScoreRecordStyleNo, EmpNo, EmpName, ClassRoomNo, ClassRoomName, CheckMark, StuNumMax, StuNum, ModifyTime, ModifyUserId, ModifyUserName, F_SchoolId from OpenLessonPlanOfElective
- where id ='" + oplast.Id + "'");
- db.Delete(oplast);
- db.Commit();
- }
- }
- catch (Exception ex)
- {
- db.Rollback();
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- #endregion
-
- public void SetStuNumMax(string keyValue, int entityStuNumMax)
- {
- var db = this.BaseRepository("CollegeMIS");
- try
- {
- db.BeginTrans();
- var datetimenow = DateTime.Now;
- var loginuserinfo = LoginUserInfo.Get();
- var olpl = db.FindList<OpenLessonPlanOfElectiveEntity>(@"select c.id from ElectiveMerge a left join
- ElectiveMergeItem b
- on a.EMId = b.EmId left join OpenLessonPlanOfElective c
- on b.OLPOEId = c.Id where a.EMId = '" + keyValue + "'");
- foreach (var opitem in olpl)
- {
- opitem.StuNumMax = entityStuNumMax;
- opitem.ModifyTime = datetimenow;
- opitem.ModifyUserId = loginuserinfo.userId;
- opitem.ModifyUserName = loginuserinfo.realName;
- db.Update(opitem);
- }
- db.Commit();
- }
- catch (Exception ex)
- {
- db.Rollback();
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- }
- }
|