地铁二期项目正式开始

T_Sys_Department.cs 27KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674
  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_Department
  13. /// </summary>
  14. public partial class T_Sys_Department
  15. {
  16. public T_Sys_Department()
  17. { }
  18. #region BasicMethod
  19. /// <summary>
  20. /// 是否存在该记录
  21. /// </summary>
  22. public bool Exists(int F_DeptId)
  23. {
  24. StringBuilder strSql = new StringBuilder();
  25. strSql.Append("select count(1) from T_Sys_Department");
  26. strSql.Append(" where F_DeptId=@F_DeptId");
  27. SqlParameter[] parameters = {
  28. new SqlParameter("@F_DeptId", SqlDbType.Int,4)
  29. };
  30. parameters[0].Value = F_DeptId;
  31. return DbHelperSQL.Exists(strSql.ToString(), parameters);
  32. }
  33. /// <summary>
  34. /// 增加一条数据
  35. /// </summary>
  36. public int Add(YTSoft.BaseCallCenter.Model.T_Sys_Department model)
  37. {
  38. StringBuilder strSql = new StringBuilder();
  39. strSql.Append("insert into T_Sys_Department(");
  40. strSql.Append("F_DeptCode,F_ParentName,F_ParentId,F_ParentCode,F_DeptName,F_State,F_Layer,F_Type,F_Sort,F_Remark,F_Telephone,F_Mobile,F_OtherPhone,F_Email,F_Header)");
  41. strSql.Append(" values (");
  42. strSql.Append("@F_DeptCode,@F_ParentName,@F_ParentId,@F_ParentCode,@F_DeptName,@F_State,@F_Layer,@F_Type,@F_Sort,@F_Remark,@F_Telephone,@F_Mobile,@F_OtherPhone,@F_Email,@F_Header)");
  43. strSql.Append(";select @@IDENTITY");
  44. SqlParameter[] parameters = {
  45. new SqlParameter("@F_DeptCode", SqlDbType.VarChar,50),
  46. new SqlParameter("@F_ParentName", SqlDbType.VarChar,50),
  47. new SqlParameter("@F_ParentId", SqlDbType.Int,4),
  48. new SqlParameter("@F_ParentCode", SqlDbType.VarChar,50),
  49. new SqlParameter("@F_DeptName", SqlDbType.VarChar,60),
  50. new SqlParameter("@F_State", SqlDbType.Int,4),
  51. new SqlParameter("@F_Layer", SqlDbType.Int,4),
  52. new SqlParameter("@F_Type", SqlDbType.Int,4),
  53. new SqlParameter("@F_Sort", SqlDbType.Int,4),
  54. new SqlParameter("@F_Remark", SqlDbType.VarChar,200),
  55. new SqlParameter("@F_Telephone", SqlDbType.VarChar,50),
  56. new SqlParameter("@F_Mobile", SqlDbType.VarChar,50),
  57. new SqlParameter("@F_OtherPhone", SqlDbType.VarChar,50),
  58. new SqlParameter("@F_Email", SqlDbType.VarChar,50),
  59. new SqlParameter("@F_Header", SqlDbType.Int,4)};
  60. parameters[0].Value = model.F_DeptCode;
  61. parameters[1].Value = model.F_ParentName;
  62. parameters[2].Value = model.F_ParentId;
  63. parameters[3].Value = model.F_ParentCode;
  64. parameters[4].Value = model.F_DeptName;
  65. parameters[5].Value = model.F_State;
  66. parameters[6].Value = model.F_Layer;
  67. parameters[7].Value = model.F_Type;
  68. parameters[8].Value = model.F_Sort;
  69. parameters[9].Value = model.F_Remark;
  70. parameters[10].Value = model.F_Telephone;
  71. parameters[11].Value = model.F_Mobile;
  72. parameters[12].Value = model.F_OtherPhone;
  73. parameters[13].Value = model.F_Email;
  74. parameters[14].Value = model.F_Header;
  75. object obj = DbHelperSQL.GetSingle(strSql.ToString(), parameters);
  76. if (obj == null)
  77. {
  78. return 0;
  79. }
  80. else
  81. {
  82. return Convert.ToInt32(obj);
  83. }
  84. }
  85. /// <summary>
  86. /// 更新一条数据
  87. /// </summary>
  88. public bool Update(YTSoft.BaseCallCenter.Model.T_Sys_Department model)
  89. {
  90. StringBuilder strSql = new StringBuilder();
  91. strSql.Append("update T_Sys_Department set ");
  92. strSql.Append("F_DeptCode=@F_DeptCode,");
  93. strSql.Append("F_ParentName=@F_ParentName,");
  94. strSql.Append("F_ParentId=@F_ParentId,");
  95. strSql.Append("F_ParentCode=@F_ParentCode,");
  96. strSql.Append("F_DeptName=@F_DeptName,");
  97. strSql.Append("F_State=@F_State,");
  98. strSql.Append("F_Layer=@F_Layer,");
  99. strSql.Append("F_Type=@F_Type,");
  100. strSql.Append("F_Sort=@F_Sort,");
  101. strSql.Append("F_Remark=@F_Remark,");
  102. strSql.Append("F_Telephone=@F_Telephone,");
  103. strSql.Append("F_Mobile=@F_Mobile,");
  104. strSql.Append("F_OtherPhone=@F_OtherPhone,");
  105. strSql.Append("F_Email=@F_Email,");
  106. strSql.Append("F_Header=@F_Header");
  107. strSql.Append(" where F_DeptId=@F_DeptId");
  108. SqlParameter[] parameters = {
  109. new SqlParameter("@F_DeptCode", SqlDbType.VarChar,50),
  110. new SqlParameter("@F_ParentName", SqlDbType.VarChar,50),
  111. new SqlParameter("@F_ParentId", SqlDbType.Int,4),
  112. new SqlParameter("@F_ParentCode", SqlDbType.VarChar,50),
  113. new SqlParameter("@F_DeptName", SqlDbType.VarChar,60),
  114. new SqlParameter("@F_State", SqlDbType.Int,4),
  115. new SqlParameter("@F_Layer", SqlDbType.Int,4),
  116. new SqlParameter("@F_Type", SqlDbType.Int,4),
  117. new SqlParameter("@F_Sort", SqlDbType.Int,4),
  118. new SqlParameter("@F_Remark", SqlDbType.VarChar,200),
  119. new SqlParameter("@F_Telephone", SqlDbType.VarChar,50),
  120. new SqlParameter("@F_Mobile", SqlDbType.VarChar,50),
  121. new SqlParameter("@F_OtherPhone", SqlDbType.VarChar,50),
  122. new SqlParameter("@F_Email", SqlDbType.VarChar,50),
  123. new SqlParameter("@F_Header", SqlDbType.Int,4),
  124. new SqlParameter("@F_DeptId", SqlDbType.Int,4)};
  125. parameters[0].Value = model.F_DeptCode;
  126. parameters[1].Value = model.F_ParentName;
  127. parameters[2].Value = model.F_ParentId;
  128. parameters[3].Value = model.F_ParentCode;
  129. parameters[4].Value = model.F_DeptName;
  130. parameters[5].Value = model.F_State;
  131. parameters[6].Value = model.F_Layer;
  132. parameters[7].Value = model.F_Type;
  133. parameters[8].Value = model.F_Sort;
  134. parameters[9].Value = model.F_Remark;
  135. parameters[10].Value = model.F_Telephone;
  136. parameters[11].Value = model.F_Mobile;
  137. parameters[12].Value = model.F_OtherPhone;
  138. parameters[13].Value = model.F_Email;
  139. parameters[14].Value = model.F_Header;
  140. parameters[15].Value = model.F_DeptId;
  141. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  142. if (rows > 0)
  143. {
  144. return true;
  145. }
  146. else
  147. {
  148. return false;
  149. }
  150. }
  151. /// <summary>
  152. /// 删除一条数据
  153. /// </summary>
  154. public bool Delete(int F_DeptId)
  155. {
  156. StringBuilder strSql = new StringBuilder();
  157. strSql.Append("delete from T_Sys_Department ");
  158. strSql.Append(" where F_DeptId=@F_DeptId");
  159. SqlParameter[] parameters = {
  160. new SqlParameter("@F_DeptId", SqlDbType.Int,4)
  161. };
  162. parameters[0].Value = F_DeptId;
  163. int rows = DbHelperSQL.ExecuteSql(strSql.ToString(), parameters);
  164. if (rows > 0)
  165. {
  166. return true;
  167. }
  168. else
  169. {
  170. return false;
  171. }
  172. }
  173. /// <summary>
  174. /// 批量删除数据
  175. /// </summary>
  176. public bool DeleteList(string F_DeptIdlist)
  177. {
  178. StringBuilder strSql = new StringBuilder();
  179. strSql.Append("delete from T_Sys_Department ");
  180. strSql.Append(" where F_DeptId in (" + F_DeptIdlist + ") ");
  181. int rows = DbHelperSQL.ExecuteSql(strSql.ToString());
  182. if (rows > 0)
  183. {
  184. return true;
  185. }
  186. else
  187. {
  188. return false;
  189. }
  190. }
  191. /// <summary>
  192. /// 得到一个对象实体
  193. /// </summary>
  194. public YTSoft.BaseCallCenter.Model.T_Sys_Department GetModel(int F_DeptId)
  195. {
  196. StringBuilder strSql = new StringBuilder();
  197. strSql.Append("select top 1 F_DeptId,F_DeptCode,F_ParentName,F_ParentId,F_ParentCode,F_DeptName,F_State,F_Layer,F_Type,F_Sort,F_Remark,F_Telephone,F_Mobile,F_OtherPhone,F_Email,F_Header from T_Sys_Department ");
  198. strSql.Append(" where F_DeptId=@F_DeptId");
  199. SqlParameter[] parameters = {
  200. new SqlParameter("@F_DeptId", SqlDbType.Int,4)
  201. };
  202. parameters[0].Value = F_DeptId;
  203. YTSoft.BaseCallCenter.Model.T_Sys_Department model = new YTSoft.BaseCallCenter.Model.T_Sys_Department();
  204. DataSet ds = DbHelperSQL.Query(strSql.ToString(), parameters);
  205. if (ds.Tables[0].Rows.Count > 0)
  206. {
  207. return DataRowToModel(ds.Tables[0].Rows[0]);
  208. }
  209. else
  210. {
  211. return null;
  212. }
  213. }
  214. /// <summary>
  215. /// 得到一个对象实体
  216. /// </summary>
  217. public YTSoft.BaseCallCenter.Model.T_Sys_Department GetModel(string where)
  218. {
  219. StringBuilder strSql = new StringBuilder();
  220. strSql.Append("select top 1 F_DeptId,F_DeptCode,F_ParentName,F_ParentId,F_ParentCode,F_DeptName,F_State,F_Layer,F_Type,F_Sort,F_Remark,F_Telephone,F_Mobile,F_OtherPhone,F_Email,F_Header from T_Sys_Department ");
  221. strSql.Append(" where "+ where);
  222. YTSoft.BaseCallCenter.Model.T_Sys_Department model = new YTSoft.BaseCallCenter.Model.T_Sys_Department();
  223. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  224. if (ds.Tables[0].Rows.Count > 0)
  225. {
  226. return DataRowToModel(ds.Tables[0].Rows[0]);
  227. }
  228. else
  229. {
  230. return null;
  231. }
  232. }
  233. /// <summary>
  234. /// 得到一个对象实体
  235. /// </summary>
  236. public YTSoft.BaseCallCenter.Model.T_Sys_Department DataRowToModel(DataRow row)
  237. {
  238. YTSoft.BaseCallCenter.Model.T_Sys_Department model = new YTSoft.BaseCallCenter.Model.T_Sys_Department();
  239. if (row != null)
  240. {
  241. if (row["F_DeptId"] != null && row["F_DeptId"].ToString() != "")
  242. {
  243. model.F_DeptId = int.Parse(row["F_DeptId"].ToString());
  244. }
  245. if (row["F_DeptCode"] != null)
  246. {
  247. model.F_DeptCode = row["F_DeptCode"].ToString();
  248. }
  249. if (row["F_ParentName"] != null)
  250. {
  251. model.F_ParentName = row["F_ParentName"].ToString();
  252. }
  253. if (row["F_ParentId"] != null && row["F_ParentId"].ToString() != "")
  254. {
  255. model.F_ParentId = int.Parse(row["F_ParentId"].ToString());
  256. }
  257. if (row["F_ParentCode"] != null)
  258. {
  259. model.F_ParentCode = row["F_ParentCode"].ToString();
  260. }
  261. if (row["F_DeptName"] != null)
  262. {
  263. model.F_DeptName = row["F_DeptName"].ToString();
  264. }
  265. if (row["F_State"] != null && row["F_State"].ToString() != "")
  266. {
  267. model.F_State = int.Parse(row["F_State"].ToString());
  268. }
  269. if (row["F_Layer"] != null && row["F_Layer"].ToString() != "")
  270. {
  271. model.F_Layer = int.Parse(row["F_Layer"].ToString());
  272. }
  273. if (row["F_Type"] != null && row["F_Type"].ToString() != "")
  274. {
  275. model.F_Type = int.Parse(row["F_Type"].ToString());
  276. }
  277. if (row["F_Sort"] != null && row["F_Sort"].ToString() != "")
  278. {
  279. model.F_Sort = int.Parse(row["F_Sort"].ToString());
  280. }
  281. if (row["F_Remark"] != null)
  282. {
  283. model.F_Remark = row["F_Remark"].ToString();
  284. }
  285. if (row["F_Telephone"] != null)
  286. {
  287. model.F_Telephone = row["F_Telephone"].ToString();
  288. }
  289. if (row["F_Mobile"] != null)
  290. {
  291. model.F_Mobile = row["F_Mobile"].ToString();
  292. }
  293. if (row["F_OtherPhone"] != null)
  294. {
  295. model.F_OtherPhone = row["F_OtherPhone"].ToString();
  296. }
  297. if (row["F_Email"] != null)
  298. {
  299. model.F_Email = row["F_Email"].ToString();
  300. }
  301. if (row["F_Header"] != null && row["F_Header"].ToString() != "")
  302. {
  303. model.F_Header = int.Parse(row["F_Header"].ToString());
  304. }
  305. }
  306. return model;
  307. }
  308. /// <summary>
  309. /// 获得数据列表
  310. /// </summary>
  311. public DataSet GetList(string strWhere)
  312. {
  313. StringBuilder strSql = new StringBuilder();
  314. strSql.Append("select F_DeptId,F_DeptCode,F_ParentName,F_ParentId,F_ParentCode,F_DeptName,F_State,F_Layer,F_Type,F_Sort,F_Remark,F_Telephone,F_Mobile,F_OtherPhone,F_Email,F_Header ");
  315. strSql.Append(" FROM T_Sys_Department ");
  316. if (strWhere.Trim() != "")
  317. {
  318. strSql.Append(" where " + strWhere);
  319. }
  320. return DbHelperSQL.Query(strSql.ToString());
  321. }
  322. /// <summary>
  323. /// 获得前几行数据
  324. /// </summary>
  325. public DataSet GetList(int Top, string strWhere, string filedOrder)
  326. {
  327. StringBuilder strSql = new StringBuilder();
  328. strSql.Append("select ");
  329. if (Top > 0)
  330. {
  331. strSql.Append(" top " + Top.ToString());
  332. }
  333. strSql.Append(" F_DeptId,F_DeptCode,F_ParentName,F_ParentId,F_ParentCode,F_DeptName,F_State,F_Layer,F_Type,F_Sort,F_Remark,F_Telephone,F_Mobile,F_OtherPhone,F_Email,F_Header ");
  334. strSql.Append(" FROM T_Sys_Department ");
  335. if (strWhere.Trim() != "")
  336. {
  337. strSql.Append(" where " + strWhere);
  338. }
  339. strSql.Append(" order by " + filedOrder);
  340. return DbHelperSQL.Query(strSql.ToString());
  341. }
  342. /// <summary>
  343. /// 获取记录总数
  344. /// </summary>
  345. public int GetRecordCount(string strWhere)
  346. {
  347. StringBuilder strSql = new StringBuilder();
  348. strSql.Append("select count(1) FROM T_Sys_Department ");
  349. if (strWhere.Trim() != "")
  350. {
  351. strSql.Append(" where " + strWhere);
  352. }
  353. object obj = DbHelperSQL.GetSingle(strSql.ToString());
  354. if (obj == null)
  355. {
  356. return 0;
  357. }
  358. else
  359. {
  360. return Convert.ToInt32(obj);
  361. }
  362. }
  363. /// <summary>
  364. /// 分页获取数据列表
  365. /// </summary>
  366. public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
  367. {
  368. StringBuilder strSql = new StringBuilder();
  369. strSql.Append("SELECT * FROM ( ");
  370. strSql.Append(" SELECT ROW_NUMBER() OVER (");
  371. if (!string.IsNullOrEmpty(orderby.Trim()))
  372. {
  373. strSql.Append("order by T." + orderby);
  374. }
  375. else
  376. {
  377. strSql.Append("order by T.F_DeptId desc");
  378. }
  379. strSql.Append(")AS Row, T.* from T_Sys_Department T ");
  380. if (!string.IsNullOrEmpty(strWhere.Trim()))
  381. {
  382. strSql.Append(" WHERE " + strWhere);
  383. }
  384. strSql.Append(" ) TT");
  385. strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
  386. return DbHelperSQL.Query(strSql.ToString());
  387. }
  388. #endregion BasicMethod
  389. #region ExtensionMethod
  390. #endregion ExtensionMethod
  391. #region 获取树结构
  392. /// <summary>
  393. /// 获得当前节点下的所有子集以tree的格式
  394. /// </summary>
  395. public TreeNodeModel GetDepartmentJsonModel(int parentId,bool AddUser=false)
  396. {
  397. TreeNodeModel returnModel = new TreeNodeModel();
  398. StringBuilder strSql = new StringBuilder();
  399. strSql.Append("select * ");
  400. strSql.Append(" FROM T_Sys_Department order by F_Sort asc");
  401. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  402. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  403. {
  404. TreeNodeModel model = new TreeNodeModel();
  405. if (!false)
  406. {
  407. List<TreeNodeModel> modelList = new List<TreeNodeModel>();
  408. model.id = 0;
  409. model.name = "郑州地铁";
  410. model.code = 0;
  411. model.iconClose = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_dclose.png";
  412. model.iconOpen = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_dopen.png";
  413. model.open = "true";
  414. model.children = modelList;
  415. }
  416. returnModel = GetTreeModel(ds.Tables[0], model, AddUser);
  417. }
  418. return returnModel;
  419. }
  420. /// <summary>
  421. /// 获取chlid
  422. /// </summary>
  423. /// <param name="table">数据结合</param>
  424. /// <param name="model">当前model</param>
  425. /// <returns></returns>
  426. public TreeNodeModel GetTreeModel(DataTable table, TreeNodeModel model, bool AddUser,int level=2)
  427. {
  428. DataRow[] rows = table.Select("F_ParentId=" + model.code);
  429. if (rows != null && rows.Length > 0)
  430. {
  431. foreach (DataRow row in rows)
  432. {
  433. List<TreeNodeModel> modelList = new List<TreeNodeModel>();
  434. TreeNodeModel childModel = new TreeNodeModel();
  435. childModel.id = int.Parse(row["F_DeptId"].ToString());
  436. childModel.name = row["F_DeptName"].ToString();
  437. childModel.code = int.Parse(row["F_DeptId"].ToString());
  438. //childModel.iconClose = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_close.png";
  439. //childModel.iconOpen = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_open.png";
  440. childModel.iconClose = string.Format("../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/{0}_dclose.png", level);
  441. childModel.iconOpen = string.Format("../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/{0}_dopen.png", level);
  442. //childModel.iconClose = row["F_Header"].ToMyString();
  443. //childModel.iconOpen = childModel.iconClose + ".png";
  444. childModel.open = "true";
  445. childModel.children = modelList;
  446. model.children.Add(childModel);
  447. GetTreeModel(table, childModel, AddUser, level+1);
  448. }
  449. }
  450. else if(AddUser)
  451. {
  452. StringBuilder strSql = new StringBuilder();
  453. strSql.Append("select * ");
  454. strSql.Append(" FROM T_Sys_UserAccount where F_DeptId="+ model.code);
  455. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  456. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  457. {
  458. foreach (DataRow row in ds.Tables[0].Rows)
  459. {
  460. List<TreeNodeModel> modelList = new List<TreeNodeModel>();
  461. TreeNodeModel childModel = new TreeNodeModel();
  462. childModel.id = int.Parse(row["F_UserId"].ToString());
  463. childModel.name = row["F_UserName"].ToString();
  464. childModel.code = int.Parse(row["F_UserId"].ToString());
  465. childModel.iconClose = string.Format("../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/{0}_dclose.png", level);
  466. childModel.iconOpen = string.Format("../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/{0}_dopen.png", level);
  467. childModel.open = "false";
  468. childModel.IsOrPrivate = 1;
  469. childModel.children = modelList;
  470. model.children.Add(childModel);
  471. }
  472. }
  473. }
  474. return model;
  475. }
  476. /// <summary>
  477. /// 获得当前节点下的所有子集以tree的格式
  478. /// </summary>
  479. public TreeNodeModel GetDepartmentJsonModelTurn(int parentId, string key = "")
  480. {
  481. TreeNodeModel returnModel = new TreeNodeModel();
  482. StringBuilder strSql = new StringBuilder();
  483. strSql.Append("SELECT * FROM T_Sys_Department ");
  484. if (!string.IsNullOrEmpty(key))
  485. {
  486. strSql.AppendFormat("WHERE (F_DeptName LIKE '%{0}%' OR F_DeptId IN(SELECT F_DeptId FROM dbo.T_Sys_UserAccount WHERE F_UserName LIKE '%{0}%'))", key);
  487. }
  488. strSql.Append(" order by F_Sort asc");
  489. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  490. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0&& !string.IsNullOrEmpty(key))
  491. {
  492. string strlist = "0";
  493. foreach (DataRow row in ds.Tables[0].Rows)
  494. {
  495. strlist += ",";
  496. strlist += row["F_DeptId"];
  497. strlist += ",";
  498. strlist += row["F_ParentId"];
  499. }
  500. strSql.Clear();
  501. strSql.Append("SELECT * FROM T_Sys_Department ");
  502. strSql.AppendFormat("WHERE F_DeptId IN({0})", strlist);
  503. strSql.Append(" order by F_Sort asc");
  504. ds = DbHelperSQL.Query(strSql.ToString());
  505. }
  506. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  507. {
  508. TreeNodeModel model = new TreeNodeModel();
  509. if (!false)
  510. {
  511. List<TreeNodeModel> modelList = new List<TreeNodeModel>();
  512. model.id = 0;
  513. model.name = "郑州地铁";
  514. model.code = 0;
  515. model.iconClose = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_dclose.png";
  516. model.iconOpen = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_dopen.png";
  517. model.open = "true";
  518. model.children = modelList;
  519. }
  520. returnModel = GetTreeModelTurnDept(ds.Tables[0], model, key);
  521. }
  522. return returnModel;
  523. }
  524. /// <summary>
  525. /// 获取chlid
  526. /// </summary>
  527. /// <param name="table">数据结合</param>
  528. /// <param name="model">当前model</param>
  529. /// <returns></returns>
  530. public TreeNodeModel GetTreeModelTurnDept(DataTable table, TreeNodeModel model, string key = "", int level = 2)
  531. {
  532. DataRow[] rows = table.Select("F_ParentId=" + model.code);
  533. if (rows != null && rows.Length > 0)
  534. {
  535. foreach (DataRow row in rows)
  536. {
  537. List<TreeNodeModel> modelList = new List<TreeNodeModel>();
  538. TreeNodeModel childModel = new TreeNodeModel();
  539. childModel.id = int.Parse(row["F_DeptId"].ToString());
  540. childModel.name = row["F_DeptName"].ToString();
  541. childModel.code = int.Parse(row["F_DeptId"].ToString());
  542. childModel.iconClose = string.Format("../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/{0}_dclose.png", level);
  543. childModel.iconOpen = string.Format("../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/{0}_dopen.png", level);
  544. //childModel.iconClose = row["F_Header"].ToMyString();
  545. //childModel.iconOpen = childModel.iconClose + ".png";
  546. //if (row["F_DeptName"].ToString() == "郑州地铁" || row["F_DeptName"].ToString() == "运营分公司")
  547. //{
  548. childModel.open = "true";
  549. //}
  550. //else {
  551. // childModel.open = "false";
  552. //}
  553. childModel.children = modelList;
  554. model.children.Add(childModel);
  555. GetTreeModelTurnDept(table, childModel, key,level+1);
  556. }
  557. }
  558. else if (model.name.Contains(key) || string.IsNullOrEmpty(key))
  559. {
  560. StringBuilder strSql = new StringBuilder();
  561. strSql.Append("select * ");
  562. strSql.Append(" FROM T_Sys_UserAccount where F_DeptId=" + model.code);
  563. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  564. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  565. {
  566. foreach (DataRow row in ds.Tables[0].Rows)
  567. {
  568. List<TreeNodeModel> modelList = new List<TreeNodeModel>();
  569. TreeNodeModel childModel = new TreeNodeModel();
  570. childModel.id = int.Parse(row["F_UserId"].ToString());
  571. childModel.name = row["F_UserName"].ToString();
  572. childModel.code = int.Parse(row["F_UserId"].ToString());
  573. childModel.iconClose = string.Format("../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/{0}_dclose.png", level);
  574. childModel.iconOpen = string.Format("../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/{0}_dopen.png", level);
  575. childModel.open = "false";
  576. childModel.IsOrPrivate = 1;
  577. childModel.children = modelList;
  578. model.children.Add(childModel);
  579. }
  580. }
  581. }
  582. else
  583. {
  584. StringBuilder strSql = new StringBuilder();
  585. strSql.Append("select * ");
  586. strSql.AppendFormat(" FROM T_Sys_UserAccount where F_DeptId={0} AND F_UserName LIKE '%{1}%'", model.code,key);
  587. DataSet ds = DbHelperSQL.Query(strSql.ToString());
  588. if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
  589. {
  590. foreach (DataRow row in ds.Tables[0].Rows)
  591. {
  592. List<TreeNodeModel> modelList = new List<TreeNodeModel>();
  593. TreeNodeModel childModel = new TreeNodeModel();
  594. childModel.id = int.Parse(row["F_UserId"].ToString());
  595. childModel.name = row["F_UserName"].ToString();
  596. childModel.code = int.Parse(row["F_UserId"].ToString());
  597. childModel.iconClose = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_close.png";
  598. childModel.iconOpen = "../../Content/layui/zTree/v3/css/zTreeStyle/img/diy/1_open.png";
  599. childModel.open = "false";
  600. childModel.IsOrPrivate = 1;
  601. childModel.children = modelList;
  602. model.children.Add(childModel);
  603. }
  604. }
  605. }
  606. return model;
  607. }
  608. #endregion
  609. }
  610. }