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

📄 documentflow.cs

📁 自动化办公系统
💻 CS
📖 第 1 页 / 共 5 页
字号:
using System;
using System.Data;
using System.Data.SqlClient;

namespace UDS.Components
{
	#region 工作流的函数
	/// <summary>
	/// DocumentFlow 的摘要说明。
	/// </summary>
	public class DocumentFlow
	{

		//////////////////////////////////////////
		///				公文流转
		//////////////////////////////////////////
		
		#region 添加文档
		/// <summary>
		/// 添加文档
		/// </summary>
		/// <param name="UserName">拟稿人</param>
		/// <param name="FlowID">所用流程ID</param>
		/// <param name="SQL">样式表数据的SQL语句</param>
		public int AddDocument(string UserName,long FlowID,string SQL)
		{
			int iReturn=-1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@DocBuilder",SqlDbType.VarChar,300,UserName),
											mySQL.MakeInParam("@FlowID",SqlDbType.Int ,4,FlowID),
											mySQL.MakeInParam("@SQL",SqlDbType.NText,4000,SQL)
										};
			try
			{
				iReturn = mySQL.RunProc("sp_Flow_AddDocument",parameters);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return iReturn;

		}
		#endregion

		#region 删除文档
		/// <summary>
		/// 删除文档
		/// </summary>
		/// <param name="DocID">被删除的文档ID</param>
		public int DeleteDocument(long DocID)
		{
			int iReturn=-1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@DocID",SqlDbType.Int ,4,DocID)
										};
			try
			{
				iReturn = mySQL.RunProc("sp_Flow_DeleteDocument",parameters);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return iReturn;

		}	
		#endregion

		#region 修改文档
		/// <summary>
		/// 修改文档
		/// </summary>
		/// <param name="UpdateSQL">更新文档语句</param>
		public int UpdateDocument(string UpdateSQL)
		{
			int iReturn=-1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@SQL",SqlDbType.NText,4000,UpdateSQL)
										};
			try
			{
				iReturn = mySQL.RunProc("sp_Flow_UpdateDocument",parameters);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return iReturn;

		}	
		#endregion

		#region 文档签收
		/// <summary>
		/// 文档签收
		/// </summary>
		/// <param name="UserName">签收人</param>
		/// <param name="DocID">要被签收的文档ID</param>
		public int SignInDocument(string UserName,long DocID)
		{
			int iReturn=-1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@StaffName",SqlDbType.VarChar ,300,UserName),
											mySQL.MakeInParam("@DocID",SqlDbType.Int,4,DocID)											
										};
			try
			{
				iReturn = mySQL.RunProc("sp_Flow_SignINDoc",parameters);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return iReturn;

		}
		#endregion

		#region 取消签收
		/// <summary>
		/// 取消签收
		/// </summary>
		/// <param name="UserName">签收人</param>
		/// <param name="DocID">被取消的文档ID</param>
		public int CancelSignInDocument(string UserName,long DocID)
		{
			int iReturn=-1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@StaffName",SqlDbType.VarChar ,300,UserName),
											mySQL.MakeInParam("@DocID",SqlDbType.Int,4,DocID)											
										};
			try
			{
				iReturn = mySQL.RunProc("sp_Flow_CancelSignINDoc",parameters);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return iReturn;

		}
		#endregion

		#region 添加批注
		/// <summary>
		/// 添加批注
		/// </summary>
		/// <param name="UserName">批注人</param>
		/// <param name="DocID">批注的文档ID</param>
		/// <param name="PostilType">批注类型,通过,拒绝,完成</param>
		public int AddPostil(string UserName,long DocID,string Postil,int PostilType,long ObjID,long ObjType)
		{
			int iReturn=-1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@DocID",SqlDbType.Int ,4,DocID),											
											mySQL.MakeInParam("@Postiler",SqlDbType.VarChar  ,300,UserName),
											mySQL.MakeInParam("@PostilContent",SqlDbType.NText,3000,Postil),
											mySQL.MakeInParam("@PostilType",SqlDbType.Int   ,4,PostilType),
											mySQL.MakeInParam("@ObjID",SqlDbType.Int   ,4,ObjID),
											mySQL.MakeInParam("@ObjType",SqlDbType.Int   ,4,ObjType)
										};
			try
			{
				iReturn = mySQL.RunProc("sp_Flow_AddPostil",parameters);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return iReturn;

		}
		#endregion

		#region 否决文档
		/// <summary>
		/// 否决文档
		/// </summary>
		/// <param name="DocID">被否决的文档ID</param>
		public int FaileDocument(long DocID)
		{
			int iReturn=-1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@DocID",SqlDbType.Int ,4,DocID)
										};
			try
			{
				iReturn = mySQL.RunProc("sp_Flow_FaileDocument",parameters);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return iReturn;

		}
		#endregion

