/// <summary> /// 添加人员 /// </summary> public void AddUser() { //不可以在大类下及根结点下增加人员 if (this.tvDepartmentLevelTree1.SelectedNode.Parent == null) { return; } //取得当前TreeView中的科室信息 Neusoft.HISFC.Models.Base.DepartmentStat dept = this.tvDepartmentLevelTree1.SelectedNode.Tag as Neusoft.HISFC.Models.Base.DepartmentStat; //取得当前ListView中要修改的人员数据 //人员权限明细实体类 Neusoft.HISFC.Models.Admin.UserPowerDetail userPower = new Neusoft.HISFC.Models.Admin.UserPowerDetail(); userPower.Dept.ID = dept.DeptCode; userPower.Dept.Name = dept.DeptName; userPower.Class1Code = dept.StatCode; userPower.GrantDept = dept.DeptCode; if (dept != null) { Manager.Controls.ucPrivUserManager userManager = new Manager.Controls.ucPrivUserManager(userPower); //创建临时窗口用来修改数据 Neusoft.FrameWork.WinForms.Classes.Function.PopForm.Text = "人员属性"; DialogResult dlg = Neusoft.FrameWork.WinForms.Classes.Function.PopShowControl(userManager); //取窗口返回参数 if (dlg == DialogResult.OK) { //显示当前TreeView中选中节点的下级内容 this.ShowList(); } } }
/// <summary> /// 人员属性 /// </summary> public void UserProperty() { //取得当前TreeView中的科室信息 Neusoft.HISFC.Models.Base.DepartmentStat dept = this.tvDepartmentLevelTree1.SelectedNode.Tag as Neusoft.HISFC.Models.Base.DepartmentStat; //取得当前ListView中要修改的人员数据 Neusoft.HISFC.Models.Admin.UserPowerDetail userPower = this.neuListView1.SelectedItems[0].Tag as Neusoft.HISFC.Models.Admin.UserPowerDetail; userPower.Dept.ID = dept.DeptCode; //科室编码 userPower.Dept.Name = dept.DeptName; //科室名称 userPower.GrantDept = dept.DeptCode; if (dept != null) { Manager.Controls.ucPrivUserManager userManager = new Manager.Controls.ucPrivUserManager(userPower); //创建临时窗口用来修改数据 Neusoft.FrameWork.WinForms.Classes.Function.PopForm.Text = "人员属性"; DialogResult dlg = Neusoft.FrameWork.WinForms.Classes.Function.PopShowControl(userManager); //取窗口返回参数 if (dlg == DialogResult.OK) { //更新ListView中科室的名称 //this.lvInfo.SelectedItems[0].Text = userPower.User.Name; //显示当前TreeView中选中节点的下级内容 this.ShowList(); } } }
/// <summary> /// 根据登陆人的权限,过滤摆药台 /// </summary> /// <param name="al"></param> /// <returns></returns> private ArrayList FliterControl(ArrayList al) { //人员权限分配明细管理 Neusoft.HISFC.BizLogic.Manager.UserPowerDetailManager privManager = new Neusoft.HISFC.BizLogic.Manager.UserPowerDetailManager(); string operCode = privManager.Operator.ID; string deptCode = ((Neusoft.HISFC.Models.Base.Employee)privManager.Operator).Dept.ID; //定义药房管理类 Neusoft.HISFC.BizLogic.Pharmacy.DrugStore drugStoreManager = new Neusoft.HISFC.BizLogic.Pharmacy.DrugStore(); //取操作员的药房权限 ArrayList alPriv = privManager.LoadByUserCode(operCode, "03", deptCode); string priv = ""; for (int i = 0; i < alPriv.Count; i++) { Neusoft.HISFC.Models.Admin.UserPowerDetail no = alPriv[i] as Neusoft.HISFC.Models.Admin.UserPowerDetail; if (no.PowerLevelClass.Class3Code == "Z1") { priv += "B"; } if (no.PowerLevelClass.Class3Code == "Z2") { priv += "T"; } } if (al == null) { MessageBox.Show(drugStoreManager.Err); return(al); } if (al.Count == 0) { MessageBox.Show(Language.Msg("您所在的科室没有设置摆药台,请先设置本科室的摆药台。")); return(al); } Neusoft.HISFC.Models.Pharmacy.DrugControl control; Neusoft.HISFC.Models.Pharmacy.DrugControl QuitDrugControl = new Neusoft.HISFC.Models.Pharmacy.DrugControl(); for (int i = 0; i < al.Count; i++) { control = al[i] as Neusoft.HISFC.Models.Pharmacy.DrugControl; if (control.Name == "退药台") { QuitDrugControl = control; } } if (priv.Length == 1) { if (priv == "B") { al.Remove(QuitDrugControl); } else { al.Clear(); al.Add(QuitDrugControl); } return(al); } else if (priv.Length == 0) { al.Clear(); return(al); } return(al); }
/// <summary> /// 设置菜单和工具栏中的项目是否可用 /// </summary> private void SetEnable() { //取当前TreeView中选中的节点 Neusoft.HISFC.Models.Base.DepartmentStat departmentStat = this.tvDepartmentLevelTree1.SelectedNode.Tag as Neusoft.HISFC.Models.Base.DepartmentStat; //如果当前的TreeView选中的节点不是统计大类(一级节点),则根据属性判断是否可以增加人,否则不允许增加人员 if (departmentStat != null) { Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager deptStatMgr = new Neusoft.HISFC.BizLogic.Manager.DepartmentStatManager(); #region 根据大类权限数量来判断是否可以增加人员(路志鹏、2007-6-15) int resultValue = deptStatMgr.DepartMentClassCount(departmentStat.StatCode); if (resultValue <= 0) { this.menuItemAddUser.Enabled = false; } else { this.menuItemAddUser.Enabled = true; } #endregion } else { this.menuItemAddUser.Enabled = false; } //如果当前的ListView中选中了项目,则属性菜单项可用,否则不可用 if (this.neuListView1.SelectedItems.Count > 0 && this.neuListView1.Focused) { //当ListView中选中项目时,允许查看其属性 this.menuItemProperty.Enabled = true; this.toolBarService.SetToolButtonEnabled("属性", true); //如果当前的ListView中选中了科室,则删除菜单项可用,否则不可用。人员不能在此处删除。 Neusoft.HISFC.Models.Admin.UserPowerDetail userPower = this.neuListView1.SelectedItems[0].Tag as Neusoft.HISFC.Models.Admin.UserPowerDetail; if (userPower == null) { this.menuItemDelete.Enabled = true; this.toolBarService.SetToolButtonEnabled("删除", true); } else { this.menuItemDelete.Enabled = false; this.toolBarService.SetToolButtonEnabled("删除", false); } } else { //当ListView中没有选中项目时,如果TreeView中选中了项目则允许查看TreeView中节点的属性 if (this.tvDepartmentLevelTree1.SelectedNode != null && this.tvDepartmentLevelTree1.SelectedNode.Parent != null) { this.menuItemProperty.Enabled = true; this.toolBarService.SetToolButtonEnabled("属性", true); } else { this.menuItemProperty.Enabled = false; this.toolBarService.SetToolButtonEnabled("属性", false); } this.menuItemDelete.Enabled = false; this.toolBarService.SetToolButtonEnabled("删除", false); } }
/// <summary> /// 有参构造函数, 传对象 /// </summary> /// <param name="userPD"></param> public ucPrivUserManager(Neusoft.HISFC.Models.Admin.UserPowerDetail userPD) { InitializeComponent(); this.userPowerDetail = userPD; init(); }