StaffData.aspx.cs
上传用户:cha0314
上传日期:2014-03-02
资源大小:12522k
文件大小:5k
源码类别:

C#编程

开发平台:

C#

  1. using System;
  2. using System.Collections;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Data.SqlClient;
  6. using System.Drawing;
  7. using System.Web;
  8. using System.Web.SessionState;
  9. using System.Web.UI;
  10. using System.Web.UI.WebControls;
  11. using System.Web.UI.HtmlControls;
  12. using UDS.Components;
  13. namespace UDS.SubModule.WorkAttendance
  14. {
  15. /// <summary>
  16. /// StaffData 的摘要说明。
  17. /// </summary>
  18. public class StaffData : System.Web.UI.Page
  19. {
  20. private string staffid;
  21. private string begintime,endtime;
  22. private string type;
  23. protected System.Web.UI.WebControls.Literal ltlname;
  24. protected System.Web.UI.WebControls.Literal ltlbegintime;
  25. protected System.Web.UI.WebControls.Literal ltlendtime;
  26. protected System.Web.UI.WebControls.Literal lbltype;
  27. protected System.Web.UI.WebControls.DataGrid grdStaff;
  28. private void Page_Load(object sender, System.EventArgs e)
  29. {
  30. // 在此处放置用户代码以初始化页面
  31. string filter = "";
  32. if(!Page.IsPostBack)
  33. {
  34. //try
  35. {
  36. staffid = (Request.QueryString["staffid"]==null)?"0":Request.QueryString["staffid"].ToString();
  37. begintime = (Request.QueryString["begintime"]==null)?DateTime.Now.ToString():Request.QueryString["begintime"].ToString();
  38. endtime = (Request.QueryString["endtime"]==null)?DateTime.Now.ToString():Request.QueryString["endtime"].ToString();
  39. type = (Request.QueryString["type"]==null)?DateTime.Now.ToString():Request.QueryString["type"].ToString();
  40. switch(type)
  41. {
  42. case "1": type = "正常上班";filter="OnDuty_Status = false and OffDuty_Status = false";break;
  43. case "2": type = "迟到";filter="OnDuty_Status = true";break;
  44. case "3": type = "早退";filter="OffDuty_Status = true";break;
  45. case "4": type = "未考勤";break;
  46. case "5": type = "总考勤";break;
  47. }
  48. Database db = new Database();
  49. SqlDataReader dr,dr1;
  50. //得到用户名
  51. SqlParameter[] pram = {
  52.    db.MakeInParam("@ids",SqlDbType.VarChar,1000,staffid)
  53. };
  54. db.RunProc("sp_WA_GetSelectedStaffFromID",pram,out dr1);
  55. while(dr1.Read())
  56. {
  57. ltlname.Text = dr1["staff_name"].ToString();
  58. }
  59. dr1.Close();
  60. db.Dispose();
  61. if(type=="未考勤")
  62. {
  63. SqlParameter[] prams = {
  64.     db.MakeInParam("@staffid",SqlDbType.Int,4,staffid),
  65. db.MakeInParam("@begintime",SqlDbType.DateTime,8,begintime),
  66. db.MakeInParam("@endtime",SqlDbType.DateTime,8,endtime)
  67. };
  68. db.RunProc("sp_WA_GetAbsenceDay",prams,out dr);
  69. DataTable table = Tools.ConvertDataReaderToDataTable(dr);//应该出勤的天数
  70. DataColumn myDataColumn = new DataColumn();
  71. myDataColumn.DataType = System.Type.GetType("System.String");
  72. myDataColumn.ColumnName = "OnDuty";
  73. table.Columns.Add(myDataColumn);
  74. myDataColumn = new DataColumn();
  75. myDataColumn.DataType = System.Type.GetType("System.String");
  76. myDataColumn.ColumnName = "OffDuty";
  77. table.Columns.Add(myDataColumn);
  78. myDataColumn = new DataColumn();
  79. myDataColumn.DataType = System.Type.GetType("System.String");
  80. myDataColumn.ColumnName = "OnDuty_MemoID";
  81. table.Columns.Add(myDataColumn);
  82. myDataColumn = new DataColumn();
  83. myDataColumn.DataType = System.Type.GetType("System.String");
  84. myDataColumn.ColumnName = "OffDuty_MemoID";
  85. table.Columns.Add(myDataColumn);
  86. table.DefaultView.Sort = "WorkDate ASC";
  87. grdStaff.DataSource = table.DefaultView;
  88. grdStaff.DataBind();
  89. }
  90. else
  91. {
  92. SqlParameter[] prams = {
  93.    db.MakeInParam("@begintime",SqlDbType.DateTime,8,begintime),
  94.    db.MakeInParam("@endtime",SqlDbType.DateTime,8,endtime),
  95.    db.MakeInParam("@ids",SqlDbType.VarChar,1000,staffid),
  96.    db.MakeInParam("@idtype",SqlDbType.VarChar,50,"staff")
  97.    };
  98. db.RunProc("sp_WA_GetAttendanceData",prams,out dr);
  99. DataTable table = Tools.ConvertDataReaderToDataTable(dr);
  100. table.DefaultView.RowFilter = filter;
  101. grdStaff.DataSource = table.DefaultView;
  102. grdStaff.DataBind();
  103. }
  104. ltlbegintime.Text = begintime;
  105. ltlendtime.Text = endtime;
  106. lbltype.Text = type;
  107. }
  108. //catch(Exception ex)
  109. {
  110. // UDS.Components.Error.Log(ex.Message);
  111. // Server.Transfer("../Error.aspx");
  112. }
  113. }
  114. }
  115. #region Web Form Designer generated code
  116. override protected void OnInit(EventArgs e)
  117. {
  118. //
  119. // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
  120. //
  121. InitializeComponent();
  122. base.OnInit(e);
  123. }
  124. /// <summary>
  125. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  126. /// 此方法的内容。
  127. /// </summary>
  128. private void InitializeComponent()
  129. {    
  130. this.Load += new System.EventHandler(this.Page_Load);
  131. }
  132. #endregion
  133. }
  134. }