地铁二期项目正式开始

T_Sys_RoleInfo.cs 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using YTSoft.DBUtility;
  6. using System.Data;
  7. using System.Data.SqlClient;
  8. using YTSoft.BaseCallCenter.Model;
  9. namespace YTSoft.BaseCallCenter.DAL
  10. {
  11. /// <summary>
  12. /// 数据访问类:T_Sys_RoleInfo
  13. /// </summary>
  14. public partial class T_Sys_RoleInfo
  15. {
  16. public T_Sys_RoleInfo()
  17. { }
  18. #region BasicMethod
  19. /// <summary>
  20. /// 是否存在该记录
  21. /// </summary>
  22. public bool Exists(int F_RoleId)
  23. {
  24. StringBuilder strSql = new StringBuilder();
  25. strSql.Append("select count(1) from T_Sys_RoleInfo");
  26. strSql.Append(" where F_RoleId=@F_RoleId");
  27. SqlParameter[] parameters = {
  28. new SqlParameter("@F_RoleId", SqlDbType.Int,4)
  29. };
  30. parameters[0].Value = F_RoleId;
  31. return DbHelperSQL.Exists(strSql.ToString(), parameters);
  32. }
  33. /// <summary>
  34. /// 增加一条数据
  35. /// </summary>
  36. public int Add(YTSoft.BaseCallCenter.Model.T_Sys_RoleInfo model)
  37. {
  38. StringBuilder strSql = new StringBuilder();
  39. strSql.Append("insert into T_Sys_RoleInfo(");
  40. strSql.Append("F_RoleName,F_RoleCode,F_Remark)");
  41. strSql.Append(" values (");
  42. strSql.Append("@F_RoleName,@F_RoleCode,@F_Remark)");
  43. strSql.Append(";select @@IDENTITY");
  44. SqlParameter[] parameters = {
  45. new SqlParameter("@F_RoleName", SqlDbType.NVarChar,50),
  46. new SqlParameter("@F_RoleCode", SqlDbType.NVarChar,50),
  47. new SqlParameter("@F_Remark", SqlDbType.NVarChar,200)};
  48. parameters[0].Value = model.F_RoleName;
  49. parameters[1].Value = model.F_RoleCode;
  50. parameters[2].Value = model.F_Remark;
  51. object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
  52. if (obj == null)
  53. {
  54. return 0;
  55. }
  56. else
  57. {
  58. return Convert.ToInt32(obj);
  59. }
  60. }
  61. /// <summary>
  62. /// 更新一条数据
  63. /// </summary>
  64. public bool Update(YTSoft.BaseCallCenter.Model.T_Sys_RoleInfo model)
  65. {
  66. StringBuilder strSql = new StringBuilder();
  67. strSql.Append("update T_Sys_RoleInfo set ");
  68. strSql.Append("F_RoleName=@F_RoleName,");
  69. strSql.Append("F_RoleCode=@F_RoleCode,");
  70. strSql.Append("F_Remark=@F_Remark");
  71. strSql.Append(" where F_RoleId=@F_RoleId");
  72. SqlParameter[] parameters = {
  73. new SqlParameter("@F_RoleName", SqlDbType.NVarChar,50),
  74. new SqlParameter("@F_RoleCode", SqlDbType.NVarChar,50),
  75. new SqlParameter("@F_Remark", SqlDbType.NVarChar,200),
  76. new SqlParameter("@F_RoleId", SqlDbType.Int,4)};
  77. parameters[0].Value = model.F_RoleName;
  78. parameters[1].Value = model.F_RoleCode;
  79. parameters[2].Value = model.F_Remark;
  80. parameters[3].Value = model.F_RoleId;
  81. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  82. if (rows > 0)
  83. {
  84. return true;
  85. }
  86. else
  87. {
  88. return false;
  89. }
  90. }
  91. /// <summary>
  92. /// 删除一条数据
  93. /// </summary>
  94. public bool Delete(int F_RoleId)
  95. {
  96. StringBuilder strSql = new StringBuilder();
  97. strSql.Append("delete from T_Sys_RoleInfo ");
  98. strSql.Append(" where F_RoleId=@F_RoleId");
  99. SqlParameter[] parameters = {
  100. new SqlParameter("@F_RoleId", SqlDbType.Int,4)
  101. };
  102. parameters[0].Value = F_RoleId;
  103. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  104. if (rows > 0)
  105. {
  106. return true;
  107. }
  108. else
  109. {
  110. return false;
  111. }
  112. }
  113. /// <summary>
  114. /// 批量删除数据
  115. /// </summary>
  116. public bool DeleteList(string F_RoleIdlist)
  117. {
  118. StringBuilder strSql = new StringBuilder();
  119. strSql.Append("delete from T_Sys_RoleInfo ");
  120. strSql.Append(" where F_RoleId in (" + F_RoleIdlist + ") ");
  121. int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
  122. if (rows > 0)
  123. {
  124. return true;
  125. }
  126. else
  127. {
  128. return false;
  129. }
  130. }
  131. /// <summary>
  132. /// 得到一个对象实体
  133. /// </summary>
  134. public YTSoft.BaseCallCenter.Model.T_Sys_RoleInfo GetModel(int F_RoleId)
  135. {
  136. StringBuilder strSql = new StringBuilder();
  137. strSql.Append("select top 1 F_RoleId,F_RoleName,F_RoleCode,F_Remark from T_Sys_RoleInfo ");
  138. strSql.Append(" where F_RoleId=@F_RoleId");
  139. SqlParameter[] parameters = {
  140. new SqlParameter("@F_RoleId", SqlDbType.Int,4)
  141. };
  142. parameters[0].Value = F_RoleId;
  143. YTSoft.BaseCallCenter.Model.T_Sys_RoleInfo model = new YTSoft.BaseCallCenter.Model.T_Sys_RoleInfo();
  144. DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
  145. if (ds.Tables[0].Rows.Count > 0)
  146. {
  147. return DataRowToModel(ds.Tables[0].Rows[0]);
  148. }
  149. else
  150. {
  151. return null;
  152. }
  153. }
  154. /// <summary>
  155. /// 得到一个对象实体
  156. /// </summary>
  157. public YTSoft.BaseCallCenter.Model.T_Sys_RoleInfo DataRowToModel(DataRow row)
  158. {
  159. YTSoft.BaseCallCenter.Model.T_Sys_RoleInfo model = new YTSoft.BaseCallCenter.Model.T_Sys_RoleInfo();
  160. if (row != null)
  161. {
  162. if (row["F_RoleId"] != null && row["F_RoleId"].ToString() != "")
  163. {
  164. model.F_RoleId = int.Parse(row["F_RoleId"].ToString());
  165. }
  166. if (row["F_RoleName"] != null)
  167. {
  168. model.F_RoleName = row["F_RoleName"].ToString();
  169. }
  170. if (row["F_RoleCode"] != null)
  171. {
  172. model.F_RoleCode = row["F_RoleCode"].ToString();
  173. }
  174. if (row["F_Remark"] != null)
  175. {
  176. model.F_Remark = row["F_Remark"].ToString();
  177. }
  178. }
  179. return model;
  180. }
  181. /// <summary>
  182. /// 获得数据列表
  183. /// </summary>
  184. public DataSet GetList(string strWhere)
  185. {
  186. StringBuilder strSql = new StringBuilder();
  187. strSql.Append("select F_RoleId,F_RoleName,F_RoleCode,F_Remark ");
  188. strSql.Append(" FROM T_Sys_RoleInfo ");
  189. if (strWhere.Trim() != "")
  190. {
  191. strSql.Append(" where " + strWhere);
  192. }
  193. return DbHelperSQL.Query(strSql.ToString());
  194. }
  195. /// <summary>
  196. /// 获得前几行数据
  197. /// </summary>
  198. public DataSet GetList(int Top, string strWhere, string filedOrder)
  199. {
  200. StringBuilder strSql = new StringBuilder();
  201. strSql.Append("select ");
  202. if (Top > 0)
  203. {
  204. strSql.Append(" top " + Top.ToString());
  205. }
  206. strSql.Append(" F_RoleId,F_RoleName,F_RoleCode,F_Remark ");
  207. strSql.Append(" FROM T_Sys_RoleInfo ");
  208. if (strWhere.Trim() != "")
  209. {
  210. strSql.Append(" where " + strWhere);
  211. }
  212. strSql.Append(" order by " + filedOrder);
  213. return DbHelperSQL.Query(strSql.ToString());
  214. }
  215. /// <summary>
  216. /// 获取记录总数
  217. /// </summary>
  218. public int GetRecordCount(string strWhere)
  219. {
  220. StringBuilder strSql = new StringBuilder();
  221. strSql.Append("select count(1) FROM T_Sys_RoleInfo ");
  222. if (strWhere.Trim() != "")
  223. {
  224. strSql.Append(" where " + strWhere);
  225. }
  226. object obj = DbHelperSQL.GetSingle(strSql.ToString());
  227. if (obj == null)
  228. {
  229. return 0;
  230. }
  231. else
  232. {
  233. return Convert.ToInt32(obj);
  234. }
  235. }
  236. /// <summary>
  237. /// 分页获取数据列表
  238. /// </summary>
  239. public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
  240. {
  241. StringBuilder strSql = new StringBuilder();
  242. strSql.Append("SELECT * FROM ( ");
  243. strSql.Append(" SELECT ROW_NUMBER() OVER (");
  244. if (!string.IsNullOrEmpty(orderby.Trim()))
  245. {
  246. strSql.Append("order by T." + orderby);
  247. }
  248. else
  249. {
  250. strSql.Append("order by T.F_RoleId desc");
  251. }
  252. strSql.Append(")AS Row, T.* from T_Sys_RoleInfo T ");
  253. if (!string.IsNullOrEmpty(strWhere.Trim()))
  254. {
  255. strSql.Append(" WHERE " + strWhere);
  256. }
  257. strSql.Append(" ) TT");
  258. strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
  259. return DbHelperSQL.Query(strSql.ToString());
  260. }
  261. #endregion BasicMethod
  262. #region 角色授权
  263. /// <summary>
  264. /// 获取菜单树
  265. /// </summary>
  266. public TreeNodeStrModel GetMenuTree(int roleId)
  267. {
  268. List<Model.T_Sys_ModuleFunctions> menuList = GetRoleMenu(roleId);
  269. TreeNodeStrModel returnModel = new TreeNodeStrModel();
  270. StringBuilder strSql = new StringBuilder();
  271. strSql.Append("select * ");
  272. strSql.Append(" FROM T_Sys_ModuleFunctions ");
  273. strSql.Append(" where F_StateFlag=1 ");
  274. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  275. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  276. {
  277. TreeNodeStrModel model = new TreeNodeStrModel();
  278. List<TreeNodeStrModel> modelList = new List<TreeNodeStrModel>();
  279. model.name = "菜单列表";
  280. model.code = "0";
  281. model.iconClose = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_close.png";
  282. model.iconOpen = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_open.png";
  283. model.open = "true";
  284. model.Checked = true;
  285. model.children = modelList;
  286. returnModel = GetTreeModel(ds.Tables[0], model, menuList);
  287. }
  288. return returnModel;
  289. }
  290. /// <summary>
  291. /// 获取chlid
  292. /// </summary>
  293. /// <param name="table">数据结合</param>
  294. /// <param name="model">当前model</param>
  295. /// <returns></returns>
  296. public TreeNodeStrModel GetTreeModel(DataTable table, TreeNodeStrModel model, List<Model.T_Sys_ModuleFunctions> menuList)
  297. {
  298. DataRow[] rows = table.Select("F_ParentId='" + model.code + "'");
  299. if (rows != null && rows.Length > 0)
  300. {
  301. foreach (DataRow row in rows)
  302. {
  303. List<TreeNodeStrModel> modelList = new List<TreeNodeStrModel>();
  304. TreeNodeStrModel childModel = new TreeNodeStrModel();
  305. childModel.name = row["F_Name"].ToString();
  306. childModel.code = row["F_FunctionId"].ToString();
  307. childModel.iconClose = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_close.png";
  308. childModel.iconOpen = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_open.png";
  309. childModel.open = "true";
  310. if (menuList != null && menuList.Find(t => t.F_FunctionId.ToString() == row["F_FunctionId"].ToString()) != null)
  311. {
  312. childModel.Checked = true;
  313. }
  314. else
  315. {
  316. childModel.Checked = false;
  317. }
  318. childModel.children = modelList;
  319. model.children.Add(childModel);
  320. GetTreeModel(table, childModel, menuList);
  321. }
  322. }
  323. return model;
  324. }
  325. public List<Model.T_Sys_ModuleFunctions> GetRoleMenu(int roleId)
  326. {
  327. List<Model.T_Sys_ModuleFunctions> modelList = new List<Model.T_Sys_ModuleFunctions>();
  328. StringBuilder strSql = new StringBuilder();
  329. strSql.Append(" SELECT c.*");
  330. strSql.Append(" FROM dbo.T_Sys_RoleFunction AS a LEFT OUTER JOIN");
  331. strSql.Append(" T_Sys_RoleInfo AS b ON a.F_RoleId = b.F_RoleId LEFT OUTER JOIN");
  332. strSql.Append(" T_Sys_ModuleFunctions AS c ON a.F_FunctionId = c.F_FunctionId");
  333. strSql.Append(" WHERE (c.F_StateFlag = 1)");
  334. if (roleId > 0)
  335. {
  336. strSql.Append(" and a.F_RoleId=" + roleId);
  337. }
  338. strSql.Append(" order by c.F_Sort asc ");
  339. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  340. if (ds != null && ds.Tables.Count > 0)
  341. {
  342. foreach (DataRow dr in ds.Tables[0].Rows)
  343. {
  344. Model.T_Sys_ModuleFunctions model = new Model.T_Sys_ModuleFunctions();
  345. DbHelperSQL.SetModelValue(model, dr);
  346. modelList.Add(model);
  347. }
  348. }
  349. return modelList;
  350. }
  351. /// <summary>
  352. /// 授权
  353. /// </summary>
  354. /// <param name="roleId">角色id</param>
  355. /// <param name="MenuIdStr">菜单id</param>
  356. /// <returns></returns>
  357. public bool AddRolesMenuList(int roleId, string MenuIdStr)
  358. {
  359. //事务处理
  360. NoSortHashtable table = new NoSortHashtable();
  361. StringBuilder strSql = new StringBuilder();
  362. strSql.AppendFormat(@"------------{0} {1}", System.Guid.NewGuid().ToString(), Environment.NewLine);
  363. strSql.Append("delete from T_Sys_RoleFunction ");
  364. strSql.Append(" where F_RoleId=@F_RoleId");
  365. SqlParameter[] parameters = {
  366. new SqlParameter("@F_RoleId", SqlDbType.Int,4)
  367. };
  368. parameters[0].Value = roleId;
  369. table.Add(strSql.ToString(), parameters);
  370. if (!string.IsNullOrEmpty(MenuIdStr))
  371. {
  372. string[] arrList = MenuIdStr.Split(',');
  373. if (arrList.Length > 0)
  374. {
  375. foreach (string str in arrList)
  376. {
  377. strSql = new StringBuilder();
  378. strSql.AppendFormat(@"------------{0} {1}", System.Guid.NewGuid().ToString(), Environment.NewLine);
  379. strSql.Append("insert into T_Sys_RoleFunction(");
  380. strSql.Append("F_RoleId,F_FunctionId)");
  381. strSql.Append(" values (");
  382. strSql.Append("@F_RoleId,@F_FunctionId)");
  383. SqlParameter[] parametersNew = {
  384. new SqlParameter("@F_RoleId", SqlDbType.Int,4),
  385. new SqlParameter("@F_FunctionId", SqlDbType.Int,4)};
  386. parametersNew[0].Value = roleId;
  387. parametersNew[1].Value = str;
  388. table.Add(strSql.ToString(), parametersNew);
  389. }
  390. }
  391. }
  392. return DbHelperSQL.ExecuteSqlTran(table);
  393. }
  394. #endregion
  395. }
  396. }