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

📄 webdocserver.aspx.cs

📁 很不错的公文流转系统
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using DotNetOfficeServer;
using System.Text;
namespace OI.DocTemplate
{
	/// <summary>
	/// WebForm1 的摘要说明。
	/// </summary>
	public class WebDocServer : OI.PageBase
	{
		private string myConnectionString = System.Configuration.ConfigurationSettings.AppSettings["conn"];
		private OI.DatabaseOper.DatabaseConnect dc=new OI.DatabaseOper.DatabaseConnect();

		private void Page_Load(object sender, System.EventArgs e)
		{
			try
			{
				byte[] x;
				x=Request.BinaryRead(Request.ContentLength);			
				OfficeServer mObj=new OfficeServer();
				mObj.SetObj(x);
				
				string option=mObj.GetFieldData("OPTION");
			
				switch (option)
				{
					case "SAVEFILE":					
						SaveFile(x,mObj);
						mObj.setfield("STATUS","保存成功!");
						mObj.Error="";
						break;
					case "LOADFILE":
						LoadFile(mObj);
						mObj.Error="";
						mObj.ClearFields();
						break;
					case "LOADVERSION":
						loadVersion(mObj);
						mObj.Error="";
						mObj.ClearFields();
						break;
					case "LISTVERSION":
						ListVersion(mObj);
						mObj.Error="";
						break;
					case "SAVEVERSION":
						SaveVersion(x,mObj);
						mObj.Error="";
						mObj.ClearFields();
						break;
					case "SaveMARKIMAGE":
						SaveMarkImage(x,mObj);
						mObj.Error="";
						mObj.ClearFields();
						break;
					case "LOADMARKIMAGE":
						LoadMarkImage(mObj);
						mObj.Error="";
						break;
					case "LOADMARKLIST":
						LoadMarkList(mObj);
						break;
					case "SAVETEMPLATE":
						SaveTemplate(x,mObj);
						mObj.setfield("STATUS","保存成功!");
						mObj.Error="";
						break;
					case "LOADTEMPLATE":
						LoadTemplate(mObj);
						break;
				}
				//LoadTemplate(mObj);		
				Response.BinaryWrite(mObj.GetObj());
				
			}
			catch (Exception xx)
			{
				string lll=xx.Message;
			}
			
		}
		/// <summary>
		///打开模板
		/// </summary>
		/// <param name="mClass1"></param>
		public void LoadTemplate(OfficeServer mClass1)
		{
			string mRecordID=mClass1.GetFieldData("TEMPLATE");		//取得文档编号
			if (mRecordID.Trim().Length>0)
			{
				SqlConnection conn=new SqlConnection();
				conn.ConnectionString=myConnectionString;
				conn.Open();						
				SqlDataReader sdr;
				SqlCommand comm=new SqlCommand("select filebody,filesize from Template where RecordID='" + mRecordID + "'",conn);
				//SqlCommand comm=new SqlCommand("select filebody,filesize from Template where TemplateID=105",conn);
				sdr=comm.ExecuteReader();
				if (sdr.Read())
				{
					int m=(int)sdr.GetValue(1);
					byte[] x=new byte[m];
					sdr.GetBytes(0,0,x,0,m);				
					mClass1.SetObj(x);
				}
				sdr.Close();
			}
		}
		/// <summary>
		/// 保存模板
		/// </summary>
		/// <param name="x"></param>
		/// <param name="mClass1"></param>
		public void SaveTemplate(byte[] x, OfficeServer mClass1)
		{
			
			string mTemplate=mClass1.GetFieldData("TEMPLATE");			
			if (mTemplate.Trim().Length<1) return;
			SqlConnection Conn = new SqlConnection(myConnectionString);			
			Conn.Open();			
			string Sql= "SELECT * FROM Template WHERE RecordID='" + mTemplate + "'";
			DataSet ds=new DataSet();
			
			ds=dc.getBinding(Sql,"b");
			if (ds.Tables[0].Rows.Count>0)
			{			
				SqlCommand addEmp = new SqlCommand("UPDATE Template set RECORDID=@RECORDID,FileName=@FileName,FileType=@FileType,"+
					"FileSize=@FileSize,FileDate=getdate(),FileBody=@FileBody,FilePath=@FilePath,UserName=@UserName,Descript=@Descript where RecordID='" + mTemplate + "' ",Conn);
				addEmp.Parameters.Add("@RECORDID",SqlDbType.VarChar, 16).Value = mClass1.GetFieldData("TEMPLATE");
				addEmp.Parameters.Add("@FileName",SqlDbType.VarChar, 254).Value = mClass1.GetFieldData("NAME");
				addEmp.Parameters.Add("@FileType",SqlDbType.VarChar, 4).Value = mClass1.GetFieldData("TYPE");
				addEmp.Parameters.Add("@FileSize",SqlDbType.Int).Value = x.Length;
				addEmp.Parameters.Add("@FileBody",SqlDbType.Image, x.Length).Value = x;
				addEmp.Parameters.Add("@FilePath",SqlDbType.VarChar, 128).Value =mClass1.GetFieldData("FilePath");
				addEmp.Parameters.Add("@UserName",SqlDbType.VarChar,64).Value = mClass1.GetFieldData("UserName");
				addEmp.Parameters.Add("@Descript",SqlDbType.VarChar, 255).Value = mClass1.GetFieldData("Descript");	
				addEmp.ExecuteNonQuery();
				
			}
			else
			{
				try
				{
					SqlCommand addEmp = new SqlCommand("INSERT INTO Template (RECORDID,FileName,FileType,FileSize,FileDate,FileBody,FilePath,UserName,Descript) " +
						"Values(@RECORDID,@FileName,@FileType,@FileSize,getdate(),@FileBody,@FilePath,@UserName,@Descript)", Conn);		
					addEmp.Parameters.Add("@RECORDID",SqlDbType.VarChar, 16).Value = mClass1.GetFieldData("TEMPLATE");
					addEmp.Parameters.Add("@FileName",SqlDbType.VarChar, 254).Value = mClass1.GetFieldData("NAME");
					addEmp.Parameters.Add("@FileType",SqlDbType.VarChar, 4).Value = mClass1.GetFieldData("TYPE");
					addEmp.Parameters.Add("@FileSize",SqlDbType.Int).Value = x.Length;
					addEmp.Parameters.Add("@FileBody",SqlDbType.Image, x.Length).Value = x;
					addEmp.Parameters.Add("@FilePath",SqlDbType.VarChar, 128).Value =mClass1.GetFieldData("FilePath");
					addEmp.Parameters.Add("@UserName",SqlDbType.VarChar,64).Value = mClass1.GetFieldData("UserName");
					addEmp.Parameters.Add("@Descript",SqlDbType.VarChar, 255).Value = mClass1.GetFieldData("Descript");							
					addEmp.ExecuteNonQuery();
				}
				catch (Exception u)
				{
					string l=u.Message;
				}
			}	
			Conn.Close();
		}
		
