/// <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; }
/// <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); } }
/// <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); }
/// <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(); }