/// <summary>
        /// 带参数的构造函数
        /// </summary>
        /// <param name="deptCode">科室编码</param>
        /// <param name="terminalType">终端类型</param>
        public DrugTerminalClass(string deptCode, string terminalType)
        {
            //获取终端列表
            Neusoft.HISFC.BizLogic.Pharmacy.DrugStore drugStore = new Neusoft.HISFC.BizLogic.Pharmacy.DrugStore( );
            ArrayList al = drugStore.QueryDrugTerminalByDeptCode(deptCode, terminalType);

            string[] temp = new string[al.Count + 1];

            temp[0] = "无替代";

            for (int i = 1; i < al.Count; i++)
            {
                Neusoft.HISFC.Models.Pharmacy.DrugTerminal info = al[i] as Neusoft.HISFC.Models.Pharmacy.DrugTerminal;
                temp[i] = "<" + info.ID + ">" + info.Name;
            }

            ReplaceConverter.EnumString = temp;

            //获取发药窗口列表
            ArrayList tempAl = drugStore.QueryDrugTerminalByDeptCode(deptCode, "0");

            string[] tempStr = new string[tempAl.Count];

            for (int i = 0; i < tempAl.Count; i++)
            {
                Neusoft.HISFC.Models.Pharmacy.DrugTerminal info = tempAl[i] as Neusoft.HISFC.Models.Pharmacy.DrugTerminal;
                tempStr[i] = "<" + info.ID + ">" + info.Name;
            }

            SendWindowConverter.EnumString = tempStr;
        }
示例#2
0
        /// <summary>
        /// 根据科室、终端类型初始化
        /// </summary>
        /// <param name="enumType"></param>
        protected virtual void InitData(Neusoft.HISFC.Models.Pharmacy.EnumTerminalType enumType)
        {
            //根据库房编码、终端类型检索数据
            ArrayList al = drugStore.QueryDrugTerminalByDeptCode(this.privDept.ID, (NConvert.ToInt32(enumType)).ToString( ));

            if (al == null)
            {
                MessageBox.Show(this.drugStore.Err);
                return;
            }
            Neusoft.HISFC.Models.Pharmacy.DrugTerminal info;
            for (int i = 0; i < al.Count; i++)
            {
                info = al[i] as Neusoft.HISFC.Models.Pharmacy.DrugTerminal;
                if (info == null)
                {
                    continue;
                }
                if (!this.IsShowSpecialTerminal && info.TerminalProperty == Neusoft.HISFC.Models.Pharmacy.EnumTerminalProperty.普通)
                {
                    continue;
                }
                //添加节点
                this.SetItem(info);
            }
        }
示例#3
0
        /// <summary>
        /// 门诊终端选择业务
        /// </summary>
        /// <param name="stockDept">操作库房科室</param>
        /// <param name="terminalType">门诊终端类别 0 发药窗口 1 配药台</param>
        /// <param name="isShowMessageBox">对相应的提示信息是否采用MessageBox弹出显示</param>
        /// <returns>成功返回 门诊终端实体 失败返回null</returns>
        public static Neusoft.HISFC.Models.Pharmacy.DrugTerminal TerminalSelect(string stockDept, Neusoft.HISFC.Models.Pharmacy.EnumTerminalType terminalType, bool isShowMessageBox)
        {
            Neusoft.HISFC.Models.Pharmacy.DrugTerminal terminal         = new DrugTerminal( );
            Neusoft.HISFC.BizLogic.Pharmacy.DrugStore  drugStoreManager = new Neusoft.HISFC.BizLogic.Pharmacy.DrugStore( );

            string    strErr             = "";
            bool      isShowTerminalList = true;
            ArrayList alValues           = Neusoft.FrameWork.WinForms.Classes.Function.GetDefaultValue("ClinicDrug", "TerminalCode", out strErr);

            if (alValues != null && alValues.Count > 0 && (alValues[0] as string) != "")
            {
                //根据配置文件内编码确定终端
                terminal = drugStoreManager.GetDrugTerminalById(alValues[0] as string);
                if (terminal != null)
                {
                    if (terminal.IsClose && isShowMessageBox)
                    {
                        System.Windows.Forms.MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("配置文件内设置的终端" + terminal.Name + "已关闭"));
                    }

                    if (terminal.TerminalType == terminalType)
                    {
                        isShowTerminalList = false;
                    }
                }
            }

            if (isShowTerminalList)
            {
                #region 配置文件内编码无效 弹出列表供人员选择

                ArrayList al = drugStoreManager.QueryDrugTerminalByDeptCode(stockDept, terminalType.GetHashCode( ).ToString( ));
                if (al == null && isShowMessageBox)
                {
                    System.Windows.Forms.MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("未获取终端列表") + drugStoreManager.Err);
                    return(null);
                }
                Neusoft.FrameWork.Models.NeuObject tempTerminal = new NeuObject( );
                if (Neusoft.FrameWork.WinForms.Classes.Function.ChooseItem(al, null, new bool[] { true, true, false, false, false, false, false, false }, null, ref tempTerminal) == 0)
                //if (Neusoft.FrameWork.WinForms.Classes.Function.ChooseItem(al, ref tempTerminal) == 0)
                {
                    return(null);
                }
                else
                {
                    terminal = tempTerminal as Neusoft.HISFC.Models.Pharmacy.DrugTerminal;
                }

                #endregion
            }

            if (terminal != null && terminal.TerminalType == EnumTerminalType.配药台)
            {
                Neusoft.HISFC.Models.Pharmacy.DrugTerminal sendTerminal = drugStoreManager.GetDrugTerminalById(terminal.SendWindow.ID);
                if (sendTerminal != null)
                {
                    terminal.SendWindow.Name = sendTerminal.Name;
                }
            }

            return(terminal);
        }
