DocumentDetails.aspx.cs
资源名称:OA_at.rar [点击查看]
上传用户:tree100901
上传日期:2007-06-03
资源大小:2295k
文件大小:9k
源码类别:
OA系统
开发平台:
C#
- using System;
- using System.Collections;
- using System.ComponentModel;
- using System.Data;
- using System.Data.SqlClient;
- using System.Drawing;
- using System.Web;
- using System.Web.SessionState;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.HtmlControls;
- namespace OA
- {
- /// <summary>
- /// DocumentDetails 的摘要说明。
- /// </summary>
- public class DocumentDetails : System.Web.UI.Page
- {
- protected System.Web.UI.WebControls.Label Title;
- protected System.Web.UI.WebControls.Label Sender;
- protected System.Web.UI.WebControls.Label Date;
- protected System.Web.UI.WebControls.Label SendType;
- protected System.Web.UI.WebControls.TextBox TextBox1;
- protected System.Web.UI.HtmlControls.HtmlInputButton Button1;
- protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
- protected System.Data.SqlClient.SqlConnection MyConnection;
- public int DID;
- public int ACID,AccepterID,AccepterID0;
- public string AID,PID,CID,Process,Result,NextAccepter,State,CheckedMarker;
- protected System.Web.UI.HtmlControls.HtmlGenericControl DIV1;
- protected System.Web.UI.WebControls.Label Result0;
- protected System.Web.UI.WebControls.Label DocumentType;
- private void Page_Load(object sender, System.EventArgs e)
- {
- MyConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
- if(Request.Params["DocumentID"]!=null)
- {
- if(Request.Params["ResultID"]!=null)
- DIV1.Visible=false;
- DID = Int32.Parse(Request.Params["DocumentID"]);
- SqlCommand MyCommand00 = new SqlCommand("PersonID",MyConnection);
- MyCommand00.CommandType = CommandType.StoredProcedure;
- MyCommand00.Parameters.Add(new SqlParameter("@Name", SqlDbType.NVarChar, 50));
- MyCommand00.Parameters["@Name"].Value = User.Identity.Name;
- MyConnection.Open();
- SqlDataReader myReader00 = MyCommand00.ExecuteReader();
- try
- {
- while(myReader00.Read())
- {
- AID = myReader00.GetInt32(0).ToString();
- }
- myReader00.Close();
- }
- finally
- {
- }
- string PROID="";
- SqlCommand MyCommand = new SqlCommand("DocumentContents",MyConnection);
- MyCommand.CommandType = CommandType.StoredProcedure;
- MyCommand.Parameters.Add(new SqlParameter("@DocumentID", SqlDbType.Int, 4));
- MyCommand.Parameters["@DocumentID"].Value = Int32.Parse(Request.Params["DocumentID"]);
- SqlDataReader myReader = MyCommand.ExecuteReader();
- while(myReader.Read())
- {
- PID = myReader["PersonID"].ToString();
- Title.Text = myReader["Title"].ToString();
- Date.Text = DateTime.Parse(myReader["Date"].ToString()).ToString("yy-MM-dd HH:mm");
- if(myReader["Result"].ToString().Trim()!=null)
- Result = myReader["Result"].ToString();
- if(myReader["Contents"]!=null)
- Session["DocuContents"] = myReader["Contents"];
- CID = myReader["Process"].ToString();
- PROID = myReader["WriterID"].ToString();
- CheckedMarker= myReader["CheckedMarker"].ToString().Trim();
- int fa = myReader["AccepterID"].ToString().Trim().IndexOf("(");
- if(fa==-1)
- AccepterID0 =Int32.Parse(myReader["AccepterID"].ToString());
- }
- myReader.Close();
- if(Result.Trim()!="")
- Result0.Text = "<br>"+Result;
- if(AID.Trim()==PROID.Trim())
- DocumentType.Text="(回复文档)";
- int FP = CID.IndexOf("→");
- if(FP==-1)
- {
- SendType.Text="<b>此文档采用的是平行发送方式!<b>";
- }
- else
- {
- string NCID=CID.Trim().Replace("(","").Replace(")","");
- SendType.Text="<b>此文档采用流程审阅:</b> ";
- string [] str = NCID.Split(new char[] {'→'});
- ACID = Int32.Parse(PID);
- for(int i=0; i<str.Length; i++)
- {
- if(str[i]==AID.ToString()&&(i+1)<str.Length)
- ACID=Int32.Parse(str[i+1]);
- if(str[str.Length-1]==AID.ToString())
- ACID=Int32.Parse(str[0]);
- if(str[0]==AccepterID0.ToString())
- {
- DocumentType.Text="(本文档已经审阅)";
- Button1.Visible=false;
- }
- SqlCommand MyCommand0 = new SqlCommand("PersonName",MyConnection);
- MyCommand0.CommandType = CommandType.StoredProcedure;
- MyCommand0.Parameters.Add(new SqlParameter("@PersonID", SqlDbType.Int, 4));
- MyCommand0.Parameters["@PersonID"].Value = str[i];
- if(MyConnection.State.ToString()=="Closed")
- MyConnection.Open();
- SqlDataReader myReader0 = MyCommand0.ExecuteReader();
- while(myReader0.Read())
- {
- if(myReader0["Name"].ToString()==User.Identity.Name)
- Process += "→<Font color='red'>"+myReader0["Name"].ToString()+"</Font>";
- else
- Process += "→"+myReader0["Name"].ToString();
- }
- myReader0.Close();
- }
- SendType.Text += Process.Substring(1);
- }
- SqlCommand MyCommand1 = new SqlCommand("PersonName",MyConnection);
- MyCommand1.CommandType = CommandType.StoredProcedure;
- MyCommand1.Parameters.Add(new SqlParameter("@PersonID", SqlDbType.Int, 4));
- MyCommand1.Parameters["@PersonID"].Value = Int32.Parse(PID);
- SqlDataReader myReader1 = MyCommand1.ExecuteReader();
- while(myReader1.Read())
- Sender.Text += myReader1["Name"].ToString();
- myReader1.Close();
- SqlCommand MyCommand2= new SqlCommand("UpdateDocumentState", MyConnection);
- MyCommand2.CommandType = CommandType.StoredProcedure;
- MyCommand2.Parameters.Add(new SqlParameter("@DocumentID", SqlDbType.Int, 4));
- MyCommand2.Parameters["@DocumentID"].Value = DID;
- MyCommand2.Parameters.Add(new SqlParameter("@State", SqlDbType.Char,10));
- MyCommand2.Parameters["@State"].Value ="1";
- MyCommand2.Parameters.Add(new SqlParameter("@Result", SqlDbType.NVarChar,4000));
- MyCommand2.Parameters["@Result"].Value = Result;
- MyCommand2.Parameters.Add(new SqlParameter("@AccepterID", SqlDbType.Int, 4));
- MyCommand2.Parameters["@AccepterID"].Value = AccepterID0;
- MyCommand2.ExecuteNonQuery();
- MyConnection.Close();
- }
- // 在此处放置用户代码以初始化页面
- }
- #region Web 窗体设计器生成的代码
- override protected void OnInit(EventArgs e)
- {
- //
- // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
- //
- InitializeComponent();
- base.OnInit(e);
- }
- /// <summary>
- /// 设计器支持所需的方法 - 不要使用代码编辑器修改
- /// 此方法的内容。
- /// </summary>
- private void InitializeComponent()
- {
- this.Button1.ServerClick += new System.EventHandler(this.Button1_ServerClick);
- this.Load += new System.EventHandler(this.Page_Load);
- }
- #endregion
- private void Button1_ServerClick(object sender, System.EventArgs e)
- {
- if(CID.Trim()=="0")
- {
- AccepterID = Int32.Parse(PID);
- if(CheckedMarker=="")
- CheckedMarker = "("+AID+")";
- }
- else
- {
- AccepterID = ACID;
- if(CheckedMarker!="")
- CheckedMarker += ",("+AID+")";
- else
- CheckedMarker = "("+AID+")";
- }
- Result += "<br><b>审阅人:</b>"+User.Identity.Name+" <b>回复时间:</b>"+DateTime.Now.ToString()+"<br>"+TextBox1.Text;
- MyConnection=new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
- SqlCommand MyCommand2= new SqlCommand("UpdateDocument", MyConnection);
- MyCommand2.CommandType = CommandType.StoredProcedure;
- MyCommand2.Parameters.Add(new SqlParameter("@DocumentID", SqlDbType.Int, 4));
- MyCommand2.Parameters["@DocumentID"].Value = DID;
- MyCommand2.Parameters.Add(new SqlParameter("@State", SqlDbType.Char,10));
- MyCommand2.Parameters["@State"].Value ="0";
- MyCommand2.Parameters.Add(new SqlParameter("@Result", SqlDbType.NVarChar,4000));
- MyCommand2.Parameters["@Result"].Value =Result;
- MyCommand2.Parameters.Add(new SqlParameter("@CheckedMarker", SqlDbType.NVarChar,120));
- MyCommand2.Parameters["@CheckedMarker"].Value =CheckedMarker;
- MyCommand2.Parameters.Add(new SqlParameter("@AccepterID", SqlDbType.Int, 4));
- MyCommand2.Parameters["@AccepterID"].Value = AccepterID;
- MyCommand2.Parameters.Add(new SqlParameter("@PersonID", SqlDbType.Int, 4));
- MyCommand2.Parameters["@PersonID"].Value = AID;
- if(MyConnection.State.ToString()=="Closed")
- MyConnection.Open();
- MyCommand2.ExecuteNonQuery();
- MyConnection.Close();
- // Response.Write("<script>alert('')</"+"script>");
- RegisterStartupScript("alert","<script language=javascript>window.alert('文档回复完毕!');window.close();</script>");
- MyCommand2.Parameters.Add(new SqlParameter("@CheckedMarker", SqlDbType.NVarChar,120));
- MyCommand2.Parameters["@CheckedMarker"].Value =CheckedMarker;
- }
- }
- }