Нет описания

ModuleInfoController.cs 8.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239
  1. using CallCenter.Utility;
  2. using CallCenterApi.Common;
  3. using CallCenterApi.Interface.Controllers.Base;
  4. using CallCenterApi.Interface.Models.Common;
  5. using CallCenterApi.Interface.Models.Dto;
  6. using CallCenterApi.Interface.Models.Filter;
  7. using CallCenterApi.Interface.Models.Input;
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Data;
  11. using System.Linq;
  12. using System.Text;
  13. using System.Web;
  14. using System.Web.Mvc;
  15. namespace CallCenterApi.Interface.Controllers
  16. {
  17. //[Authority]
  18. public class ModuleInfoController : BaseController
  19. {
  20. private BLL.T_Sys_ModuleInfo moduleInfoBLL= new BLL.T_Sys_ModuleInfo();
  21. /// <summary>
  22. /// 返回树形下拉框 菜单数据
  23. /// </summary>
  24. /// <returns></returns>
  25. [HttpGet]
  26. public ActionResult GetTreeList()
  27. {
  28. var ds_ModuleInfo = moduleInfoBLL.GetAllList();//DataSet
  29. List<Model.T_Sys_ModuleInfo> list_ModuleInfo = moduleInfoBLL.DataTableToList(ds_ModuleInfo.Tables[0]);
  30. list_ModuleInfo.Sort((x,y)=>x.F_Sort-y.F_Sort);//排序
  31. var treeList = new List<TreeModel>();
  32. foreach (var item in list_ModuleInfo)
  33. {
  34. TreeModel treeModel = new TreeModel();
  35. treeModel.id = item.F_ModuleId.ToString();
  36. treeModel.IconCls = item.F_ImgUrl;
  37. treeModel.text = item.F_ModuleName;
  38. treeModel.parentid = item.F_ParentID.ToString();
  39. treeList.Add(treeModel);
  40. }
  41. //return Content(treeList.ToJson());
  42. return Success("获取菜单树成功", treeList.TreeRecursion("0"));
  43. }
  44. [HttpGet]
  45. public ActionResult GetAllGrid(string keyword)
  46. {
  47. //TODO:计划使用缓存
  48. var ds_ModuleInfo = moduleInfoBLL.GetAllList();//DataSet 不在此处添加搜素条件,是因为计划改为缓存
  49. List<Model.T_Sys_ModuleInfo> list_ModuleInfo = moduleInfoBLL.DataTableToList(ds_ModuleInfo.Tables[0]);
  50. if (!string.IsNullOrEmpty(keyword))
  51. {
  52. list_ModuleInfo=list_ModuleInfo.TreeWhere(t => t.F_ModuleName.Contains(keyword), "F_ModuleId", "F_ParentID").ToList();
  53. }
  54. list_ModuleInfo.Sort((x, y) => x.F_Sort - y.F_Sort);//排序
  55. return Success("获取菜单", list_ModuleInfo);
  56. }
  57. /// <summary>
  58. /// 获取菜单实体
  59. /// </summary>
  60. /// <param name="mId"></param>
  61. /// <returns></returns>
  62. [HttpGet]
  63. public ActionResult GetModule(int mId = 0)
  64. {
  65. var entity_ModuleInfo = moduleInfoBLL.GetModel(mId);
  66. if (entity_ModuleInfo != null)
  67. {
  68. return Success("加载菜单成功", new
  69. {
  70. name = entity_ModuleInfo.F_ModuleName,
  71. code = entity_ModuleInfo.F_ModuleCode,
  72. url = entity_ModuleInfo.F_OptUrl,
  73. enable = entity_ModuleInfo.F_StateFlag,
  74. remark = entity_ModuleInfo.F_Remark,
  75. sort = entity_ModuleInfo.F_Sort
  76. });
  77. }
  78. else
  79. {
  80. return Error("加载菜单失败");
  81. }
  82. }
  83. /// <summary>
  84. /// 添加菜单
  85. /// </summary>
  86. /// <param name="input"></param>
  87. /// <returns></returns>
  88. [HttpPost]
  89. public ActionResult AddModule(ModuleInfoDto input)
  90. {
  91. var entity_ModuleInfo = new Model.T_Sys_ModuleInfo();
  92. entity_ModuleInfo.F_ParentID = input.parentid;
  93. entity_ModuleInfo.F_ModuleName = input.name;
  94. entity_ModuleInfo.F_ModuleCode = input.code;
  95. entity_ModuleInfo.F_Remark = input.remark;
  96. entity_ModuleInfo.F_Sort = input.sort;
  97. entity_ModuleInfo.F_StateFlag = Convert.ToInt32(input.flag);
  98. entity_ModuleInfo.F_OptUrl = input.url;
  99. entity_ModuleInfo.F_CreateTime = DateTime.Now;
  100. entity_ModuleInfo.F_CreateUID = CurrentUser.UserData.F_UserId;
  101. entity_ModuleInfo.F_Button = "label label-warning pull - right lblcount "+ input.code;
  102. if (moduleInfoBLL.Add(entity_ModuleInfo) > 0)
  103. {
  104. return Success("菜单添加成功");
  105. }
  106. else
  107. {
  108. return Error("菜单添加失败,请重试!");
  109. }
  110. }
  111. /// <summary>
  112. /// 删除菜单
  113. /// </summary>
  114. /// <param name="ids"></param>
  115. /// <returns></returns>
  116. public ActionResult DelModule(string[] ids)
  117. {
  118. if (ids != null && ids.Length > 0)
  119. {
  120. string idd = " ";
  121. foreach (string str in ids)
  122. {
  123. idd += str + ",";
  124. }
  125. #region 判断子栏目是否存在
  126. var sql = "";
  127. sql += " F_StateFlag = 1 AND F_ParentID in (" + idd.TrimEnd(',') + ") ";
  128. var list = moduleInfoBLL.DataTableToList(moduleInfoBLL.GetList(sql).Tables[0]);
  129. if (list.Count > 0)
  130. return Error("操作失败:子栏目存在,不能删除");
  131. #endregion
  132. if (new BLL.T_Sys_ModuleInfo().DeleteList(idd.TrimEnd(',')))
  133. {
  134. return Success("删除成功");
  135. }
  136. else
  137. {
  138. return Error("删除失败,请重试!");
  139. }
  140. }
  141. else
  142. {
  143. return Error("获取参数失败");
  144. }
  145. }
  146. /// <summary>
  147. /// 编辑菜单
  148. /// </summary>
  149. /// <param name="input"></param>
  150. /// <returns></returns>
  151. [HttpPost]
  152. public ActionResult EditModule(ModuleInfoDto input)
  153. {
  154. var entity_ModuleInfo = moduleInfoBLL.GetModel(input.id);
  155. if (entity_ModuleInfo != null)
  156. {
  157. entity_ModuleInfo.F_ParentID = input.parentid;
  158. entity_ModuleInfo.F_ModuleName = input.name;
  159. entity_ModuleInfo.F_ModuleCode = input.code;
  160. entity_ModuleInfo.F_Remark = input.remark;
  161. entity_ModuleInfo.F_Sort = input.sort;
  162. entity_ModuleInfo.F_StateFlag = Convert.ToInt32(input.flag);
  163. entity_ModuleInfo.F_OptUrl = input.url;
  164. entity_ModuleInfo.F_Button = "label label-warning pull - right lblcount " + input.code;
  165. if (moduleInfoBLL.Update(entity_ModuleInfo))
  166. {
  167. return Success("菜单修改成功");
  168. }
  169. else
  170. {
  171. return Error("菜单修改失败,请重试!");
  172. }
  173. }
  174. else
  175. {
  176. return Error("菜单对象获取失败");
  177. }
  178. }
  179. /// <summary>
  180. /// 获取菜单列表数据
  181. /// </summary>
  182. /// <param name="filter"></param>
  183. /// <returns></returns>
  184. [HttpGet]
  185. public ActionResult GetList(FilterSysConfig filter)
  186. {
  187. var sql = "";
  188. if (!string.IsNullOrWhiteSpace(filter.Value))
  189. {
  190. sql += " and F_ParamValue like '%" + filter.Value + "%' ";
  191. }
  192. if (!string.IsNullOrWhiteSpace(filter.Code))
  193. {
  194. sql += " and F_ParamCode like '%" + filter.Code + "%' ";
  195. }
  196. int recordCount = 0;
  197. Model.PageData<Model.T_Sys_SystemConfig> pageModel = new Model.PageData<Model.T_Sys_SystemConfig>();
  198. var dt = BLL.PagerBLL.GetListPager(
  199. "T_Sys_SystemConfig",
  200. "F_ParamId",
  201. "*",
  202. sql,
  203. "ORDER BY F_ParamId desc",
  204. filter.PageSize,
  205. filter.PageIndex,
  206. true,
  207. out recordCount);
  208. var obj = new
  209. {
  210. rows = dt,
  211. total = recordCount
  212. };
  213. return Content(obj.ToJson());
  214. }
  215. }
  216. }