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.
 
 
 
 
 
 

208 lines
6.5 KiB

  1. using Learun.DataBase.Repository;
  2. using Learun.Util;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Text;
  6. namespace Learun.Application.Extention.TaskScheduling
  7. {
  8. /// <summary>
  9. /// 版 本 Learun-ADMS V7.0.3 力软敏捷开发框架
  10. /// Copyright (c) 2013-2018 上海力软信息技术有限公司
  11. /// 创 建:超级管理员
  12. /// 日 期:2019-01-09 16:07
  13. /// 描 述:任务进程
  14. /// </summary>
  15. public class TSProcessService : RepositoryFactory
  16. {
  17. #region 获取数据
  18. /// <summary>
  19. /// 获取页面显示列表数据
  20. /// <summary>
  21. /// <param name="queryJson">查询参数</param>
  22. /// <returns></returns>
  23. public IEnumerable<TSProcessEntity> GetPageList(Pagination pagination, string queryJson)
  24. {
  25. try
  26. {
  27. var strSql = new StringBuilder();
  28. strSql.Append(@"
  29. SELECT
  30. t.F_Id,
  31. t.F_SchemeInfoId,
  32. t.F_SchemeId,
  33. t.F_BeginTime,
  34. t.F_EndType,
  35. t.F_EndTime,
  36. t.F_State,
  37. t.F_CreateDate,
  38. s.F_Name
  39. FROM
  40. LR_TS_Process t
  41. LEFT JOIN
  42. LR_TS_SchemeInfo s ON s.F_Id = t.F_SchemeInfoId
  43. ");
  44. strSql.Append(" WHERE 1=1 ");
  45. var queryParam = queryJson.ToJObject();
  46. DateTime startTime = DateTime.Now, endTime = DateTime.Now;
  47. if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
  48. {
  49. startTime = queryParam["StartTime"].ToDate();
  50. endTime = queryParam["EndTime"].ToDate();
  51. strSql.Append(" AND ( t.F_CreateDate >= @startTime AND t.F_CreateDate <= @endTime ) ");
  52. }
  53. string keyword = "";
  54. if (!queryParam["keyword"].IsEmpty())
  55. {
  56. keyword = "%" + queryParam["keyword"].ToString() + "%";
  57. strSql.Append(" AND ( s.F_Name like @keyword ) ");
  58. }
  59. return this.BaseRepository().FindList<TSProcessEntity>(strSql.ToString(), new { startTime, endTime, keyword }, 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. public IEnumerable<TSProcessEntity> GetList() {
  74. try
  75. {
  76. var strSql = new StringBuilder();
  77. strSql.Append(@"
  78. SELECT
  79. t.F_Id,
  80. t.F_SchemeInfoId,
  81. t.F_SchemeId,
  82. t.F_BeginTime,
  83. t.F_EndType,
  84. t.F_EndTime,
  85. t.F_State,
  86. t.F_CreateDate
  87. FROM
  88. LR_TS_Process t
  89. ");
  90. strSql.Append(" WHERE 1=1 ");
  91. DateTime nowTime = DateTime.Now;
  92. strSql.Append(" AND ( t.F_EndTime >= @nowTime OR t.F_EndType = 1 ) AND (t.F_State = 1 OR t.F_State = 2)");
  93. return this.BaseRepository().FindList<TSProcessEntity>(strSql.ToString(), new { nowTime });
  94. }
  95. catch (Exception ex)
  96. {
  97. if (ex is ExceptionEx)
  98. {
  99. throw;
  100. }
  101. else
  102. {
  103. throw ExceptionEx.ThrowServiceException(ex);
  104. }
  105. }
  106. }
  107. /// <summary>
  108. /// 获取LR_TS_Process表实体数据
  109. /// <param name="keyValue">主键</param>
  110. /// <summary>
  111. /// <returns></returns>
  112. public TSProcessEntity GetProcessEntity(string keyValue)
  113. {
  114. try
  115. {
  116. return this.BaseRepository().FindEntity<TSProcessEntity>(keyValue);
  117. }
  118. catch (Exception ex)
  119. {
  120. if (ex is ExceptionEx)
  121. {
  122. throw;
  123. }
  124. else
  125. {
  126. throw ExceptionEx.ThrowServiceException(ex);
  127. }
  128. }
  129. }
  130. #endregion
  131. #region 提交数据
  132. /// <summary>
  133. /// 删除实体数据
  134. /// <param name="keyValue">主键</param>
  135. /// <summary>
  136. /// <returns></returns>
  137. public void DeleteEntity(string keyValue)
  138. {
  139. try
  140. {
  141. this.BaseRepository().Delete<TSProcessEntity>(t => t.F_Id == 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. /// <summary>
  156. /// 保存实体数据(新增、修改)
  157. /// <param name="keyValue">主键</param>
  158. /// <summary>
  159. /// <returns></returns>
  160. public void SaveEntity(string keyValue, TSProcessEntity entity)
  161. {
  162. var db = this.BaseRepository().BeginTrans();
  163. try
  164. {
  165. if (!string.IsNullOrEmpty(keyValue))
  166. {
  167. entity.Modify(keyValue);
  168. db.Update(entity);
  169. }
  170. else
  171. {
  172. var entityTmp = db.FindEntity<TSProcessEntity>("SELECT * FROM LR_TS_Process Where F_SchemeInfoId = @schemeId AND F_State != 10 ", new { schemeId = entity.F_SchemeInfoId });
  173. if (entityTmp == null) {
  174. db.ExecuteBySql("delete FROM LR_TS_Process Where F_SchemeInfoId = @schemeId AND F_State != 10 ", new { schemeId = entity.F_SchemeInfoId });
  175. }
  176. entity.Create();
  177. db.Insert(entity);
  178. }
  179. db.Commit();
  180. }
  181. catch (Exception ex)
  182. {
  183. db.Rollback();
  184. if (ex is ExceptionEx)
  185. {
  186. throw;
  187. }
  188. else
  189. {
  190. throw ExceptionEx.ThrowServiceException(ex);
  191. }
  192. }
  193. }
  194. #endregion
  195. }
  196. }