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

OA系统

开发平台:

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. using System.Text.RegularExpressions;
  14. namespace UDS.SubModule.Schedule
  15. {
  16. /// <summary>
  17. /// Manage 的摘要说明。
  18. /// </summary>
  19. public class Manage : System.Web.UI.Page
  20. {
  21. protected System.Web.UI.WebControls.Label Label2;
  22. protected System.Web.UI.WebControls.DropDownList listEndTime;
  23. protected System.Web.UI.WebControls.Label Label3;
  24. protected System.Web.UI.WebControls.Label Label5;
  25. protected System.Web.UI.WebControls.Label Label9;
  26. protected System.Web.UI.WebControls.ListBox listCooperator;
  27. protected System.Web.UI.WebControls.Label Label6;
  28. protected System.Web.UI.WebControls.Label Label10;
  29. protected System.Web.UI.WebControls.CheckBox cbIsAllDay;
  30. protected System.Web.UI.WebControls.CheckBox cbNeedCo;
  31. protected static string Username,CurrDate,CurrTime;
  32. public static string UnameStr;
  33. protected System.Web.UI.WebControls.TextBox txtBeginDate;
  34. protected System.Web.UI.WebControls.TextBox txtEndDate;
  35. protected System.Web.UI.WebControls.RadioButtonList rbAttribute;
  36. protected System.Web.UI.WebControls.DropDownList listAheadMin;
  37. protected System.Web.UI.WebControls.Label Label14;
  38. protected System.Web.UI.WebControls.TextBox txtSubject;
  39. protected System.Web.UI.WebControls.Button btnSubmit;
  40. protected System.Web.UI.WebControls.Label lblMsg;
  41. public string ClassID;
  42. protected System.Web.UI.WebControls.CheckBox cbIsRepeat;
  43. private static int startTimeNo=8;
  44. protected System.Web.UI.WebControls.Button btnCheck;
  45. protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
  46. protected System.Web.UI.WebControls.TextBox txtDetail;
  47. protected System.Web.UI.WebControls.Label lblType;
  48. protected System.Web.UI.WebControls.RadioButtonList rbType;
  49. protected System.Web.UI.WebControls.Label lblArrangedBy;
  50. protected System.Web.UI.WebControls.Button btnAddUser;
  51. protected System.Web.UI.WebControls.Label Label7;
  52. protected System.Web.UI.WebControls.Label Label1;
  53. protected System.Web.UI.WebControls.Label Label4;
  54. protected System.Web.UI.WebControls.DropDownList listBeginTime;
  55. protected System.Web.UI.WebControls.CheckBox cbRemind;
  56. protected HtmlGenericControl DayTaskFrm;
  57. private void Page_Load(object sender, System.EventArgs e)
  58. {
  59. ClassID  = (Request.QueryString["ClassID"]!=null)?Request.QueryString["ClassID"].ToString():"0";
  60. CurrDate  = (Request.QueryString["CurrDate"]!=null)?Request.QueryString["CurrDate"].ToString():DateTime.Now.ToShortDateString();
  61. CurrTime  = (Request.QueryString["CurrTime"]!=null)?Request.QueryString["CurrTime"].ToString():"10";
  62. if(!Page.IsPostBack)
  63. {
  64. HttpCookie UserCookie = Request.Cookies["Username"];
  65. Username = UserCookie.Value.ToString();
  66. PopulateListView();
  67. UnameStr = Username;
  68. DayTaskFrm.Attributes["src"] = "ViewDayTask.aspx?Date="+CurrDate+"&UnameStr="+UnameStr;
  69. }
  70. else
  71. {
  72. lblMsg.Text = "";
  73. DayTaskFrm.Attributes["src"] = "ViewDayTask.aspx?Date="+this.txtBeginDate .Text+"&UnameStr="+UnameStr;
  74. }
  75. Validate();
  76. }
  77. #region 初始化下拉列表框
  78. /// <summary>
  79. /// 对下拉列表进行初始化
  80. /// </summary>
  81. private void PopulateListView() 
  82. {
  83. #region 开始时间与结束时间初始化
  84. Task task = new Task();
  85. SqlDataReader dataReader = null;
  86. dataReader =  task.GetPeriodInfo();
  87. ArrayList a = new ArrayList();
  88. while(dataReader.Read())
  89. {
  90. string []b = dataReader[1].ToString().Split('-');
  91. listBeginTime.Items.Add(new ListItem(b[0],dataReader[0].ToString()));
  92. listEndTime.Items.Add(new ListItem(b[0],dataReader[0].ToString()));
  93. }
  94. dataReader.Close();
  95. a = null;
  96. listBeginTime.SelectedIndex = Int32.Parse(CurrTime)-startTimeNo;
  97. listEndTime.SelectedIndex = listBeginTime.SelectedIndex+1;
  98. // listBeginTime.DataTextField = "period";
  99. // listBeginTime.DataValueField = "id";
  100. // listBeginTime.DataSource = dataReader;
  101. // listBeginTime.DataBind();
  102. // for(int j=startTimeNo;j<19;j++)
  103. // {
  104. // ListItem li = new ListItem(j.ToString()+":00",j.ToString());
  105. // listBeginTime.Items.Insert(j-8,li);
  106. // listEndTime.Items.Insert(j-8,li);
  107. // }
  108. txtBeginDate.Text= DateTime.Parse(CurrDate).ToString("yyyy-MM-dd");
  109. // listBeginTime.SelectedIndex   = Int32.Parse(CurrTime)-startTimeNo;
  110. txtEndDate.Text = DateTime.Parse(CurrDate).ToString("yyyy-MM-dd");
  111. #endregion
  112. #region 任务属性初始化
  113. rbAttribute.Items.Add(new ListItem("独占任务","1"));
  114. rbAttribute.Items.Add(new ListItem("限时任务","0"));
  115. rbAttribute.Items[0].Selected = true;
  116. #endregion
  117. #region 任务类型初始化
  118. rbType.Items.Add(new ListItem("会议","1"));
  119. rbType.Items.Add(new ListItem("文案","2"));
  120. rbType.Items.Add(new ListItem("来访","3"));
  121. rbType.Items.Add(new ListItem("电话","4"));
  122. rbType.Items.Add(new ListItem("走访","5"));
  123. rbType.Items.Add(new ListItem("外出","6"));
  124. rbType.Items.Add(new ListItem("假期","7"));
  125. rbType.Items.Add(new ListItem("出差","8"));
  126. rbType.Items[0].Selected = true;
  127. #endregion
  128. #region 协同人员列表初始化
  129. UDS.Components .Staff staff = new UDS.Components .Staff();
  130. try
  131. {
  132. listCooperator.DataTextField = "RealName";
  133. listCooperator.DataValueField = "Staff_Name";
  134. listCooperator.DataSource =  staff.GetAllStaffs();
  135. listCooperator.DataBind();
  136. }
  137. catch(Exception e)
  138. {
  139. UDS.Components.Error.Log(e.ToString());
  140. Server.Transfer("../Error.aspx");
  141. }
  142. finally
  143. {
  144. staff = null;
  145. }
  146. #endregion
  147. lblArrangedBy.Text = UDS.Components.Staff.GetRealNameByUsername(Username);
  148. }
  149. #endregion
  150. private TaskClass ProcessFormPost()
  151. {
  152. TaskClass tc = new TaskClass();
  153. tc.ArrangedBy = Username;
  154. tc.Detail = this.txtDetail.Text.ToString();
  155. tc.Type = Int32.Parse(this.rbType.SelectedItem .Value.ToString());
  156. tc.Attribute = Int32.Parse(this.rbAttribute .SelectedItem .Value.ToString());
  157. tc.Subject = this.txtSubject .Text.ToString();
  158. tc.ProjectID = Request.Form["hdnProjectID"].ToString()!=""?Int32.Parse(Request.Form["hdnProjectID"].ToString()):0;
  159. tc.StartTime = this.txtBeginDate .Text.ToString()+" "+((this.cbIsAllDay.Checked)?"":this.listBeginTime .SelectedItem .Text.ToString());
  160. tc.EndTime   = this.txtEndDate .Text.ToString()+" "+((this.cbIsAllDay.Checked)?"":this.listEndTime .SelectedItem .Text.ToString());
  161. tc.AwakeTime = DateTime.Parse(tc.EndTime).AddMinutes(-10).ToString();
  162. tc.Tag  = 0;
  163. tc.ContractList = "";
  164. tc.CooperatorList = UnameStr;
  165. // foreach(ListItem i in this.listCooperator .Items)
  166. // if(i.Selected == true)
  167. // tc.CooperatorList+= i.Value.ToString()+",";
  168. return tc;
  169. }
  170. #region Web Form Designer generated code
  171. override protected void OnInit(EventArgs e)
  172. {
  173. //
  174. // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
  175. //
  176. InitializeComponent();
  177. base.OnInit(e);
  178. }
  179. /// <summary>
  180. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  181. /// 此方法的内容。
  182. /// </summary>
  183. private void InitializeComponent()
  184. {    
  185. this.btnSubmit.Click += new System.EventHandler(this.btnSubmit_Click);
  186. this.btnCheck.Click += new System.EventHandler(this.btnCheck_Click);
  187. this.rbAttribute.SelectedIndexChanged += new System.EventHandler(this.rbAttribute_SelectedIndexChanged);
  188. this.cbIsAllDay.CheckedChanged += new System.EventHandler(this.cbIsAllDay_CheckedChanged);
  189. this.cbNeedCo.CheckedChanged += new System.EventHandler(this.cbNeedCo_CheckedChanged);
  190. this.btnAddUser.Click += new System.EventHandler(this.btnAddUser_Click);
  191. this.Load += new System.EventHandler(this.Page_Load);
  192. }
  193. #endregion
  194. private void cbNeedCo_CheckedChanged(object sender, System.EventArgs e)
  195. {
  196. this.listCooperator .Visible = !this.listCooperator .Visible ;
  197. this.btnAddUser .Visible = this.listCooperator .Visible ;
  198. this.cbRemind .Visible = this.listCooperator .Visible ;
  199. this.ValidateForm();
  200. }
  201. private void cbIsAllDay_CheckedChanged(object sender, System.EventArgs e)
  202. {
  203. this.listBeginTime .Visible = !this.listBeginTime .Visible ;
  204. this.listEndTime .Visible   = !this.listEndTime .Visible ;
  205. this.cbIsRepeat .Visible = !this.cbIsRepeat .Visible ;
  206. }
  207. private ArrayList CheckExist()
  208. {
  209. ArrayList cooperatorList = new ArrayList();
  210. ArrayList ExistList = new ArrayList();
  211. Task task = new Task();
  212. if(this.cbNeedCo .Checked )
  213. {
  214. if(this.cbNeedCo .Checked )
  215. {
  216. string[] UnameArr = System.Text.RegularExpressions.Regex.Split(UnameStr,",");
  217. for(int uc=0;uc<UnameArr.Length;uc++)
  218. cooperatorList.Add(UnameArr[uc].ToString());
  219. }
  220. else
  221. {
  222. cooperatorList.Add(Username);
  223. }
  224. }
  225. else
  226. {
  227. cooperatorList.Add(Username);
  228. }
  229. foreach(string s in cooperatorList)
  230. {
  231. // 一天任务
  232. #region 如果是单天的任务
  233. if(this.txtBeginDate.Text.ToString()==this.txtEndDate .Text.ToString())
  234. {
  235. // 全天任务
  236. if(this.cbIsAllDay.Checked)
  237. {
  238. SqlDataReader dataReader = task.GetPeriodInfo();
  239. while(dataReader.Read())
  240. {
  241. if(task.CheckExist(Int32.Parse(dataReader[0].ToString()),s,this.txtBeginDate.Text.ToString()))
  242. {
  243. TaskConflictRecord conrec = new TaskConflictRecord();
  244. conrec.Username = s;
  245. conrec.Date = this.txtBeginDate.Text.ToString();
  246. conrec.Period = dataReader[0].ToString();
  247. ExistList.Add(conrec);
  248. conrec = null;
  249. }
  250. }
  251. dataReader.Close();
  252. }
  253. else
  254. {
  255. for(int t=Int32.Parse(this.listBeginTime .SelectedItem .Value.ToString());t<Int32.Parse(this.listEndTime .SelectedItem .Value.ToString());t++)
  256. if(task.CheckExist(t,s,this.txtBeginDate.Text.ToString()))
  257. {
  258. TaskConflictRecord conrec = new TaskConflictRecord();
  259. conrec.Username = s;
  260. conrec.Date = this.txtBeginDate.Text.ToString();
  261. conrec.Period = t.ToString();
  262. ExistList.Add(conrec);
  263. conrec = null;
  264. }
  265. }
  266. }
  267. #endregion
  268. // 如果是多天的任务
  269. #region 如果是多天的任务
  270. if(DateTime.Parse(this.txtBeginDate.Text.ToString())<DateTime.Parse(this.txtEndDate .Text.ToString()))
  271. {
  272. TimeSpan ts = new TimeSpan();
  273. ts = DateTime.Parse(this.txtEndDate.Text.ToString())-DateTime.Parse(this.txtBeginDate.Text.ToString());
  274. for(int t=0;t<Int32.Parse(ts.Days .ToString())+1;t++) //根据天数循环添加
  275. {
  276. string tmpDate = DateTime.Parse(this.txtBeginDate.Text.ToString()).AddDays(t).ToString("yyyy-MM-dd");
  277. #region 如果是全天任务
  278. if(this.cbIsAllDay.Checked) //如果是全天任务
  279. {
  280. SqlDataReader dataReader = task.GetPeriodInfo();
  281. while(dataReader.Read())
  282. {
  283. if(task.CheckExist(Int32.Parse(dataReader[0].ToString()),s,tmpDate))
  284. {
  285. TaskConflictRecord conrec = new TaskConflictRecord();
  286. conrec.Username = s;
  287. conrec.Date = tmpDate;
  288. conrec.Period = dataReader[0].ToString();
  289. ExistList.Add(conrec);
  290. conrec = null;
  291. }
  292. }
  293. dataReader.Close();
  294. }
  295. #endregion
  296. #region  如果是时段任务
  297. else //如果是时段任务
  298. {
  299. if(this.cbIsRepeat .Checked ) // 如果是时段重复
  300. {
  301. for(int j=Int32.Parse(this.listBeginTime .SelectedItem .Value.ToString());j<Int32.Parse(this.listEndTime .SelectedItem .Value.ToString());j++)
  302. if(task.CheckExist(j,s,tmpDate))
  303. {
  304. TaskConflictRecord conrec = new TaskConflictRecord();
  305. conrec.Username = s;
  306. conrec.Date = tmpDate;
  307. conrec.Period = j.ToString();
  308. ExistList.Add(conrec);
  309. conrec = null;
  310. }
  311. }
  312. else   // 如果是全部时段
  313. {
  314. if(tmpDate==this.txtBeginDate .Text.ToString())// 如果是开始天
  315. {
  316. for(int k=Int32.Parse(this.listBeginTime .SelectedItem .Value.ToString());k<20;k++)
  317. if(task.CheckExist(k,s,tmpDate))
  318. {
  319. TaskConflictRecord conrec = new TaskConflictRecord();
  320. conrec.Username = s;
  321. conrec.Date = tmpDate;
  322. conrec.Period = (k).ToString();
  323. ExistList.Add(conrec);
  324. conrec = null;
  325. }
  326. }
  327. else if(tmpDate==this.txtEndDate  .Text.ToString())
  328. {
  329. for(int k=1;k<Int32.Parse(this.listEndTime .SelectedItem .Value.ToString());k++)
  330. if(task.CheckExist(k,s,tmpDate))
  331. {
  332. TaskConflictRecord conrec = new TaskConflictRecord();
  333. conrec.Username = s;
  334. conrec.Date = tmpDate;
  335. conrec.Period = k.ToString();
  336. ExistList.Add(conrec);
  337. conrec = null;
  338. }
  339. }
  340. else
  341. {
  342. SqlDataReader dataReader = task.GetPeriodInfo();
  343. while(dataReader.Read())
  344. {
  345. if(task.CheckExist(Int32.Parse(dataReader[0].ToString()),s,tmpDate))
  346. {
  347. TaskConflictRecord conrec = new TaskConflictRecord();
  348. conrec.Username = s;
  349. conrec.Date = tmpDate;
  350. conrec.Period = dataReader[0].ToString();
  351. ExistList.Add(conrec);
  352. conrec = null;
  353. }
  354. }
  355. dataReader.Close();
  356. }
  357. }
  358. }
  359. #endregion
  360. }
  361.   
  362. }
  363. #endregion
  364. }
  365. return ExistList;
  366. }
  367. private bool ValidateForm()
  368. {
  369. if(UnameStr=="")
  370. {
  371. this.lblMsg .Text ="请至少选择一个执行人";
  372. return false;
  373. }
  374. if(this.txtSubject .Text =="")
  375. {
  376. this.lblMsg .Text ="主题不能为空";
  377. return false;
  378. }
  379. if(DateTime.Parse(this.txtBeginDate.Text.ToString())>DateTime.Parse(this.txtEndDate.Text.ToString()))
  380. {
  381. this.lblMsg .Text ="开始日期不能大于结束日期";
  382. return false;
  383. }
  384. if(!this.cbIsAllDay.Checked)
  385. {
  386. if(this.txtBeginDate.Text.ToString()==this.txtEndDate.Text.ToString()&&this.listBeginTime.SelectedItem .Value.ToString()==this.listEndTime .SelectedItem .Value.ToString())
  387. {
  388. this.lblMsg .Text ="开始时间段和结束时间段不能相同";
  389. return false;
  390. }
  391. if(this.txtBeginDate.Text.ToString()==this.txtEndDate.Text.ToString()&&Int32.Parse(this.listBeginTime.SelectedItem .Value.ToString())>=Int32.Parse(this.listEndTime .SelectedItem .Value.ToString()))
  392. {
  393. this.lblMsg .Text ="开始时间段不能大于等于结束时段";
  394. return false;
  395. }
  396. }
  397. if(this.cbNeedCo .Checked==true)
  398. {
  399. bool flag=true;
  400. foreach(ListItem i in this.listCooperator .Items)
  401. if(i.Selected == true) flag=false;
  402. if(flag)
  403. {
  404. this.lblMsg.Text = "请选择协同人";
  405. return false;
  406. }
  407. else
  408. {
  409. return true;
  410. }
  411. }
  412. return true;
  413. }
  414. public string GetClassName()
  415. {
  416. if(ClassID=="0")
  417. return "请选择项目";
  418. else
  419. return UDS.Components .ProjectClass .GetProjectName(Int32.Parse(ClassID));
  420. }
  421. private void btnSubmit_Click(object sender, System.EventArgs e)
  422. {
  423. string info = "<link href="../../Css/BasicLayout.css" rel="stylesheet" type="text/css">";
  424. info+="<body leftmargin="0" topmargin="0">";
  425. HttpCookie UserCookie = Request.Cookies["Username"];
  426. string Username = UserCookie.Value.ToString();
  427. if(ValidateForm())
  428. {
  429. if(this.rbAttribute.SelectedItem.Value.ToString()=="1")
  430. {
  431. ArrayList ExistList = CheckExist();
  432. if(ExistList.Count >0)
  433. info+="<table width=100% height=30 border=0 cellpadding=0 cellspacing=0 class=GbText>";
  434. info+="<tr>";
  435. info+="<td background="../../Images/treetopbg.jpg">&nbsp;&nbsp;任务时段冲突检测结果</td>";
  436. info+="</tr>";
  437. info+="</table>";
  438. info+="<table width=100% border=1 cellpadding=0 cellspacing=0 style=BORDER-COLLAPSE: collapse borderColor=93BEE2 class=GbText>";
  439. info+=" <tr align=center bgcolor=#e8f4ff> ";
  440. info+="<td width=30% height=24>检测人员</td>";
  441. info+="<td width=30% height=24>日期</td>";
  442. info+="<td height=24>时间</td>";
  443. info+="</tr>";
  444. foreach(TaskConflictRecord conrec in ExistList)
  445. {
  446. int b = Int32.Parse(conrec.Period);
  447. DateTime dt = new DateTime(1999,1,1,8,0,0,0);
  448. TimeSpan ts = new TimeSpan(0,0,(b-1)*30,0,0);
  449. DateTime bt = dt.Add(ts);
  450. DateTime et = bt.Add(new TimeSpan(0,0,30,0,0));
  451. info+="<tr align=center><td height=20>"+conrec.Username+"</td>";
  452. info+="<td>"+conrec.Date+"</td>";
  453. info+="<td>"+bt.ToShortTimeString()+"---"+et.ToShortTimeString()+"</td>";
  454. info+="</tr>";
  455.   
  456. }
  457. info+="</table>";
  458. info+="<table width="100%" border="0" cellpadding="0" cellspacing="0">";
  459. info+="<tr><td height="36" align="center"><font color="#FF0000">以上时段有冲突</font></td></tr></table>";
  460. Response.Write("<script language=javascript>var checkwin=window.open('','check','toolbar=no,scrollbars=yes,width=280,height=200,resizable=yes');");
  461. Response.Write("checkwin.document.write('"+info+"');checkwin.moveTo(0,0);checkwin.focus();</script>");
  462. return;
  463. }
  464. }
  465. String TaskID = "";
  466. ArrayList cooperatorList = new ArrayList();
  467. Task task = new Task();
  468. TaskID = task.AddTask(ProcessFormPost());
  469. //处理短信提醒
  470. if(this.cbRemind.Checked ==true)
  471. {
  472. SMS sm = new SMS();
  473. sm.SendMsg(Username,UnameStr,"您从 "+UDS.Components.Staff.GetRealNameByUsername(Username)+" 处接收到了一份新的任务",1,DateTime.Now,"",0,0);
  474. sm = null;
  475. }
  476. if(this.rbAttribute.SelectedItem.Value.ToString()=="1")
  477. {
  478. if(this.cbNeedCo .Checked )
  479. {
  480. string[] UnameArr = System.Text.RegularExpressions.Regex.Split(UnameStr,",");
  481. for(int uc=0;uc<UnameArr.Length;uc++)
  482. cooperatorList.Add(UnameArr[uc].ToString());
  483. }
  484. else
  485. {
  486. cooperatorList.Add(Username);
  487. }
  488. foreach(string s in cooperatorList)
  489. {
  490. // 一天任务
  491.      #region 如果是单天的任务
  492. if(this.txtBeginDate.Text.ToString()==this.txtEndDate .Text.ToString())
  493. {
  494. // 全天任务
  495. if(this.cbIsAllDay.Checked)
  496. {
  497. SqlDataReader dataReader = task.GetPeriodInfo();
  498. while(dataReader.Read())
  499. {
  500. task.AddTaskToSchedule(Int32.Parse(TaskID),Int32.Parse(dataReader[0].ToString()),s,this.txtBeginDate.Text.ToString(),s.ToLower()==Username.ToLower()?true:false);
  501. }
  502. dataReader = null;
  503. }
  504. else
  505. {
  506. for(int t=Int32.Parse(this.listBeginTime .SelectedItem .Value);t<Int32.Parse(this.listEndTime .SelectedItem .Value);t++)
  507. task.AddTaskToSchedule(Int32.Parse(TaskID),t,s,this.txtBeginDate.Text.ToString(),s.ToLower()==Username.ToLower()?true:false);
  508. }
  509. }
  510. #endregion
  511. // 如果是多天的任务
  512.    #region 如果是多天的任务
  513. if(DateTime.Parse(this.txtBeginDate.Text.ToString())<DateTime.Parse(this.txtEndDate .Text.ToString()))
  514. {
  515. TimeSpan ts = new TimeSpan();
  516. ts = DateTime.Parse(this.txtEndDate.Text.ToString())-DateTime.Parse(this.txtBeginDate.Text.ToString());
  517. for(int t=0;t<Int32.Parse(ts.Days .ToString())+1;t++) //根据天数循环添加
  518. {
  519. string tmpDate = DateTime.Parse(this.txtBeginDate.Text.ToString()).AddDays(t).ToString("yyyy-MM-dd");
  520. #region 如果是全天任务
  521. if(this.cbIsAllDay.Checked) //如果是全天任务
  522. {
  523. SqlDataReader dataReader = task.GetPeriodInfo();
  524. while(dataReader.Read())
  525. {
  526. task.AddTaskToSchedule(Int32.Parse(TaskID),Int32.Parse(dataReader[0].ToString()),s,tmpDate,s.ToLower()==Username.ToLower()?true:false);
  527. }
  528. dataReader = null;
  529. }
  530. #endregion
  531. #region  如果是时段任务
  532. else //如果是时段任务
  533. {
  534. if(this.cbIsRepeat .Checked ) // 如果是时段重复
  535. {
  536. for(int j=Int32.Parse(this.listBeginTime .SelectedItem .Value.ToString());j<Int32.Parse(this.listEndTime .SelectedItem .Value.ToString());j++)
  537. task.AddTaskToSchedule(Int32.Parse(TaskID),j,s,tmpDate,s.ToLower()==Username.ToLower()?true:false);
  538. }
  539. else   // 如果是全部时段
  540. {
  541. if(tmpDate==this.txtBeginDate .Text.ToString())// 如果是开始天
  542. {
  543. for(int k=Int32.Parse(this.listBeginTime .SelectedItem .Value.ToString());k<=20;k++)
  544. task.AddTaskToSchedule(Int32.Parse(TaskID),k,s,tmpDate,s.ToLower()==Username.ToLower()?true:false);
  545. }
  546. else if(tmpDate==this.txtEndDate  .Text.ToString())
  547. {
  548. for(int k=1;k<Int32.Parse(this.listEndTime .SelectedItem .Value.ToString());k++)
  549. task.AddTaskToSchedule(Int32.Parse(TaskID),k,s,tmpDate,s.ToLower()==Username.ToLower()?true:false);
  550. }
  551. else
  552. {
  553. SqlDataReader dataReader = task.GetPeriodInfo();
  554. while(dataReader.Read())
  555. {
  556. task.AddTaskToSchedule(Int32.Parse(TaskID),Int32.Parse(dataReader[0].ToString()),s,tmpDate,s.ToLower()==Username.ToLower()?true:false);
  557. }
  558. dataReader = null;
  559. }
  560. }
  561. }
  562. #endregion
  563. }
  564.   
  565. }
  566. #endregion
  567. }
  568. }
  569. else if(this.rbAttribute.SelectedItem.Value.ToString()=="0")
  570. {
  571. if(this.cbNeedCo .Checked )
  572. {
  573. string[] UnameArr = System.Text.RegularExpressions.Regex.Split(UnameStr,",");
  574. for(int uc=0;uc<UnameArr.Length;uc++)
  575. cooperatorList.Add(UnameArr[uc].ToString());
  576. }
  577. else
  578. {
  579. cooperatorList.Add(Username);
  580. }
  581. foreach(string s in cooperatorList)
  582. {
  583. task.AddTaskToSchedule(Int32.Parse(TaskID),0,s,this.txtEndDate.Text,s.ToLower()==Username.ToLower()?true:false);
  584. }
  585.                     
  586. }
  587. Response.Write("<script language=javascript>alert('添加成功!');window.opener.location='TaskList.aspx?displayType=1';window.close();</script>");
  588. }
  589. }
  590. private void btnCheck_Click(object sender, System.EventArgs e)
  591. {
  592. if(ValidateForm())
  593. {
  594. string info = "<link href="../../Css/BasicLayout.css" rel="stylesheet" type="text/css">";
  595. info+="<body leftmargin="0" topmargin="0">";
  596. //Response.Write("验证成功!");
  597. ArrayList ExistList = CheckExist();
  598. if(ExistList.Count >0)
  599. info+="<table width=100% height=30 border=0 cellpadding=0 cellspacing=0 class=GbText>";
  600. info+="<tr>";
  601. info+="<td background="../../Images/treetopbg.jpg">&nbsp;&nbsp;任务时段冲突检测结果</td>";
  602. info+="</tr>";
  603. info+="</table>";
  604. info+="<table width=100% border=1 cellpadding=0 cellspacing=0 style=BORDER-COLLAPSE: collapse borderColor=93BEE2 class=GbText>";
  605. info+=" <tr align=center bgcolor=#e8f4ff> ";
  606. info+="<td width=30% height=24>检测人员</td>";
  607. info+="<td width=30% height=24>日期</td>";
  608. info+="<td height=24>时间</td>";
  609. info+="</tr>";
  610. foreach(TaskConflictRecord conrec in ExistList)
  611. {
  612. int b = Int32.Parse(conrec.Period);
  613. DateTime dt = new DateTime(1999,1,1,8,0,0,0);
  614. TimeSpan ts = new TimeSpan(0,0,(b-1)*30,0,0);
  615. DateTime bt = dt.Add(ts);
  616. DateTime et = bt.Add(new TimeSpan(0,0,30,0,0));
  617. info+="<tr align=center><td height=20>"+conrec.Username+"</td>";
  618. info+="<td>"+conrec.Date+"</td>";
  619. info+="<td>"+bt.ToShortTimeString()+"---"+et.ToShortTimeString()+"</td>";
  620. info+="</tr>";
  621.   
  622. }
  623. info+="</table>";
  624. info+="<table width="100%" border="0" cellpadding="0" cellspacing="0">";
  625. info+="<tr><td height="36" align="center"><font color="#FF0000">以上时段有冲突</font></td></tr></table>";
  626. Response.Write("<script language=javascript>var checkwin=window.open('','check','toolbar=no,scrollbars=yes,width=280,height=200,resizable=yes');");
  627. Response.Write("checkwin.document.write('"+info+"');checkwin.moveTo(0,0);checkwin.focus();</script>");
  628. }
  629. else
  630. {
  631. info+="<table width="100%" height="30" border="0" cellpadding="0" cellspacing="0" class="GbText">";
  632. info+="<tr><td background="treetopbg.jpg">&nbsp;&nbsp;任务时段冲突检测结果</td>";
  633. info+="</tr>";
  634. info+="</table>";
  635. info+="<table width="100%" height="160" border="1" cellpadding="0" cellspacing="0" borderColor="93BEE2" class="GbText" style="BORDER-COLLAPSE: collapse">";
  636. info+="<tr align="center"> ";
  637. info+="<td height="20"><font color="#FF0000">您检测的时段没有冲突<br>";
  638. info+="<br>  可以安排任务 </font></td></tr></table>";
  639. Response.Write("<script language=javascript>var checkwin=window.open('冲突检测结果','check','toolbar=no,scrollbars=yes,width=200,height=200,resizable=yes');");
  640. Response.Write("checkwin.document.write('"+info+"');checkwin.moveTo(0,0);checkwin.focus();</script>");
  641. }
  642. }
  643. }
  644. private void rbAttribute_SelectedIndexChanged(object sender, System.EventArgs e)
  645. {
  646. if(this.rbAttribute.SelectedItem .Value.ToString()=="1")
  647. {
  648. this.btnCheck.Enabled = true;
  649. this.cbIsAllDay .Enabled = true;
  650. this.cbIsRepeat .Enabled = true;
  651. this.listBeginTime .Enabled = true;
  652. this.txtBeginDate .Enabled = true;
  653. }
  654. else
  655. {
  656. this.listBeginTime .Enabled = false;
  657. this.txtBeginDate .Enabled = false;
  658. this.cbIsAllDay.Enabled = false;
  659. this.cbIsRepeat .Enabled = false;
  660. this.btnCheck .Enabled = false;
  661. }
  662. }
  663. private void btnAddUser_Click(object sender, System.EventArgs e)
  664. {
  665. for(int i=this.listCooperator.Items.Count-1;i>=0;i--)
  666. {
  667. if(this.listCooperator .Items[i].Selected)
  668. {
  669. Regex re = new Regex(","+this.listCooperator .Items[i].Value .ToString(),RegexOptions.IgnoreCase);
  670. Match m = re.Match(","+UnameStr);
  671. if(m.Success)
  672. {
  673. this.lblMsg.Text= "已经添加此成员!";
  674. return;
  675. }
  676. UnameStr+=","+this.listCooperator .Items[i].Value.ToString();
  677. }
  678. }
  679. if(UnameStr.Substring(0,1)==",") 
  680. {
  681. UnameStr = UnameStr.Substring(1,UnameStr.Length-1);
  682. }
  683. DayTaskFrm.Attributes["src"] = "ViewDayTask.aspx?UnameStr="+UnameStr;
  684. }
  685. }
  686. }