ACLUserRole.cs 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. using System;
  2. using System.Data;
  3. using System.Collections.Generic;
  4. using WMS.Info;
  5. using WMS.Util;
  6. using SqlSugar;
  7. namespace WMS.Core
  8. {
  9. /// <summary>
  10. /// 描 述:角色管理
  11. /// </summary>
  12. public class ACLUserRole
  13. {
  14. /// <summary>
  15. /// 获取列表数据
  16. /// <summary>
  17. /// <returns></returns>
  18. public IEnumerable<ACL_USERROLE> GetList(string keyword)
  19. {
  20. try
  21. {
  22. return SysDbCore.GetDbCtx().Queryable<ACL_USERROLE>().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword)|| it.F_NAME.Contains(keyword)).ToList();
  23. }
  24. catch (Exception ex)
  25. {
  26. throw ex;
  27. }
  28. }
  29. /// <summary>
  30. /// 获取分页数据
  31. /// <summary>
  32. /// <returns></returns>
  33. public IEnumerable<ACL_USERROLE> GetPageList(string keyword, Pagination pagination)
  34. {
  35. try
  36. {
  37. int count = 0;
  38. var db = SysDbCore.GetDbCtx().Queryable<ACL_USERROLE>().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword));
  39. List<ACL_USERROLE> list = new List<ACL_USERROLE>();
  40. if (pagination.sord.ToUpper() == "ASC")
  41. {
  42. list = db.OrderBy(pagination.sidx).ToPageList(pagination.page, pagination.rows, ref count);
  43. }
  44. else
  45. {
  46. string orderstr = pagination.sidx + " desc";
  47. list = db.OrderBy(orderstr).ToPageList(pagination.page, pagination.rows, ref count);
  48. }
  49. pagination.records = count;
  50. return list;
  51. }
  52. catch (Exception ex)
  53. {
  54. throw ex;
  55. }
  56. }
  57. /// <summary>
  58. /// 获取实体数据
  59. /// <param name="keyValue">主键</param>
  60. /// <summary>
  61. /// <returns></returns>
  62. public ACL_USERROLE GetEntity(string keyValue)
  63. {
  64. try
  65. {
  66. return SysDbCore.GetDbCtx().Queryable<ACL_USERROLE>().Where(it => it.F_ISDELETE == 0 && it.F_NO == keyValue).First();
  67. }
  68. catch (Exception ex)
  69. {
  70. throw ex;
  71. }
  72. }
  73. /// <summary>
  74. /// 删除实体数据
  75. /// <param name="keyValue">主键</param>
  76. /// <summary>
  77. /// <returns></returns>
  78. public void DeleteEntity(string keyValue)
  79. {
  80. try
  81. {
  82. void action(SqlSugarClient ctx)
  83. {
  84. ctx.Deleteable<ACL_USERRELATION>().Where(it => it.F_OBJTYPENUM == (int)EACLObjType.UserRole && it.F_ITEMNO == keyValue).ExecuteCommand();
  85. ctx.Deleteable<ACL_AUTHORIZE>().Where(it => it.F_OBJTYPENUM == (int)EACLObjType.UserRole && it.F_OBJNO == keyValue).ExecuteCommand();
  86. ctx.Deleteable<ACL_USERROLE>().Where(it => it.F_NO == keyValue).ExecuteCommand();
  87. }
  88. SysDbCore.DbTranExec(action);
  89. }
  90. catch (Exception ex)
  91. {
  92. throw ex;
  93. }
  94. }
  95. /// <summary>
  96. /// 保存实体数据(新增、修改)
  97. /// <param name="keyValue">主键</param>
  98. /// <summary>
  99. /// <returns></returns>
  100. public void SaveEntity(string supperno,LoginUserInfo loginUserInfo, string keyValue, ACL_USERROLE entity)
  101. {
  102. try
  103. {
  104. if (entity == null)
  105. {
  106. throw SysExCore.ThrowFailException("输入数据为空。");
  107. }
  108. if (string.IsNullOrWhiteSpace(entity.F_NO))
  109. {
  110. throw SysExCore.ThrowFailException("编号为空。");
  111. }
  112. if (string.IsNullOrWhiteSpace(entity.F_NAME))
  113. {
  114. throw SysExCore.ThrowFailException("名称为空。");
  115. }
  116. // 判断用户《供应商权限是否存在,如果存在则删除
  117. var horize = SysDbCore.GetDbCtx().Queryable<ACL_AUTHORIZE>().Where(v => v.F_OBJNO == entity.F_NO && v.F_ACLTYPENUM == 4 && v.F_OBJTYPENUM == 1).First();
  118. if (horize != null)
  119. {
  120. SysDbCore.GetDbCtx().Deleteable<ACL_AUTHORIZE>().Where(v => v.F_OBJNO == entity.F_NO && v.F_ACLTYPENUM == 4 && v.F_OBJTYPENUM == 1).ExecuteCommand();
  121. }
  122. ACL_AUTHORIZE rize = new ACL_AUTHORIZE()
  123. {
  124. F_NO = Guid.NewGuid().ToString(),
  125. F_ITEMNO = supperno,
  126. F_OBJTYPENUM = 1,
  127. F_ACLTYPENUM = 4,
  128. F_OBJNO = entity.F_NO,
  129. };
  130. SysDbCore.GetDbCtx().Insertable<ACL_AUTHORIZE>(rize).ExecuteCommand();
  131. entity.F_EDITTIME = DateTime.Now;
  132. entity.F_EDITUSERNO = loginUserInfo.UserNo;
  133. if (string.IsNullOrEmpty(keyValue))
  134. {
  135. entity.F_ADDTIME = DateTime.Now;
  136. entity.F_ADDUSERNO = loginUserInfo.UserNo;
  137. entity.F_ISDELETE = 0;
  138. entity.F_ISSTOP = 0;
  139. SysDbCore.GetDbCtx().Insertable<ACL_USERROLE>(entity).ExecuteCommand();
  140. }
  141. else
  142. {
  143. SysDbCore.GetDbCtx().Updateable<ACL_USERROLE>(entity).IgnoreColumns(it => new { it.F_ADDTIME, it.F_ADDUSERNO }).Where(it => it.F_NO == keyValue).ExecuteCommand();
  144. }
  145. }
  146. catch (Exception ex)
  147. {
  148. throw ex;
  149. }
  150. }
  151. public Dictionary<string, ACL_USERROLE> GetMap()
  152. {
  153. try
  154. {
  155. Dictionary<string, ACL_USERROLE> dics = new Dictionary<string, ACL_USERROLE>();
  156. SysDbCore.GetDbCtx().Queryable<ACL_USERROLE>().ToList().ForEach(it => dics.Add(it.F_NO, it));
  157. return dics;
  158. }
  159. catch (Exception ex)
  160. {
  161. throw ex;
  162. }
  163. }
  164. /// <summary>
  165. /// 获取按钮列表树形数据(基于仓库模块)
  166. /// </summary>
  167. /// <returns></returns>
  168. public List<TreeModel> GetCheckTree()
  169. {
  170. List<BASE_WAREHOUSE> list = SysDbCore.GetDbCtx().Queryable<BASE_WAREHOUSE>().Where(it => it.F_ISDELETE == 0 && it.F_ISSTOP == 0).ToList();
  171. List<TreeModel> treeList = new List<TreeModel>();
  172. {
  173. TreeModel node = new TreeModel();
  174. node.id = "";
  175. node.text = "全部";
  176. node.value = "Warehouse";
  177. node.showcheck = true;
  178. node.checkstate = 0;
  179. node.isexpand = true;
  180. node.icon = ACLAuthorize.IcoAuthorize;
  181. node.parentId = "";
  182. treeList.Add(node);
  183. }
  184. foreach (var item in list)
  185. {
  186. TreeModel node = new TreeModel();
  187. node.id = item.F_NO;
  188. node.text = item.F_NAME;
  189. node.value = item.F_NO;
  190. node.showcheck = true;
  191. node.checkstate = 0;
  192. node.isexpand = true;
  193. node.icon = ACLAuthorize.IcoAuthorize;
  194. node.parentId = "Warehouse";
  195. treeList.Add(node);
  196. }
  197. return treeList.ToTree();
  198. }
  199. }
  200. }