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.

PsychologyInfoService.cs 9.3 KiB

2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  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-06 12:18
  15. /// 描 述:心里预约功能
  16. /// </summary>
  17. public class PsychologyInfoService : RepositoryFactory
  18. {
  19. #region 获取数据
  20. /// <summary>
  21. /// 获取列表数据
  22. /// </summary>
  23. /// <param name="queryJson">条件参数</param>
  24. /// <returns></returns>
  25. public IEnumerable<PsychologyInfoEntity> 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.*,p.ReplyContent,p.Url as Urls,p.ReplyUser,p.ReplyTime,s.StuName,s.deptNo,s.majorno,s.classno,s.GenderNo,s.IdentityCardNo,s.IsSingle FROM PsychologyInfo t ");
  36. strSql.Append(" left join PsychologyReplyInfo p on p.PsychologyInfoid = t.id ");
  37. strSql.Append(" left join StuInfoBasic s on s.StuNo = t.StuNo ");
  38. strSql.Append(" where 1=1");
  39. return this.BaseRepository("CollegeMIS").FindList<PsychologyInfoEntity>(strSql.ToString());
  40. }
  41. catch (Exception ex)
  42. {
  43. if (ex is ExceptionEx)
  44. {
  45. throw;
  46. }
  47. else
  48. {
  49. throw ExceptionEx.ThrowServiceException(ex);
  50. }
  51. }
  52. }
  53. /// <summary>
  54. /// 获取列表分页数据
  55. /// </summary>
  56. /// <param name="pagination">分页参数</param>
  57. /// <param name="queryJson">条件参数</param>
  58. /// <returns></returns>
  59. public IEnumerable<PsychologyInfoEntity> GetPageList(Pagination pagination, string queryJson)
  60. {
  61. try
  62. {
  63. var db = this.BaseRepository().getDbConnection().Database;
  64. var strSql = new StringBuilder();
  65. strSql.Append(" SELECT t.*,l.F_RealName,p.ReplyContent,p.Url as Urls,p.ReplyUser,p.ReplyTime,s.StuName,s.deptNo,s.majorno,s.classno,s.GenderNo,s.IdentityCardNo,s.IsSingle FROM PsychologyInfo t ");
  66. strSql.Append(" left join PsychologyReplyInfo p on p.PsychologyInfoid = t.id AND p.State = t.State ");
  67. strSql.Append(" left join StuInfoBasic s on s.StuNo = t.StuNo ");
  68. strSql.Append($" left join {db}.dbo.LR_Base_User l on l.F_account =p.ReplyUser ");
  69. strSql.Append(" where 1=1 ");
  70. var queryParam = queryJson.ToJObject();
  71. var dp = new DynamicParameters(new { });
  72. if (!queryParam["StuNo"].IsEmpty())
  73. {
  74. dp.Add("StuNo", queryParam["StuNo"].ToString(), DbType.String);
  75. strSql.Append(" AND t.StuNo = @StuNo ");
  76. }
  77. if (!queryParam["StuName"].IsEmpty())
  78. {
  79. dp.Add("StuName", queryParam["StuName"].ToString(), DbType.String);
  80. strSql.Append(" AND s.StuName = @StuName ");
  81. }
  82. if (!queryParam["DeptNo"].IsEmpty())
  83. {
  84. dp.Add("DeptNo", queryParam["DeptNo"].ToString(), DbType.String);
  85. strSql.Append(" AND s.DeptNo = @DeptNo ");
  86. }
  87. if (!queryParam["MajorNo"].IsEmpty())
  88. {
  89. dp.Add("MajorNo", queryParam["MajorNo"].ToString(), DbType.String);
  90. strSql.Append(" AND s.MajorNo = @MajorNo ");
  91. }
  92. if (!queryParam["ClassNo"].IsEmpty())
  93. {
  94. dp.Add("ClassNo", queryParam["ClassNo"].ToString(), DbType.String);
  95. strSql.Append(" AND s.ClassNo = @ClassNo ");
  96. }
  97. if (!queryParam["IdentityCardNo"].IsEmpty())
  98. {
  99. dp.Add("IdentityCardNo", "%" + queryParam["IdentityCardNo"].ToString() + "%", DbType.String);
  100. strSql.Append(" AND t.IdentityCardNo like @IdentityCardNo ");
  101. }
  102. if (!queryParam["ReplyContent"].IsEmpty())
  103. {
  104. dp.Add("ReplyContent", "%" + queryParam["ReplyContent"].ToString() + "%", DbType.String);
  105. strSql.Append(" AND t.ReplyContent like @ReplyContent ");
  106. }
  107. if (!queryParam["RealName"].IsEmpty())
  108. {
  109. dp.Add("RealName", "%" + queryParam["RealName"].ToString() + "%", DbType.String);
  110. strSql.Append(" AND l.F_RealName like @RealName ");
  111. }
  112. if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
  113. {
  114. dp.Add("startTime", queryParam["StartTime"].ToDate(), DbType.DateTime);
  115. dp.Add("endTime", queryParam["EndTime"].ToDate(), DbType.DateTime);
  116. strSql.Append(" AND ( t.CreateTime >= @startTime AND t.CreateTime <= @endTime ) ");
  117. }
  118. return this.BaseRepository("CollegeMIS").FindList<PsychologyInfoEntity>(strSql.ToString(), dp, pagination);
  119. }
  120. catch (Exception ex)
  121. {
  122. if (ex is ExceptionEx)
  123. {
  124. throw;
  125. }
  126. else
  127. {
  128. throw ExceptionEx.ThrowServiceException(ex);
  129. }
  130. }
  131. }
  132. /// <summary>
  133. /// 获取实体数据
  134. /// </summary>
  135. /// <param name="keyValue">主键</param>
  136. /// <returns></returns>
  137. public PsychologyInfoEntity GetEntity(string keyValue)
  138. {
  139. try
  140. {
  141. return this.BaseRepository("CollegeMIS").FindEntity<PsychologyInfoEntity>(keyValue);
  142. }
  143. catch (Exception ex)
  144. {
  145. if (ex is ExceptionEx)
  146. {
  147. throw;
  148. }
  149. else
  150. {
  151. throw ExceptionEx.ThrowServiceException(ex);
  152. }
  153. }
  154. }
  155. #endregion
  156. #region 提交数据
  157. /// <summary>
  158. /// 删除实体数据
  159. /// </summary>
  160. /// <param name="keyValue">主键</param>
  161. public void DeleteEntity(string keyValue)
  162. {
  163. try
  164. {
  165. this.BaseRepository("CollegeMIS").Delete<PsychologyInfoEntity>(t => t.Id == keyValue);
  166. }
  167. catch (Exception ex)
  168. {
  169. if (ex is ExceptionEx)
  170. {
  171. throw;
  172. }
  173. else
  174. {
  175. throw ExceptionEx.ThrowServiceException(ex);
  176. }
  177. }
  178. }
  179. /// <summary>
  180. /// 保存实体数据(新增、修改)
  181. /// <param name="keyValue">主键</param>
  182. /// <param name="entity">实体</param>
  183. /// </summary>
  184. public void SaveEntity(string keyValue, PsychologyInfoEntity entity)
  185. {
  186. try
  187. {
  188. if (!string.IsNullOrEmpty(keyValue))
  189. {
  190. entity.Modify(keyValue);
  191. this.BaseRepository("CollegeMIS").Update(entity);
  192. }
  193. else
  194. {
  195. entity.Create();
  196. this.BaseRepository("CollegeMIS").Insert(entity);
  197. }
  198. }
  199. catch (Exception ex)
  200. {
  201. if (ex is ExceptionEx)
  202. {
  203. throw;
  204. }
  205. else
  206. {
  207. throw ExceptionEx.ThrowServiceException(ex);
  208. }
  209. }
  210. }
  211. /// <summary>
  212. /// 提交实体数据
  213. /// </summary>
  214. /// <param name="keyValue">主键</param>
  215. public void SubmitEntity(string keyValue)
  216. {
  217. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  218. try
  219. {
  220. var entity = db.FindEntity<PsychologyInfoEntity>(keyValue);
  221. entity.State = 2;
  222. db.Update(entity);
  223. db.ExecuteBySql(@"INSERT INTO PsychologyReplyInfo(Id, PsychologyInfoId, State, ReplyContent, ReplyType, Url, ReplyUser, ReplyTime, CreateTime)
  224. VALUES('" + Guid.NewGuid().ToString() + "', '" + keyValue + "', '2', '', '', '', '',NUll, '" + DateTime.Now + "') ");
  225. db.Commit();
  226. }
  227. catch (Exception ex)
  228. {
  229. db.Rollback();
  230. if (ex is ExceptionEx)
  231. {
  232. throw;
  233. }
  234. else
  235. {
  236. throw ExceptionEx.ThrowServiceException(ex);
  237. }
  238. }
  239. }
  240. #endregion
  241. }
  242. }