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.
 
 
 
 
 
 

312 lines
9.7 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 V7.0.6 力软敏捷开发框架
  13. /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
  14. /// 创 建:超级管理员
  15. /// 日 期:2021-09-27 10:33
  16. /// 描 述:学金类型
  17. /// </summary>
  18. public class ScholarshipService : RepositoryFactory
  19. {
  20. #region 获取数据
  21. /// <summary>
  22. /// 获取页面显示列表数据
  23. /// </summary>
  24. /// <param name="pagination">查询参数</param>
  25. /// <param name="queryJson">查询参数</param>
  26. /// <returns></returns>
  27. public IEnumerable<ScholarshipEntity> GetPageList(Pagination pagination, string queryJson)
  28. {
  29. try
  30. {
  31. var strSql = new StringBuilder();
  32. strSql.Append("SELECT ");
  33. strSql.Append(@" * ");
  34. strSql.Append(" FROM Scholarship t ");
  35. strSql.Append(" WHERE 1=1 and IsDel ='0' ");
  36. var queryParam = queryJson.ToJObject();
  37. // 虚拟参数
  38. var dp = new DynamicParameters(new { });
  39. if (!queryParam["ItemName"].IsEmpty())
  40. {
  41. dp.Add("ItemName", "%" + queryParam["ItemName"].ToString() + "%", DbType.String);
  42. strSql.Append(" AND t.ItemName Like @ItemName ");
  43. }
  44. if (!queryParam["ItemCode"].IsEmpty())
  45. {
  46. dp.Add("ItemCode", "%" + queryParam["ItemCode"].ToString().ToUpperInvariant() + "%", DbType.String);
  47. strSql.Append(" AND t.ItemCode Like @ItemCode ");
  48. }
  49. if (!queryParam["IsValid"].IsEmpty())
  50. {
  51. dp.Add("IsValid", queryParam["IsValid"].ToString(), DbType.String);
  52. strSql.Append(" AND t.IsValid = @IsValid ");
  53. }
  54. if (!queryParam["IsType"].IsEmpty())
  55. {
  56. dp.Add("IsType", queryParam["IsType"].ToString(), DbType.String);
  57. strSql.Append(" AND t.IsType = @IsType ");
  58. }
  59. return this.BaseRepository("CollegeMIS").FindList<ScholarshipEntity>(strSql.ToString(), dp, pagination);
  60. }
  61. catch (Exception ex)
  62. {
  63. if (ex is ExceptionEx)
  64. {
  65. throw;
  66. }
  67. else
  68. {
  69. throw ExceptionEx.ThrowServiceException(ex);
  70. }
  71. }
  72. }
  73. /// <summary>
  74. /// 获取Scholarship表实体数据
  75. /// </summary>
  76. /// <param name="keyValue">主键</param>
  77. /// <returns></returns>
  78. public ScholarshipEntity GetScholarshipEntity(string keyValue)
  79. {
  80. try
  81. {
  82. return this.BaseRepository("CollegeMIS").FindEntity<ScholarshipEntity>(keyValue);
  83. }
  84. catch (Exception ex)
  85. {
  86. if (ex is ExceptionEx)
  87. {
  88. throw;
  89. }
  90. else
  91. {
  92. throw ExceptionEx.ThrowServiceException(ex);
  93. }
  94. }
  95. }
  96. /// <summary>
  97. /// 获取页面显示列表数据
  98. /// </summary>
  99. /// <param name="pagination">查询参数</param>
  100. /// <param name="queryJson">查询参数</param>
  101. /// <returns></returns>
  102. public IEnumerable<ScholarshipEntity> GetList(string queryJson)
  103. {
  104. try
  105. {
  106. var strSql = new StringBuilder();
  107. strSql.Append("SELECT ");
  108. strSql.Append(@" * ");
  109. strSql.Append(" FROM Scholarship t ");
  110. strSql.Append(" WHERE 1=1 and IsDel ='0' ");
  111. var queryParam = queryJson.ToJObject();
  112. // 虚拟参数
  113. var dp = new DynamicParameters(new { });
  114. if (!queryParam["IsValid"].IsEmpty())
  115. {
  116. dp.Add("IsValid", queryParam["IsValid"].ToString(), DbType.String);
  117. strSql.Append(" AND t.IsValid = @IsValid ");
  118. }
  119. if (!queryParam["IsType"].IsEmpty())
  120. {
  121. dp.Add("IsType", queryParam["IsType"].ToString(), DbType.String);
  122. strSql.Append(" AND t.IsType = @IsType ");
  123. }
  124. return this.BaseRepository("CollegeMIS").FindList<ScholarshipEntity>(strSql.ToString(), dp);
  125. }
  126. catch (Exception ex)
  127. {
  128. if (ex is ExceptionEx)
  129. {
  130. throw;
  131. }
  132. else
  133. {
  134. throw ExceptionEx.ThrowServiceException(ex);
  135. }
  136. }
  137. }
  138. #endregion
  139. #region 提交数据
  140. /// <summary>
  141. /// 删除实体数据
  142. /// </summary>
  143. /// <param name="keyValue">主键</param>
  144. public void DeleteEntity(string keyValue)
  145. {
  146. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  147. try
  148. {
  149. var IdList = keyValue.Split(',');
  150. foreach (var item in IdList)
  151. {
  152. var entity = db.FindEntity<ScholarshipEntity>(x => x.Id == item);
  153. entity.IsDel = 1;
  154. db.Update(entity);
  155. }
  156. db.Commit();
  157. }
  158. catch (Exception ex)
  159. {
  160. if (ex is ExceptionEx)
  161. {
  162. throw;
  163. }
  164. else
  165. {
  166. throw ExceptionEx.ThrowServiceException(ex);
  167. }
  168. }
  169. }
  170. /// <summary>
  171. /// 保存实体数据(新增、修改)
  172. /// </summary>
  173. /// <param name="keyValue">主键</param>
  174. /// <param name="entity">实体</param>
  175. public void SaveEntity(string keyValue, ScholarshipEntity entity)
  176. {
  177. try
  178. {
  179. if (!string.IsNullOrEmpty(keyValue))
  180. {
  181. entity.Modify(keyValue);
  182. this.BaseRepository("CollegeMIS").Update(entity);
  183. }
  184. else
  185. {
  186. entity.Create();
  187. this.BaseRepository("CollegeMIS").Insert(entity);
  188. }
  189. }
  190. catch (Exception ex)
  191. {
  192. if (ex is ExceptionEx)
  193. {
  194. throw;
  195. }
  196. else
  197. {
  198. throw ExceptionEx.ThrowServiceException(ex);
  199. }
  200. }
  201. }
  202. #endregion
  203. #region 扩展数据
  204. #region 判断重复
  205. /// <summary>
  206. /// 判断重复
  207. /// </summary>
  208. /// <param name="ItemName">名称</param>
  209. /// <param name="ItemCode">编码</param>
  210. /// <param name="IsType">类型</param>
  211. /// <returns></returns>
  212. public ScholarshipEntity NameOrCode(string ItemName, string ItemCode, int? IsType)
  213. {
  214. try
  215. {
  216. return this.BaseRepository("CollegeMIS").FindEntity<ScholarshipEntity>(x =>
  217. (x.ItemCode == ItemCode || x.ItemName == ItemName) && x.IsType == IsType && x.IsDel == 0);
  218. }
  219. catch (Exception ex)
  220. {
  221. if (ex is ExceptionEx)
  222. {
  223. throw;
  224. }
  225. else
  226. {
  227. throw ExceptionEx.ThrowServiceException(ex);
  228. }
  229. }
  230. }
  231. #endregion
  232. #region 启用和禁用
  233. /// <summary>
  234. /// 启用和禁用
  235. /// </summary>
  236. /// <param name="keyValue"></param>
  237. /// <param name="status"></param>
  238. public void EnableDisable(string keyValue, string status)
  239. {
  240. var db = BaseRepository("CollegeMIS").BeginTrans();
  241. try
  242. {
  243. List<string> Ids = keyValue.Split(',').ToList();
  244. List<ScholarshipEntity> ScholList = new List<ScholarshipEntity>();
  245. if (status == "1")
  246. {
  247. foreach (var item in Ids)
  248. {
  249. var list = this.BaseRepository("CollegeMIS").FindEntity<ScholarshipEntity>(x => x.Id == item);
  250. if (list != null)
  251. {
  252. list.IsValid = 1;
  253. ScholList.Add(list);
  254. }
  255. }
  256. }
  257. else
  258. {
  259. foreach (var item in Ids)
  260. {
  261. var list = this.BaseRepository("CollegeMIS").FindEntity<ScholarshipEntity>(x => x.Id == item);
  262. if (list != null)
  263. {
  264. list.IsValid = 0;
  265. ScholList.Add(list);
  266. }
  267. }
  268. }
  269. db.Update(ScholList);
  270. db.Commit();
  271. }
  272. catch (Exception ex)
  273. {
  274. if (ex is ExceptionEx)
  275. {
  276. throw;
  277. }
  278. else
  279. {
  280. throw ExceptionEx.ThrowServiceException(ex);
  281. }
  282. }
  283. }
  284. #endregion
  285. #endregion
  286. }
  287. }