Esempio n. 1
0
        /// <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();
        }
Esempio n. 2
0
        /// <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);
        }