You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

332 lines
10 KiB

  1. using Dapper;
  2. using Learun.DataBase.Repository;
  3. using Learun.Util;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Data;
  7. using System.Linq;
  8. using System.Text;
  9. namespace Learun.Application.TwoDevelopment.EducationalAdministration
  10. {
  11. /// <summary>
  12. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  13. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  14. /// 创 建:超级管理员
  15. /// 日 期:2019-01-29 11:08
  16. /// 描 述:班级信息管理
  17. /// </summary>
  18. public class TeachClassService : RepositoryFactory
  19. {
  20. #region 获取数据
  21. /// <summary>
  22. /// 获取页面显示列表数据
  23. /// <summary>
  24. /// <param name="queryJson">查询参数</param>
  25. /// <returns></returns>
  26. public IEnumerable<TeachClassEntity> GetPageList(Pagination pagination, string queryJson)
  27. {
  28. try
  29. {
  30. var strSql = new StringBuilder();
  31. strSql.Append("SELECT ");
  32. strSql.Append(@" * ");
  33. strSql.Append(" FROM TeachClass t ");
  34. strSql.Append(" WHERE 1=1 ");
  35. var queryParam = queryJson.ToJObject();
  36. // 虚拟参数
  37. var dp = new DynamicParameters(new { });
  38. if (!queryParam["F_SchoolId"].IsEmpty())
  39. {
  40. dp.Add("F_SchoolId", queryParam["F_SchoolId"].ToString(), DbType.String);
  41. strSql.Append(" AND t.F_SchoolId = @F_SchoolId ");
  42. }
  43. if (!queryParam["AcademicYearNo"].IsEmpty())
  44. {
  45. dp.Add("AcademicYearNo", queryParam["AcademicYearNo"].ToString(), DbType.String);
  46. strSql.Append(" AND t.AcademicYearNo = @AcademicYearNo ");
  47. }
  48. if (!queryParam["Semester"].IsEmpty())
  49. {
  50. dp.Add("Semester", queryParam["Semester"].ToString(), DbType.String);
  51. strSql.Append(" AND t.Semester = @Semester ");
  52. }
  53. if (!queryParam["DeptNo"].IsEmpty())
  54. {
  55. dp.Add("DeptNo", queryParam["DeptNo"].ToString(), DbType.String);
  56. strSql.Append(" AND t.DeptNo = @DeptNo ");
  57. }
  58. if (!queryParam["MajorNo"].IsEmpty())
  59. {
  60. dp.Add("MajorNo", queryParam["MajorNo"].ToString(), DbType.String);
  61. strSql.Append(" AND t.MajorNo = @MajorNo ");
  62. }
  63. if (!queryParam["Grade"].IsEmpty())
  64. {
  65. dp.Add("Grade", "%" + queryParam["Grade"].ToString() + "%", DbType.String);
  66. strSql.Append(" AND t.Grade Like @Grade ");
  67. }
  68. if (!queryParam["LessonNo"].IsEmpty())
  69. {
  70. dp.Add("LessonNo", queryParam["LessonNo"].ToString(), DbType.String);
  71. strSql.Append(" AND t.LessonNo = @LessonNo ");
  72. }
  73. return this.BaseRepository("CollegeMIS").FindList<TeachClassEntity>(strSql.ToString(), dp, pagination);
  74. }
  75. catch (Exception ex)
  76. {
  77. if (ex is ExceptionEx)
  78. {
  79. throw;
  80. }
  81. else
  82. {
  83. throw ExceptionEx.ThrowServiceException(ex);
  84. }
  85. }
  86. }
  87. internal bool GetAny()
  88. {
  89. try
  90. {
  91. return this.BaseRepository("CollegeMIS").FindList<TeachClassEntity>().ToList().Count > 0 ? true : false;
  92. }
  93. catch (Exception ex)
  94. {
  95. if (ex is ExceptionEx)
  96. {
  97. throw;
  98. }
  99. else
  100. {
  101. throw ExceptionEx.ThrowServiceException(ex);
  102. }
  103. }
  104. }
  105. /// <summary>
  106. /// 获取ClassInfo表实体数据
  107. /// <param name="keyValue">主键</param>
  108. /// <summary>
  109. /// <returns></returns>
  110. public TeachClassEntity GetTeachClassEntity(string keyValue)
  111. {
  112. try
  113. {
  114. int ID = Convert.ToInt32(keyValue);
  115. return this.BaseRepository("CollegeMIS").FindEntity<TeachClassEntity>(ID);
  116. }
  117. catch (Exception ex)
  118. {
  119. if (ex is ExceptionEx)
  120. {
  121. throw;
  122. }
  123. else
  124. {
  125. throw ExceptionEx.ThrowServiceException(ex);
  126. }
  127. }
  128. }
  129. #endregion
  130. #region 提交数据
  131. /// <summary>
  132. /// 删除实体数据
  133. /// <param name="keyValue">主键</param>
  134. /// <summary>
  135. /// <returns></returns>
  136. public void DeleteEntity(string keyValue)
  137. {
  138. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  139. try
  140. {
  141. //修改
  142. var keyValueArr = keyValue.Split(',');
  143. foreach (var item in keyValueArr)
  144. {
  145. var entity = this.BaseRepository("CollegeMIS").FindEntity<TeachClassEntity>(x => x.ID == Convert.ToInt32(item));
  146. if (entity != null)
  147. {
  148. entity.EmpNo = "";
  149. db.Update(entity);
  150. }
  151. }
  152. db.Commit();
  153. }
  154. catch (Exception ex)
  155. {
  156. db.Rollback();
  157. if (ex is ExceptionEx)
  158. {
  159. throw;
  160. }
  161. else
  162. {
  163. throw ExceptionEx.ThrowServiceException(ex);
  164. }
  165. }
  166. }
  167. /// <summary>
  168. /// 保存实体数据(新增、修改)
  169. /// <param name="keyValue">主键</param>
  170. /// <summary>
  171. /// <returns></returns>
  172. public void SaveEntity(string keyValue, TeachClassEntity entity)
  173. {
  174. try
  175. {
  176. var keyvalue = Convert.ToInt32(keyValue);
  177. if (!string.IsNullOrEmpty(keyValue))
  178. {
  179. entity.Modify(keyvalue);
  180. this.BaseRepository("CollegeMIS").Update(entity);
  181. }
  182. else
  183. {
  184. entity.Create();
  185. this.BaseRepository("CollegeMIS").Insert(entity);
  186. }
  187. }
  188. catch (Exception ex)
  189. {
  190. if (ex is ExceptionEx)
  191. {
  192. throw;
  193. }
  194. else
  195. {
  196. throw ExceptionEx.ThrowServiceException(ex);
  197. }
  198. }
  199. }
  200. #endregion
  201. #region 扩展数据
  202. public IEnumerable<TeachClassEntity> GetAllClass()
  203. {
  204. try
  205. {
  206. return this.BaseRepository("CollegeMIS").FindList<TeachClassEntity>();
  207. }
  208. catch (Exception ex)
  209. {
  210. if (ex is ExceptionEx)
  211. {
  212. throw;
  213. }
  214. else
  215. {
  216. throw ExceptionEx.ThrowServiceException(ex);
  217. }
  218. }
  219. }
  220. /// <summary>
  221. /// 获取ClassInfo表实体数据
  222. /// <param name="keyValue">主键</param>
  223. /// <summary>
  224. /// <returns></returns>
  225. public List<TeachClassEntity> GetTeachListById(string keyValue)
  226. {
  227. try
  228. {
  229. var id = keyValue.Split(',');
  230. return this.BaseRepository("CollegeMIS")
  231. .FindList<TeachClassEntity>(x => id.Contains(x.ID.ToString())).ToList();
  232. }
  233. catch (Exception ex)
  234. {
  235. if (ex is ExceptionEx)
  236. {
  237. throw;
  238. }
  239. else
  240. {
  241. throw ExceptionEx.ThrowServiceException(ex);
  242. }
  243. }
  244. }
  245. /// <summary>
  246. /// 保存数据
  247. /// </summary>
  248. /// <param name="keyValue">主键</param>
  249. /// <param name="entity"></param>
  250. public void SaveEntityList(List<TeachClassEntity> List)
  251. {
  252. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  253. try
  254. {
  255. foreach (var item in List)
  256. {
  257. TeachClassEntity Teach = new TeachClassEntity();
  258. Teach.TeachClassNo = item.TeachClassNo;
  259. Teach.AcademicYearNo = item.AcademicYearNo;
  260. Teach.DeptNo = item.DeptNo;
  261. Teach.MajorNo = item.MajorNo;
  262. Teach.Grade = item.Grade;
  263. Teach.Semester = item.Semester;
  264. Teach.LessonNo = item.LessonNo;
  265. Teach.StuNum = item.StuNum;
  266. Teach.LessonSortNo = item.LessonSortNo;
  267. Teach.F_SchoolId = item.F_SchoolId;
  268. db.Insert(Teach);
  269. }
  270. db.Commit();
  271. }
  272. catch (Exception ex)
  273. {
  274. db.Rollback();
  275. if (ex is ExceptionEx)
  276. {
  277. throw;
  278. }
  279. else
  280. {
  281. throw ExceptionEx.ThrowServiceException(ex);
  282. }
  283. }
  284. }
  285. /// <summary>
  286. /// 保存或修改教师
  287. /// </summary>
  288. /// <param name="keyValue"></param>
  289. /// <param name="EmpNo"></param>
  290. public void UpEmpNo(string keyValue, string EmpNo)
  291. {
  292. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  293. try
  294. {
  295. var keyarray = keyValue.Split(',');
  296. foreach (var item in keyarray)
  297. {
  298. var entityList = this.GetTeachClassEntity(item);
  299. entityList.EmpNo = EmpNo;
  300. db.Update(entityList);
  301. }
  302. db.Commit();
  303. }
  304. catch (Exception ex)
  305. {
  306. db.Rollback();
  307. if (ex is ExceptionEx)
  308. {
  309. throw;
  310. }
  311. else
  312. {
  313. throw ExceptionEx.ThrowServiceException(ex);
  314. }
  315. }
  316. }
  317. #endregion
  318. }
  319. }