⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 thing.aspx.cs

📁 很不错的公文流转系统
💻 CS
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data .SqlClient ;
using ZHENGYI;
namespace OI.SendMessage
{
	/// <summary>
	/// thing 的摘要说明。
	/// </summary>
	public class thing :OI.PageBase 
	{
		protected DataTable datatable=new DataTable ();
		protected System.Web.UI.WebControls.DataGrid dg;//数据源表
		protected OI.DatabaseOper .DatabaseConnect Dbc=new OI.DatabaseOper.DatabaseConnect ();
		protected DataGridNavigation  divepage ;
		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
			if (Session["userid"]==null)
			{
				Response.Write ("<script>alert('超时,请重新登录');top.location.href='../userpass.aspx';</script>");
				return ;
			}
			 SetDivePage();
			if(! Page.IsPostBack )
			{
			  
				dataBind();
			}
			
		}
		private void SetDivePage()
		{
			dg.AllowPaging =true; 
			ZHENGYI.BindDataDelegate f =new ZHENGYI.BindDataDelegate (dataBind);//修改这个dataBind,让f 指向你的方法。 
			divepage.SetTarget(dg,f,15);
		}
		private void dataBind()
		{
			CreateDataSource();
			dg.DataSource =datatable;
			dg.DataBind ();
		}
		/// <summary>
		/// 创建数据表dt;
		/// </summary>
		private void Createdatatable()
		{
             DataColumn column=new DataColumn ("title",typeof(String)); //标题
			 column.AllowDBNull=true;
			 datatable.Columns .Add (column);

			 column=new DataColumn ("exigencedegreename",typeof(String));//紧急程度
			 column.AllowDBNull =true;
			 datatable.Columns .Add (column);
			 
			 column=new DataColumn ("SecretGreadName",typeof(String)); //密急
			 column.AllowDBNull =true;
			 datatable.Columns .Add (column);

			column=new DataColumn ("username",typeof(String));//处理用户
			column.AllowDBNull =true;
			datatable.Columns .Add (column);

			column=new DataColumn ("transtype",typeof(String));//处理类型
			column.AllowDBNull =true;
			datatable.Columns .Add (column);

			
			 

		}
		/// <summary>
		/// 得到用户的部门ID
		/// </summary>
		private void GetDepartmentID()
		{
			
			string sql="select departmentid from accounts_users where userid="+Session["userid"];
			object o=null;
			try
			{
				 o=Dbc.GetObjectBySql(sql);
			}
			catch(Exception er)
			{
				Response.Write (er.Message );
				Response.End ();

			}
			if (o==null ||o.ToString () =="")
			{
				Page.RegisterStartupScript ("","<script>alert('此部门己被删除');</script>");
				return;
			}
			else
			{
				ViewState["departmentid"]=o.ToString ();
			}

              
		}
		private void CreateDataSource()
		{
		
			GetDepartmentID(); //得到用户的部门ID
			Createdatatable(); //创建数据表
            CreateDataDocument(); //创建公文待办事宜
			CreateReceveiDocuemnt(); //创建末收文.
			CreateTransact(); //创建末阅办
			CreateReceiveMan(); //创建收文人员的待办事宜
		}
		/// <summary>
		/// 创建末阅办
		/// </summary>
		private void CreateTransact()
		{
			string str =" select dmt.ReDocumentID, rd.documentTitle ,au.username,e.exigencedegreename ";
            str +=" from documentMitTransaction dmt, ReceiveDocument rd  , exigencedegree e,accounts_users au ";
            str +=" where   dmt.Istransact=0  and  dmt.RedocumentID =rd.RedocumentID  and  dmt.userid =au.userid ";
            str +=" and  e.exigencedegreeid=rd.exigencedegreeid  and  au.departmentid="+ViewState["departmentid"];
			DataTable dt=new DataTable ();
			try
			{
				dt=Dbc.getBinding (str,"t").Tables [0];

			}
			catch(Exception er)
			{
				Response.Write (er.Message );
				
			}
			foreach(DataRow dr in dt.Rows )
			{
				DataRow newdr =datatable.NewRow ();
				string title=dr["documentTitle"].ToString ();
				if (title.Length >20)
				{
					newdr["title"]="<a href=\"#\" onclick=win_open('../receivdocument/detail.aspx?id="+dr["ReDocumentID"].ToString ()+"') title=\""+ title+"\">"+title.Substring (0,20)+"...</a>";
				}
				else
				{
					newdr["title"]="<a href=\"#\" onclick=win_open('../receivdocument/detail.aspx?id="+dr["ReDocumentID"].ToString ()+"') title=\""+ title+"\">"+title+"</a>";
				}
				newdr["ExigenceDegreename"]=dr["ExigenceDegreename"];
				newdr["username"]=dr["username"];
				newdr["transtype"]="末阅办";
				datatable.Rows.Add (newdr);
			}
		}

