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.
 
 
 
 
 
 

288 lines
9.9 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. /// 日 期:2023-10-13 10:31
  16. /// 描 述:教材领取清单及费用核算
  17. /// </summary>
  18. public class BookPayDetailService : RepositoryFactory
  19. {
  20. #region 构造函数和属性
  21. private string fieldSql;
  22. /// <summary>
  23. /// 构造方法
  24. /// </summary>
  25. public BookPayDetailService()
  26. {
  27. fieldSql = @" t.* ";
  28. }
  29. #endregion
  30. #region 获取数据
  31. /// <summary>
  32. /// 获取列表数据
  33. /// </summary>
  34. /// <param name="queryJson">条件参数</param>
  35. /// <returns></returns>
  36. public IEnumerable<BookPayDetailEntity> GetList(string queryJson)
  37. {
  38. try
  39. {
  40. //参考写法
  41. //var queryParam = queryJson.ToJObject();
  42. // 虚拟参数
  43. //var dp = new DynamicParameters(new { });
  44. //dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime);
  45. var strSql = new StringBuilder();
  46. strSql.Append("SELECT ");
  47. strSql.Append(fieldSql);
  48. strSql.Append(" FROM BookPayDetail t ");
  49. return this.BaseRepository("CollegeMIS").FindList<BookPayDetailEntity>(strSql.ToString());
  50. }
  51. catch (Exception ex)
  52. {
  53. if (ex is ExceptionEx)
  54. {
  55. throw;
  56. }
  57. else
  58. {
  59. throw ExceptionEx.ThrowServiceException(ex);
  60. }
  61. }
  62. }
  63. /// <summary>
  64. /// 获取列表分页数据
  65. /// </summary>
  66. /// <param name="pagination">分页参数</param>
  67. /// <param name="queryJson">条件参数</param>
  68. /// <returns></returns>
  69. public IEnumerable<BookPayDetailEntity> GetPageList(Pagination pagination, string queryJson)
  70. {
  71. try
  72. {
  73. var strSql = new StringBuilder();
  74. strSql.Append("SELECT ");
  75. strSql.Append(fieldSql);
  76. strSql.Append(" FROM BookPayDetail t where 1=1");
  77. var queryParam = queryJson.ToJObject();
  78. // 虚拟参数
  79. var dp = new DynamicParameters(new { });
  80. if (!queryParam["IsPay"].IsEmpty())
  81. {
  82. dp.Add("IsPay", queryParam["IsPay"].ToString(), DbType.String);
  83. strSql.Append(" AND t.IsPay = @IsPay ");
  84. }
  85. if (!queryParam["AcademicYearNo"].IsEmpty())
  86. {
  87. dp.Add("AcademicYearNo", queryParam["AcademicYearNo"].ToString(), DbType.String);
  88. strSql.Append(" AND t.AcademicYearNo = @AcademicYearNo ");
  89. }
  90. if (!queryParam["Semester"].IsEmpty())
  91. {
  92. dp.Add("Semester", queryParam["Semester"].ToString(), DbType.String);
  93. strSql.Append(" AND t.Semester = @Semester ");
  94. }
  95. if (!queryParam["StuNo"].IsEmpty())
  96. {
  97. dp.Add("StuNo", "%" + queryParam["StuNo"].ToString() + "%", DbType.String);
  98. strSql.Append(" AND t.StuNo like @StuNo ");
  99. }
  100. if (!queryParam["StuName"].IsEmpty())
  101. {
  102. dp.Add("StuName", "%" + queryParam["StuName"].ToString() + "%", DbType.String);
  103. strSql.Append(" AND t.StuName Like @StuName ");
  104. }
  105. if (!queryParam["DeptNo"].IsEmpty())
  106. {
  107. dp.Add("DeptNo", "" + queryParam["DeptNo"].ToString() + "", DbType.String);
  108. strSql.Append(" AND t.DeptNo=@DeptNo ");
  109. }
  110. if (!queryParam["MajorNo"].IsEmpty())
  111. {
  112. dp.Add("MajorNo", "" + queryParam["MajorNo"].ToString() + "", DbType.String);
  113. strSql.Append(" AND t.MajorNo=@MajorNo ");
  114. }
  115. if (!queryParam["ClassNo"].IsEmpty())
  116. {
  117. dp.Add("ClassNo", "" + queryParam["ClassNo"].ToString() + "", DbType.String);
  118. strSql.Append(" AND t.ClassNo=@ClassNo ");
  119. }
  120. if (!queryParam["Grade"].IsEmpty())
  121. {
  122. dp.Add("Grade", queryParam["Grade"].ToString() + DbType.String);
  123. strSql.Append(" AND t.Grade=@Grade ");
  124. }
  125. return this.BaseRepository("CollegeMIS").FindList<BookPayDetailEntity>(strSql.ToString(), dp, pagination);
  126. }
  127. catch (Exception ex)
  128. {
  129. if (ex is ExceptionEx)
  130. {
  131. throw;
  132. }
  133. else
  134. {
  135. throw ExceptionEx.ThrowServiceException(ex);
  136. }
  137. }
  138. }
  139. /// <summary>
  140. /// 获取实体数据
  141. /// </summary>
  142. /// <param name="keyValue">主键</param>
  143. /// <returns></returns>
  144. public BookPayDetailEntity GetEntity(string keyValue)
  145. {
  146. try
  147. {
  148. return this.BaseRepository("CollegeMIS").FindEntity<BookPayDetailEntity>(keyValue);
  149. }
  150. catch (Exception ex)
  151. {
  152. if (ex is ExceptionEx)
  153. {
  154. throw;
  155. }
  156. else
  157. {
  158. throw ExceptionEx.ThrowServiceException(ex);
  159. }
  160. }
  161. }
  162. #endregion
  163. #region 提交数据
  164. /// <summary>
  165. /// 删除实体数据
  166. /// </summary>
  167. /// <param name="keyValue">主键</param>
  168. public void DeleteEntity(string keyValue)
  169. {
  170. try
  171. {
  172. this.BaseRepository("CollegeMIS").Delete<BookPayDetailEntity>(t => t.Id == keyValue);
  173. }
  174. catch (Exception ex)
  175. {
  176. if (ex is ExceptionEx)
  177. {
  178. throw;
  179. }
  180. else
  181. {
  182. throw ExceptionEx.ThrowServiceException(ex);
  183. }
  184. }
  185. }
  186. /// <summary>
  187. /// 保存实体数据(新增、修改)
  188. /// <param name="keyValue">主键</param>
  189. /// <param name="entity">实体</param>
  190. /// </summary>
  191. public void SaveEntity(string keyValue, BookPayDetailEntity entity)
  192. {
  193. try
  194. {
  195. if (!string.IsNullOrEmpty(keyValue))
  196. {
  197. entity.Modify(keyValue);
  198. this.BaseRepository("CollegeMIS").Update(entity);
  199. }
  200. else
  201. {
  202. entity.Create();
  203. this.BaseRepository("CollegeMIS").Insert(entity);
  204. }
  205. }
  206. catch (Exception ex)
  207. {
  208. if (ex is ExceptionEx)
  209. {
  210. throw;
  211. }
  212. else
  213. {
  214. throw ExceptionEx.ThrowServiceException(ex);
  215. }
  216. }
  217. }
  218. /// <summary>
  219. /// 删除实体数据
  220. /// </summary>
  221. /// <param name="keyValue">主键</param>
  222. public void ClassEntity(string Class, string book, string AcademicYearNo, string Semester)
  223. {
  224. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  225. try
  226. {
  227. var entity = db.FindEntity<TextBookInfoEntity>(x => x.TextBookNo == book);
  228. if (entity != null)
  229. {
  230. var ss = new List<BookPayDetailEntity>();
  231. var list = db.FindList<StuInfoBasicEntity>(x => x.CheckMark == "1" && x.ClassNo == Class).ToList();
  232. if (list != null)
  233. {
  234. for (int i = 0; i < list.Count(); i++)
  235. {
  236. var inserts = new BookPayDetailEntity();
  237. inserts.BookNo = entity.TextBookNo;
  238. inserts.BookName = entity.TextBookName;
  239. inserts.AcademicYearNo = AcademicYearNo;
  240. inserts.Semester = Semester;
  241. inserts.DeptNo = list[i].DeptNo;
  242. inserts.MajorNo = list[i].MajorNo;
  243. inserts.ClassNo = list[i].ClassNo;
  244. inserts.Grade = list[i].Grade;
  245. inserts.IdCardNo = list[i].IdentityCardNo;
  246. inserts.StuName = list[i].StuName;
  247. inserts.StuNo = list[i].StuNo;
  248. inserts.IsPay = false;
  249. inserts.Price = entity.Price;
  250. inserts.Number = 1;
  251. inserts.Create();
  252. ss.Add(inserts);
  253. }
  254. }
  255. db.Insert(ss);
  256. }
  257. db.Commit();
  258. }
  259. catch (Exception ex)
  260. {
  261. db.Rollback();
  262. if (ex is ExceptionEx)
  263. {
  264. throw;
  265. }
  266. else
  267. {
  268. throw ExceptionEx.ThrowServiceException(ex);
  269. }
  270. }
  271. }
  272. #endregion
  273. }
  274. }