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.

StuFellowshipService.cs 13 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  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-13 10:37
  15. /// 描 述:定制功能助学金
  16. /// </summary>
  17. public class StuFellowshipService : RepositoryFactory
  18. {
  19. #region 获取数据
  20. /// <summary>
  21. /// 获取列表数据
  22. /// </summary>
  23. /// <param name="queryJson">条件参数</param>
  24. /// <returns></returns>
  25. public IEnumerable<StuFellowshipEntity> GetList(string queryJson)
  26. {
  27. try
  28. {
  29. //参考写法
  30. //var queryParam = queryJson.ToJObject();
  31. // 虚拟参数
  32. //var dp = new DynamicParameters(new { });
  33. //dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime);
  34. var strSql = new StringBuilder();
  35. strSql.Append("SELECT t.*");
  36. strSql.Append(" FROM StuFellowship t ");
  37. var queryParam = queryJson.ToJObject();
  38. // 虚拟参数
  39. var dp = new DynamicParameters(new { });
  40. return this.BaseRepository("CollegeMIS").FindList<StuFellowshipEntity>(strSql.ToString(), dp);
  41. }
  42. catch (Exception ex)
  43. {
  44. if (ex is ExceptionEx)
  45. {
  46. throw;
  47. }
  48. else
  49. {
  50. throw ExceptionEx.ThrowServiceException(ex);
  51. }
  52. }
  53. }
  54. /// <summary>
  55. /// 获取列表分页数据
  56. /// </summary>
  57. /// <param name="pagination">分页参数</param>
  58. /// <param name="queryJson">条件参数</param>
  59. /// <returns></returns>
  60. public IEnumerable<StuFellowshipEntity> GetPageList(Pagination pagination, string queryJson)
  61. {
  62. try
  63. {
  64. var strSql = new StringBuilder();
  65. strSql.Append("SELECT t.*,s.StuName,s.DeptNo,s.ClassNo,s.IdentityCardNo,s.IdCardType,s.DepositBank as OpenBank,s.BankCard as OpenAccount ");
  66. strSql.Append(" FROM StuFellowship t ");
  67. strSql.Append(" left join StuInfoBasic s on t.StuNo=s.StuNo ");
  68. strSql.Append(" left join ClassInfo c on t.CreateUserNo=c.ClassTutorNo and s.ClassNo=c.ClassNo ");
  69. strSql.Append(" left join CdDept d on c.DeptNo=d.DeptNo ");
  70. strSql.Append(" where 1=1 ");
  71. var queryParam = queryJson.ToJObject();
  72. // 虚拟参数
  73. var dp = new DynamicParameters(new { });
  74. if (!queryParam["Types"].IsEmpty())//助学金类型:1国家助学金,2校级助学金
  75. {
  76. dp.Add("Types", queryParam["Types"].ToString(), DbType.String);
  77. strSql.Append(" AND t.Types=@Types ");
  78. }
  79. if (!queryParam["StuNo"].IsEmpty())
  80. {
  81. dp.Add("StuNo", "%" + queryParam["StuNo"].ToString() + "%", DbType.String);
  82. strSql.Append(" AND t.StuNo Like @StuNo ");
  83. }
  84. if (!queryParam["StuName"].IsEmpty())
  85. {
  86. dp.Add("StuName", "%" + queryParam["StuName"].ToString() + "%", DbType.String);
  87. strSql.Append(" AND s.StuName Like @StuName ");
  88. }
  89. if (!queryParam["DeptNo"].IsEmpty())
  90. {
  91. dp.Add("DeptNo", queryParam["DeptNo"].ToString(), DbType.String);
  92. strSql.Append(" AND s.DeptNo=@DeptNo ");
  93. }
  94. if (!queryParam["ClassNo"].IsEmpty())
  95. {
  96. dp.Add("ClassNo", queryParam["ClassNo"].ToString(), DbType.String);
  97. strSql.Append(" AND s.ClassNo=@ClassNo ");
  98. }
  99. if (!queryParam["IdentityCardNo"].IsEmpty())
  100. {
  101. dp.Add("IdentityCardNo", "%" + queryParam["IdentityCardNo"].ToString() + "%", DbType.String);
  102. strSql.Append(" AND s.IdentityCardNo like @IdentityCardNo ");
  103. }
  104. if (!queryParam["SubsidizeType"].IsEmpty())
  105. {
  106. dp.Add("SubsidizeType", queryParam["SubsidizeType"].ToString(), DbType.String);
  107. strSql.Append(" AND t.SubsidizeType=@SubsidizeType ");
  108. }
  109. if (!queryParam["OpenBankNo"].IsEmpty())
  110. {
  111. dp.Add("OpenBankNo", "%" + queryParam["OpenBankNo"].ToString() + "%", DbType.String);
  112. strSql.Append(" AND t.OpenBankNo Like @OpenBankNo ");
  113. }
  114. if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
  115. {
  116. dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime);
  117. dp.Add("endTime", queryParam["EndTime"].ToDate(), DbType.DateTime);
  118. strSql.Append(" AND ( t.ApplyDate >= @startTime AND t.ApplyDate <= @endTime ) ");
  119. }
  120. if (!queryParam["StartTimeRelease"].IsEmpty() && !queryParam["EndTimeRelease"].IsEmpty())
  121. {
  122. dp.Add("StartTimeRelease", queryParam["StartTimeRelease"].ToDate(), DbType.DateTime);
  123. dp.Add("EndTimeRelease", queryParam["EndTimeRelease"].ToDate(), DbType.DateTime);
  124. strSql.Append(" AND ( t.ReleaseDate >= @StartTimeRelease AND t.ReleaseDate <= @EndTimeRelease ) ");
  125. }
  126. if (!queryParam["Step"].IsEmpty() && queryParam["Step"].ToString() == "2")//第二步:二级学院审核
  127. {
  128. //不查看状态为草稿的记录
  129. strSql.Append(" AND t.Status > 0 ");
  130. //二级学院审核专员==系部的资助审核人==登录用户,系统管理员除外
  131. if (LoginUserInfo.Get().account.ToLower() != "system")
  132. {
  133. strSql.Append($" and d.DeptSubsidizer='{LoginUserInfo.Get().account}' ");
  134. }
  135. }
  136. if (!queryParam["Step"].IsEmpty() && queryParam["Step"].ToString() == "3")//第三步:学工部审核
  137. {
  138. //不查看状态为草稿的记录
  139. strSql.Append(" AND t.Status > 1 ");
  140. }
  141. if (!queryParam["Status"].IsEmpty())
  142. {
  143. dp.Add("Status", queryParam["Status"].ToString(), DbType.String);
  144. strSql.Append(" AND t.Status = @Status ");
  145. }
  146. if (!queryParam["CreateUserNo"].IsEmpty())
  147. {
  148. dp.Add("CreateUserNo", queryParam["CreateUserNo"].ToString(), DbType.String);
  149. strSql.Append(" AND t.CreateUserNo = @CreateUserNo ");
  150. }
  151. return this.BaseRepository("CollegeMIS").FindList<StuFellowshipEntity>(strSql.ToString(), dp, pagination);
  152. }
  153. catch (Exception ex)
  154. {
  155. if (ex is ExceptionEx)
  156. {
  157. throw;
  158. }
  159. else
  160. {
  161. throw ExceptionEx.ThrowServiceException(ex);
  162. }
  163. }
  164. }
  165. /// <summary>
  166. /// 获取实体数据
  167. /// </summary>
  168. /// <param name="keyValue">主键</param>
  169. /// <returns></returns>
  170. public StuFellowshipEntity GetEntity(string keyValue)
  171. {
  172. try
  173. {
  174. var strsql = $"select t.*,s.StuName,s.DeptNo,s.ClassNo,s.IdentityCardNo,s.IdCardType,s.DepositBank as OpenBank,s.BankCard as OpenAccount from StuFellowship t left join StuInfoBasic s on t.StuNo=s.StuNo where 1=1 and t.ID='{keyValue}' ";
  175. return this.BaseRepository("CollegeMIS").FindEntity<StuFellowshipEntity>(strsql, null);
  176. }
  177. catch (Exception ex)
  178. {
  179. if (ex is ExceptionEx)
  180. {
  181. throw;
  182. }
  183. else
  184. {
  185. throw ExceptionEx.ThrowServiceException(ex);
  186. }
  187. }
  188. }
  189. #endregion
  190. #region 提交数据
  191. /// <summary>
  192. /// 删除实体数据
  193. /// </summary>
  194. /// <param name="keyValue">主键</param>
  195. public void DeleteEntity(string keyValue)
  196. {
  197. try
  198. {
  199. this.BaseRepository("CollegeMIS").Delete<StuFellowshipEntity>(t => t.ID == keyValue);
  200. }
  201. catch (Exception ex)
  202. {
  203. if (ex is ExceptionEx)
  204. {
  205. throw;
  206. }
  207. else
  208. {
  209. throw ExceptionEx.ThrowServiceException(ex);
  210. }
  211. }
  212. }
  213. /// <summary>
  214. /// 保存实体数据(新增、修改)
  215. /// <param name="keyValue">主键</param>
  216. /// <param name="entity">实体</param>
  217. /// </summary>
  218. public void SaveEntity(string keyValue, StuFellowshipEntity entity)
  219. {
  220. try
  221. {
  222. if (!string.IsNullOrEmpty(keyValue))
  223. {
  224. entity.Modify(keyValue);
  225. this.BaseRepository("CollegeMIS").Update(entity);
  226. }
  227. else
  228. {
  229. entity.Create();
  230. this.BaseRepository("CollegeMIS").Insert(entity);
  231. }
  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. public void DoSubmit(string keyValue, string status, string step)
  250. {
  251. try
  252. {
  253. if (step == "1")//第一步:提交二级学院审核
  254. {
  255. this.BaseRepository("CollegeMIS").ExecuteBySql($"update StuFellowship set SubmitTime='{DateTime.Now}',SubmitUserId='{LoginUserInfo.Get().userId}',Status='{status}' where Id='{keyValue}' ");
  256. }
  257. else if (step == "2")//第二步:提交学工部审核
  258. {
  259. this.BaseRepository("CollegeMIS").ExecuteBySql($"update StuFellowship set FirstCheckTime='{DateTime.Now}',FirstCheckUserId='{LoginUserInfo.Get().userId}',Status='{status}' where Id='{keyValue}' ");
  260. }
  261. else if (step == "3")//第三步:归档
  262. {
  263. this.BaseRepository("CollegeMIS").ExecuteBySql($"update StuFellowship set SecondCheckTime='{DateTime.Now}',SecondCheckUserId='{LoginUserInfo.Get().userId}',Status='{status}' where Id='{keyValue}' ");
  264. }
  265. }
  266. catch (Exception ex)
  267. {
  268. if (ex is ExceptionEx)
  269. {
  270. throw;
  271. }
  272. else
  273. {
  274. throw ExceptionEx.ThrowServiceException(ex);
  275. }
  276. }
  277. }
  278. /// <summary>
  279. /// 退回
  280. /// </summary>
  281. /// <param name="keyValue">主键</param>
  282. public void DoBack(string keyValue, string status, string step)
  283. {
  284. try
  285. {
  286. if (step == "2")//第二步:退回辅导员
  287. {
  288. this.BaseRepository("CollegeMIS").ExecuteBySql($"update StuFellowship set FirstCheckTime='{DateTime.Now}',FirstCheckUserId='{LoginUserInfo.Get().userId}',Status='{status}' where Id='{keyValue}' ");
  289. }
  290. else if (step == "3")//第三步:退回辅导员、退回二级学院、取消归档
  291. {
  292. this.BaseRepository("CollegeMIS").ExecuteBySql($"update StuFellowship set SecondCheckTime='{DateTime.Now}',SecondCheckUserId='{LoginUserInfo.Get().userId}',Status='{status}' where Id='{keyValue}' ");
  293. }
  294. }
  295. catch (Exception ex)
  296. {
  297. if (ex is ExceptionEx)
  298. {
  299. throw;
  300. }
  301. else
  302. {
  303. throw ExceptionEx.ThrowServiceException(ex);
  304. }
  305. }
  306. }
  307. #endregion
  308. }
  309. }