/// <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> /// <returns>成功返回当前实例的副本</returns> public new DrugTerminal Clone() { DrugTerminal drugTerminal = base.Clone() as DrugTerminal; drugTerminal.Dept = this.Dept.Clone(); drugTerminal.ReplaceTerminal = this.ReplaceTerminal.Clone(); drugTerminal.Oper = this.Oper.Clone(); drugTerminal.SendWindow = this.sendWindow.Clone(); return(drugTerminal); }
/// <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); }