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

📄 documenttransacts.cs

📁 很不错的公文流转系统
💻 CS
📖 第 1 页 / 共 2 页
字号:
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 + -