Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 
 

276 строки
8.1 KiB

  1. using Learun.DataBase.Repository;
  2. using Learun.Util;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Text;
  6. using System.Linq;
  7. namespace Learun.Application.Organization
  8. {
  9. /// <summary>
  10. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  11. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  12. /// 创建人:陈彬彬
  13. /// 日 期:2017.04.17
  14. /// 描 述:部门管理
  15. /// </summary>
  16. public class DepartmentService : RepositoryFactory
  17. {
  18. #region 构造函数和属性
  19. private string fieldSql;
  20. public DepartmentService()
  21. {
  22. fieldSql = "*";
  23. }
  24. #endregion
  25. #region 获取数据
  26. /// <summary>
  27. /// 获取部门列表信息(根据公司Id)
  28. /// </summary>
  29. /// <param name="companyId">公司主键</param>
  30. /// <returns></returns>
  31. public IEnumerable<DepartmentEntity> GetList(string companyId)
  32. {
  33. try
  34. {
  35. var strSql = new StringBuilder();
  36. strSql.Append("SELECT ");
  37. strSql.Append(fieldSql);
  38. strSql.Append(" FROM LR_Base_Department t WHERE t.F_EnabledMark = 1 AND t.F_DeleteMark = 0 AND F_CompanyId = @companyId ORDER BY t.F_ParentId,t.F_FullName ");
  39. return this.BaseRepository().FindList<DepartmentEntity>(strSql.ToString(), new { companyId = companyId });
  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. /// 获取部门列表信息(根据公司Id)
  55. /// </summary>
  56. /// <returns></returns>
  57. public IEnumerable<DepartmentEntity> GetAllList()
  58. {
  59. try
  60. {
  61. var strSql = new StringBuilder();
  62. strSql.Append("SELECT ");
  63. strSql.Append(fieldSql);
  64. strSql.Append(" FROM LR_Base_Department t WHERE t.F_EnabledMark = 1 AND t.F_DeleteMark = 0 ");
  65. return this.BaseRepository().FindList<DepartmentEntity>(strSql.ToString());
  66. }
  67. catch (Exception ex)
  68. {
  69. if (ex is ExceptionEx)
  70. {
  71. throw;
  72. }
  73. else
  74. {
  75. throw ExceptionEx.ThrowServiceException(ex);
  76. }
  77. }
  78. }
  79. /// <summary>
  80. /// 获取部门列表信息 部门映射
  81. /// </summary>
  82. /// <returns></returns>
  83. public IEnumerable<DepartmentEntity> GetAllListForMap()
  84. {
  85. try
  86. {
  87. var strSql = new StringBuilder();
  88. strSql.Append("SELECT ");
  89. strSql.Append(" F_CompanyId,F_ParentId,F_FullName,F_DepartmentId ");
  90. strSql.Append(" FROM LR_Base_Department t WHERE t.F_EnabledMark = 1 AND t.F_DeleteMark = 0 ");
  91. return this.BaseRepository().FindList<DepartmentEntity>(strSql.ToString());
  92. }
  93. catch (Exception ex)
  94. {
  95. if (ex is ExceptionEx)
  96. {
  97. throw;
  98. }
  99. else
  100. {
  101. throw ExceptionEx.ThrowServiceException(ex);
  102. }
  103. }
  104. }
  105. /// <summary>
  106. /// 获取部门数据实体
  107. /// </summary>
  108. /// <param name="keyValue">主键</param>
  109. /// <returns></returns>
  110. public DepartmentEntity GetEntity(string keyValue)
  111. {
  112. try
  113. {
  114. return this.BaseRepository().FindEntity<DepartmentEntity>(keyValue);
  115. }
  116. catch (Exception ex)
  117. {
  118. if (ex is ExceptionEx)
  119. {
  120. throw;
  121. }
  122. else
  123. {
  124. throw ExceptionEx.ThrowServiceException(ex);
  125. }
  126. }
  127. }
  128. /// <summary>
  129. /// 获取部门名称列表
  130. /// </summary>
  131. /// <param name="keyValue">部门idList</param>
  132. /// <returns></returns>
  133. public string GetDepartmentList(string keyValue)
  134. {
  135. try
  136. {
  137. var idList = keyValue.Split(',').ToList();
  138. var data=this.BaseRepository().FindList<DepartmentEntity>(a=>idList.Contains(a.F_DepartmentId));
  139. var result =new StringBuilder();
  140. foreach (var item in data)
  141. {
  142. result.Append(item.F_FullName+",");
  143. }
  144. return result.ToString().TrimEnd(',');
  145. }
  146. catch (Exception ex)
  147. {
  148. if (ex is ExceptionEx)
  149. {
  150. throw;
  151. }
  152. else
  153. {
  154. throw ExceptionEx.ThrowServiceException(ex);
  155. }
  156. }
  157. }
  158. /// <summary>
  159. /// 获取部门数据实体
  160. /// </summary>
  161. /// <param name="code">部门编号</param>
  162. /// <returns></returns>
  163. public DepartmentEntity GetEntityByCode(string code)
  164. {
  165. try
  166. {
  167. return this.BaseRepository().FindEntity<DepartmentEntity>(x => x.F_EnCode == code);
  168. }
  169. catch (Exception ex)
  170. {
  171. if (ex is ExceptionEx)
  172. {
  173. throw;
  174. }
  175. else
  176. {
  177. throw ExceptionEx.ThrowServiceException(ex);
  178. }
  179. }
  180. }
  181. #endregion
  182. #region 提交数据
  183. /// <summary>
  184. /// 虚拟删除部门
  185. /// </summary>
  186. /// <param name="keyValue">主键</param>
  187. public void VirtualDelete(string keyValue)
  188. {
  189. try
  190. {
  191. DepartmentEntity entity = new DepartmentEntity()
  192. {
  193. F_DepartmentId = keyValue,
  194. F_DeleteMark = 1
  195. };
  196. this.BaseRepository().Update(entity);
  197. }
  198. catch (Exception ex)
  199. {
  200. if (ex is ExceptionEx)
  201. {
  202. throw;
  203. }
  204. else
  205. {
  206. throw ExceptionEx.ThrowServiceException(ex);
  207. }
  208. }
  209. }
  210. /// <summary>
  211. /// 保存部门表单(新增、修改)
  212. /// </summary>
  213. /// <param name="keyValue">主键值</param>
  214. /// <param name="departmentEntity">部门实体</param>
  215. /// <returns></returns>
  216. public void SaveEntity(string keyValue, DepartmentEntity departmentEntity)
  217. {
  218. try
  219. {
  220. if (!string.IsNullOrEmpty(keyValue))
  221. {
  222. departmentEntity.Modify(keyValue);
  223. this.BaseRepository().Update(departmentEntity);
  224. }
  225. else
  226. {
  227. departmentEntity.Create();
  228. this.BaseRepository().Insert(departmentEntity);
  229. }
  230. }
  231. catch (Exception ex)
  232. {
  233. if (ex is ExceptionEx)
  234. {
  235. throw;
  236. }
  237. else
  238. {
  239. throw ExceptionEx.ThrowServiceException(ex);
  240. }
  241. }
  242. }
  243. internal bool GetAny()
  244. {
  245. try
  246. {
  247. return this.BaseRepository().FindList<DepartmentEntity>().ToList().Count() > 0 ? true : false;
  248. }
  249. catch (Exception ex)
  250. {
  251. if (ex is ExceptionEx)
  252. {
  253. throw;
  254. }
  255. else
  256. {
  257. throw ExceptionEx.ThrowServiceException(ex);
  258. }
  259. }
  260. }
  261. #endregion
  262. }
  263. }