		/// <summary>
		/// 签名印章列表
		/// </summary>
		/// <param name="mClass1"></param>
		public void LoadMarkList(OfficeServer mClass1)
		{
			string Sql= "SELECT MarkName FROM Signature  where Departmentid="+Session["departmentid"];
			DataSet ds=new DataSet();
			
			ds=dc.getBinding(Sql,"c");
			mClass1.ClearFields();
			string data="";
			for (int i=0;i<ds.Tables[0].Rows.Count;i++)
			{
				data+=ds.Tables[0].Rows[i]["MarkName"].ToString()+"\r\n";
			}
			mClass1.setfield("MARKLIST",data);
		}
		/// <summary>
		/// 调用签名印章
		/// </summary>
		/// <param name="mClass1"></param>
		public void LoadMarkImage(OfficeServer mClass1)
		{
			string mMarkName=mClass1.GetFieldData("IMAGENAME");		//'取得文档名    
			string  mPassword=mClass1.GetFieldData("PASSWORD");
			string Sql= "SELECT MarkBody,MarkSize,MarkType FROM Signature WHERE MarkName='" + mMarkName + "' and PassWord='" + mPassword + "'"+" and Departmentid="+Session["departmentid"];
			SqlConnection conn=new SqlConnection();
			conn.ConnectionString=myConnectionString;
			conn.Open();	
			SqlDataReader sdr;
			SqlCommand comm=new SqlCommand(Sql  ,conn);
			sdr=comm.ExecuteReader();
			if (sdr.Read())
			{			
				int m=(int)sdr.GetValue(1);
				byte[] x=new byte[m];
				sdr.GetBytes(0,0,x,0,m);
				string type=sdr.GetValue(2).ToString();				
				mClass1.SetObj(x);			
				mClass1.setfield("STATUS","打开印章成功!");
				mClass1.setfield("IMAGETYPE",type);
			}
			sdr.Close();
			conn.Close();
     
		}
		/// <summary>
		/// 保存签名印章

⌨️ 快捷键说明

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