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

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.UnitiveDocument
  14. {
  15. /// <summary>
  16. /// Desktop 的摘要说明。
  17. /// </summary>
  18. public class Desktop : System.Web.UI.Page
  19. {
  20. protected System.Web.UI.HtmlControls.HtmlImage IMG2;
  21. protected System.Web.UI.HtmlControls.HtmlImage IMG1;
  22. protected System.Web.UI.WebControls.DataGrid dgList;
  23. protected System.Web.UI.HtmlControls.HtmlImage IMG3;
  24. protected System.Web.UI.HtmlControls.HtmlImage Img4;
  25. protected System.Web.UI.WebControls.DataGrid dgDocList;
  26. protected System.Web.UI.WebControls.DataGrid dgMailList;
  27. protected System.Web.UI.WebControls.DataGrid dgAppDocList;
  28. protected static string Username;
  29. private void Page_Load(object sender, System.EventArgs e)
  30. {
  31. HttpCookie UserCookie = Request.Cookies["Username"];
  32. Username = UserCookie.Value.ToString();
  33. if(!Page.IsPostBack)
  34. {
  35. //考勤操作
  36. DutyOperation();
  37. Bangding();
  38. bindtaskgrid();
  39. }
  40. }
  41. private void DutyOperation()
  42. {
  43. try
  44. {
  45. WA_Duty wd = new WA_Duty(Int32.Parse(Request.Cookies["UserID"].Value.Trim()));
  46. int Duty = wd.HaveCompletedDuty(DateTime.Now);
  47. //检查当天是否已经完成上班考勤
  48. if(Duty==-1)
  49. {
  50. if(wd.CheckStatus(DutyAction.OnDuty)) //没有迟到
  51. {
  52. wd.RecordOnDutyData(DateTime.Now,true,"").ToString();
  53. //弹出新页面表示成功
  54. Response.Write("<script language=javascript>window.open('../WorkAttendance/checksucessful.aspx?login=in','_blank','height=200,width=400,status=no,toolbar=no,menubar=no,location=no')</script>");
  55. }
  56. else//迟到
  57. {
  58. //跳转到填写理由页面
  59. Response.Redirect("../WorkAttendance/Default.aspx?notnormal=1&login=in");
  60. }
  61. }
  62. }
  63. catch(Exception ex)
  64. {
  65. UDS.Components.Error.Log(ex.Message);
  66. Server.Transfer("../Error.aspx");
  67. }
  68. }
  69. public void bindtaskgrid()
  70. {
  71. UDS.Components.Task task = new UDS.Components.Task();
  72. DataTable mydb = Tools.ConvertDataReaderToDataTable(task.GetAllTaskBySomeone(DateTime.Today.ToShortDateString(),Username,1));
  73. if(mydb.Rows.Count<5)
  74. {
  75. int tmp = 5-mydb.Rows.Count;
  76. for(int i=0;i<tmp;i++)
  77. {
  78. DataRow myDataRow = mydb.NewRow();
  79. myDataRow[0] = "-";
  80. mydb.Rows.Add(myDataRow);
  81. }
  82. }
  83. this.dgList .DataSource = mydb.DefaultView;
  84. this.dgList.DataBind();
  85. // setgrid();
  86. mydb.Dispose();
  87. }
  88. public string GetStatus(string str)
  89. {
  90. switch (str) 
  91. {
  92. case "0":
  93. return "?"; // 待定
  94. case "1":
  95. return "!"; // 待办
  96. case "2":
  97. return "√"; // 完成
  98. default:
  99. return "";
  100. }
  101. }
  102. public string GetPeriodByPeriodID(string EndTime,string begintime,string endtime)
  103. {
  104. if(begintime=="0"&&endtime=="0")
  105. {
  106. if(EndTime!="")
  107. return DateTime.Parse(EndTime).ToShortTimeString();
  108. else
  109. return "-";
  110. }
  111. else
  112. {
  113. if(begintime==""&&endtime=="")
  114. {
  115. return "-";
  116. }
  117. int b = Int32.Parse(begintime);
  118. int e = Int32.Parse(endtime);
  119. DateTime dt = new DateTime(1999,1,1,8,0,0,0);
  120. TimeSpan ts = new TimeSpan(0,0,(b-1)*30,0,0);
  121. DateTime bt = dt.Add(ts);
  122. DateTime et = bt.Add(new TimeSpan(0,0,(e-b+1)*30,0,0));
  123. return bt.ToShortTimeString()+"-"+et.ToShortTimeString();
  124. }
  125. }
  126. public string GetDateString(string DateString)
  127. {
  128. if(DateString=="")
  129. return "";
  130.  else
  131.  return DateTime.Parse(DateString).ToShortDateString();
  132. }
  133. public string GetRealName(string Username)
  134. {
  135. if(Username!="")
  136. return UDS.Components.Staff.GetRealNameByUsername(Username);
  137. else
  138. return "";
  139. }
  140. public string GetType(string type)
  141. {
  142. string Type="";
  143. if(type!="")
  144. {
  145. switch (Int32.Parse(type)) 
  146. {
  147. case 1:
  148. Type="会议";
  149. break;
  150. case 2:
  151. Type="文案";
  152. break;
  153. case 3:
  154. Type="来访";
  155. break;
  156. case 4:
  157. Type="电话";
  158. break;
  159. case 5:
  160. Type="走访";
  161. break;
  162. case 6:
  163. Type="外出";
  164. break;
  165. case 7:
  166. Type="假期";
  167. break;
  168. case 8:
  169. Type="出差";
  170. break;
  171. }
  172. return Type;
  173. }
  174. else
  175. return "";
  176. }
  177. public string GetProjectName(string project)
  178. {
  179. if(project!="")
  180. return UDS.Components .ProjectClass .GetProjectName (Int32.Parse(project));
  181. else
  182. return "";
  183. }
  184. private void setgrid()
  185. {
  186. // foreach(DataGridItem dgi in this.dgList .Items)
  187. {
  188. // Label lb=(Label)(dgi.Cells[2].Controls[1]);
  189. // if(lb.Text=="?") dgi.BackColor=Color.AliceBlue ;
  190. }
  191. }
  192. #region 翻页事件
  193. public void DataGrid_PageChanged(object sender,DataGridPageChangedEventArgs e)
  194. {
  195. this.dgList .CurrentPageIndex = e.NewPageIndex;
  196. UDS.Components.Task task = new UDS.Components.Task();
  197. DataTable mydb = Tools.ConvertDataReaderToDataTable(task.GetTodayTaskBySomeone(DateTime.Today.ToShortDateString(),Username,1));
  198. this.dgList .DataSource = mydb.DefaultView;
  199. this.dgList.DataBind();
  200. setgrid();
  201. }
  202. #endregion
  203. #region 绑定DBGRID
  204. private void Bangding()
  205. {
  206. SqlDataReader dr; //存放人物的数据
  207. UDS.Components.Desktop myDesktop = new UDS.Components.Desktop();
  208. String UserName = Request.Cookies["UserName"].Value.ToString();
  209. dr = myDesktop.GetMyDocument(UserName,10);
  210. DataTable dt =Tools.ConvertDataReaderToDataTable(dr);
  211. if(dt.Rows.Count<5)
  212. {
  213. int tmp = 5-dt.Rows.Count;
  214. for(int i=0;i<tmp;i++)
  215. {
  216. DataRow myDataRow = dt.NewRow();
  217. myDataRow[0] = "-";
  218. dt.Rows.Add(myDataRow);
  219. }
  220. }
  221. dgDocList.DataSource = dt.DefaultView;
  222. dgDocList.DataBind();
  223. dr = myDesktop.GetMyMail(UserName,1);
  224. dt =Tools.ConvertDataReaderToDataTable(dr);
  225. if(dt.Rows.Count<5)
  226. {
  227. int tmp = 5-dt.Rows.Count;
  228. for(int i=0;i<tmp;i++)
  229. {
  230. DataRow myDataRow = dt.NewRow();
  231. myDataRow[0] = "-";
  232. // myDataRow[4] = "";
  233. myDataRow[7] = "";
  234. dt.Rows.Add(myDataRow);
  235. }
  236. }
  237. // DataView dv = dt.DefaultView;
  238. // dv.Sort = "MailSendDate Desc";
  239. dgMailList.DataSource = dt.DefaultView ;
  240. dgMailList.DataBind();
  241. dr = myDesktop.GetMyApprove(UserName,2);
  242. dt =Tools.ConvertDataReaderToDataTable(dr);
  243. if(dt.Rows.Count<5)
  244. {
  245. int tmp = 5-dt.Rows.Count;
  246. for(int i=0;i<tmp;i++)
  247. {
  248. DataRow myDataRow = dt.NewRow();
  249. myDataRow[0] = "-";
  250. dt.Rows.Add(myDataRow);
  251. }
  252. }
  253. dgAppDocList.DataSource = dt.DefaultView;
  254. dgAppDocList.DataBind();
  255. dr.Close();
  256. }
  257. #endregion
  258. #region Web Form Designer generated code
  259. override protected void OnInit(EventArgs e)
  260. {
  261. //
  262. // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
  263. //
  264. InitializeComponent();
  265. base.OnInit(e);
  266. }
  267. /// <summary>
  268. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  269. /// 此方法的内容。
  270. /// </summary>
  271. private void InitializeComponent()
  272. {    
  273. this.dgDocList.SelectedIndexChanged += new System.EventHandler(this.dgDocList_SelectedIndexChanged);
  274. this.Load += new System.EventHandler(this.Page_Load);
  275. }
  276. #endregion
  277. private void dgDocList_SelectedIndexChanged(object sender, System.EventArgs e)
  278. {
  279. }
  280. }
  281. }