ACLConst.cs 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  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 ACLConst
  13. {
  14. SysModuleCore SysModule = new SysModuleCore();
  15. /// <summary>
  16. /// 获取列表数据
  17. /// <summary>
  18. /// <returns></returns>
  19. public IEnumerable<ACL_ACLCONST> GetList(string keyword)
  20. {
  21. SqlSugarClient ctx = SysDbCore.GetDbCtx();
  22. try
  23. {
  24. if (string.IsNullOrEmpty(keyword))
  25. {
  26. return ctx.Queryable<ACL_ACLCONST>().Where(it=> 1==1).ToList();
  27. }
  28. else
  29. {
  30. var lst = ctx.Queryable<ACL_ACLCONST>().Where(it => it.F_NAME.Contains(keyword)).Select(v=>v.F_NO).ToList();
  31. return ctx.Queryable<ACL_ACLCONST>().Where(v => lst.Contains(v.F_PNO) || v.F_NAME.Contains(keyword)).ToList();
  32. }
  33. }
  34. catch (Exception ex)
  35. {
  36. throw ex;
  37. }
  38. finally { ctx.Dispose(); }
  39. }
  40. /// <summary>
  41. /// 删除实体数据
  42. /// <param name="keyValue">主键</param>
  43. /// <summary>
  44. /// <returns></returns>
  45. public void DeleteEntity(string keyValue)
  46. {
  47. try
  48. {
  49. SysDbCore.GetDbCtx().Deleteable<ACL_ACLCONST>().Where(it => it.F_NO == keyValue).ExecuteCommand();
  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 void SaveEntity(LoginUserInfo loginUserInfo, string keyValue, ACL_ACLCONST entity)
  62. {
  63. try
  64. {
  65. if (entity == null)
  66. {
  67. throw SysExCore.ThrowFailException("输入数据为空。");
  68. }
  69. if (string.IsNullOrWhiteSpace(entity.F_NO))
  70. {
  71. throw SysExCore.ThrowFailException("编号为空。");
  72. }
  73. if (string.IsNullOrWhiteSpace(entity.F_NAME))
  74. {
  75. throw SysExCore.ThrowFailException("名称为空。");
  76. }
  77. entity.F_EDITTIME = DateTime.Now;
  78. entity.F_EDITUSERNO = loginUserInfo.UserNo;
  79. if (string.IsNullOrEmpty(keyValue))
  80. {
  81. entity.F_ADDTIME = DateTime.Now;
  82. entity.F_ADDUSERNO = loginUserInfo.UserNo;
  83. SysDbCore.GetDbCtx().Insertable<ACL_USERDEPT>(entity).ExecuteCommand();
  84. }
  85. else
  86. {
  87. SysDbCore.GetDbCtx().Updateable<ACL_USERDEPT>(entity).IgnoreColumns(it => new { it.F_ADDTIME, it.F_ADDUSERNO }).Where(it => it.F_NO == keyValue).ExecuteCommand();
  88. }
  89. }
  90. catch (Exception ex)
  91. {
  92. throw ex;
  93. }
  94. }
  95. public void SaveWebACLConst(LoginUserInfo loginUser)
  96. {
  97. try
  98. {
  99. var list = SysModule.GetList();
  100. if (list == null)
  101. {
  102. return;
  103. }
  104. var db = SysDbCore.GetDbCtx();
  105. db.Deleteable<ACL_ACLCONST>().Where(it => it.F_APPTYPENUM == (int)EAppType.PC).ExecuteCommand();
  106. foreach (var item in list)
  107. {
  108. if (item.F_NO.Contains("Web_DevelopmentM"))
  109. {
  110. continue;
  111. }
  112. ACL_ACLCONST aCL_ACLCONST = new ACL_ACLCONST()
  113. {
  114. F_ACLITEM = item.F_NO,
  115. F_ADDTIME = DateTime.Now,
  116. F_ADDUSERNO = loginUser.UserNo,
  117. F_APPTYPENUM = (int)EAppType.PC,
  118. F_NO = item.F_NO,
  119. F_EDITTIME = DateTime.Now,
  120. F_EDITUSERNO = loginUser.UserNo,
  121. F_NAME = item.F_NAME,
  122. F_PNO = item.F_PNO,
  123. F_SORTNUM = item.F_SORTNUM
  124. };
  125. db.Insertable<ACL_ACLCONST>(aCL_ACLCONST).ExecuteCommand();
  126. }
  127. }
  128. catch (Exception ex)
  129. {
  130. throw ex;
  131. }
  132. }
  133. public void SaveWebACLBtnConst(LoginUserInfo loginUser, string keyValue, List<ACL_ACLCONST> AclList)
  134. {
  135. try
  136. {
  137. var db = SysDbCore.GetDbCtx();
  138. db.Deleteable<ACL_ACLCONST>().Where(it => it.F_PNO == keyValue).ExecuteCommand();
  139. List<ACL_ACLCONST> list = new List<ACL_ACLCONST>();
  140. if (AclList == null)
  141. {
  142. return;
  143. }
  144. AclList.ForEach(it =>
  145. {
  146. int i = 0;
  147. it.F_ADDTIME = DateTime.Now;
  148. it.F_ADDUSERNO = loginUser.UserNo;
  149. it.F_APPTYPENUM = (int)EAppType.PC;
  150. it.F_EDITTIME = DateTime.Now;
  151. it.F_EDITUSERNO = loginUser.UserNo;
  152. it.F_PNO = keyValue;
  153. it.F_SORTNUM = i++;
  154. it.F_NO = it.F_ACLITEM;
  155. });
  156. db.Insertable<ACL_ACLCONST>(AclList).ExecuteCommand();
  157. }
  158. catch (Exception ex)
  159. {
  160. throw ex;
  161. }
  162. }
  163. }
  164. }