📄 transactdocumentstream.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 + -