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.
 
 
 
 
 
 

239 lines
8.3 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.LogisticsManagement
  10. {
  11. /// <summary>
  12. /// 版 本 Learun-ADMS V7.0.6 力软敏捷开发框架
  13. /// Copyright (c) 2013-2020 力软信息技术(苏州)有限公司
  14. /// 创 建:超级管理员
  15. /// 日 期:2021-06-21 15:49
  16. /// 描 述:项目资料管理
  17. /// </summary>
  18. public class ProjectDataManageService : RepositoryFactory
  19. {
  20. #region 获取数据
  21. /// <summary>
  22. /// 获取页面显示列表数据
  23. /// </summary>
  24. /// <param name="pagination">查询参数</param>
  25. /// <param name="queryJson">查询参数</param>
  26. /// <returns></returns>
  27. public IEnumerable<ProjectDataManageEntity> GetPageList(Pagination pagination, string queryJson)
  28. {
  29. try
  30. {
  31. var strSql = new StringBuilder();
  32. strSql.Append("SELECT t.* ");
  33. strSql.Append(" FROM ProjectDataManage t ");
  34. strSql.Append(" WHERE 1=1 ");
  35. var queryParam = queryJson.ToJObject();
  36. // 虚拟参数
  37. var dp = new DynamicParameters(new { });
  38. if (!queryParam["Name"].IsEmpty())
  39. {
  40. dp.Add("Name", "%" + queryParam["Name"].ToString() + "%", DbType.String);
  41. strSql.Append(" AND t.Name Like @Name ");
  42. }
  43. if (!queryParam["DepartmentId"].IsEmpty())
  44. {
  45. dp.Add("DepartmentId", queryParam["DepartmentId"].ToString(), DbType.String);
  46. strSql.Append(" AND t.DepartmentId = @DepartmentId ");
  47. }
  48. if (!queryParam["ManagerId"].IsEmpty())
  49. {
  50. dp.Add("ManagerId", queryParam["ManagerId"].ToString(), DbType.String);
  51. strSql.Append(" AND t.ManagerId = @ManagerId ");
  52. }
  53. if (!queryParam["PId"].IsEmpty())
  54. {
  55. dp.Add("PId", queryParam["PId"].ToString(), DbType.String);
  56. strSql.Append(" AND t.PId = @PId ");
  57. }
  58. if (!queryParam["PPId"].IsEmpty())
  59. {
  60. dp.Add("PPId", queryParam["PPId"].ToString(), DbType.String);
  61. strSql.Append(" AND t.PPId = @PPId ");
  62. }
  63. return this.BaseRepository("CollegeMIS").FindList<ProjectDataManageEntity>(strSql.ToString(), dp, pagination);
  64. }
  65. catch (Exception ex)
  66. {
  67. if (ex is ExceptionEx)
  68. {
  69. throw;
  70. }
  71. else
  72. {
  73. throw ExceptionEx.ThrowServiceException(ex);
  74. }
  75. }
  76. }
  77. /// <summary>
  78. /// 获取页面显示列表数据
  79. /// </summary>
  80. /// <param name="queryJson">查询参数</param>
  81. /// <returns></returns>
  82. public IEnumerable<ProjectDataManageEntity> GetList(string queryJson)
  83. {
  84. try
  85. {
  86. var strSql = new StringBuilder();
  87. strSql.Append("SELECT t.* ");
  88. strSql.Append(" FROM ProjectDataManage t ");
  89. strSql.Append(" WHERE 1=1 ");
  90. var queryParam = queryJson.ToJObject();
  91. // 虚拟参数
  92. var dp = new DynamicParameters(new { });
  93. if (!queryParam["Name"].IsEmpty())
  94. {
  95. dp.Add("Name", "%" + queryParam["Name"].ToString() + "%", DbType.String);
  96. strSql.Append(" AND t.Name Like @Name ");
  97. }
  98. if (!queryParam["DepartmentId"].IsEmpty())
  99. {
  100. dp.Add("DepartmentId", queryParam["DepartmentId"].ToString(), DbType.String);
  101. strSql.Append(" AND t.DepartmentId = @DepartmentId ");
  102. }
  103. if (!queryParam["ManagerId"].IsEmpty())
  104. {
  105. dp.Add("ManagerId", queryParam["ManagerId"].ToString(), DbType.String);
  106. strSql.Append(" AND t.ManagerId = @ManagerId ");
  107. }
  108. if (!queryParam["PId"].IsEmpty())
  109. {
  110. dp.Add("PId", queryParam["PId"].ToString(), DbType.String);
  111. strSql.Append(" AND t.PId = @PId ");
  112. }
  113. if (!queryParam["PPId"].IsEmpty())
  114. {
  115. dp.Add("PPId", queryParam["PPId"].ToString(), DbType.String);
  116. strSql.Append(" AND t.PPId = @PPId ");
  117. }
  118. return this.BaseRepository("CollegeMIS").FindList<ProjectDataManageEntity>(strSql.ToString(), dp);
  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. /// 获取ProjectDataManage表实体数据
  134. /// </summary>
  135. /// <param name="keyValue">主键</param>
  136. /// <returns></returns>
  137. public ProjectDataManageEntity GetProjectDataManageEntity(string keyValue)
  138. {
  139. try
  140. {
  141. return this.BaseRepository("CollegeMIS").FindEntity<ProjectDataManageEntity>(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<ProjectDataManageEntity>(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. /// </summary>
  182. /// <param name="keyValue">主键</param>
  183. /// <param name="entity">实体</param>
  184. public void SaveEntity(string keyValue, ProjectDataManageEntity entity)
  185. {
  186. var db = this.BaseRepository("CollegeMIS").BeginTrans();
  187. try
  188. {
  189. if (!string.IsNullOrEmpty(keyValue))
  190. {
  191. entity.Modify(keyValue);
  192. db.Update(entity);
  193. //if (!string.IsNullOrEmpty(entity.Files))
  194. //{
  195. // //判断当前项目各阶段是否已全部上传
  196. // var list = db.FindList<ProjectDataManageEntity>(x => x.PId == entity.PId && !string.IsNullOrEmpty(x.Files) && x.Id != keyValue);
  197. // if (list.Count() <= 0)
  198. // {
  199. // //如果全部已上传,将项目状态改为已完成
  200. // var projectManageEntity = db.FindEntity<ProjectManageEntity>(x => x.Id == entity.PId);
  201. // projectManageEntity.Status = "2";
  202. // db.Update(projectManageEntity);
  203. // }
  204. //}
  205. }
  206. else
  207. {
  208. entity.Create();
  209. db.Insert(entity);
  210. }
  211. db.Commit();
  212. }
  213. catch (Exception ex)
  214. {
  215. db.Rollback();
  216. if (ex is ExceptionEx)
  217. {
  218. throw;
  219. }
  220. else
  221. {
  222. throw ExceptionEx.ThrowServiceException(ex);
  223. }
  224. }
  225. }
  226. #endregion
  227. }
  228. }