📄 changeusers.aspx.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 + -