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.
 
 
 
 
 
 

279 lines
11 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.Text;
  8. namespace Learun.Application.TwoDevelopment.EducationalAdministration
  9. {
  10. /// <summary>
  11. /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
  12. /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
  13. /// 创 建:超级管理员
  14. /// 日 期:2023-03-16 11:49
  15. /// 描 述:校级奖学金
  16. /// </summary>
  17. public class SchoolLevelScholarshipService : RepositoryFactory
  18. {
  19. #region 获取数据
  20. /// <summary>
  21. /// 获取页面显示列表数据
  22. /// </summary>
  23. /// <param name="pagination">查询参数</param>
  24. /// <param name="queryJson">查询参数</param>
  25. /// <returns></returns>
  26. public IEnumerable<SchoolLevelScholarshipEntity> GetPageList(Pagination pagination, string queryJson)
  27. {
  28. try
  29. {
  30. var strSql = new StringBuilder();
  31. strSql.Append("SELECT t.* ");
  32. strSql.Append(" FROM SchoolLevelScholarship t ");
  33. strSql.Append(" left join StuInfoBasic s on t.StuNo=s.StuNo ");
  34. strSql.Append(" left join ClassInfo c on t.CreateUserNo=c.ClassTutorNo and s.ClassNo=c.ClassNo ");
  35. strSql.Append(" left join CdDept d on c.DeptNo=d.DeptNo ");
  36. strSql.Append(" WHERE 1=1 ");
  37. var queryParam = queryJson.ToJObject();
  38. // 虚拟参数
  39. var dp = new DynamicParameters(new { });
  40. if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
  41. {
  42. dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime);
  43. dp.Add("endTime", queryParam["EndTime"].ToDate(), DbType.DateTime);
  44. strSql.Append(" AND ( t.ApplyDate >= @startTime AND t.ApplyDate <= @endTime ) ");
  45. }
  46. if (!queryParam["StartTimeRelease"].IsEmpty() && !queryParam["EndTimeRelease"].IsEmpty())
  47. {
  48. dp.Add("StartTimeRelease", queryParam["StartTimeRelease"].ToDate(), DbType.DateTime);
  49. dp.Add("EndTimeRelease", queryParam["EndTimeRelease"].ToDate(), DbType.DateTime);
  50. strSql.Append(" AND ( t.ProvideDate >= @StartTimeRelease AND t.ProvideDate <= @EndTimeRelease ) ");
  51. }
  52. if (!queryParam["StuNo"].IsEmpty())
  53. {
  54. dp.Add("StuNo", "%" + queryParam["StuNo"].ToString() + "%", DbType.String);
  55. strSql.Append(" AND t.StuNo Like @StuNo ");
  56. }
  57. if (!queryParam["DeptNo"].IsEmpty())
  58. {
  59. dp.Add("DeptNo",queryParam["DeptNo"].ToString(), DbType.String);
  60. strSql.Append(" AND t.DeptNo = @DeptNo ");
  61. }
  62. if (!queryParam["ClassNo"].IsEmpty())
  63. {
  64. dp.Add("ClassNo",queryParam["ClassNo"].ToString(), DbType.String);
  65. strSql.Append(" AND t.ClassNo = @ClassNo ");
  66. }
  67. if (!queryParam["IdCard"].IsEmpty())
  68. {
  69. dp.Add("IdCard", "%" + queryParam["IdCard"].ToString() + "%", DbType.String);
  70. strSql.Append(" AND t.IdCard Like @IdCard ");
  71. }
  72. if (!queryParam["FundingLevel"].IsEmpty())
  73. {
  74. dp.Add("FundingLevel",queryParam["FundingLevel"].ToString(), DbType.String);
  75. strSql.Append(" AND t.FundingLevel = @FundingLevel ");
  76. }
  77. if (!queryParam["BankCard"].IsEmpty())
  78. {
  79. dp.Add("BankCard", "%" + queryParam["BankCard"].ToString() + "%", DbType.String);
  80. strSql.Append(" AND t.BankCard Like @BankCard ");
  81. }
  82. if (!queryParam["Step"].IsEmpty() && queryParam["Step"].ToString() == "2")//第二步:二级学院审核
  83. {
  84. //不查看状态为草稿的记录
  85. strSql.Append(" AND t.Status > 0 ");
  86. //二级学院审核专员==系部的资助审核人==登录用户,系统管理员除外
  87. if (LoginUserInfo.Get().account.ToLower() != "system")
  88. {
  89. strSql.Append($" and d.DeptSubsidizer='{LoginUserInfo.Get().account}' ");
  90. }
  91. }
  92. if (!queryParam["Step"].IsEmpty() && queryParam["Step"].ToString() == "3")//第三步:学工部审核
  93. {
  94. //不查看状态为学工部审核之前的记录
  95. strSql.Append(" AND t.Status > 1 ");
  96. }
  97. if (!queryParam["Status"].IsEmpty())
  98. {
  99. dp.Add("Status", queryParam["Status"].ToString(), DbType.String);
  100. strSql.Append(" AND t.Status = @Status ");
  101. }
  102. if (!queryParam["CreateUserNo"].IsEmpty())
  103. {
  104. dp.Add("CreateUserNo", queryParam["CreateUserNo"].ToString(), DbType.String);
  105. strSql.Append(" AND t.CreateUserNo = @CreateUserNo ");
  106. }
  107. return this.BaseRepository("CollegeMIS").FindList<SchoolLevelScholarshipEntity>(strSql.ToString(),dp, pagination);
  108. }
  109. catch (Exception ex)
  110. {
  111. if (ex is ExceptionEx)
  112. {
  113. throw;
  114. }
  115. else
  116. {
  117. throw ExceptionEx.ThrowServiceException(ex);
  118. }
  119. }
  120. }
  121. /// <summary>
  122. /// 获取SchoolLevelScholarship表实体数据
  123. /// </summary>
  124. /// <param name="keyValue">主键</param>
  125. /// <returns></returns>
  126. public SchoolLevelScholarshipEntity GetSchoolLevelScholarshipEntity(string keyValue)
  127. {
  128. try
  129. {
  130. return this.BaseRepository("CollegeMIS").FindEntity<SchoolLevelScholarshipEntity>(keyValue);
  131. }
  132. catch (Exception ex)
  133. {
  134. if (ex is ExceptionEx)
  135. {
  136. throw;
  137. }
  138. else
  139. {
  140. throw ExceptionEx.ThrowServiceException(ex);
  141. }
  142. }
  143. }
  144. #endregion
  145. #region 提交数据
  146. /// <summary>
  147. /// 删除实体数据
  148. /// </summary>
  149. /// <param name="keyValue">主键</param>
  150. public void DeleteEntity(string keyValue)
  151. {
  152. try
  153. {
  154. this.BaseRepository("CollegeMIS").Delete<SchoolLevelScholarshipEntity>(t=>t.Id == keyValue);
  155. }
  156. catch (Exception ex)
  157. {
  158. if (ex is ExceptionEx)
  159. {
  160. throw;
  161. }
  162. else
  163. {
  164. throw ExceptionEx.ThrowServiceException(ex);
  165. }
  166. }
  167. }
  168. /// <summary>
  169. /// 保存实体数据(新增、修改)
  170. /// </summary>
  171. /// <param name="keyValue">主键</param>
  172. /// <param name="entity">实体</param>
  173. public void SaveEntity(string keyValue, SchoolLevelScholarshipEntity entity)
  174. {
  175. try
  176. {
  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. /// <summary>
  201. /// 提交
  202. /// </summary>
  203. /// <param name="keyValue">主键</param>
  204. public void DoSubmit(string keyValue, string status, string step)
  205. {
  206. try
  207. {
  208. if (step == "1")//第一步:提交二级学院审核
  209. {
  210. this.BaseRepository("CollegeMIS").ExecuteBySql($"update SchoolLevelScholarship set SubmitTime='{DateTime.Now}',SubmitUserId='{LoginUserInfo.Get().userId}',Status='{status}' where Id='{keyValue}' ");
  211. }
  212. else if (step == "2")//第二步:提交学工部审核
  213. {
  214. this.BaseRepository("CollegeMIS").ExecuteBySql($"update SchoolLevelScholarship set FirstCheckTime='{DateTime.Now}',FirstCheckUserId='{LoginUserInfo.Get().userId}',Status='{status}' where Id='{keyValue}' ");
  215. }
  216. else if (step == "3")//第三步:归档
  217. {
  218. this.BaseRepository("CollegeMIS").ExecuteBySql($"update SchoolLevelScholarship set SecondCheckTime='{DateTime.Now}',SecondCheckUserId='{LoginUserInfo.Get().userId}',Status='{status}' where Id='{keyValue}' ");
  219. }
  220. }
  221. catch (Exception ex)
  222. {
  223. if (ex is ExceptionEx)
  224. {
  225. throw;
  226. }
  227. else
  228. {
  229. throw ExceptionEx.ThrowServiceException(ex);
  230. }
  231. }
  232. }
  233. /// <summary>
  234. /// 退回
  235. /// </summary>
  236. /// <param name="keyValue">主键</param>
  237. public void DoBack(string keyValue, string status, string step)
  238. {
  239. try
  240. {
  241. if (step == "2")//第二步:退回辅导员
  242. {
  243. this.BaseRepository("CollegeMIS").ExecuteBySql($"update SchoolLevelScholarship set FirstCheckTime='{DateTime.Now}',FirstCheckUserId='{LoginUserInfo.Get().userId}',Status='{status}' where Id='{keyValue}' ");
  244. }
  245. else if (step == "3")//第三步:退回辅导员、退回二级学院、取消归档
  246. {
  247. this.BaseRepository("CollegeMIS").ExecuteBySql($"update SchoolLevelScholarship set SecondCheckTime='{DateTime.Now}',SecondCheckUserId='{LoginUserInfo.Get().userId}',Status='{status}' where Id='{keyValue}' ");
  248. }
  249. }
  250. catch (Exception ex)
  251. {
  252. if (ex is ExceptionEx)
  253. {
  254. throw;
  255. }
  256. else
  257. {
  258. throw ExceptionEx.ThrowServiceException(ex);
  259. }
  260. }
  261. }
  262. #endregion
  263. }
  264. }