📄 documenttransacts.cs
字号:
using System;
using System.Collections;
using OI.Modules;
namespace OI.Data
{
//设计人:吴高发
//日期:2003-11-20
//v1.0
/// <summary>
/// 枚举类:DocumentTransacts
/// 集合元素类:DocumentTransact
/// </summary>
/// <example>
/// <code>
/// DocumentTransacts oFileList=new DocumentTransacts()
/// foreach(DocumentTransacts.DocumentTransact in oFileList)
/// {
/// }
/// </code>
/// <code>
/// DocumentTransacts.DocumentTransact oFileList=new
/// </code>
/// </example>
public class DocumentTransacts :OI.Data.DbObject,IEnumerable
{
private int nCurrentRecordNum;
private string cSearchKey;
/// <summary>
/// 办理标识
/// 未阅、已阅、已办、所有的
/// </summary>
public enum TransactSignType{All,NoRead,Read,Done};
//出错信息;
private int cStepID=0;
private int cManageID=0;
private int cDocumentID=0;
private int cUserID=0;
private TransactSignType cTransactSign=TransactSignType.All ;//办理标识,0为未阅,1为已阅,2为已办
private DateTime dMinTransactDate=System.DateTime.MinValue;
private DateTime dMaxTransactDate=System.DateTime.MaxValue;
private DateTime cTransactLimitDate=DateTime.MinValue ;
/// <summary>
/// 查询最小日期
/// </summary>
public DateTime MinTransactDate
{
get
{
return this.dMinTransactDate;
}
set
{
this.dMinTransactDate=value;
}
}
/// <summary>
/// 查询最大日期
/// </summary>
public DateTime MaxTransactDate
{
get
{
return this.dMaxTransactDate;
}
set
{
this.dMaxTransactDate=value;
}
}
/// <summary>
/// 设置过滤条件:工作流节点ID
/// </summary>
public int StepID
{
get
{
return cStepID;
}
set
{
cStepID=value;
}
}
/// <summary>
/// 设置过滤条件:操作类型ID,如同意,不同意等
/// </summary>
public int ManageID
{
get
{
return cManageID;
}
set
{
cManageID=value;
}
}
/// <summary>
/// 设置过滤条件:文档ID
/// </summary>
public int DocumentID
{
get
{
return cDocumentID;
}
set
{
cDocumentID=value;
}
}
/// <summary>
/// 设置过滤条件:用户ID
/// </summary>
public int UserID
{
get
{
return cUserID;
}
set
{
cUserID=value;
}
}
/// <summary>
/// 设置过滤条件:办理标识,0为未阅,1为已阅,2为已办
/// </summary>
public TransactSignType TransactSign
{
get
{
return cTransactSign;
}
set
{
cTransactSign=value;
}
}
/// <summary>
/// 设置过滤条件:办理期限
/// </summary>
public DateTime TransactLimitDate
{
get
{
return cTransactLimitDate;
}
set
{
cTransactLimitDate=value;
}
}
System.Data.DataSet oDataSet;
/// <summary>
/// 当前的记录
/// </summary>
public int CurrentRecordNum
{
get
{
return nCurrentRecordNum;
}
set
{
nCurrentRecordNum=value;
}
}
/// <summary>
/// 组织查询条件
/// </summary>
/// <returns>查询字符串</returns>
private string GenSqlFilter()
{
string cSql="";
if(this.cStepID!=0)
{
if(cSql!="")
cSql=cSql+" and StepID ='"+this.cStepID+"' " ;
else
cSql=cSql+" where StepID ='"+this.cStepID+"' " ;
}
if(this.cManageID!=0)
{
if(cSql!="")
cSql=cSql+" and ManageID ='"+this.cManageID+"' " ;
else
cSql=cSql+" where ManageID ='"+this.cManageID+"' " ;
}
if(this.cDocumentID!=0)
{
if(cSql!="")
cSql=cSql+" and DocumentID ='"+this.cDocumentID+"' " ;
else
cSql=cSql+" where DocumentID ='"+this.cDocumentID+"' " ;
}
if(this.cUserID!=0)
{
if(cSql!="")
cSql=cSql+" and UserID ='"+this.cUserID+"' " ;
else
cSql=cSql+" where UserID ='"+this.cUserID+"' " ;
}
switch(this.cTransactSign)//办理标识,0为未阅,1为已阅,2为已办
{
case TransactSignType.All :
break;
case TransactSignType.Done :
if(cSql!="")
cSql=cSql+" and TransactSign ='"+TransactSignType.Done+"' ";
else
cSql=cSql+" where TransactSign ='"+TransactSignType.Done+"' ";
break;
case TransactSignType.Read :
if(cSql!="")
cSql=cSql+" and TransactSign ='"+TransactSignType.Read +"' ";
else
cSql=cSql+" where TransactSign ='"+TransactSignType.Read +"' ";
break;
case TransactSignType.NoRead :
if(cSql!="")
cSql=cSql+" and TransactSign ='"+TransactSignType.NoRead+"'";
else
cSql=cSql+" where TransactSign ='"+TransactSignType.NoRead+"'";
break;
}
if(cSql!="")
cSql=cSql+" and (TransactDate >='"+this.dMinTransactDate+"' and TransactDate <='"+this.dMaxTransactDate+"') " ;
else
cSql=cSql+" where (TransactDate >'"+this.dMinTransactDate+"' and TransactDate <'"+this.dMaxTransactDate+"') " ;
if(this.cTransactLimitDate!=DateTime.MinValue )
{
if(cSql!="")
cSql=cSql+" and TransactLimitDate >='"+this.cTransactLimitDate.Date+"' AND TransactLimitDate<='"+this.cTransactLimitDate.Date.AddDays (1).AddSeconds(-1)+"'" ;
else
cSql=cSql+" where TransactLimitDate >='"+this.cTransactLimitDate.Date+"' AND TransactLimitDate<='"+this.cTransactLimitDate.Date.AddDays (1).AddSeconds(-1)+"'" ;
}
return cSql;
}
/// <summary>
/// 从项目中获取数据
/// </summary>
/// <returns>成功/失败</returns>
public void GetData()
{
if(oDataSet !=null)
oDataSet.Clear();
string sqlFilter=this.GenSqlFilter();
string calculateCmdString="select count(TransactID) from DocumentTransact "+sqlFilter;//在此写入查询总记录数Sql查询语句
string sql="select * from DocumentTransact "+sqlFilter;//在此写入Sql查询语句
try
{
oDataSet=this.RunCommand(calculateCmdString,sql,"tablename");//在此写入表名
}
catch(System.Data.SqlClient.SqlException e)
{
if(this.Connection.State==System.Data.ConnectionState.Open)
this.Connection.Close();
throw new AppException("执行下列语句出错:\n\r"+sql,e);
}
}
/// <summary>
/// 查询关键字
///在以下项目中查询:
///办理期限、办理日期、阅读日期、办理标识,0为未阅,1为已阅,2为已办、用户ID、文档ID、操作类型ID,如同意,不同意等、工作流节点ID、
/// </summary>
public string SearchKey
{
get
{
return cSearchKey;
}
set
{
cSearchKey=OI.Modules.String.GenSafeChars(value);
}
}
/// <summary>
/// 获取查询后的数据XML格式字符串
/// </summary>
/// <returns>成功或失败</returns>
public string GetDataXml()
{
if(this.oDataSet==null)
GetData();
return oDataSet.GetXml() ;
}
/// <summary>
/// 构造函数
/// </summary>
public DocumentTransacts()
{
}
/// <summary>
/// 构造函数
/// </summary>
/// <param name="Share_Sql_Connection">共享的数据库连接</param>
public DocumentTransacts(string newConnectionString):base(newConnectionString)
{
}
/// <summary>
/// 增加处理文档
/// </summary>
/// <param name="StepID">节点ID</param>
/// <param name="DocumentID">文档ID</param>
/// <param name="UserID">处理人ID</param>
/// <returns>增加是否成功</returns>
public bool AddDocumentTransact(int StepID,int DocumentID,int UserID,System.DateTime TransactLimitDate)
{
string sql="INSERT INTO DocumentTransact(StepID, DocumentID, UserID, TransactSign, Idea,TransactLimitDate)"+
" VALUES('"+StepID+"','"+DocumentID+"','"+UserID+"','"+TransactSignType.NoRead +"','','+"+TransactLimitDate.ToString()+"')";
int i=0;
try
{
this.RunCommand(sql,out i);
}
catch(System.Data.SqlClient.SqlException e)
{
if(this.Connection.State==System.Data.ConnectionState.Open)
this.Connection.Close();
throw new AppException("执行下列Sql语句出错\n\r"+sql,e);
}
if(i>0)
return true;
return false;
}
/// <summary>
/// 阅读文档时更新数据记录
/// </summary>
/// <param name="transactID">办理记录ID</param>
public void ReadDocument(int transactID)
{
string sql="UPDATE DocumentTransact SET transactSign='"+TransactSignType.Read +"',ReadDate=getdate() where TransactID='"+transactID.ToString()+"'";
try
{
this.RunCommand(sql);
}
catch(System.Data.SqlClient.SqlException e)
{
if(this.Connection.State==System.Data.ConnectionState.Open)
this.Connection.Close();
throw new AppException("执行下列语句出错"+sql,e);
}
}
/// <summary>
/// 对文档进行处理
/// </summary>
/// <param name="transactID">处理人所在的事务ID</param>
/// <param name="manageID">节点类型ID</param>
/// <param name="transactSign">处理结束类型</param>
/// <param name="idea">处理意见</param>
/// <returns></returns>
public bool TransactDocument(int transactID,int manageID,string idea)
{
idea=OI.Modules.String.GenSafeChars(idea);
string sql="UPDATE DocumentTransact SET ManageID='"+manageID+"',TransactSign='"+TransactSignType.Done +"',Idea='"+idea+"',TransactDate='"+DateTime.Now +"' WHERE TransactID='"+transactID+"'";
int i=0;
try
{
this.RunCommand(sql,out i);
}
catch(System.Data.SqlClient.SqlException e)
{
if(this.Connection.State==System.Data.ConnectionState.Open)
this.Connection.Close();
throw new AppException("执行下列Sql语句出错\n\r"+sql,e);
}
if(i>0)
return true;
return false;
}
/// <summary>
/// 删除
/// </summary>
/// <returns></returns>
public bool DeleteDocumentTransact(int documentID)
{
string sql="DELETE FROM DocumentTransact WHERE DocumentID='"+documentID+"'";
int i=0;
try
{
this.RunCommand(sql,out i);
}
catch(System.Data.SqlClient.SqlException e)
{
if(this.Connection.State==System.Data.ConnectionState.Open)
this.Connection.Close();
throw new AppException("执行下列Sql语句出错\n\r"+sql,e);
}
if(i>0)
return true;
return false;
}
/// <summary>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -