DepSch.aspx.cs
上传用户:autodoor
上传日期:2022-08-04
资源大小:9973k
文件大小:13k
源码类别:

.net编程

开发平台:

Others

  1. using System;
  2. using System.Data;
  3. using System.Web.UI.WebControls;
  4. using System.Web.UI.HtmlControls;
  5. using qminoa.Common;
  6. using qminoa.DA;
  7. using qminoa.DA.Schedule;
  8. namespace qminoa.Webs.Schedule
  9. {
  10. public class DepSch : qminoa.Webs.PageBase
  11. {
  12. protected System.Web.UI.WebControls.DropDownList dropBranch;
  13. protected System.Web.UI.WebControls.DropDownList dropDep;
  14. protected System.Web.UI.WebControls.TextBox txtName;
  15. protected System.Web.UI.WebControls.ImageButton cmdQuery;
  16. protected System.Web.UI.WebControls.TextBox txtYear;
  17. protected System.Web.UI.WebControls.DropDownList dropMonth;
  18. protected System.Web.UI.WebControls.DropDownList dropDay;
  19. protected System.Web.UI.WebControls.Label lblErr;
  20. protected System.Web.UI.WebControls.Label lblEmpNum;
  21. protected System.Web.UI.WebControls.Label lblDate;
  22. protected System.Web.UI.WebControls.LinkButton cmdToday;
  23. protected System.Web.UI.WebControls.HyperLink lnkByWeek;
  24. protected System.Web.UI.WebControls.HyperLink lnkByDay;
  25. protected System.Web.UI.WebControls.LinkButton cmdLastDay;
  26. protected System.Web.UI.WebControls.Label lblHeader;
  27. protected System.Web.UI.WebControls.LinkButton cmdNextDay;
  28. protected System.Web.UI.WebControls.DataGrid dgdData;
  29. private static DateTime date = DateTime.Now;
  30. private static DataTable DepSchTB = new DataTable();
  31. private void Page_Load(object sender, System.EventArgs e)
  32. {
  33. this.PageBegin("部门日程",true);
  34. if(this.EmpRightCode < 1)
  35. {
  36. cmdQuery.Visible = false;
  37. dropBranch.Enabled = false;
  38. dropDep.Enabled = false;
  39. txtName.Enabled = false;
  40. txtYear.Enabled = false;
  41. dropMonth.Enabled = false;
  42. dropDay.Enabled = false;
  43. }
  44. if(!IsPostBack)
  45. {
  46. date = DateTime.Now;
  47. AdminDB admin = new AdminDB();
  48. dropBranch.DataSource=admin.GetAllBranch();
  49. dropBranch.DataBind();
  50. dropBranch.Items.Add(new ListItem("--选择全部--","0"));
  51. dropBranch.SelectedIndex = dropBranch.Items.Count - 1;
  52. dropDep.DataSource=admin.GetDepByBranch(Int32.Parse(dropBranch.SelectedItem.Value));
  53. dropDep.DataBind();
  54. dropDep.Items.Add(new ListItem("--选择全部--","0"));
  55. dropDep.SelectedIndex = dropDep.Items.Count - 1;
  56. WeekBind();
  57. dgdDatabind();
  58. }
  59. }
  60. #region Web Form Designer generated code
  61. override protected void OnInit(EventArgs e)
  62. {
  63. //
  64. // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
  65. //
  66. InitializeComponent();
  67. base.OnInit(e);
  68. }
  69. /// <summary>
  70. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  71. /// 此方法的内容。
  72. /// </summary>
  73. private void InitializeComponent()
  74. {    
  75. this.dropBranch.SelectedIndexChanged += new System.EventHandler(this.dropBranch_SelectedIndexChanged);
  76. this.cmdQuery.Click += new System.Web.UI.ImageClickEventHandler(this.cmdQuery_Click);
  77. this.dropMonth.SelectedIndexChanged += new System.EventHandler(this.dropMonth_SelectedIndexChanged);
  78. this.dropDay.SelectedIndexChanged += new System.EventHandler(this.dropDay_SelectedIndexChanged);
  79. this.cmdLastDay.Click += new System.EventHandler(this.cmdLastDay_Click);
  80. this.cmdNextDay.Click += new System.EventHandler(this.cmdNextDay_Click);
  81. this.dgdData.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.dgdData_PageIndexChanged);
  82. this.dgdData.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.dgdData_ItemDataBound);
  83. this.Load += new System.EventHandler(this.Page_Load);
  84. }
  85. #endregion
  86. public DateTime sdate(int i)
  87. {
  88. int j = num(date);
  89. DateTime Date = new DateTime();
  90. Date=date;
  91. System.TimeSpan duration1 = new System.TimeSpan(j, 0, 0, 0);
  92. Date=Date.Subtract(duration1);
  93. System.TimeSpan duration2 = new System.TimeSpan(i, 0, 0, 0);
  94. Date=Date.Add(duration2);
  95. return Date;
  96. }
  97. public int num(DateTime date)
  98. {
  99. int j=0;
  100. switch(date.DayOfWeek.ToString())
  101. {
  102. case "Sunday":
  103. j = 0;
  104. break;
  105. case "Monday":
  106. j = 1;
  107. break;
  108. case "Tuesday":
  109. j = 2;
  110. break;
  111. case "Wednesday":
  112. j = 3;
  113. break;
  114. case "Thursday":
  115. j = 4;
  116. break;
  117. case "Friday":
  118. j = 5;
  119. break;
  120. case "Saturday":
  121. j = 6;
  122. break;
  123. }
  124. return j;
  125. }
  126. private void dropMonth_SelectedIndexChanged(object sender, System.EventArgs e)
  127. {
  128. int numday = DateTime.DaysInMonth(Int32.Parse(txtYear.Text),dropMonth.SelectedIndex + 1);
  129. if(dropDay.SelectedIndex + 1 > numday)
  130. {
  131. lblErr.Visible = true;
  132. lblErr.Text = "日期错误";
  133. dropDay.SelectedIndex = numday - 1;
  134. }
  135. }
  136. private void dgdDatabind()
  137. {
  138. DepSchTB.Clear();
  139. DepSchTB.Columns.Clear();
  140. string Subject0,Subject1,Subject2,Subject3,Subject4,Subject5,Subject6;
  141. DepSchTB.Columns.Add("name");
  142. DepSchTB.Columns.Add("w0");
  143. DepSchTB.Columns.Add("w1");
  144. DepSchTB.Columns.Add("w2");
  145. DepSchTB.Columns.Add("w3");
  146. DepSchTB.Columns.Add("w4");
  147. DepSchTB.Columns.Add("w5");
  148. DepSchTB.Columns.Add("w6");
  149. ScheduleDA objdepsch = new ScheduleDA();
  150. DataTable oldempdatatable = new DataTable();
  151. oldempdatatable = objdepsch.cpdepempread(dropBranch.SelectedItem.Text,dropDep.SelectedItem.Text,txtName.Text);
  152. for(int i = 0; i < oldempdatatable.Rows.Count; i++)
  153. {
  154. DataRow dr = DepSchTB.NewRow();
  155. DepSchTB.Rows.Add(dr);
  156. DepSchTB.Rows[i]["name"] = oldempdatatable.Rows[i][0].ToString();
  157. DataTable dt0 = new DataTable();
  158. dt0 = objdepsch.cpdepschread(DateTime.Parse(sdate(0).ToShortDateString()),Int16.Parse(oldempdatatable.Rows[i][1].ToString()));
  159. for(int j = 0; j < dt0.Rows.Count; j++)
  160. {
  161. if(dt0.Rows[j][0].ToString().Length > 4)
  162. {
  163. Subject0 = dt0.Rows[j][0].ToString().Substring(0,4);
  164. Subject0 += "..";
  165. }
  166. else
  167. {
  168. Subject0 = dt0.Rows[j][0].ToString();
  169. }
  170. DepSchTB.Rows[i]["w0"] += "☉"+"<A href=SchAddUp.aspx?reurl=depsch.aspx&ID="+Int16.Parse(dt0.Rows[j][1].ToString())+">"+Subject0+"</A>"+"<br>";
  171. }
  172. DataTable dt1 = new DataTable();
  173. dt1 = objdepsch.cpdepschread(DateTime.Parse(sdate(1).ToShortDateString()),Int16.Parse(oldempdatatable.Rows[i][1].ToString()));
  174. for(int j = 0; j < dt1.Rows.Count; j++)
  175. {
  176. if(dt1.Rows[j][0].ToString().Length > 4)
  177. {
  178. Subject1 = dt1.Rows[j][0].ToString().Substring(0,4);
  179. Subject1 += "..";
  180. }
  181. else
  182. {
  183. Subject1 = dt1.Rows[j][0].ToString();
  184. }
  185. DepSchTB.Rows[i]["w1"] += "☉"+"<A href=SchAddUp.aspx?reurl=depsch.aspx&ID="+Int16.Parse(dt1.Rows[j][1].ToString())+">"+Subject1+"</A>"+"<br>";
  186. }
  187. DataTable dt2 = new DataTable();
  188. dt2 = objdepsch.cpdepschread(DateTime.Parse(sdate(2).ToShortDateString()),Int16.Parse(oldempdatatable.Rows[i][1].ToString()));
  189. for(int j = 0; j < dt2.Rows.Count; j++)
  190. {
  191. if(dt2.Rows[j][0].ToString().Length > 4)
  192. {
  193. Subject2 = dt2.Rows[j][0].ToString().Substring(0,4);
  194. Subject2 += "..";
  195. }
  196. else
  197. {
  198. Subject2 = dt2.Rows[j][0].ToString();
  199. }
  200. DepSchTB.Rows[i]["w2"] += "☉"+"<A href=SchAddUp.aspx?reurl=depsch.aspx&ID="+Int16.Parse(dt2.Rows[j][1].ToString())+">"+Subject2+"</A>"+"<br>";
  201. }
  202. DataTable dt3 = new DataTable();
  203. dt3 = objdepsch.cpdepschread(DateTime.Parse(sdate(3).ToShortDateString()),Int16.Parse(oldempdatatable.Rows[i][1].ToString()));
  204. for(int j = 0; j < dt3.Rows.Count; j++)
  205. {
  206. if(dt3.Rows[j][0].ToString().Length > 4)
  207. {
  208. Subject3 = dt3.Rows[j][0].ToString().Substring(0,4);
  209. Subject3 += "..";
  210. }
  211. else
  212. {
  213. Subject3 = dt3.Rows[j][0].ToString();
  214. }
  215. DepSchTB.Rows[i]["w3"] += "☉"+"<A href=SchAddUp.aspx?reurl=depsch.aspx&ID="+Int16.Parse(dt3.Rows[j][1].ToString())+">"+Subject3+"</A>"+"<br>";
  216. }
  217. DataTable dt4 = new DataTable();
  218. dt4 = objdepsch.cpdepschread(DateTime.Parse(sdate(4).ToShortDateString()),Int16.Parse(oldempdatatable.Rows[i][1].ToString()));
  219. for(int j = 0; j < dt4.Rows.Count; j++)
  220. {
  221. if(dt4.Rows[j][0].ToString().Length > 4)
  222. {
  223. Subject4 = dt4.Rows[j][0].ToString().Substring(0,4);
  224. Subject4 += "..";
  225. }
  226. else
  227. {
  228. Subject4 = dt4.Rows[j][0].ToString();
  229. }
  230. DepSchTB.Rows[i]["w4"] += "☉"+"<A href=SchAddUp.aspx?reurl=depsch.aspx&ID="+Int16.Parse(dt4.Rows[j][1].ToString())+">"+Subject4+"</A>"+"<br>";
  231. }
  232. DataTable dt5 = new DataTable();
  233. dt5 = objdepsch.cpdepschread(DateTime.Parse(sdate(5).ToShortDateString()),Int16.Parse(oldempdatatable.Rows[i][1].ToString()));
  234. for(int j = 0; j < dt5.Rows.Count; j++)
  235. {
  236. if(dt5.Rows[j][0].ToString().Length > 4)
  237. {
  238. Subject5 = dt5.Rows[j][0].ToString().Substring(0,4);
  239. Subject5 += "..";
  240. }
  241. else
  242. {
  243. Subject5 = dt5.Rows[j][0].ToString();
  244. }
  245. DepSchTB.Rows[i]["w5"] += "☉"+"<A href=SchAddUp.aspx?reurl=depsch.aspx&ID="+Int16.Parse(dt5.Rows[j][1].ToString())+">"+Subject5+"</A>"+"<br>";
  246. }
  247. DataTable dt6 = new DataTable();
  248. dt6 = objdepsch.cpdepschread(DateTime.Parse(sdate(6).ToShortDateString()),Int16.Parse(oldempdatatable.Rows[i][1].ToString()));
  249. for(int j = 0; j < dt6.Rows.Count; j++)
  250. {
  251. if(dt6.Rows[j][0].ToString().Length > 4)
  252. {
  253. Subject6 = dt6.Rows[j][0].ToString().Substring(0,4);
  254. Subject6 += "..";
  255. }
  256. else
  257. {
  258. Subject6 = dt6.Rows[j][0].ToString();
  259. }
  260. DepSchTB.Rows[i]["w6"] += "☉"+"<A href=SchAddUp.aspx?reurl=depsch.aspx&ID="+Int16.Parse(dt6.Rows[j][1].ToString())+">"+Subject6+"</A>"+"<br>";
  261. }
  262. }
  263. dgdData.DataSource = DepSchTB.DefaultView;
  264. dgdData.DataBind();
  265. }
  266. private void dgdData_PageIndexChanged(object sender, DataGridPageChangedEventArgs e)
  267. {
  268. dgdData.CurrentPageIndex=e.NewPageIndex;
  269. dgdData.DataSource = DepSchTB;
  270. dgdData.DataBind();
  271. }
  272. public int count()
  273. {
  274. return DepSchTB.Rows.Count;
  275. }
  276. private void cmdLastDay_Click(object sender, System.EventArgs e)
  277. {
  278. System.TimeSpan duration = new System.TimeSpan(7, 0, 0, 0);
  279. date=date.Subtract(duration);
  280. dgdDatabind();
  281. WeekBind();
  282. }
  283. private void cmdNextDay_Click(object sender, System.EventArgs e)
  284. {
  285. System.TimeSpan duration = new System.TimeSpan(7, 0, 0, 0);
  286. date=date.Add(duration);
  287. dgdDatabind();
  288. WeekBind();
  289. }
  290. private void WeekBind()
  291. {
  292. string Day = "";
  293. switch(date.DayOfWeek.ToString())
  294. {
  295. case "Sunday":
  296. Day="星期日";
  297. break;
  298. case "Monday":
  299. Day="星期一";
  300. break;
  301. case "Tuesday":
  302. Day="星期二";
  303. break;
  304. case "Wednesday":
  305. Day="星期三";
  306. break;
  307. case "Thursday":
  308. Day="星期四";
  309. break;
  310. case "Friday":
  311. Day="星期五";
  312. break;
  313. case "Saturday":
  314. Day="星期六";
  315. break;
  316. }
  317. lblHeader.Text = date.Year +"年"+ date.Month +"月"+ date.Day +"日"+"&nbsp;"+"&nbsp;"+"&nbsp;"+Day;
  318. txtYear.Text = date.Year.ToString();
  319. dropMonth.SelectedIndex = date.Month - 1;
  320. dropDay.SelectedIndex = date.Day - 1;
  321. }
  322. private void dropDay_SelectedIndexChanged(object sender, System.EventArgs e)
  323. {
  324. int numday = DateTime.DaysInMonth(Int32.Parse(txtYear.Text),dropMonth.SelectedIndex + 1);
  325. if(dropDay.SelectedIndex + 1 > numday)
  326. {
  327. lblErr.Visible = true;
  328. lblErr.Text = "日期错误";
  329. dropDay.SelectedIndex = numday - 1;
  330. }
  331. }
  332. private void cmdQuery_Click(object sender, System.Web.UI.ImageClickEventArgs e)
  333. {
  334. if(!(txtYear.Text==""))
  335. {
  336. int year,month,day;
  337. year=Int32.Parse(txtYear.Text);
  338. month=dropMonth.SelectedIndex + 1;
  339. day=Int32.Parse(dropDay.SelectedItem.Text);
  340. date = new DateTime(year,month,day);
  341. dgdDatabind();
  342. WeekBind();
  343. dgdDatabind();
  344. }
  345. }
  346. private void dropBranch_SelectedIndexChanged(object sender, System.EventArgs e)
  347. {
  348. string txtdropBranch;
  349. txtdropBranch = dropBranch.SelectedItem.Text;
  350. AdminDB admin = new AdminDB();
  351. dropDep.DataSource=admin.GetDepByBranch(Int32.Parse(dropBranch.SelectedItem.Value));
  352. dropDep.DataBind();
  353. dropDep.Items.Add(new ListItem("--选择全部--","0"));
  354. dropDep.SelectedIndex = dropDep.Items.Count - 1;
  355. }
  356. public int day(DateTime date)
  357. {
  358. int Num= Int32.Parse(date.Day.ToString());
  359. int numday = DateTime.DaysInMonth(Int32.Parse(date.Year.ToString()),Int32.Parse(date.Month.ToString()));
  360. if(Num > numday)
  361. {
  362. Num -= numday;
  363. }
  364. int lastnumday;
  365. if(Int32.Parse(date.Month.ToString())==1)
  366. {
  367. lastnumday = DateTime.DaysInMonth(Int32.Parse(date.Year.ToString())-1,12);
  368. }
  369. else
  370. {
  371. lastnumday = DateTime.DaysInMonth(Int32.Parse(date.Year.ToString()),Int32.Parse(date.Month.ToString())-1);
  372. }
  373. if(Num < 1)
  374. {
  375. Num += lastnumday;
  376. }
  377. return Num;
  378. }
  379. private void dgdData_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  380. {
  381. ListItemType itemType = e.Item.ItemType;
  382. e.Item.Attributes["onmouseover"] = "javascript:this.style.backgroundColor='#fff7ce';cursor='hand';" ;
  383. if (itemType == ListItemType.Item )
  384. {
  385. e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#dedfde';";
  386. }
  387. else if( itemType == ListItemType.AlternatingItem)
  388. {
  389. e.Item.Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#ffffff';";
  390. }
  391. }
  392. }
  393. }