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

📄 dotransact.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;

namespace OI.Document
{
	/// <summary>
	/// doTransact 的摘要说明。
	/// </summary>
	public class doTransact : OI.PageBase
	{
		private OI.DatabaseOper .DatabaseConnect dc = new OI.DatabaseOper.DatabaseConnect();
		private string mifagree;
		private string mider;
		private string mdocumentid;
		private string mCuenceNodeId;
		private string mTitle;
    protected OI.cs .readStream rs;
		protected 	DateTime dtNodeDone;
		protected int nCount;
		protected string  strCurType ;
		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
			if (Session["userid"]==null)
			{
				Response.Write ("<script>alert('超时,请重新登录');top.location.href='../userpass.aspx';</script>");
				Response.End ();
			}
			if (!IsPostBack)
			{
				mifagree	 = Request.Params ["ifagree"].ToString();
				mider		 = Request.Params ["ider"].ToString ();
				mdocumentid  = Request.Params ["documentid"].ToString ();
				mCuenceNodeId = Request.Params ["CuenceNodeId"].ToString ();
				mTitle		 = Request.Params ["title"].ToString ();
           
				if	(SaveInfo())
					//Response.Redirect("inCollate.aspx",true);
				{
					if (strCurType=="公文校核")
					{
						Page.RegisterStartupScript("a","<script>window.location.href='../Document/inCollate.aspx';</script>");
					}
					if(strCurType=="公文签发")
					{
						Page.RegisterStartupScript("a","<script>window.location.href='../document/inIdiograph.aspx';</script>");
					}
					
					if(strCurType=="公文中转")
					{
						Page.RegisterStartupScript("a","<script>window.location.href='../transferDocument/willtransfer.aspx';</script>");
					}

				}
				else
				{
						Page.RegisterStartupScript ("","<script>window.locatin.href='dispTransact.aspx?documentid='"+mdocumentid+"';</script>");
				}
			}
		}
		#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
		private bool SaveInfo()
		{	
			if(Session["userid"]==null||Session["userid"].ToString ()=="")
			{
				Page.RegisterStartupScript ("","<script>alert(\"操作时间过长,请重新登录\")</script>");
				return false;
			}
			int nAgree=1;//1为同意,0为不同意
			rs=new OI.cs.readStream ();
		
			rs.doucmentID =int.Parse (mdocumentid.Trim ());
			int nPreNode=rs.GetPrivateNodeID (mCuenceNodeId );
		
			string sql="SELECT TOP 1 TransactDate FROM DocumentTransact WHERE StepID='"+nPreNode.ToString ()+"' and DocumentID='"+ mdocumentid.Trim ()+"'";
			ArrayList al=dc.getData (sql);
			if(al.Count >0)
				dtNodeDone=DateTime.Parse (al[0].ToString ());
			else
			{
				//Page.RegisterStartupScript ("","<script>alert(\"没有前一个节点\")</script>");
				dtNodeDone=DateTime.Today ;
				//return;
			}
			if(mifagree == "同意" ) // modified by lb by 12.20
			{
				nAgree=1;				 
			}
			else
				nAgree=0;

			//蒲丰增加判断下一个节点是否有人 by 1.11
			if(nAgree==1)
			{				
				OI.cs.getUsersByNextID Un=new OI.cs.getUsersByNextID (int.Parse (mdocumentid)) ;
				if (!Un.hasUserByNextID ())//判断下一节点是否有处理人
				{   
					
					Page.RegisterStartupScript ("","<script>alert('请选择下一节点的处理人');window.location.href='dispTransact.aspx?documentid="+mdocumentid+"';</script>");
					return false;
					
				}
			}

			string strCount="select max(backstate) from dbo.DocumentTransact where documentid="+mdocumentid .Trim ();
			 nCount=int.Parse (dc.GetValueBySql( strCount));

  			//dc.addData (sql);
             
            //向下一节点发送消息。
           endOpration(nAgree);
			sendMessage(nAgree);
		 
		    return true;
		}
	    /// <summary>
	    /// 发送消息
	    /// </summary>
		private  void sendMessage(int nAgree)
		{
			
			 strCurType=rs.GetCurrentOprateTypeByNodeID (mCuenceNodeId);
			
			string sendmessageNodeID="2";
			
			int Senduserid=int.Parse (Session["userid"].ToString ());
		
			OI.cs.transactDocumentStream  tds=new OI.cs.transactDocumentStream (int.Parse (mdocumentid));
			if	(nAgree==0)
			{
		    	sendmessageNodeID=rs.GetPrivateNodeID (mCuenceNodeId).ToString ();
				tds.SendMessageToPrivNext (int.Parse( sendmessageNodeID),"公文《"+mTitle+"》“"+strCurType+"”完毕,请你处理!",Senduserid,mTitle);
			}
			else 
			{
				sendmessageNodeID=rs.GetNextNodeIdByID (mCuenceNodeId);
				if (sendmessageNodeID=="2")
				{
					return ;
				}
				
				tds.SendMessageToNode  (int.Parse (sendmessageNodeID),"公文《"+mTitle+"》“"+strCurType+"”完毕,请你处理!",Senduserid,mTitle);
			}//发送消息“小精灵”的接收人的节点id
			
	
		}
		/// <summary>
		/// 结束本节点中的操作,即在message表中将待办事宜置为己办理, document 表中置换节点id.
		/// </summary>
		private void endOpration(int nAgree)
		{
			int Senduserid=int.Parse (Session["userid"].ToString ());
			int currentnodeid=int.Parse (mCuenceNodeId);
			OI.cs.transactDocumentStream  tds=new OI.cs.transactDocumentStream (int.Parse (mdocumentid));
			tds.finishCurrentNodeOprate (currentnodeid,Senduserid);
            
	          string []sqls =new string [2];
			

			string goNodeID ;
			if (nAgree==0)
			{
				goNodeID=rs.GetPrivateNodeID (mCuenceNodeId).ToString (); //不同意把id置为 上一节点ID。
				if (rs.GetNodeTypeByID(goNodeID)=="公文起草")//如果上一节点为公文起草,则id置为0.
				{
					goNodeID="0";
				}
			}
			else //同意id置为下一个节点id
			{
				goNodeID=rs.GetNextNodeIdByID (mCuenceNodeId);
				
			}
			
			sqls[0] ="UPDATE document SET CurrentStepID='"+goNodeID+"' WHERE DocumentID='"+mdocumentid .Trim ()+"'"; //置document表中的节点。
			
			if(goNodeID=="2" )//“同意”并且下一个节点是“完成”结点
			{
				sqls[0]="UPDATE document SET completesign='1' WHERE DocumentID='"+mdocumentid .Trim ()+"'";

			}
			//在DocumentTransact表中插入处理记录
			    string s=" select count(*) from DocumentTransact  where DocumentID="+mdocumentid+" and stepid="+mCuenceNodeId +" and backstate="+  nCount.ToString ()+" and  userid="+Session["userid"] ;
			    
			string o=dc.GetObjectBySql (s).ToString ();
			if (int.Parse ( o)>0)
			{
				nCount++;
			}
	        	sqls[1]="INSERT INTO DocumentTransact(StepID,ManageID,DocumentID,UserID,TransactSign,Idea,TransactDate,TransactLimitDate,backstate,transtype) "+
				    "VALUES('"+mCuenceNodeId +"','"+nAgree+"','"+mdocumentid +"','"+Session["userid"].ToString ()+"','2','"+mider .Trim ().Replace ("'","")+
				    "','"+DateTime.Now +"','"+ dtNodeDone.AddDays (rs.GetTimeLength (mCuenceNodeId ))+"','"+nCount+"','"+mifagree+"')";
			
		  dc.ExcuteSqls (sqls);
          
		}
	}
}

⌨️ 快捷键说明

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