/// <summary> /// 根据传入的摆药台设置本科室的摆药台 /// </summary> /// <param name="drugControl">摆药台</param> /// <returns></returns> public virtual int SetDrugControl(Neusoft.HISFC.Models.Pharmacy.DrugControl drugControl) { Neusoft.FrameWork.Models.NeuObject tempDept = drugControl.Dept; this.SetArkDept(ref tempDept); drugControl.Dept = tempDept; if (this.drugControl.Dept.ID != drugControl.Dept.ID) { this.GetDrugControlGather(drugControl); } this.drugControl = drugControl; try { this.SetPropertyByDrugControl(); if (this.IDrugManager != null) { this.IDrugManager.Clear(); } this.ShowList(); } catch (Exception ex) { MessageBox.Show(Language.Msg("根据传入摆药台设置本科室的摆药台失败!") + ex.Message); } return(1); }
/// <summary> /// 显示本科室全部摆药台列表 /// </summary> public virtual void ShowControlList(string deptCode) { //清除当前显示的摆药台 this.neuSpread1_Sheet1.Rows.Count = 0; //判断科室编码是否存在 if (deptCode == "") { MessageBox.Show(Language.Msg("无效的摆药科室!没有可以选择的摆药台")); return; } //定义药房管理类 Neusoft.HISFC.BizLogic.Pharmacy.DrugStore drugStoreManager = new Neusoft.HISFC.BizLogic.Pharmacy.DrugStore(); //取本科室全部摆药台列表 ArrayList al = drugStoreManager.QueryDrugControlList(deptCode); //{50CAFFB7-1E18-4b0d-95D6-CEC019D4C35D} 权限控制摆药台 add by guanyx al = this.FliterControl(al); if (al == null) { MessageBox.Show(drugStoreManager.Err); return; } if (al.Count == 0) { MessageBox.Show(Language.Msg("您所在的科室没有设置摆药台,请先检查本科室的摆药台。\n\r或者您没有操作摆药台的权限,请检查您的权限")); return; } this.neuSpread1_Sheet1.Rows.Add(0, al.Count); Neusoft.HISFC.Models.Pharmacy.DrugControl drugControl; for (int i = 0; i < al.Count; i++) { drugControl = al[i] as Neusoft.HISFC.Models.Pharmacy.DrugControl; FarPoint.Win.Spread.CellType.ButtonCellType btnType = new FarPoint.Win.Spread.CellType.ButtonCellType(); btnType.ButtonColor = System.Drawing.Color.FromArgb(((System.Byte)(192)), ((System.Byte)(225)), ((System.Byte)(243))); btnType.Text = drugControl.Name; btnType.TextDown = drugControl.Name; this.neuSpread1_Sheet1.Cells[i, 0].CellType = btnType; this.neuSpread1_Sheet1.Cells[i, 1].Text = drugControl.SendType == 0 ? "全部" : (drugControl.SendType == 1 ? "集中" : "临时"); this.neuSpread1_Sheet1.Cells[i, 2].Text = drugControl.ShowLevel == 0 ? "显示科室汇总" : (drugControl.ShowLevel == 1 ? "显示科室明细" : "显示患者明细"); this.neuSpread1_Sheet1.Rows[i].Tag = drugControl; } if (al.Count == 1) { this.drugControl = al[0] as Neusoft.HISFC.Models.Pharmacy.DrugControl; if (this.SelectControlEvent != null) { this.SelectControlEvent(this.drugControl); } return; } }
private void neuSpread1_ButtonClicked(object sender, FarPoint.Win.Spread.EditorNotifyEventArgs e) { if (e.Column == 0) { this.drugControl = this.neuSpread1_Sheet1.Rows[e.Row].Tag as Neusoft.HISFC.Models.Pharmacy.DrugControl; if (this.SelectControlEvent != null) { this.SelectControlEvent(this.drugControl); } } }
/// <summary> /// 摆药管理 /// </summary> private void ShowDrugManager(Neusoft.HISFC.Models.Pharmacy.DrugControl drugControl) { frmDrugManager = new frmInpatientDrug(); Neusoft.FrameWork.Management.DataBaseManger dataManager = new DataBaseManger(); if (drugControl.Dept == null || drugControl.Dept.ID == "") { drugControl.Dept = ((Neusoft.HISFC.Models.Base.Employee)dataManager.Operator).Dept.Clone(); } frmDrugManager.SetDrugControl(drugControl); frmDrugManager.Show(); }
/// <summary> /// 根据摆药属性取本科室的摆药台 /// </summary> /// <returns>成功返回1失败返回-1</returns> public virtual int SetDrugControl() { if (this.Tag != null && this.Tag.ToString() != "") { if (this.drugControl.ID != "") { return(1); } this.drugControl.Dept = this.ApproveOperDept; Neusoft.FrameWork.Models.NeuObject tempDept = drugControl.Dept.Clone(); this.SetArkDept(ref tempDept); drugControl.Dept = tempDept; #region 根据窗口参数 设置配药台 this.drugControl.DrugAttribute.ID = this.Tag.ToString(); //判断是否存在有效的摆药台。 this.drugControl = this.drugStoreManager.GetDrugControl(this.drugControl.Dept.ID, (Neusoft.HISFC.Models.Pharmacy.DrugAttribute.enuDrugAttribute) this.drugControl.DrugAttribute.ID); if (this.drugControl == null) { MessageBox.Show(Language.Msg("取摆药台时出错!") + this.drugStoreManager.Err); return(-1); } if (this.drugControl.ID == "") { MessageBox.Show(Language.Msg("请设置本科室中【" + this.drugControl.DrugAttribute.Name + "】的摆药台!")); return(-1); } this.SetDrugControl(this.drugControl); #endregion if (this.GetDrugControlGather(this.drugControl) == -1) { return(-1); } } return(1); }
/// <summary> /// 获取已知摆药台所属药房的配药台集合 /// </summary> /// <param name="drugControl">已知摆药台</param> /// <returns>成功返回1 失败返回-1</returns> private int GetDrugControlGather(Neusoft.HISFC.Models.Pharmacy.DrugControl drugControl) { //取本科室全部摆药台列表 ArrayList al = this.drugStoreManager.QueryDrugControlList(drugControl.Dept.ID); //{50CAFFB7-1E18-4b0d-95D6-CEC019D4C35D} 权限控制摆药台 add by guanyx al = this.FliterControl(al); if (al == null) { MessageBox.Show(Language.Msg("获取全部配药台列表发生错误!") + drugStoreManager.Err); return(-1); } this.DrugControlGather = al; return(1); }
private void menuItem_Click(object sender, EventArgs e) { System.Windows.Forms.ToolStripMenuItem menuItem = sender as ToolStripMenuItem; this.drugControl = menuItem.Tag as Neusoft.HISFC.Models.Pharmacy.DrugControl; System.Windows.Forms.ToolStripMenuItem tempMenu = this.GetCheckMenuItem(this.tsbControlList); if (tempMenu != null) { if ((tempMenu.Tag as Neusoft.HISFC.Models.Pharmacy.DrugControl).ID == this.drugControl.ID) { return; } } //取消所有选中标记 foreach (ToolStripMenuItem info in this.tsbControlList.DropDownItems) { this.SetCheckMenuItem(info, false); } //设置选中标记 this.SetCheckMenuItem(menuItem, true); //重新设置摆药台并显示 this.SetDrugControl(this.drugControl); }
/// <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); }
private void ucChooseDrugControl1_SelectControlEvent(Neusoft.HISFC.Models.Pharmacy.DrugControl drugControl) { this.ShowDrugManager(drugControl); }