ManageStaff.aspx.cs
上传用户:xgw_05
上传日期:2009-12-11
资源大小:20208k
文件大小:8k
源码类别:

OA系统

开发平台:

C#

  1. using System;
  2. using System.Collections;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Web;
  7. using System.Web.SessionState;
  8. using System.Web.UI;
  9. using System.Web.UI.WebControls;
  10. using System.Web.UI.HtmlControls;
  11. using UDS.Components;
  12. using System.Data.SqlClient;
  13. namespace UDS.SubModule.Staff
  14. {
  15. /// <summary>
  16. /// ManageStaff 的摘要说明。
  17. /// </summary>
  18. public class ManageStaff : System.Web.UI.Page
  19. {
  20. protected System.Web.UI.WebControls.LinkButton lbOnline;
  21. protected System.Web.UI.WebControls.LinkButton lbOffLine;
  22. protected System.Web.UI.WebControls.DataGrid dbStaffList;
  23. protected System.Web.UI.WebControls.Button cmdNewStaff;
  24. protected System.Web.UI.WebControls.Button cmdDimission;
  25. protected System.Web.UI.WebControls.Button cmdRehab;
  26. // protected System.Web.UI.WebControls.Button cmdChangeposition;
  27. protected System.Web.UI.WebControls.Button cmdChangePosition;
  28. protected System.Web.UI.WebControls.Button btn_Search;
  29. public int DisplayType;
  30. protected System.Web.UI.WebControls.CheckBox cbRemind;
  31. protected static string Username;
  32. private void Page_Load(object sender, System.EventArgs e)
  33. {
  34. // 在此处放置用户代码以初始化页面
  35. if(Request.QueryString["DisplayType"]!=null)
  36. {
  37. if(Request.QueryString["DisplayType"].ToString()!="")
  38. DisplayType = Int32.Parse(Request.QueryString["DisplayType"].ToString());
  39. else
  40. DisplayType = 0;
  41. }
  42. else
  43. DisplayType = 0;
  44. if(!Page.IsPostBack)
  45. {
  46. //操作者登录名
  47. HttpCookie UserCookie = Request.Cookies["Username"];
  48. Username = UserCookie.Value.ToString();
  49. BindGrid();
  50. }
  51. cmdRehab.Attributes.Add("OnClick","return confirm('是否复职?');");
  52. cmdDimission.Attributes.Add("OnClick","return confirm('是否离职?');");
  53. cmdChangePosition.Attributes.Add("OnClick","return confirm('是否调职?');");
  54. }
  55. #region Web Form Designer generated code
  56. override protected void OnInit(EventArgs e)
  57. {
  58. //
  59. // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
  60. //
  61. InitializeComponent();
  62. base.OnInit(e);
  63. }
  64. /// <summary>
  65. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  66. /// 此方法的内容。
  67. /// </summary>
  68. private void InitializeComponent()
  69. {    
  70. this.lbOnline.Click += new System.EventHandler(this.lbOnline_Click);
  71. this.lbOffLine.Click += new System.EventHandler(this.lbOffLine_Click);
  72. this.cmdNewStaff.Click += new System.EventHandler(this.cmdNewStaff_Click);
  73. this.cmdDimission.Click += new System.EventHandler(this.cmdDimission_Click);
  74. this.cmdRehab.Click += new System.EventHandler(this.cmdRehab_Click);
  75. this.cmdChangePosition.Click += new System.EventHandler(this.cmdChangePosition_Click);
  76. this.btn_Search.Click += new System.EventHandler(this.btn_Search_Click);
  77. this.Load += new System.EventHandler(this.Page_Load);
  78. }
  79. #endregion
  80. public string GetSelectImage(string NormalImg,string SelectedImg,int selected,int position)
  81. {
  82. if(selected==position)
  83. return SelectedImg;
  84. else
  85. return NormalImg;
  86. }
  87. private void BindGrid()
  88. {
  89. SqlDataReader dr; //存放人物的数据
  90. Database db = new Database();
  91. SqlParameter[] prams = {
  92.    db.MakeInParam("@StaffType",SqlDbType.Bit,1,DisplayType)
  93.    };
  94. db.RunProc("sp_GetAllStaff",prams,out dr);
  95. DataTable dt =Tools.ConvertDataReaderToDataTable(dr);
  96. dbStaffList.DataSource = dt.DefaultView;
  97. dbStaffList.DataBind();
  98. if(DisplayType==0)
  99. {
  100. // lbOnline.BackColor = Color.FromArgb(0xCCCCCC);
  101. // lbOffLine.BackColor =Color.FromArgb(0xFFFFFF);
  102. cmdRehab.Visible = false;
  103. cmdDimission.Visible = true;
  104. cmdChangePosition.Visible =true;
  105. }
  106. else
  107. {
  108. // lbOnline.BackColor =Color.FromArgb(0xFFFFFF);
  109. // lbOffLine.BackColor =Color.FromArgb(0xCCCCCC);
  110. cmdRehab.Visible = true;
  111. cmdDimission.Visible = false;
  112. cmdChangePosition.Visible =false;
  113. }
  114. }
  115. #region 翻页事件
  116. public void DataGrid_PageChanged(object sender,DataGridPageChangedEventArgs e)
  117. {
  118. dbStaffList.CurrentPageIndex = e.NewPageIndex;
  119. BindGrid();
  120. }
  121. #endregion
  122. private void lbOnline_Click(object sender, System.EventArgs e)
  123. {
  124. Server.Transfer("ManageStaff.aspx?DisplayType=0");
  125. }
  126. private void lbOffLine_Click(object sender, System.EventArgs e)
  127. {
  128. Server.Transfer("ManageStaff.aspx?DisplayType=1");
  129. }
  130. private void dbStaffList_SelectedIndexChanged(object sender, System.EventArgs e)
  131. {
  132. }
  133. private string GetSelectedItemID(string controlID)
  134. {
  135. string selectedID;
  136. selectedID = "";
  137. //遍历DataGrid获得checked的ID
  138. foreach (DataGridItem item in dbStaffList.Items)
  139. {
  140. if(((CheckBox)item.FindControl(controlID)).Checked==true )
  141. selectedID += dbStaffList.DataKeys[item.ItemIndex] + ",";
  142. }
  143. if(selectedID.Length>0)
  144. selectedID=selectedID.Substring(0,selectedID.Length-1);
  145. return selectedID;
  146. }
  147. private void cmdNewStaff_Click(object sender, System.EventArgs e)
  148. {
  149. Server.Transfer("../Position/NewStaff.aspx?ReturnPage=1");
  150. }
  151. //离职,复职通知
  152. private void sms_all(int i)
  153. {
  154. string strStaffID=this.GetSelectedItemID("chkStaff_ID");
  155. SqlDataReader dr_this;//被选择人员
  156. UDS.Components.Staff sta=new UDS.Components.Staff();
  157. dr_this=sta.GetStaffInfo(strStaffID);
  158. SMS sm = new SMS();
  159. //处理短信提醒
  160. while(dr_this.Read())
  161. {
  162. string Position_name=dr_this["Position_name"].ToString();
  163. SqlDataReader dr_isok;//所有在职人员
  164. dr_isok=sta.GetAllStaffs();
  165. while(dr_isok.Read())
  166. {
  167. string Staff_name=dr_isok["Staff_name"].ToString();
  168. if(i==0)
  169. sm.SendMsg(Username,Staff_name,Position_name+" 处员工:"+dr_this["RealName"].ToString()+",已经离职,特此通知.",1,DateTime.Now,"",0,0);
  170. else
  171. sm.SendMsg(Username,dr_isok["Staff_name"].ToString(),dr_this["Position_name"].ToString()+" 处员工:"+dr_this["RealName"].ToString()+",已经恢复原职,特此通知.",1,DateTime.Now,"",0,0);
  172. }
  173. dr_isok.Close();
  174. dr_isok=null;
  175. }
  176. sm = null;
  177. dr_this.Close();
  178. dr_this=null;
  179. }
  180. private void cmdDimission_Click(object sender, System.EventArgs e)
  181. {
  182. string strStaffID=this.GetSelectedItemID("chkStaff_ID");
  183. if(strStaffID!="")
  184. {
  185. UDS.Components.Staff person = new UDS.Components.Staff();
  186. if(person.Dimission(strStaffID)==true)
  187. {
  188. if(this.cbRemind.Checked==true)
  189. sms_all(0);
  190. //Response.Write("<script language=javascript>alert('离职成功!');</script>");
  191. BindGrid();
  192. }
  193. person = null;
  194. }
  195. else
  196. Response.Write("<script language=javascript>alert('请选择要离职的人员!');</script>");
  197. }
  198. private void cmdRehab_Click(object sender, System.EventArgs e)
  199. {
  200. string strStaffID=this.GetSelectedItemID("chkStaff_ID");
  201. if(strStaffID!="")
  202. {
  203. UDS.Components.Staff person = new UDS.Components.Staff();
  204. if(person.Rehab(strStaffID)==true)
  205. {
  206. if(this.cbRemind.Checked==true)
  207. sms_all(1);
  208. //Response.Write("<script language=javascript>alert('复职成功!');</script>");
  209. BindGrid();
  210. }
  211. person = null;
  212. }
  213. else
  214. Response.Write("<script language=javascript>alert('请选择要复职的人员!');</script>");
  215. }
  216. private void cmdChangePosition_Click(object sender, System.EventArgs e)
  217. {
  218. string strStaffID=this.GetSelectedItemID("chkStaff_ID");
  219. if(strStaffID.Trim()!="")
  220. Response.Redirect("../Position/ChangePosition.aspx?StaffIDS="+strStaffID + "&ReturnPage=1");
  221. else
  222. //Response.Write("<script language=javascript>alert('请选择要调职的人员!');</script>");
  223. Page.RegisterStartupScript("window","<script language=javascript>alert('请选择要调职的人员!');</script>"); 
  224. }
  225. private void btn_Search_Click(object sender, System.EventArgs e)
  226. {
  227. Response.Redirect("Sch/Search.aspx");
  228. }
  229. }
  230. }