Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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;
            }
        }
Ejemplo n.º 3
0
        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);
                }
            }
        }
Ejemplo n.º 4
0
        /// <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();
        }
Ejemplo n.º 5
0
        /// <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);
        }
Ejemplo n.º 6
0
        /// <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);
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        /// <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);
        }
Ejemplo n.º 9
0
 private void ucChooseDrugControl1_SelectControlEvent(Neusoft.HISFC.Models.Pharmacy.DrugControl drugControl)
 {
     this.ShowDrugManager(drugControl);
 }