ACLUserDept.cs 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191
  1. using System;
  2. using System.Data;
  3. using System.Collections.Generic;
  4. using WMS.Info;
  5. using WMS.Util;
  6. namespace WMS.Core
  7. {
  8. /// <summary>
  9. /// 描 述:部门管理
  10. /// </summary>
  11. public class ACLUserDept
  12. {
  13. /// <summary>
  14. /// 获取列表数据
  15. /// <summary>
  16. /// <returns></returns>
  17. public IEnumerable<ACL_USERDEPT> GetList(string keyword)
  18. {
  19. try
  20. {
  21. return SysDbCore.GetDbCtx().Queryable<ACL_USERDEPT>().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword)).ToList();
  22. }
  23. catch (Exception ex)
  24. {
  25. throw ex;
  26. }
  27. }
  28. /// <summary>
  29. /// 获取分页数据
  30. /// <summary>
  31. /// <returns></returns>
  32. public IEnumerable<ACL_USERDEPT> GetPageList(string keyword, Pagination pagination)
  33. {
  34. try
  35. {
  36. int count = 0;
  37. var db = SysDbCore.GetDbCtx().Queryable<ACL_USERDEPT>().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword));
  38. List<ACL_USERDEPT> list = new List<ACL_USERDEPT>();
  39. if (pagination.sord.ToUpper() == "ASC")
  40. {
  41. list = db.OrderBy(pagination.sidx).ToPageList(pagination.page, pagination.rows, ref count);
  42. }
  43. else
  44. {
  45. string orderstr = pagination.sidx + " desc";
  46. list = db.OrderBy(orderstr).ToPageList(pagination.page, pagination.rows, ref count);
  47. }
  48. pagination.records = count;
  49. return list;
  50. }
  51. catch (Exception ex)
  52. {
  53. throw ex;
  54. }
  55. }
  56. /// <summary>
  57. /// 获取实体数据
  58. /// <param name="keyValue">主键</param>
  59. /// <summary>
  60. /// <returns></returns>
  61. public ACL_USERDEPT GetEntity(string keyValue)
  62. {
  63. try
  64. {
  65. return SysDbCore.GetDbCtx().Queryable<ACL_USERDEPT>().Where(it => it.F_ISDELETE == 0 && it.F_NO == keyValue).First();
  66. }
  67. catch (Exception ex)
  68. {
  69. throw ex;
  70. }
  71. }
  72. /// <summary>
  73. /// 删除实体数据
  74. /// <param name="keyValue">主键</param>
  75. /// <summary>
  76. /// <returns></returns>
  77. public void DeleteEntity(string keyValue)
  78. {
  79. try
  80. {
  81. SysDbCore.GetDbCtx().Deleteable<ACL_USERDEPT>().Where(it => it.F_NO == keyValue).ExecuteCommand();
  82. }
  83. catch (Exception ex)
  84. {
  85. throw ex;
  86. }
  87. }
  88. /// <summary>
  89. /// 保存实体数据(新增、修改)
  90. /// <param name="keyValue">主键</param>
  91. /// <summary>
  92. /// <returns></returns>
  93. public void SaveEntity(LoginUserInfo loginUserInfo, string keyValue, ACL_USERDEPT entity)
  94. {
  95. try
  96. {
  97. if (entity == null)
  98. {
  99. throw SysExCore.ThrowFailException("输入数据为空。");
  100. }
  101. if (string.IsNullOrWhiteSpace(entity.F_NO))
  102. {
  103. throw SysExCore.ThrowFailException("编号为空。");
  104. }
  105. if (string.IsNullOrWhiteSpace(entity.F_NAME))
  106. {
  107. throw SysExCore.ThrowFailException("名称为空。");
  108. }
  109. entity.F_EDITTIME = DateTime.Now;
  110. entity.F_EDITUSERNO = loginUserInfo.UserNo;
  111. if (string.IsNullOrEmpty(keyValue))
  112. {
  113. entity.F_ADDTIME = DateTime.Now;
  114. entity.F_ADDUSERNO = loginUserInfo.UserNo;
  115. entity.F_ISDELETE = 0;
  116. entity.F_ISSTOP = 0;
  117. SysDbCore.GetDbCtx().Insertable<ACL_USERDEPT>(entity).ExecuteCommand();
  118. }
  119. else
  120. {
  121. SysDbCore.GetDbCtx().Updateable<ACL_USERDEPT>(entity).IgnoreColumns(it => new { it.F_ADDTIME, it.F_ADDUSERNO }).Where(it => it.F_NO == keyValue).ExecuteCommand();
  122. }
  123. }
  124. catch (Exception ex)
  125. {
  126. throw ex;
  127. }
  128. }
  129. public Dictionary<string, ACL_USERDEPT> GetMap()
  130. {
  131. try
  132. {
  133. Dictionary<string, ACL_USERDEPT> dics = new Dictionary<string, ACL_USERDEPT>();
  134. SysDbCore.GetDbCtx().Queryable<ACL_USERDEPT>().ToList().ForEach(it => dics.Add(it.F_NO, it));
  135. return dics;
  136. }
  137. catch (Exception ex)
  138. {
  139. throw ex;
  140. }
  141. }
  142. public List<TreeModel> GetTree()
  143. {
  144. try
  145. {
  146. IEnumerable<ACL_USERDEPT> list = GetList("");
  147. List<TreeModel> treeList = new List<TreeModel>();
  148. foreach (var item in list)
  149. {
  150. TreeModel node = new TreeModel
  151. {
  152. id = item.F_NO,
  153. text = item.F_NAME,
  154. value = item.F_NO,
  155. showcheck = false,
  156. checkstate = 0,
  157. isexpand = true,
  158. parentId = ""
  159. };
  160. treeList.Add(node);
  161. }
  162. return treeList.ToTree();
  163. }
  164. catch (Exception ex)
  165. {
  166. throw ex;
  167. }
  168. }
  169. public string GetIsProDep(LoginUserInfo user)
  170. {
  171. var Gteuser = SysDbCore.GetDbCtx().Queryable<ACL_USERITEM>().Where(v=>v.F_NO== user.UserNo).First();
  172. switch (Gteuser.F_DEPTNO)
  173. {
  174. case "P001":
  175. return "cost_DEP_SC";
  176. default:
  177. return "cost";
  178. }
  179. }
  180. }
  181. }