/// <summary> /// 接受外部模块发出的 OnSelected 消息事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override void OnSelected(object sender, xap.rui.control.basecontrol.TargetEventArgs e) { if (!this.Created || !(sender is bannerOpdocstation)) { return; } this.ent4BannerDTO = null; BaseEmsView.EmptyPatDIInfo = true; this.EventCloseEmsHandle(null); if (e.Object != null) { this.ent4BannerDTO = (e.Object as xap.rui.bizcontrol.bannercontrol.BannerData).Ent4BannerDTO; if (ent4BannerDTO != null && ent4BannerDTO.Fg_inhpbbr.GetValueOrDefault(false) && ent4BannerDTO.Fg_hpfundpay.GetValueOrDefault(false)) { this.ShowInfo("患者:" + this.ent4BannerDTO.Name_pat + "存在医保黑名单!"); } // 转移到具体医疗单类中 BaseEmsView.EmptyPatDIInfo = AssToolEx.CheckPatDiInfo(this.ent4BannerDTO); BaseEmsView.BaseEmsInfoContext.Clear(); if (this.ent4BannerDTO != null) { resetCiEnContextDTOFromBaseEmsContext(); } try { // 是否启用医保标志 BaseEmsView.BaseEmsInfoContext.Add("isMedicalInsuranceEnable", this.Context.GetOrgParam <bool>(ICiOrdNSysParamConst.SYS_PARAM_IsMedicalInsuranceEnable)); //门诊医保审核处理模式:0:实时交互模式,1:集中交互模式,2:医保部门审核模式 BaseEmsView.BaseEmsInfoContext.Add("opMedInsuranceAuditHandel", this.Context.GetOrgParam <int>(ICiOrdNSysParamConst.SYS_PARAM_OpMedInsuranceAuditHandleMode)); }catch//(Exception ex) { this.SetStatusMsg("获取医保参数失败!"); } //组手相关系统参数:1、医生编辑处置区域时,是否自动弹出医嘱组手界面(个人级别);2、诊疗类医嘱的开单模式;(科室级别)3、组手模板的显示和显示顺序(科室级别) BaseEmsView.BaseEmsInfoContext.Add("IsShowOphelperWhenOrOpen", this.Context.GetInstanceParam <bool>(this.Context.PsnInfo.Id_psndoc, "IsShowOphelperWhenOrOpen")); BaseEmsView.BaseEmsInfoContext.Add(ICiOrdNSysParamConst.OPDiagTreatTmplOrOpenMode, this.Context.GetDeptParam <string>(ICiOrdNSysParamConst.OPDiagTreatTmplOrOpenMode)); BaseEmsView.BaseEmsInfoContext.Add(ICiOrdNSysParamConst.OrTmplTypeAndSeqSet4OPOrHelper, this.Context.GetDeptParam <string>(ICiOrdNSysParamConst.OrTmplTypeAndSeqSet4OPOrHelper)); } this.GetSelectedEmsView().OnEventSelected(sender, e.Object); this.GetSelectedEmsView().SetSelectDefault(); }
/// <summary> /// 内部分发事件处理方法 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> /// <returns></returns> public override bool OnEventHandle(object sender, xap.rui.engine.DictionaryEventArgs e) { bool bRet = true; switch (AssToolEx.EventCodeOfEventArgs(e)) { // 处理删除按钮和签署按钮发出的消息 case EventCodeType.EVENT_ACTION_ORDERDELETE: // UIEvent.DELETE://删除 case EventCodeType.EVENT_ACTION_ORDERSUBMIT: // "CiSubmit"://签署 case EventCodeType.EVENT_ACTION_REVETSUBMIT: if (!IsEmptyEms()) { // this.SentNotify(EventCodeType.NM_EMS_CLOSE); } break; case EventCodeType.EVENT_ACTION_HPTRANSFORMFILE: EventOpenMedReferralHandle(); break; // 切换到分方页签 case EventCodeType.EVENT_ORDLIST_SWITCH2PRESS: //切换到分方页面 case EventCodeType.EVENT_ORDLIST_SWITCH2FEEBILL: if (this.Visible) { orgSize = this.Size; this.Size = new System.Drawing.Size(this.Size.Width, 0); this.Visible = false; } break; // 切换到医嘱页面 case EventCodeType.EVENT_ORDLIST_SWITCH2ORDLIST: //切换到分方页面 if (!this.Visible) { this.Size = orgSize; this.Visible = true; } break; case EventCodeType.EVENT_EMS_TMPL_EDIT: // "ordertemplate": bRet = EventOrderTmplHandle(AssToolEx.ObjectOfEventArgs(e, "order") as MoreEmsParamDTO); break; // 处理创建医疗单消息 case EventCodeType.EVENT_EMS_CREATE: bRet = EventCreateMultiEmsHandle(AssToolEx.ObjectOfEventArgs(e, EmsCreatedParamList.TAGKEY) as EmsCreatedParamList); break; // 处理编辑医嘱消息 case EventCodeType.EVENT_EMS_ORDER_EDIT: // 处理多医疗单编辑逻辑 bRet = EventEditSingleOrderHandle(AssToolEx.ObjectOfEventArgs(e, OrderEditParamList.TAGKEY) as OrderEditParamList); break; // 处理删除医疗单消息 case EventCodeType.EVENT_EMS_DELETE: bRet = this.GetSelectedEmsView().OnEventHandle(sender, e); break; // 处理关闭医疗单消息 case EventCodeType.EVENT_EMS_CLOSE: bRet = this.EventCloseEmsHandle(this.GetSelectedEmsView()); break; // 处理保存医疗单消息 case EventCodeType.EVENT_EMS_SAVE: bRet = this.GetSelectedEmsView().OnEventHandle(sender, e); break; case EventCodeType.EVENT_EMS_SAVESUCCESS: this.GetSelectedEmsView().OnEventHandle(sender, e); EventCloseEmsHandle(this.GetSelectedEmsView()); this.buttonGroupView.ShowEmsButtonGroup(this.GetSelectedEmsView().GetEmsViewType(), GetSelectedEmsView().AllowEdit()); GetSelectedEmsView().SetSelectDefault(); break; /*诊断保存成功消息事件*/ case EventCodeType.EVENT_ORDI_SAVESUCCE: case EventCodeType.EVENT_ORDI_CHECK: bRet = this.GetSelectedEmsView().OnEventHandle(sender, e); BaseEmsView.EmptyPatDIInfo = AssToolEx.CheckPatDiInfo(this.ent4BannerDTO); //重置医疗单上下文中的就诊上下文信息 resetCiEnContextDTOFromBaseEmsContext(); break; case EventCodeType.EVENT_EMS_ALLOW_EDIT: this.GetSelectedEmsView().SetEditEnable(true); bRet = buttonGroupView.OnEventHandle(sender, e); break; case EventCodeType.EVENT_EMS_DISABLE_EDIT: this.GetSelectedEmsView().SetEditEnable(false); bRet = buttonGroupView.OnEventHandle(sender, e); break; case EventCodeType.EVENT_ORDLIST_DELETEORDER: AssToolEx.SentMessage(this, AssToolEx.ResetEventOfEventArgs(e, UIEvent.DELETE)); break; case EventCodeType.EVENT_EMS_ADD: if (!CheckNewEmsView()) { this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_CLOSE)); } break; case EventCodeType.EVENT_EMS_SAVE_FOCUS: bRet = buttonGroupView.OnEventHandle(sender, e); break; //case EventCodeType.EVENT_EMS_CARDFOCUS: // AssToolEx.SentMessage(this, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_CARDFOCUS)); // break; default: bRet = this.GetSelectedEmsView().OnEventHandle(sender, e); break; } return(bRet); }