using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Infragistics.Win.UltraWinTree; using com.hnshituo.core.vo; using CoreFS.CA06;using Pur.Entity;using Pur.Entity; using Infragistics.Win.UltraWinGrid; using Core.Mes.Client.Comm.Control; using Pur.Entity.Core; namespace Pur.configure { public partial class SetectManByDept : FrmPmsBase { public string strTips = "0"; public string StrUserID = ""; public string StrUserName = ""; public string StrDeptId = ""; public string StrDeptName = ""; public SetectManByDept() { InitializeComponent(); } public SetectManByDept(OpeBase ob) { this.ob = ob; InitializeComponent(); } public SetectManByDept(OpeBase ob, string strDeptName) { this.ob = ob; InitializeComponent(); StrDeptName = strDeptName; } private void SetectManByDept_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); try { dt = this.execute("com.hnshituo.core.service.AppDepartmentService", "findAll", new object[] { }); } catch (Exception ex) { MessageBox.Show("查询部门信息失败:"+ex.Message, "提示"); return; } if (dt != null || dt.Rows.Count > 0) { AppUser man = new AppUser(); dt_Purmanclass = dt;//保存部门信息 getultree(dt);//绑定部门信息 getMan(man);//查询人员 //激活部门科室 UltraTreeNode utnd = ultraTreeDept.GetNodeByKey(StrDeptName); ultraTreeDept.ActiveNode = utnd; StrDeptName = ""; } else { MessageBox.Show("没有查询到任何部门信息", "提示"); return; } } /// /// 获取物料分类树形结构 /// DataTable dt_Purmanclass = null; public void getultree(DataTable dt) { ultraTreeDept.Nodes.Clear(); if (dt == null || dt.Rows.Count < 1) { return; } dt_Purmanclass = dt;//保存部门分类全局变量 DataTable dt_A = new DataTable();//部门分类 //筛选出根节点 DataRow[] rows = dt.Select("PID='' or PID is null"); dt_A = dt.Clone(); //克隆A的结构 foreach (DataRow row in rows) { dt_A.ImportRow(row);//复制行数据 } //添加物料大类 for (int j = 0; j < dt_A.Rows.Count; j++) { UltraTreeNode Ultnode = ultraTreeDept.Nodes.Add(dt_A.Rows[j]["DEPARTID"].ToString(), dt_A.Rows[j]["DEPARTNAME"].ToString()); getChildNodes(Ultnode); } } /// /// 递归查询父节点下的所有子节点 /// /// public void getChildNodes(UltraTreeNode Tnode) { DataTable dt_A = dt_Purmanclass.Clone();//物料分类 DataRow[] rows = dt_Purmanclass.Select("PID='" + Tnode.Key + "'"); foreach (DataRow row in rows) { dt_A.ImportRow(row);//复制行数据 } //添加物料分类 for (int j = 0; j < dt_A.Rows.Count; j++) { UltraTreeNode Ultnode = Tnode.Nodes.Add(dt_A.Rows[j]["DEPARTID"].ToString(), dt_A.Rows[j]["DEPARTNAME"].ToString()); getChildNodes(Ultnode);//利用递归将当前节点的子节点添加进去 } } /// /// 查询物料 /// private void getMan(AppUser man) { try { //man.Username = tbxUserNameQ.Text.Trim(); //man.Userid = tbxUserIdQ.Text.Trim(); DataTable dt_man = this.execute("com.hnshituo.core.service.AppUserService", "pageQueryChatManList1", new object[] { man }); //DataTable dt_man = this.execute("com.hnshituo.core.service.AppUserService", "find", new object[] { man, 0, 0 }); if(dt_man !=null||dt_man.Rows.Count>0) { dataTable1.Rows.Clear(); GridHelper.CopyDataToDatatable(ref dt_man, ref dataTable1, true); GridHelper.RefreshAndAutoSize(ultraGrid1); } } catch (Exception ex) { MessageBox.Show("查询人员信息失败:" + ex.Message, "提示"); return; } } private void QueryButton_Click(object sender, EventArgs e) { AppUser man = new AppUser(); man.Userid =tbxUserIdQ.Text.ToString().Trim(); man.Username = tbxUserNameQ.Text.ToString().Trim(); getMan(man); } UltraTreeNode qUltraNode = null; private void ultraTreeDept_AfterSelect(object sender, SelectEventArgs e) { } private void SureButton_Click(object sender, EventArgs e) { returnMan(); } private void returnMan() { UltraGridRow row = ultraGrid1.ActiveRow; if (row == null) { MessageBox.Show("请选择人员", "提示"); } StrUserID = row.Cells["userid"].Value.ToString(); StrUserName = row.Cells["username"].Value.ToString(); StrDeptId = row.Cells["deptid"].Value.ToString(); StrDeptName = row.Cells["duty"].Value.ToString(); strTips = "1"; this.Close(); } private void ultraGrid1_CellChange(object sender, Infragistics.Win.UltraWinGrid.CellEventArgs e) { ultraGrid1.UpdateData(); if (Convert.ToBoolean(e.Cell.Row.Cells["isSelect"].Value)==false) { foreach (UltraGridRow row in ultraGrid1.Rows) { row.Cells["isSelect"].Value=false; } e.Cell.Row.Cells["isSelect"].Value = true; } } private void ultraTreeDept_AfterActivate(object sender, NodeEventArgs e) { AppUser eMan = new AppUser(); ultraTreeDept.ActiveNode.Expanded = true; qUltraNode = ultraTreeDept.ActiveNode; eMan.Deptid = qUltraNode.Key; getMan(eMan); } private void ultraGrid1_DoubleClickRow(object sender, DoubleClickRowEventArgs e) { returnMan(); } } }