ACLUserGrp.cs 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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 ACLUserGrp
  13. {
  14. /// <summary>
  15. /// 获取列表数据
  16. /// <summary>
  17. /// <returns></returns>
  18. public IEnumerable<ACL_USERGRP> GetList(string keyword)
  19. {
  20. try
  21. {
  22. return SysDbCore.GetDbCtx().Queryable<ACL_USERGRP>().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_USERGRP> GetPageList(string keyword, Pagination pagination)
  34. {
  35. try
  36. {
  37. int count = 0;
  38. var db = SysDbCore.GetDbCtx().Queryable<ACL_USERGRP>().Where(it => it.F_ISDELETE == 0).WhereIF(!keyword.IsEmpty(), it => it.F_NO.Contains(keyword) || it.F_NAME.Contains(keyword));
  39. List<ACL_USERGRP> list = new List<ACL_USERGRP>();
  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_USERGRP GetEntity(string keyValue)
  63. {
  64. try
  65. {
  66. return SysDbCore.GetDbCtx().Queryable<ACL_USERGRP>().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.UserGrp && it.F_ITEMNO == keyValue).ExecuteCommand();
  85. ctx.Deleteable<ACL_AUTHORIZE>().Where(it => it.F_OBJTYPENUM == (int)EACLObjType.UserGrp && it.F_OBJNO == keyValue).ExecuteCommand();
  86. ctx.Deleteable<ACL_USERGRP>().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(LoginUserInfo loginUserInfo, string keyValue, ACL_USERGRP 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. entity.F_EDITTIME = DateTime.Now;
  117. entity.F_EDITUSERNO = loginUserInfo.UserNo;
  118. if (string.IsNullOrEmpty(keyValue))
  119. {
  120. entity.F_ADDTIME = DateTime.Now;
  121. entity.F_ADDUSERNO = loginUserInfo.UserNo;
  122. entity.F_ISDELETE = 0;
  123. entity.F_ISSTOP = 0;
  124. SysDbCore.GetDbCtx().Insertable<ACL_USERGRP>(entity).ExecuteCommand();
  125. }
  126. else
  127. {
  128. SysDbCore.GetDbCtx().Updateable<ACL_USERGRP>(entity).IgnoreColumns(it => new { it.F_ADDTIME, it.F_ADDUSERNO }).Where(it => it.F_NO == keyValue).ExecuteCommand();
  129. }
  130. }
  131. catch (Exception ex)
  132. {
  133. throw ex;
  134. }
  135. }
  136. public Dictionary<string, ACL_USERGRP> GetMap()
  137. {
  138. try
  139. {
  140. Dictionary<string, ACL_USERGRP> dics = new Dictionary<string, ACL_USERGRP>();
  141. SysDbCore.GetDbCtx().Queryable<ACL_USERGRP>().ToList().ForEach(it => dics.Add(it.F_NO, it));
  142. return dics;
  143. }
  144. catch (Exception ex)
  145. {
  146. throw ex;
  147. }
  148. }
  149. }
  150. }