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

📄 changeusers.aspx.cs

📁 很不错的公文流转系统
💻 CS
字号:
/*
作者:蒲丰. 
创建日期:2003-12-30
修改者:
修改日期:
修改部分:
类功能: 改变用户
参数:传入documentid
 */ 
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 OI.DatabaseOper ;
using Microsoft.Web.UI.WebControls;

namespace OI.Stream
{
	/// <summary>
	/// changeusers 的摘要说明。
	/// 
	/// </summary>
	public class changeusers :OI.PageBase
	{
		protected System.Web.UI.WebControls.ListBox havePerson;
		protected System.Web.UI.WebControls.ListBox SelectedPerson;
		protected System.Web.UI.WebControls.Button ButtonAdd;
		protected System.Web.UI.WebControls.Button ButtonRemove;
		protected System.Web.UI.WebControls.ImageButton ImageButton1;
		private DatabaseConnect dc=new DatabaseConnect ();
	    string documentid;
		string currentNodeID ;
		string nextNodeID;
		protected System.Web.UI.WebControls.Button btn_back;
		protected Microsoft.Web.UI.WebControls.TreeView DarentmentList;
		OI.cs.readStream Rs=new OI.cs.readStream ();

		private void Page_Load(object sender, System.EventArgs e)
		{
			// 在此处放置用户代码以初始化页面
			
			
			if(!this.IsPostBack )
			{
				ViewState["documentid"]=Request.Params["documentid"].ToString ();
				try //pf所加,选择用户时应判断其拥有的权限.
				{
					ViewState["power"]=Request.QueryString["power"];
               
				}
				catch
				{
				}
				this.CreateDataSource ();	//绑定树
				DarentmentList.SelectedNodeIndex ="0";

				this.InitPage ();
				Rs.doucmentID =int.Parse (ViewState["documentid"].ToString ());
				setSelectedPerson();
			}
			else
			{
				string sql="select CurrentStepID from document where documentid=" +ViewState["documentid"].ToString ();
               currentNodeID=dc.GetObjectBySql (sql).ToString () ;
				
			   Rs.doucmentID =int.Parse (ViewState["documentid"].ToString ());
			   nextNodeID=Rs.GetNextNodeIdByID(currentNodeID); 
				if (ViewState["power"]==null)
				{
					ViewState["power"]=GetPower();
				}
			}
			documentid=ViewState["documentid"].ToString ();
		
		}
		/// <summary>
		/// 得到下一处理节点的类型,将其转为权限();
		/// </summary>
		/// <returns></returns>
		private string  GetPower()
		{
			try
			{
				OI.cs.readStream rs=new OI.cs.readStream ();
				rs.doucmentID =int.Parse (ViewState["documentid"].ToString ());
				string type= rs.GetNodeTypeByID (nextNodeID);
				if (type=="公文签发")
					type="签发管理";
				return type;
			}
			catch
			{
				return null;
			}
		}
		private void InitPage()
		{
			havePerson.SelectedIndex =-1;
			SelectedPerson.SelectedIndex =-1;		
		}
	/// <summary>
	/// 
	/// </summary>
		private void setSelectedPerson()
		{
		
			int currentstep=int.Parse (dc.GetObjectBySql("select CurrentStepID from document where documentid="+ViewState["documentid"] ).ToString () );
			nextNodeID=Rs.GetNextNodeIdByID(currentstep.ToString ()) ;
			DataSet ds=new DataSet ();
			ds=dc.getBinding ("select  username,au.userid from transactusers ts,accounts_users au where au.userid=ts.userid and ts.documentid="+ViewState["documentid"] + " and ts.stepID="+ nextNodeID.ToString (),"t");
			SelectedPerson.DataSource =ds.Tables[0];
			SelectedPerson.DataTextField =ds.Tables[0].Columns["username"].ToString ();
			SelectedPerson.DataValueField =ds.Tables[0].Columns["userid"].ToString ();
			SelectedPerson.DataBind ();
		}
/// <summary>
/// 绑定数据到右边的第一个ListBox框中
/// </summary>
		private void IniData()
		{
			int departmentID=Convert.ToInt32 (DarentmentList.GetNodeFromIndex (DarentmentList.SelectedNodeIndex ).ID.Trim ());
			string sql="SELECT COUNT(UserID) AS nCount FROM Accounts_Users WHERE DepartmentID='"+departmentID+"'";
			ArrayList al1=dc.getData (sql);
			if(al1.Count >0)
			{
				if(int.Parse (al1[0].ToString ())<=0)
				{
//					Page.RegisterStartupScript ("","<script>alert('该部门没有人员')</script>");
//					int nItem=havePerson.Items.Count;
//					for(int i=0;i< nItem;i++)
//						havePerson.Items .RemoveAt (0);
                    havePerson.Items .Clear();
					return;
				}
			}
			sql="SELECT UserID,UserName FROM Accounts_Users WHERE DepartmentID='"+departmentID+"' order by DisplayOrder";
			DataSet ds=dc.getBinding (sql,"users");			
			havePerson.DataSource =ds.Tables ["users"].DefaultView ;
			havePerson.DataTextField ="UserName";
			havePerson.DataValueField ="UserID";			
			havePerson.DataBind ();
		}

