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

📄 transactdocumentstream.cs

📁 很不错的公文流转系统
💻 CS
字号:
using System;

namespace OI.cs
{
	/// <summary>
	/// transactDocumentStream 的摘要说明。
	/// </summary>
	public class transactDocumentStream
	{
		protected  int documentid;
		OI.cs .readStream rs=new readStream ();

		public transactDocumentStream(int DocumentID)
		{
			//
			// TODO: 在此处添加构造函数逻辑
			//
			documentid=DocumentID;
			rs.doucmentID =DocumentID;
 
		}
		/// <summary>
		/// 公文起草向下一节点发送处理消息
		/// </summary>
	    
		public void SendMessageToNextNode (string MessageContent,int SendUserID,string Title)
		{
			string QcNodeID=rs.GetQcNodeID();
			if (QcNodeID==null)
			{
				throw new ApplicationException ("没有找到起草节点");
			}
			 
			string NextNodeID=rs.GetNextNodeIdByID (QcNodeID);
			string modename=TransactModeName(rs.GetNodeTypeByID (NextNodeID));
			string []mans= rs.GetCurrentNodeUsersByID (NextNodeID);
			string DocumentPath=GetVisitDocumentPath(modename,documentid);
			foreach (string userid in mans)
			{
				SendMessage(MessageContent,SendUserID,int.Parse (userid),modename,documentid,Title,DocumentPath);
			}
		}
		/// <summary>
		/// 向上节点发送消息,即回退公文
		/// </summary>
		/// <param name="currentNodeID"></param>
		/// <param name="MessageContent"></param>
		/// <param name="SendUserID"></param>
		/// <param name="Title"></param>
		public void SendMessageToPrivNext(int currentNodeID,string MessageContent,int SendUserID,string Title)
		{
			string modename="回退公文";
			string DocumentPath=GetBackDocumentPath(documentid,currentNodeID);
			if (currentNodeID==3)//返回到起草节点
			{
				DocumentPath="../refileoperate/backagree.aspx";
                string userid=rs.GetQcUser (documentid);
                SendMessage(MessageContent,SendUserID,int.Parse (userid),modename,documentid,Title,DocumentPath); 
			}
			else
			{
				string []mans = rs.GetCurrentNodeUsersByID (currentNodeID.ToString ());
				foreach (string userid in mans)
				{
					SendMessage(MessageContent,SendUserID,int.Parse (userid),modename,documentid,Title,DocumentPath);
				}
			}
				
			
			
		}
		/// <summary>
		/// 向下一节点发送处理消息
		/// </summary>
		/// <param name="currentNodeID">当前节点ID</param>
		public void SendMessageToNextNode (int currentNodeID,string MessageContent,int SendUserID,string Title)
		{
			string NextNodeID=rs.GetNextNodeIdByID (currentNodeID.ToString ());
			string modename=TransactModeName(rs.GetNodeTypeByID (NextNodeID));
			string []mans= rs.GetCurrentNodeUsersByID (NextNodeID);
			string DocumentPath=GetVisitDocumentPath(modename,documentid);
			foreach (string userid in mans)
			{
				SendMessage(MessageContent,SendUserID,int.Parse (userid),modename,documentid,Title,DocumentPath);
			}
		}
		/// <summary>
		/// 向一节点的处理人员发送消息
		/// </summary>
		/// <param name="currentNodeID"></param>
		/// <param name="MessageContent"></param>
		/// <param name="SendUserID"></param>
		/// <param name="Title"></param>
		public void SendMessageToNode (int NodeID,string MessageContent,int SendUserID,string Title)
		{
			
			string modename=TransactModeName(rs.GetNodeTypeByID( NodeID.ToString())) ;
			string []mans= rs.GetCurrentNodeUsersByID (NodeID.ToString ());
			string DocumentPath=GetVisitDocumentPath(modename,documentid);
			foreach (string userid in mans)
			{
				SendMessage(MessageContent,SendUserID,int.Parse (userid),modename,documentid,Title,DocumentPath);
			}
		}

		/// <summary>
		/// 完成对当前节点的操作,在待办事宜中结束
		/// </summary>
		/// <param name="currentNodeID"></param>
		/// <param name="finishUserID"></param>
		/// <param name="ID"></param>
		/// <param name="modename"></param>
		public void finishCurrentNodeOprate(int currentNodeID,int finishUserID)
		{
			OI.cs .Message  message=new Message ();
			string modename=TransactModeName(rs.GetNodeTypeByID (currentNodeID.ToString ()));
			message.finishOprate (finishUserID,documentid ,modename);
			message.finishOprate (finishUserID,documentid ,"回退公文");
		}
		public string TransactModeName(string modename)
		{
			if (modename=="公文签发")
			{
				return "签发管理";
			}
			return  modename;
		}
		/// <summary>
		/// 根据模块名称得到直接访问该文档的路径。
		/// </summary>
		/// <returns></returns>
		private string GetVisitDocumentPath(string modename,int documentid)
		{ 
			string visitPath="";

			switch (modename)
			{
				case "公文校核":
				{
					visitPath="../Document/dispTransact.aspx?documentid="+documentid.ToString ()+"&type=";
					break;
				}
				case "签发管理":
				{
					visitPath="../Document/dispTransact.aspx?documentid="+documentid.ToString ()+"&type=";
					break;
				}
				case "公文中转":
				{
					//visitPath="../Document/dispTransact.aspx?documentid="+documentid.ToString ()+"&type=";
					visitPath="../transferDocument/transactdocument.aspx?documentid="+documentid.ToString ()+"&type=";
					break;
					
					
				}
				case "发文办理":
				{
					visitPath="../sendmessage/sendfile.aspx?DocumentID="+documentid.ToString ();
					break;
				}
				
			}
			
			return visitPath;

		}
		private string GetBackDocumentPath(int documentid,int currentNodeID)
		{
			string visitPath="";
			if(currentNodeID==3)
			{
				visitPath="../refileoperate/backagree.aspx";

			}
			else
			{
				 cs.readStream rss =new readStream ();
				 rss.doucmentID =documentid;
				 string optype=rss.GetCurrentOprateTypeByNodeID (currentNodeID.ToString ());
				if (optype=="公文中转")
				{
					visitPath="../transferDocument/transactdocument.aspx?documentid="+documentid.ToString ()+"&type=";
				}
				else
				{
					visitPath="../Document/dispTransact.aspx?documentid="+documentid.ToString ()+"&type=";
				}
			}
			return visitPath;

		}
		private void SendMessage(string MessageContent,int SendUserID,int ReceiveUserID,string ModeName,int documentid,string Title,string DocumentPath)
		{
		    OI.cs .Message  message=new Message ();
			message.MessageContent =MessageContent;
			message.SendUserID =SendUserID;
			message.ReceiveUserID=ReceiveUserID;
			message.ModeName =ModeName;
			message.ID=documentid; 
			message.Title =Title;
			message.SendTime=System.DateTime .Now ;
			message.DocumentPath=DocumentPath;
			message.ADD ();
             
		}
	}
}

⌨️ 快捷键说明

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