		#region 打回文档
		/// <summary>
		/// 打回文档
		/// </summary>
		/// <param name="DocID">被打回的文档ID</param>
		public int BackDocument(long DocID)
		{
			int iReturn=-1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@DocID",SqlDbType.Int ,4,DocID)
										};
			try
			{
				iReturn = mySQL.RunProc("sp_Flow_BackDocument",parameters);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return iReturn;

		}
		#endregion

		#region 通过文档
		/// <summary>
		/// 通过文档
		/// </summary>
		/// <param name="UserName">审批人</param>
		/// <param name="DocID">当前文档ID</param>		
		/// <param name="ProjectID">所在项目ID</param>
		public int PostDocument(string UserName,long DocID,long ProjectID)
		{
			int iReturn=-1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@StaffName",SqlDbType.VarChar,300,UserName),
											mySQL.MakeInParam("@DocID",SqlDbType.VarChar,300,DocID),											
											mySQL.MakeInParam("@ProjectID",SqlDbType.Int,4,ProjectID)
										};
			try
			{
				iReturn = mySQL.RunProc("sp_Flow_PostDocument",parameters);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return iReturn;
		}
		#endregion

		#region 结束文档
		/// <summary>
		/// 结束文档
		/// </summary>
		/// <param name="DocID">被结束的文档ID</param>
		public int FinishDocument(long DocID)
		{
			int iReturn=-1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@DocID",SqlDbType.Int ,4,DocID)
										};
			try
			{
				iReturn = mySQL.RunProc("sp_Flow_FinishDocument",parameters);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return iReturn;

		}
		#endregion

		#region 删除文档最近的批注
		/// <summary>
		/// 删除文档最近的批注
		/// </summary>
		/// <param name="DocID">文档ID</param>
		public int CancelPostil(long DocID)
		{
			int iReturn=-1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@DocID",SqlDbType.Int ,4,DocID)
										};
			try
			{
				iReturn = mySQL.RunProc("sp_Flow_CancelPostil",parameters);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return iReturn;

		}	
		#endregion
		
		#region 获得步骤流转规则
		/// <summary>
		/// 获得步骤流转规则
		/// </summary>
		/// <param name="FlowID">流程ID</param>
		/// <param name="StepID">步骤ID</param>
		public int GetStepRule(long FlowID,long StepID)
		{
			int iReturn=-1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@FlowID",SqlDbType.Int,4,FlowID),
											mySQL.MakeInParam("@StepID",SqlDbType.Int,4,StepID)
										};
			try
			{
				iReturn = mySQL.RunProc("sp_Flow_GetStepRule",parameters);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return iReturn;
		}
		#endregion

		#region 获得步骤结束权利
		/// <summary>
		/// 获得步骤结束权利
		/// </summary>
		/// <param name="FlowID">流程ID</param>
		/// <param name="StepID">步骤ID</param>
		public int GetStepRightToFinish(long FlowID,long StepID)
		{
			int iReturn=-1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@FlowID",SqlDbType.Int,4,FlowID),
											mySQL.MakeInParam("@StepID",SqlDbType.Int,4,StepID)
										};
			try
			{
				iReturn = mySQL.RunProc("sp_Flow_GetStepRightToFinish",parameters);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return iReturn;
		}
		#endregion
		
		#region 获得文档的是否为新拟稿
		/// <summary>
		/// 获得流程的表格样式描述
		/// </summary>
		/// <param name="DocID">文档ID</param>		
		public int IsNewDocument(long DocID)
		{
			int iReturn=-1;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@DocID",SqlDbType.Int ,4,DocID)
										};
			try
			{
				iReturn = mySQL.RunProc("sp_Flow_IsNewDocument",parameters);		
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return iReturn;
		}
		#endregion		

		#region 获得用户所有的项目,返回表格
		/// <summary>
		/// 获得用户所有的项目
		/// </summary>
		/// <param name="UserName">用户名</param>
		/// <param name="dt">返回表格</param>
		public int GetProject(string UserName,out DataTable dt )
		{
			//int iReturn=0;
			SqlDataReader dr;
			UDS.Components.Database mySQL = new UDS.Components.Database();
			SqlParameter[] parameters = {
											mySQL.MakeInParam("@UserName",SqlDbType.VarChar ,300,UserName)
										};
			
			try
			{
				mySQL.RunProc("sp_GetTaskClass",parameters,out dr);		
				dt = UDS.Components.Tools.ConvertDataReaderToDataTable(dr);
			}
			catch(Exception e)
			{
				Error.Log(e.ToString());
				dt = null;
			}
			finally
			{
				mySQL.Close();
				mySQL = null;	
			}
			return 0;
		}		
		#endregion
		
		#region 获得用户所有的项目,返回表格
			/// <summary>

⌨️ 快捷键说明

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