		#region Web 窗体设计器生成的代码
		override protected void OnInit(EventArgs e)
		{
			//
			// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
			//
			InitializeComponent();
			base.OnInit(e);
		}
		
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{   
			this.DarentmentList.SelectedIndexChange += new Microsoft.Web.UI.WebControls.SelectEventHandler(this.DarentmentList_SelectedIndexChange);
			this.ButtonAdd.Click += new System.EventHandler(this.ButtonAdd_Click);
			this.ButtonRemove.Click += new System.EventHandler(this.ButtonRemove_Click);
			this.ImageButton1.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton1_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

	/// <summary>
	/// 初始化绑定树
	/// </summary>
		private void CreateDataSource()
		{
			DarentmentList.Nodes .Clear ();
			TreeNode node=new TreeNode ();
			node.Text ="开始";
			node.ID ="0";
			CreateDataSource("0",ref node);
			DarentmentList.Nodes .Add (node);
		}

	 
	/// <summary>
	/// 绑定树
	/// </summary>
	/// <param name="Parentid"></param>
	/// <param name="Pnode"></param>
		private void CreateDataSource (string Parentid, ref TreeNode Pnode)
		{
			string sql ="SELECT DepartmentId,DepartmentName,IsPublic FROM departments WHERE ParentDepartmentID='"+Parentid+"' order by  displayorder";
			DataSet ds;
			ds=dc.getBinding (sql,"s11");
			foreach (DataRow dr in ds.Tables["s11"].Rows )
			{
				TreeNode node=new TreeNode ();
				node.Text =dr["DepartmentName"].ToString ();
				node.ID =dr["DepartmentId"].ToString ();				
				/*
				if (dr["menupath"].ToString () !="")
				{
					node.NavigateUrl=dr["menupath"].ToString ();
					node.Target ="main";
				}*/
				if(Convert.ToBoolean (dr["IsPublic"].ToString ().Trim ()))
				{
					CreateDataSource(dr["DepartmentId"].ToString (),ref node);
					Pnode.Nodes .Add(node);
				}
			}
		}
		private void Department_SelectedIndexChanged(object sender, System.EventArgs e)
		{
		
		}

		private void LinkButton1_Click(object sender, System.EventArgs e)
		{
			int departmentID=Convert.ToInt32 (DarentmentList.GetNodeFromIndex (DarentmentList.SelectedNodeIndex ).ID.Trim ());
			string sql="SELECT COUNT(UserID) AS nCount FROM Accounts_Users WHERE DepartmentID='"+departmentID+"'";
			ArrayList al1=dc.getData (sql);
			if(al1.Count >0)
			{
				if(int.Parse (al1[0].ToString ())<=0)
				{
//					Page.RegisterStartupScript ("","<script>alert('该部门没有人员')</script>");
//					int nItem=havePerson.Items.Count;
//					for(int i=0;i< nItem;i++)
//						havePerson.Items .RemoveAt (0);
					return;
				}
			}
			sql="SELECT UserID,UserName FROM Accounts_Users WHERE DepartmentID='"+departmentID+"' order by DisplayOrder";
			DataSet ds=dc.getBinding (sql,"users");			
			havePerson.DataSource =ds.Tables ["users"].DefaultView ;
			havePerson.DataTextField ="UserName";
			havePerson.DataValueField ="UserID";			
			havePerson.DataBind ();
		}

		private void ButtonAdd_Click(object sender, System.EventArgs e)
		{			
			if(havePerson.SelectedIndex <0)
			{
				Page.RegisterStartupScript ("","<script>alert('请选择要增加的人员')<script>");
				return;
			}
			/*
			DataTable dt=new DataTable ();
			DataColumn dc=new DataColumn ();
			DataRow dr;
			dc.ColumnName ="UserName";
			dt.Columns .Add (dc);
			dc=new DataColumn ();
			dc.ColumnName ="UserID";
			dt.Columns .Add (dc);*/
			foreach(ListItem li in havePerson.Items )
			{
				if(li.Selected )
				{
					/*
					dr=dt.NewRow ();
					dr["UserName"]=li.Text ;
					dr["UserID"]=li.Value ;
					dt.Rows .Add (dr);
					*/
					ListItem lItem=SelectedPerson.Items .FindByText (li.Text );
					if(lItem==null)
					{
						ListItem item=new ListItem (li.Text ,li.Value );
						SelectedPerson.Items .Add (item);
					}
					
				}
			}
			havePerson.SelectedIndex =-1;
			/*
			SelectedPerson.DataSource =dt;
			SelectedPerson.DataTextField ="UserName";
			SelectedPerson.DataValueField ="UserID";
			SelectedPerson.DataBind ();
			*/
		}

		private void ButtonRemove_Click(object sender, System.EventArgs e)
		{
						
			int nCount=0;
			foreach(ListItem li in SelectedPerson.Items )
			{
				if(li.Selected )
				{
					nCount++ ;
				}
			}
			string[] strText=new string [nCount];

			nCount=0;
			foreach(ListItem li in SelectedPerson.Items )
			{
				if(li.Selected )
				{
					strText[nCount++]=li.Text  ;
				}
			}
			for(int i=0;i<nCount;i++)
			{
				SelectedPerson.Items .Remove (SelectedPerson.Items .FindByText (strText[i]));
			}
			SelectedPerson.SelectedIndex =-1;
		}

		private void ButtonOK_Click(object sender, System.EventArgs e)
		{			
				
			
		}

	 

		private void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e)
		{
			
			
			if(SelectedPerson.Items .Count <1)
			{
				Page.RegisterStartupScript ("","<script>alert('右边列表框中没有人员')</script>");
				return;
			}
			if(SelectedPerson.Items.Count>1 )//pf3.2修改这儿,只能有一人.
			{
				Page.RegisterStartupScript("","<script>alert('选择人数不能多于一人');</script>");
				return;
			}
			string strText=SelectedPerson.Items [0].Text ; 
			string strValue=SelectedPerson.Items [0].Value ;
			if (ViewState["power"] != null) //pf 3.1修改这儿,power不为空,要验证权限
			{
				try
				{
					if (ViewState["power"].ToString ()=="完成")
					{
						Page.RegisterStartupScript ("","<script>alert('此流程己经结束,你不能再选择用户进行下一步操作!')</script>");
						return ;
					}
					if (!OI.cs.existPoser.ExistPower(strValue, ViewState["power"].ToString () ))
					{
						Page.RegisterStartupScript ("","<script>alert('"+strText +"没有"+ViewState["power"].ToString ()+"的权限,请联系管理员!')</script>");
						return ;
					}
				}
				catch (Exception er)
				{
					Response.Write ( er.Message );
					Response.End ();
				}
			}
			string []users=new string [SelectedPerson.Items .Count +1];
			users [0]=" delete  TransactUsers where documentid="+documentid +" and stepID="+nextNodeID;
			for(int i=0;i<SelectedPerson.Items .Count ;i++)
			{	
				users[i+1]="insert into TransactUsers (documentid,userid,stepID) values("+documentid +","+ SelectedPerson.Items[i].Value  +","+nextNodeID +")";
			}
			dc.ExcuteSqls(users); 
			string javascript="<script language=javascript>window.close()</script>";
			Page.RegisterStartupScript ("",javascript);		
		}

		private void DarentmentList_SelectedIndexChange(object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e)
		{
		IniData();//绑定数据到右边的第一个ListBox框中
		}		
	}
}

⌨️ 快捷键说明

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