📄 documentflow.cs
字号:
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 + -