示例#4
0
        /// <summary>
        /// 初始化
        /// </summary>
        public virtual void Init()
        {
            Neusoft.FrameWork.WinForms.Classes.Function.ShowWaitForm(Neusoft.FrameWork.Management.Language.Msg("正在加载单据打印基础数据..."));
            Application.DoEvents();

            #region 获取常数信息 用于界面数据显示

            //获得所有频次信息
            Neusoft.HISFC.BizLogic.Manager.Frequency frequencyManagement = new Neusoft.HISFC.BizLogic.Manager.Frequency();
            ArrayList alFrequency = frequencyManagement.GetAll("Root");
            this.frequencyHelper = new Neusoft.FrameWork.Public.ObjectHelper(alFrequency);
            //获取所用用法
            Neusoft.HISFC.BizLogic.Manager.Constant c = new Neusoft.HISFC.BizLogic.Manager.Constant();
            ArrayList alUsage = c.GetList(Neusoft.HISFC.Models.Base.EnumConstant.USAGE);
            if (alUsage == null)
            {
                MessageBox.Show("获取用法列表出错!");
                return;
            }
            this.usageHelper = new Neusoft.FrameWork.Public.ObjectHelper(alUsage);

            Neusoft.HISFC.BizProcess.Integrate.Manager managerIntegrate = new Neusoft.HISFC.BizProcess.Integrate.Manager();
            //获取所有人员
            ArrayList alEmployee = managerIntegrate.QueryEmployeeAll();
            this.personHelper = new Neusoft.FrameWork.Public.ObjectHelper(alEmployee);
            //获取所有科室
            ArrayList alDept = managerIntegrate.GetDepartment();
            this.deptHelper = new Neusoft.FrameWork.Public.ObjectHelper(alDept);

            //获取所有门诊终端
            Neusoft.HISFC.BizLogic.Pharmacy.DrugStore drugStoreManager = new Neusoft.HISFC.BizLogic.Pharmacy.DrugStore();
            ArrayList alDruged = drugStoreManager.QueryDrugTerminalByDeptCode(this.OperDept.ID, "0");
            ArrayList alSend   = drugStoreManager.QueryDrugTerminalByDeptCode(this.OperDept.ID, "1");
            alDruged.AddRange(alSend);
            this.terminalHelper = new Neusoft.FrameWork.Public.ObjectHelper(alDruged);

            #endregion

            #region 获取控制参数信息 用于控制调剂参数更新方式

            Neusoft.FrameWork.Management.ExtendParam extManager = new Neusoft.FrameWork.Management.ExtendParam();
            try
            {
                Neusoft.HISFC.Models.Base.ExtendInfo deptExt = extManager.GetComExtInfo(Neusoft.HISFC.Models.Base.EnumExtendClass.DEPT, "AdjustGist", this.OperDept.ID);
                if (deptExt == null)
                {
                    MessageBox.Show(Neusoft.FrameWork.Management.Language.Msg("获取科室扩展属性内配药调剂参数失败!"));
                }

                if (deptExt.StringProperty == "1")              //发药
                {
                    this.isAdjustInDrug = false;
                }
                else
                {
                    this.isAdjustInDrug = true;                 //配药
                }
            }
            catch { }

            #endregion

            Neusoft.FrameWork.WinForms.Classes.Function.HideWaitForm();

            this.IntiControlParam();
        }