		/// <summary>
		/// 创建末收文.
		/// </summary>
		private void CreateReceveiDocuemnt()
		{
			string str  ="  select distinct dsr.documentid, dsr.documenttitle,e.ExigenceDegreename " ;
                   str +=" from receiveWait   rw,documentSendR  dsr ,Departments d ,ExigenceDegree e   ";
                   str +=" where rw.RegisterID=dsr.RegisterID  ";  
                   str +=" and dsr.departmentid=d.departmentid  ";
                   str +=" and dsr.ExigenceDegreeID=e.ExigenceDegreeID ";
                   str +=" and (rw.ReseverDepartmentZ= " ;
                   str +=" ( select distinct d2.departmentname ";
                   str +=" from  departments d2 ,accounts_users au ";
                   str +=" where au.departmentid=d2.departmentid and au.userid in";
                   str +=" (select userid from accounts_users users where users.departmentid="+ViewState["departmentid"]+")  )  ";
                   str +=" or rw.ReseverDepartmentc = ";
                   str +=" ( select distinct d2.departmentname  from  departments d2 ,accounts_users au ";
			       str +="  where au.departmentid=d2.departmentid and au.userid in ";
                   str +=" (select userid from accounts_users users where users.departmentid="+ViewState["departmentid"]+")  )    ) ";
                   str += " and not exists (select rdt.waitid from receivedocument rdt where rdt.waitid=rw.waitid ) ";
			DataTable dt=new DataTable();
			try
			{
				dt=Dbc.getBinding(str,"t").Tables[0];
			}
			catch(Exception er)
			{
				Response.Write (er.Message );
				
			}
			foreach (DataRow dr in dt.Rows )
			{
                DataRow newdr =datatable.NewRow ();
				string title=dr["documenttitle"].ToString ();
				if (title.Length >20)
				{
					newdr["title"]="<a href=\"#\" onclick=win_open('../receivdocument/redocumentdetail.aspx?DocumentID="+dr["documentid"].ToString ()+"') title=\""+ title+"\">"+title.Substring (0,20)+"...</a>";
				}
				else
				{
					newdr["title"]="<a href=\"#\" onclick=win_open('../receivdocument/redocumentdetail.aspx?DocumentID="+dr["documentid"].ToString ()+"') title=\""+ title+"\">"+title+"</a>";
				}
				//newdr["title"]="<a href=\"#\" onclick=win_open('../receivdocument/redocumentdetail.aspx?DocumentID="+dr["documentid"].ToString ()+"')>" + dr["documenttitle"].ToString ()+"</a>";
				
				newdr["ExigenceDegreename"]=dr["ExigenceDegreename"];
				newdr["username"]=GetReceiveMan(ViewState["departmentid"].ToString ());
                newdr["transtype"]="末收文";
				datatable.Rows.Add (newdr);
			}
		}
		private string GetReceiveMan(string departmentid)
		{
            string str=" select departmentname from departments where departmentid="+departmentid;
			object o=null;
			try
			{
				o=Dbc.GetObjectBySql (str);
				if (o==null || o.ToString ()=="" )
				{
					return "";
				}
				else
				{
					return o.ToString ();
				}
			}
			catch(Exception er)
			{
				Response.Write (er.Message );
			}
			return "";
		}
		/// <summary>
		/// 创建公文待办事宜
		/// </summary>
		private void CreateDataDocument()
		{
			string  sql=" (select  vno.documentid,vno.title,vno.exigencedegreename,vno.SecretGreadName,vno.filedate,tu.userid,tu.stepid ,au.username";
                    sql += " from ViewDocumentno  vno,transactusers tu ,accounts_users au ";
                    sql += " where CompleteSign=0 and currentstepid != 2  and tu.stepid=currentstepid and tu.documentid=vno.documentid ";
                    sql += " and au.userid=tu.userid and au.departmentid="+ViewState["departmentid"];
			        sql +=" ) union";
			        sql +=" ( select  vno.documentid,vno.title,vno.exigencedegreename, ";
                    sql +="  vno.SecretGreadName,vno.filedate,vno.userid,3 as stepid ,au.username  ";
                    sql +="  from ViewDocumentno  vno,accounts_users au ";
                    sql +="  where vno.userid=au.userid ";
                    sql +="  and vno.CompleteSign=0  and vno.currentstepid=0 ";
                    sql += "  and au.departmentid="+ViewState["departmentid"];
			        sql +=" )" ;
			DataTable dt=new DataTable ();
			try
			{
				dt=Dbc.getBinding (sql,"t").Tables[0];
			}
			catch(Exception er)
			{
				Response.Write (er.Message );
				Response.End ();
			}
			foreach (DataRow dr in dt.Rows )
			{
				DataRow newdr=datatable.NewRow (); 
				string title=dr["title"].ToString ();
				if (title.Length >20)
				{
					newdr["title"]="<a href=\"#\" onclick=win_open('../receivdocument/redocumentdetail.aspx?DocumentID="+dr["documentid"].ToString()+"') title=\""+ title+"\">"+title.Substring (0,20)+"...</a>";
				}
				else
				{
					newdr["title"]="<a href=\"#\" onclick=win_open('../receivdocument/redocumentdetail.aspx?DocumentID="+dr["documentid"].ToString()+"') title=\""+ title+"\">"+title+"</a>";
				}
				//newdr["title"]="<a href=\"#\" onclick=win_open('../receivdocument/redocumentdetail.aspx?DocumentID="+dr["documentid"].ToString()+"')>"+  dr["title"].ToString ()+"</a>";//标题
				newdr["exigencedegreename"]=dr["exigencedegreename"]; //紧急程度
				newdr["SecretGreadName"]=dr["SecretGreadName"];//密急
				newdr["username"]=dr["username"];//处理用户
				newdr["transtype"]=GetTransactType(dr["documentid"].ToString (),dr["stepid"].ToString ());  //处理类型
				datatable.Rows .Add (newdr);

			}

		}
		/// <summary>
		/// 创建收文人员的待办事宜
		/// </summary>
		private void CreateReceiveMan()
		{
			string sql="select r.ReDocumentID,r.documenttitle ,e.ExigenceDegreename, a.username from Receivedocument r ,documentMitTransaction dt,accounts_users a,ExigenceDegree e" ;
			sql +=" where r.redocumentid=r.redocumentid  and r.userid=a.userid and e.ExigenceDegreeid=r.ExigenceDegreeid  and r.IsComplete=0 and dt.istransact =1 and  a.departmentid  ="+ViewState["departmentid"].ToString ();
			sql +=" and dt.transactid= ";
			sql +=" (select top 1 transactid from documentMitTransaction where  redocumentid=r.redocumentid order by senddate desc ) ";
			DataTable dt=new DataTable ();
			try
			{
				dt=Dbc.getBinding (sql,"t").Tables[0];
			}
			catch(Exception er)
			{
				Response.Write (er.Message );
				Response.End ();
			}
			foreach (DataRow dr in dt.Rows )
			{
				DataRow newdr=datatable.NewRow (); 
				string title=dr["documenttitle"].ToString ();
				if (title.Length >20)
				{
					newdr["title"]="<a href=\"#\" onclick=win_local('../ReceivDocument/receiveDocumentDetail.aspx?documentid="+dr["ReDocumentID"].ToString()+"') title=\""+ title+"\">"+title.Substring (0,20)+"...</a>";
				}
				else
				{
					newdr["title"]="<a href=\"#\" onclick=win_local('../ReceivDocument/receiveDocumentDetail.aspx?documentid="+dr["ReDocumentID"].ToString()+"') title=\""+ title+"\">"+title+"</a>";
				}
				//newdr["title"]="<a href=\"#\" onclick=win_open('../receivdocument/redocumentdetail.aspx?DocumentID="+dr["documentid"].ToString()+"')>"+  dr["title"].ToString ()+"</a>";//标题
				newdr["exigencedegreename"]=dr["exigencedegreename"]; //紧急程度
				newdr["SecretGreadName"]="";//dr["SecretGreadName"];//密急
				newdr["username"]=dr["username"];//处理用户
				newdr["transtype"]="正在传阅";  //处理类型
				datatable.Rows .Add (newdr);
			}
		}
		/// <summary>
		/// 得到处理类型
		/// </summary>
		/// <param name="documentid">公文ID</param>
		/// <param name="stepid">节点ID</param>
		/// <returns></returns>
		private string  GetTransactType(string documentid,string stepid)
		{
			//int documentid=int.Parse (documentid)
			OI.cs .readStream rs=new OI.cs.readStream ();
			string transacttype=null;
			try
			{
				rs.doucmentID =int.Parse (documentid);
				if (stepid=="3")
				{
					transacttype="回退公文";
				}
				else
				{
					transacttype=rs.GetCurrentOprateTypeByNodeID (stepid);
				}
			}
			catch(Exception er)
			{
				Response.Write (er.Message );
				//return 
			}
			return transacttype ;


		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{    
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -