Staff.cs
上传用户:jdb8708888
上传日期:2013-05-29
资源大小:19971k
文件大小:23k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

C#

  1. using System;
  2. using System.Data;
  3. using System.Data.SqlClient;
  4. using System.Collections;
  5. using System.IO;
  6. using System.Configuration ;
  7. namespace UDS.Components
  8. {
  9. /// <summary>
  10. /// Staff 管理类
  11. /// </summary>
  12. public class Staff
  13. {
  14. #region 登陆验证
  15. /// <summary>
  16. /// 登陆验证
  17. /// </summary>
  18. /// <param name="userName">用户名</param>
  19. /// <param name="password">密码</param>
  20. /// <returns>返回用户ID</returns>
  21. public string Login(string userName, string password) 
  22. {
  23. string UserID,IsNeedKey;
  24. Database data = new Database();
  25. SqlParameter[] prams = {
  26.    data.MakeInParam("@username",    SqlDbType.VarChar, 25, userName),
  27.    data.MakeInParam("@password",    SqlDbType.VarChar, 25, password),
  28.    data.MakeOutParam("@UserID", SqlDbType.VarChar, 25),
  29.    data.MakeOutParam("@IsNeedKey", SqlDbType.Bit, 1)
  30.    };
  31. data.RunProc("sp_StaffLogin", prams);   
  32. UserID = (string) prams[2].Value;   
  33. IsNeedKey = prams[3].Value.ToString();
  34. if (UserID == string.Empty)
  35. return null;
  36. else
  37. return UserID+"-"+IsNeedKey;
  38. }
  39. #endregion
  40. #region 用户退出
  41. /// <summary>
  42. /// 用户退出
  43. /// </summary>
  44. /// <param name="userName">用户名</param>
  45. public void Logout(string userName) 
  46. {
  47. Database data = new Database();
  48. SqlParameter[] prams = {
  49.    data.MakeInParam("@username",    SqlDbType.VarChar, 25, userName)
  50.    };
  51. data.RunProc("sp_StaffLogout", prams);   
  52. }
  53. #endregion
  54. #region 获取用户基本信息
  55. /// <summary>
  56. /// 获取用户基本信息
  57. /// </summary>
  58. /// <param name="StaffID">用户ID</param>
  59. /// <returns>返回DataReader</returns>
  60. public SqlDataReader GetStaffInfo(long StaffID) 
  61. {
  62. SqlDataReader dataReader = null;
  63. Database data = new Database();
  64. SqlParameter[] prams = {
  65.    data.MakeInParam("@StaffID",    SqlDbType.Int, 4, StaffID),
  66.    
  67.    };
  68. try 
  69. {
  70. // run the stored procedure
  71. data.RunProc("sp_GetStaffInfo",prams,out dataReader);
  72. return dataReader;
  73. }
  74. catch (Exception ex) 
  75. {
  76. Error.Log(ex.ToString());
  77. throw new Exception("人员信息读取出错!",ex);
  78. }
  79. }
  80. #endregion
  81. #region 获取用户基本信息
  82. /// <summary>
  83. /// 获取用户基本信息
  84. /// </summary>
  85. /// <param name="StaffID">用户ID</param>
  86. /// <returns>返回DataReader</returns>
  87. public SqlDataReader GetStaffInfo(string StaffIDs) 
  88. {
  89. SqlDataReader dataReader = null;
  90. Database data = new Database();
  91. SqlParameter[] prams = {
  92.    data.MakeInParam("@StaffIDs",    SqlDbType.VarChar, 10000, StaffIDs),
  93.    
  94. };
  95. try 
  96. {
  97. // run the stored procedure
  98. data.RunProc("sp_GetStaffInfoEx",prams,out dataReader);
  99. return dataReader;
  100. }
  101. catch (Exception ex) 
  102. {
  103. Error.Log(ex.ToString());
  104. throw new Exception("人员信息读取出错!",ex);
  105. }
  106. }
  107. #endregion
  108. #region 根据用户代号获取用户真实姓名
  109. /// <summary>
  110. /// 获取用户基本信息
  111. /// </summary>
  112. /// <param name="Username">用户代号</param>
  113. /// <returns>返回真实姓名</returns>
  114. public static string GetRealNameByUsername(string Username) 
  115. {
  116. SqlDataReader dataReader = null;
  117. Database data = new Database();
  118. SqlParameter[] prams = {
  119.    data.MakeInParam("@Username",    SqlDbType.NVarChar, 30, Username),
  120.    
  121. };
  122. try 
  123. {
  124. // run the stored procedure
  125. data.RunProc("sp_GetRealNameByUsername",prams,out dataReader);
  126. if(dataReader.Read())
  127. {
  128. return dataReader[0].ToString();
  129. }
  130. else
  131. {
  132. return "";
  133. }
  134. }
  135. catch (Exception ex) 
  136. {
  137. Error.Log(ex.ToString());
  138. throw new Exception("人员信息读取出错!",ex);
  139. }
  140. finally
  141. {
  142. dataReader.Close();
  143. data.Dispose();
  144. }
  145. }
  146. #endregion
  147. #region 根据用户代号字符串返回用户真实姓名字符串
  148. /// <summary>
  149. /// 根据用户代号字符串返回用户真实姓名字符串
  150. /// </summary>
  151. /// <param name="Username">用户代号字符串</param>
  152. /// <param name="Username">返回的个数</param>
  153. /// <returns>返回真实姓名字符串</returns>
  154. public static string GetRealNameStrByUsernameStr(string Username,int number) 
  155. {
  156. string RealNameStr = "";
  157. if(Username=="")
  158. return "";
  159. if(Username.EndsWith(","))
  160. Username = Username.Substring(0,Username.Length-1);
  161. string[] UnameAr = System.Text.RegularExpressions.Regex.Split(Username ,",");
  162. if(number==0)
  163. {
  164. number=UnameAr.Length;
  165. }
  166. if(number>UnameAr.Length)
  167. number = UnameAr.Length;
  168. try 
  169. {
  170. for(int k=0;k<number;k++)
  171. {
  172. RealNameStr+=GetRealNameByUsername(UnameAr[k].ToString())+",";
  173. }
  174. RealNameStr = RealNameStr.Substring(0,RealNameStr.Length-1);
  175. if(number<UnameAr.Length)
  176. {
  177. RealNameStr+="..";
  178. }
  179. return RealNameStr;
  180. }
  181. catch (Exception ex) 
  182. {
  183. Error.Log(ex.ToString());
  184. throw new Exception("根据用户代号字符串返回用户真实姓名字符串出错!",ex);
  185. }
  186. }
  187. #endregion
  188. #region 获取当前职位中的用户信息
  189. /// <summary>
  190. /// 获取当前部门中的用户信息
  191. /// </summary>
  192. /// <param name="Username">用户登陆名</param>
  193. /// <returns>返回DataReader</returns>
  194. public SqlDataReader GetStaffFromPosition(string Username) 
  195. {
  196. SqlDataReader dataReader = null;
  197. Database data = new Database();
  198. SqlParameter[] prams = {
  199.    data.MakeInParam("@StaffName",    SqlDbType.NVarChar , 30, Username),
  200.    
  201. };
  202. try 
  203. {
  204. // run the stored procedure
  205. data.RunProc("sp_GetStaffFromPosition",prams,out dataReader);
  206. return dataReader;
  207. }
  208. catch (Exception ex) 
  209. {
  210. Error.Log(ex.ToString());
  211. throw new Exception("读取信息出错!",ex);
  212. }
  213. }
  214. /// <summary>
  215. /// 得到该成员职位中的成员信息
  216. /// </summary>
  217. /// <param name="Username">用户名</param>
  218. /// <param name="positionwidth">最低位1表示包含同级成员,最低第二位表示包含下级</param>
  219. /// <param name="postiondepth">下级的深度,最低位1表示直属下级成员,最低第二位1表示直属下级的下级成员</param>
  220. /// <returns></returns>
  221. public SqlDataReader GetStaffFromPosition(string Username,int positionwidth,int postiondepth) 
  222. {
  223. SqlDataReader dataReader = null;
  224. Database data = new Database();
  225. SqlParameter[] prams = {
  226.     data.MakeInParam("@StaffName",    SqlDbType.NVarChar , 30, Username),
  227. data.MakeInParam("@Inherit",    SqlDbType.Int , 4, postiondepth),
  228. data.MakeInParam("@Upsides",    SqlDbType.Int , 4, positionwidth),
  229.    
  230. };
  231. try 
  232. {
  233. // run the stored procedure
  234. data.RunProc("sp_GetStaffFromPosition",prams,out dataReader);
  235. return dataReader;
  236. }
  237. catch (Exception ex) 
  238. {
  239. Error.Log(ex.ToString());
  240. throw new Exception("读取信息出错!",ex);
  241. }
  242. }
  243. #endregion
  244. #region 检查用户是否在职位中有相关权力
  245. /// <summary>
  246. /// 检查用户是否在相关权限操作的部门中
  247. /// </summary>
  248. /// <param name="classid">树形图的节点值</param>
  249. /// <param name="username">用户名称</param>
  250. /// <param name="actid">权限造作id</param>
  251. /// <param name="inherit">继承父节点的权限</param>
  252. /// <returns>bool值表示是否有权限</returns>
  253. public bool GetRightInPosition(int classid,string username,int actid,bool inherit)
  254. {
  255. int intInherit;
  256. Database data = new Database();
  257. SqlDataReader dr;
  258. //将参数inherit转换成int以便于存储过程调用
  259. if (inherit)
  260. intInherit = 1;
  261. else
  262. intInherit = 0;
  263. SqlParameter[] prams = {
  264.    data.MakeInParam("@ClassID",SqlDbType.Int,4,classid),
  265.    data.MakeInParam("@UserName",SqlDbType.VarChar,255,username),
  266.    data.MakeInParam("@ACT_ID",SqlDbType.Int,4,actid),
  267.    data.MakeInParam("@Inherit",SqlDbType.Int,4,intInherit)
  268.    };
  269.             data.RunProc("sp_GetRightInPositionToHandleClass",prams,out dr);
  270. return  dr.Read();
  271. }
  272. #endregion
  273. #region 检查用户个人是否在拥有相关权力
  274. /// <summary>
  275. /// 检查用户个人是否在拥有相关权力
  276. /// </summary>
  277. /// <param name="classid">树形图的节点值</param>
  278. /// <param name="username">用户名称</param>
  279. /// <param name="actid">权限造作</param>
  280. /// <param name="inherit">继承父节点的权限</param>
  281. /// <returns>bool值表示是否有权限</returns>
  282. public bool GetRightInPerson(int classid,string username,int actid,bool inherit)
  283. {
  284. int intInherit;
  285. Database data = new Database();
  286. SqlDataReader dr;
  287. //将参数inherit转换成int以便于存储过程调用
  288. if (inherit)
  289. intInherit = 1;
  290. else
  291. intInherit = 0;
  292. SqlParameter[] prams = {
  293.    data.MakeInParam("@ClassID",SqlDbType.Int,4,classid),
  294.    data.MakeInParam("@UserName",SqlDbType.VarChar,255,username),
  295.    data.MakeInParam("@ACT_ID",SqlDbType.Int,4,actid),
  296.    data.MakeInParam("@Inherit",SqlDbType.Int,4,intInherit)
  297.    };
  298. data.RunProc("sp_GetRightInPersonToHandleClass",prams,out dr);
  299. return  dr.Read();
  300. }
  301. #endregion
  302. #region 检查用户是否在角色中拥有相关权力
  303. /// <summary>
  304. /// 检查用户是否在拥有相关权限操作的角色中
  305. /// </summary>
  306. /// <param name="classid">树形图的节点值</param>
  307. /// <param name="username">用户名称</param>
  308. /// <param name="actid">权限造作</param>
  309. /// <param name="inherit">继承父节点的权限</param>
  310. /// <returns>bool值表示是否有权限</returns>
  311. public bool GetRightInRole(int classid,string username,int actid,bool inherit)
  312. {
  313. int intInherit;
  314. Database data = new Database();
  315. SqlDataReader dr;
  316. //将参数inherit转换成int以便于存储过程调用
  317. if (inherit)
  318. intInherit = 1;
  319. else
  320. intInherit = 0;
  321. SqlParameter[] prams = {
  322.    data.MakeInParam("@ClassID",SqlDbType.Int,4,classid),
  323.    data.MakeInParam("@UserName",SqlDbType.VarChar,255,username),
  324.    data.MakeInParam("@ACT_ID",SqlDbType.Int,4,actid),
  325.    data.MakeInParam("@Inherit",SqlDbType.Int,4,intInherit)
  326.    };
  327. data.RunProc("sp_GetRightInRoleToHandleClass",prams,out dr);
  328. return  dr.Read();
  329. }
  330. #endregion
  331. #region 检查用户是否在组中拥有相关力
  332. /// <summary>
  333. /// 检查用户是否在组中拥有相关力
  334. /// </summary>
  335. /// <param name="classid">树形图的节点值</param>
  336. /// <param name="username">用户名称</param>
  337. /// <param name="actid">权限造作</param>
  338. /// <param name="inherit">继承父节点的权限</param>
  339. /// <returns>bool值表示是否有权限</returns>
  340. public bool GetRightInTeam(int classid,string username,int actid,bool inherit)
  341. {
  342. int intInherit;
  343. Database data = new Database();
  344. SqlDataReader dr;
  345. //将参数inherit转换成int以便于存储过程调用
  346. if (inherit)
  347. intInherit = 1;
  348. else
  349. intInherit = 0;
  350. SqlParameter[] prams = {
  351.    data.MakeInParam("@ClassID",SqlDbType.Int,4,classid),
  352.    data.MakeInParam("@UserName",SqlDbType.VarChar,255,username),
  353.    data.MakeInParam("@ACT_ID",SqlDbType.Int,4,actid),
  354.    data.MakeInParam("@Inherit",SqlDbType.Int,4,intInherit)
  355.    };
  356. data.RunProc("sp_GetRightInTeamToHandleClass",prams,out dr);
  357. return  dr.Read();
  358. }
  359. #endregion
  360. #region 检查用户是否有相应操作的权力
  361. /// <summary>
  362. /// 检查用户是否有相应操作的权限
  363. /// </summary>
  364. /// <param name="classid">树形图的节点值</param>
  365. /// <param name="username">用户名称</param>
  366. /// <param name="actid">权限造作</param>
  367. /// <param name="inherit">继承父节点的权限</param>
  368. /// <returns>bool值表示是否有权限</returns>
  369. public bool CheckRight(int classid,string username,int actid,bool inherit)
  370. {
  371. if (GetRightInPosition(classid, username, actid, inherit))
  372. return true;
  373. else
  374. if (GetRightInPerson(classid, username, actid, inherit))
  375. return true;
  376. else
  377. if (GetRightInRole(classid, username, actid, inherit))
  378. return true;
  379. else
  380. if (GetRightInTeam(classid, username, actid, inherit))
  381. return true;
  382. else
  383. return false;
  384. }
  385. #endregion
  386. #region 使人员复职
  387. /// <summary>
  388. /// 使人员复职
  389. /// </summary>
  390. /// <param name="staffids">人员id集合</param>
  391. /// <returns>是否成功</returns>
  392. public bool ReturnPosition(string staffids)
  393. {
  394. UDS.Components.Database db = new UDS.Components.Database();
  395. SqlParameter[] prams = {
  396.    db.MakeInParam("@StaffIDS",SqlDbType.VarChar,300,staffids)
  397. };
  398. return((db.RunProc("sp_StaffRehab",prams)==0)?true:false);
  399. }
  400. #endregion
  401. #region 人员更新
  402. /// <summary>
  403. /// 人员更新
  404. /// </summary>
  405. /// <param name="StaffID">人员ID</param>
  406. /// <returns>返回是否成功</returns>
  407. public int UpdateInfo(long StaffID,string RealName,int Sex,string Birthday,string Password,string Email,string Phone,string Mobile,long PositionID,int Caste) 
  408. {
  409. UDS.Components.Database db = new UDS.Components.Database();
  410. SqlParameter[] prams = {
  411. db.MakeInParam("@StaffID",SqlDbType.Int,4,StaffID),
  412. db.MakeInParam("@RealName",SqlDbType.VarChar,50,RealName),
  413. db.MakeInParam("@Sex",SqlDbType.Bit ,1,Sex),
  414. db.MakeInParam("@Birthday",SqlDbType.DateTime ,8,Birthday),
  415. db.MakeInParam("@Password",SqlDbType.VarChar,255,Password),
  416. db.MakeInParam("@Email",SqlDbType.VarChar,500,Email),
  417. db.MakeInParam("@Phone",SqlDbType.VarChar,50,Phone),
  418. db.MakeInParam("@Mobile",SqlDbType.VarChar,50,Mobile),    
  419. db.MakeInParam("@PositionID",SqlDbType.Int,4,PositionID),
  420. db.MakeInParam("@Caste",SqlDbType.Int,4,Caste)
  421. };
  422. return db.RunProc("sp_UpdateStaffInfo",prams);
  423. }
  424. #endregion
  425. #region 人员离职
  426. /// <summary>
  427. /// 人员离职
  428. /// </summary>
  429. /// <param name="StaffID">人员ID</param>
  430. /// <returns>返回是否成功</returns>
  431. public bool Dimission(string StaffIDS) 
  432. {
  433. UDS.Components.Database db = new UDS.Components.Database();
  434. if(StaffIDS.Length>0)
  435. {
  436. SqlParameter[] prams = {
  437.    db.MakeInParam("@StaffIDS",SqlDbType.VarChar,300,StaffIDS.ToString())
  438.    };
  439. return db.RunProc("sp_StaffDimission",prams)==0?true:false;
  440. }
  441. else
  442. return false;
  443. }
  444. #endregion
  445. #region 人员复职
  446. /// <summary>
  447. /// 人员复职
  448. /// </summary>
  449. /// <param name="StaffID">人员ID</param>
  450. /// <returns>返回是否成功</returns>
  451. public bool Rehab(string StaffIDS) 
  452. {
  453. UDS.Components.Database db = new UDS.Components.Database();
  454. if(StaffIDS.Length >0)
  455. {
  456. SqlParameter[] prams = {
  457.    db.MakeInParam("@StaffIDS",SqlDbType.VarChar,300,StaffIDS.ToString())
  458.    };
  459. return db.RunProc("sp_StaffRehab",prams)==0?true:false;
  460. }
  461. else
  462. return false;
  463. }
  464. #endregion
  465. #region 获取部门信息
  466. /// <summary>
  467. /// 获取部门信息
  468. /// </summary>
  469. /// <param name="RootPositionID">根部门ID</param>
  470. /// <returns>返回DataReader</returns>
  471. public SqlDataReader GetPositionList(int RootPositionID) 
  472. {
  473. RootPositionID=1;
  474. SqlDataReader dataReader = null;
  475. Database data = new Database();
  476. SqlParameter[] prams = {
  477.    data.MakeInParam("@Position_id",    SqlDbType.Int , 5, RootPositionID),
  478.    
  479. };
  480. try 
  481. {
  482. // run the stored procedure
  483. data.RunProc("sp_GetAllChildPosition",prams,out dataReader);
  484. return dataReader;
  485. }
  486. catch (Exception ex) 
  487. {
  488. Error.Log(ex.ToString());
  489. throw new Exception("读取信息出错!",ex);
  490. }
  491. }
  492. public SqlDataReader GetAllPosition()
  493. {
  494. SqlDataReader dataReader = null;
  495. Database data = new Database();
  496. try 
  497. {
  498. // run the stored procedure
  499. data.RunProc("sp_GetAllPosition",out dataReader);
  500. return dataReader;
  501. }
  502. catch (Exception ex) 
  503. {
  504. Error.Log(ex.ToString());
  505. throw new Exception("读取信息出错!",ex);
  506. }
  507. }
  508. #endregion
  509. #region 得到剩余的在岗人员
  510. /// <summary>
  511. /// 得到剩余的在岗人员
  512. /// </summary>
  513. /// <param name="staffids">原来人员,分割</param>
  514. /// <returns></returns>
  515. public SqlDataReader GetRemainStaff(string staffids)
  516. {
  517. SqlDataReader dataReader = null;
  518. Database data = new Database();
  519. SqlParameter[] prams = {
  520.    data.MakeInParam("@staffids",SqlDbType.VarChar,300,staffids)
  521. };
  522. try 
  523. {
  524. // run the stored procedure
  525. data.RunProc("sp_GetRemainStaff", prams,out dataReader);
  526. return(dataReader);
  527. }
  528. catch (Exception ex) 
  529. {
  530. Error.Log(ex.ToString());
  531. return null;
  532. }
  533. finally
  534. {
  535. data = null;
  536. }
  537. }
  538. #endregion
  539. #region 得到所有在职人员
  540. public SqlDataReader GetAllStaffs()
  541. {
  542. SqlDataReader dataReader = null;
  543. Database data = new Database();
  544. try 
  545. {
  546. // run the stored procedure
  547. data.RunProc("sp_GetAllStaff",out dataReader);
  548. return dataReader;
  549. }
  550. catch (Exception ex) 
  551. {
  552. Error.Log(ex.ToString());
  553. throw new Exception("人员信息读取出错!",ex);
  554. }
  555. }
  556. #endregion
  557. #region 得到所有人员
  558. public SqlDataReader GetTotalStaffs()
  559. {
  560. SqlDataReader dataReader = null;
  561. Database data = new Database();
  562. try 
  563. {
  564. // run the stored procedure
  565. data.RunProc("sp_GetTotalStaff",out dataReader);
  566. return dataReader;
  567. }
  568. catch (Exception ex) 
  569. {
  570. Error.Log(ex.ToString());
  571. throw new Exception("人员信息读取出错!",ex);
  572. }
  573. }
  574. #endregion
  575. #region 根据用户真实姓名得到id
  576. public SqlDataReader GetStaffIDByRealName(string realname)
  577. {
  578. UDS.Components.Database db = new UDS.Components.Database();
  579. SqlDataReader dr = null;
  580. SqlParameter[] prams = {
  581.    db.MakeInParam("@realname",SqlDbType.VarChar,100,realname)
  582.    };
  583. db.RunProc("sp_GetStaffIDByRealName",prams,out dr);
  584. return(dr);
  585. }
  586. #endregion
  587. #region 根据roleid得到staff
  588. public SqlDataReader GetStaffsFromRole(int role)
  589. {
  590. SqlDataReader dataReader = null;
  591. Database data = new Database();
  592. try 
  593. {
  594. // run the stored procedure
  595. SqlParameter[] prams = {
  596.    data.MakeInParam("@RoleID",SqlDbType.Int,4,role)
  597.    };
  598. data.RunProc("sp_GetStaffInRole",prams,out dataReader);
  599. return dataReader;
  600. }
  601. catch (Exception ex) 
  602. {
  603. Error.Log(ex.ToString());
  604. throw new Exception("人员信息读取出错!",ex);
  605. }
  606. }
  607. #endregion
  608. #region 返回用户信息接口,包括用户名和用户中文名
  609. /// <summary>
  610. /// 返回用户信息接口,包括用户ID和用户中文名
  611. /// </summary>
  612. public ICollection  GetStaffInTeam(int teamID) 
  613. {
  614. // create data object and params
  615. SqlDataReader dataReader = null;
  616. Database data = new Database();
  617. DataTable datatable = new DataTable ();
  618. SqlParameter[] prams = {
  619. data.MakeInParam("@ClassID",      SqlDbType.Int, 8, teamID),
  620. };
  621. try 
  622. {
  623. // run the stored procedure
  624. data.RunProc("sp_GetMemberInClass", prams,out dataReader);
  625. data = null;
  626. datatable = UDS.Components.Tools.ConvertDataReaderToDataTable (dataReader);
  627. return datatable.DefaultView ;
  628. }
  629. catch (Exception ex) 
  630. {
  631. Error.Log(ex.ToString());
  632. return null;
  633. }
  634. }
  635. #endregion
  636. #region 返回某部门用户信息接口,包括用户名和用户中文名
  637. /// <summary>
  638. /// 返回用户信息接口,包括用户ID和用户中文名
  639. /// </summary>
  640. public ICollection  GetStaffInDetp(int PositionID) 
  641. {
  642. // create data object and params
  643. SqlDataReader dataReader = null;
  644. Database data = new Database();
  645. DataTable datatable = new DataTable ();
  646. SqlParameter[] prams = {
  647.    data.MakeInParam("@Position_id",      SqlDbType.Int, 8, PositionID),
  648. };
  649. try 
  650. {
  651. // run the stored procedure
  652. data.RunProc("sp_GetStaffInPosition", prams,out dataReader);
  653. data = null;
  654. datatable = UDS.Components.Tools.ConvertDataReaderToDataTable (dataReader);
  655. return datatable.DefaultView ;
  656. }
  657. catch (Exception ex) 
  658. {
  659. Error.Log(ex.ToString());
  660. return null;
  661. }
  662. }
  663. #endregion
  664. #region 返回某部门及下级部门用户信息接口,包括用户名和用户中文名
  665. /// <summary>
  666. /// 返回用户信息接口,包括用户ID和用户中文名
  667. /// </summary>
  668. public ICollection  GetStaffByPosition(int PositionID) 
  669. {
  670. // create data object and params
  671. SqlDataReader dataReader = null;
  672. Database data = new Database();
  673. DataTable datatable = new DataTable ();
  674. SqlParameter[] prams = {
  675.    data.MakeInParam("@PositionID",      SqlDbType.Int, 8, PositionID),
  676. };
  677. try 
  678. {
  679. // run the stored procedure
  680. data.RunProc("sp_GetStaffByPosition", prams,out dataReader);
  681. data = null;
  682. datatable = UDS.Components.Tools.ConvertDataReaderToDataTable (dataReader);
  683. return datatable.DefaultView ;
  684. }
  685. catch (Exception ex) 
  686. {
  687. Error.Log(ex.ToString());
  688. return null;
  689. }
  690. }
  691. #endregion
  692. #region 人员查询
  693. /// <summary>
  694. /// 人员查询
  695. /// </summary>
  696. /// <param name="staffname">用户名或者真实姓名</param>
  697. /// <param name="positionid">职位id</param>
  698. /// <param name="mobile">手机号码</param>
  699. /// <param name="email">email</param>
  700. /// <param name="gender">性别</param>
  701. /// <returns></returns>
  702. public SqlDataReader Find(string staffname,int positionid,string mobile,string email,string gender,string searchbound)
  703. {
  704. Database db = new Database();
  705. SqlDataReader dr;
  706. try 
  707. {
  708. // run the stored procedure
  709. SqlParameter[] prams = {
  710.    db.MakeInParam("@Name",SqlDbType.VarChar,200,staffname),
  711.    db.MakeInParam("@Mobile",SqlDbType.VarChar,100,mobile),
  712.    db.MakeInParam("@Email",SqlDbType.VarChar,100,email),
  713.    db.MakeInParam("@Gender",SqlDbType.VarChar,100,gender),
  714.    db.MakeInParam("@PositionID",SqlDbType.Int,4,positionid),
  715.    db.MakeInParam("@SearchBound",SqlDbType.VarChar,50,searchbound),
  716.    };
  717. db.RunProc("UDS_StaffSearch",prams,out dr);
  718. return dr;
  719. }
  720. catch (Exception ex) 
  721. {
  722. Error.Log(ex.ToString());
  723. throw new Exception("人员查询出错!",ex);
  724. }
  725. }
  726. #endregion
  727. #region 设置用户是否需要硬件KEY验证
  728. /// <summary>
  729. /// 设置用户是否需要硬件KEY验证
  730. /// </summary>
  731. /// <param name="StaffID">人员ID</param>
  732. /// <param name="IsNeedKey">是否需要登陆</param>
  733. /// <returns>返回是否成功</returns>
  734. public bool SetIsNeedKey(string  StaffIDs,bool IsNeedKey) 
  735. {
  736. UDS.Components.Database db = new UDS.Components.Database();
  737. if(StaffIDs.Length >0)
  738. {
  739. SqlParameter[] prams = {
  740.    db.MakeInParam("@StaffIDs",SqlDbType.VarChar,1000,StaffIDs),
  741.    db.MakeInParam("@IsNeedKey",SqlDbType.Bit ,1,IsNeedKey)
  742.    };
  743. return db.RunProc("sp_Staff_SetIsNeedKey",prams)==0?true:false;
  744. }
  745. else
  746. return false;
  747. }
  748. #endregion
  749.    }
  750. }