Example #1
0
        public override void HandleState(object sender, DictionaryEventArgs eventArgs)
        {
            string uiEvent = eventArgs.Data[UIConst.UI_EVENT] as string;

            //string newState = eventArgs.Data[UIConst.NEW_STATE] as string;
            switch (uiEvent)
            {
            case UIEvent.LOAD:
                break;

            case "All_Print":
                isPrtSucc = this.rpt_viewer.PrintRptFile();
                //打印病历
                Object objData = AssToolEx.ObjectOfEventArgs(eventArgs, "Print_Mr");
                if (OwnerView != null && null != objData && (objData as String).Equals("true"))
                {
                    AssToolEx.SentMessage(OwnerView, AssToolEx.DictionaryEventArgsWith(AssistantConstant.CI_EMR_PRINT_EVENT));
                }
                break;

            case "All_Export":
                this.rpt_viewer.ExportRptFile();
                break;

            default:
                break;
            }
        }
Example #2
0
        /// <summary>
        /// 医疗单中医保数据变化时,需要同步到费用页签中
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void EmsHpDataChangedForMappingExpensView(object sender, DictionaryEventArgs e)
        {
            EmsOrDrug drug = null;

            if (AssToolEx.ObjectOfEventArgs(e, "Fg_treat") != null)
            {
                var obj = AssToolEx.ObjectOfEventArgs(e, "Fg_treat");
                if (obj != null)
                {
                    drug = obj as EmsOrDrug;
                }
            }
            else if (AssToolEx.ObjectOfEventArgs(e, "Fg_selfpay") != null)
            {
                var obj = AssToolEx.ObjectOfEventArgs(e, "Fg_selfpay");
                if (obj != null)
                {
                    drug = obj as EmsOrDrug;
                }
            }
            if (drug != null)
            {
                this.GetExpenseDatasource().ForEach(p =>
                {
                    if (p.Id_srv == drug.Id_srv)
                    {
                        p.Fg_selfpay       = drug.Fg_selfpay;
                        p.Fg_treat         = drug.Fg_treat;
                        p.Fg_hpindicjudged = drug.Fg_hpindicjudged;
                    }
                });
            }
        }
Example #3
0
 public virtual void EmsDataChanged(object sender, xap.rui.engine.DictionaryEventArgs e)
 {
     if (e == null || e.Data == null)
     {
         return;
     }
     if (AssToolEx.ObjectOfEventArgs(e, "Fg_treat") != null)
     {
         var       obj     = AssToolEx.ObjectOfEventArgs(e, "Fg_treat");
         EmsOrDrug drug    = obj as EmsOrDrug;
         object    drugObj = this.tableDataSource.Select(p => p.Id_srv == drug.Id_srv);
         if (drugObj != null && drugObj is EmsOrDrug)
         {
             drug.Fg_treat         = (drugObj as EmsOrDrug).Fg_treat;
             drug.Fg_selfpay       = (drugObj as EmsOrDrug).Fg_selfpay;
             drug.Fg_hpindicjudged = (drugObj as EmsOrDrug).Fg_hpindicjudged;
         }
     }
     else if (AssToolEx.ObjectOfEventArgs(e, "Fg_selfpay") != null)
     {
         var       obj     = AssToolEx.ObjectOfEventArgs(e, "Fg_selfpay");
         EmsOrDrug drug    = obj as EmsOrDrug;
         object    drugObj = this.tableDataSource.Select(p => p.Id_srv == drug.Id_srv);
         if (drugObj != null && drugObj is EmsOrDrug)
         {
             drug.Fg_treat         = (drugObj as EmsOrDrug).Fg_treat;
             drug.Fg_selfpay       = (drugObj as EmsOrDrug).Fg_selfpay;
             drug.Fg_hpindicjudged = (drugObj as EmsOrDrug).Fg_hpindicjudged;
         }
     }
 }
Example #4
0
 /// <summary>
 /// 处理子窗口通知事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 /// <returns></returns>
 public override bool OnChildNotify(object sender, xap.rui.engine.DictionaryEventArgs e)
 {
     if (AssToolEx.EventCodeOfEventArgs(e) == EventCodeType.NM_TABLE_CLICK)
     {
         XDataRow row = AssToolEx.ObjectOfEventArgs(e, EventCodeType.NM_TABLE_CLICK) as XDataRow;
         this.GetCardViewControl().Cell_MouseClick(row);
         return(true);
     }
     return(base.OnChildNotify(sender, e));
 }
Example #5
0
        public override void HandleState(object sender, DictionaryEventArgs eventArgs)
        {
            string uiEvent = AssToolEx.EventCodeOfEventArgs(eventArgs);

            if (uiEvent.Equals(EventCodeType.EVENT_ORDLIST_DATAVALIDATE))
            {
                Object dataObj = AssToolEx.ObjectOfEventArgs(eventArgs, "CiOrderDOList");
                if (null != dataObj)
                {
                    List <CiOrderDO> ordList = dataObj as List <CiOrderDO>;
                    // TODO: 校验医嘱数据有效性
                }
            }
        }
Example #6
0
        public override void HandleState(object sender, DictionaryEventArgs e)
        {
            // 获取事件类型
            string uiEvent  = e.Data[UIConst.UI_EVENT] as string;
            string newState = e.Data[UIConst.NEW_STATE] as string;

            // 获取事件参数列表
            Dictionary <string, Object> dict = e.Data[UIConst.DATA] as Dictionary <string, Object>;

            switch (uiEvent)
            {
            case EventCodeType.THIRD_EVENT_MKRMS_ADD:
                SaveMkrmsSelectedResult(AssToolEx.ObjectOfEventArgs(e, "MsDTO") as MsDTO);
                break;

            default:
                break;
            }
        }
Example #7
0
        protected void handleExpenseDataChanged(object sender, DictionaryEventArgs e)
        {
            if (e == null || e.Data == null)
            {
                return;
            }
            if (AssToolEx.ObjectOfEventArgs(e, "Fg_treat") != null)
            {
                var       obj      = AssToolEx.ObjectOfEventArgs(e, "Fg_treat");
                EmsOrDrug drug     = obj as EmsOrDrug;
                EmsUIDTO  emsUIDTO = this.GetViewModel().GetEmsUIDTO() as EmsUIDTO;
                XapDataList <EmsOrDrug> drugList = emsUIDTO.Emsdrugs.EmsOrDrugList;
                EmsOrDrug matchDrug = drugList.ToList().FirstOrDefault(p => p.Id_srv == drug.Id_srv);
                if (matchDrug != null)
                {
                    matchDrug.Fg_treat         = drug.Fg_treat;
                    matchDrug.Fg_selfpay       = matchDrug.Fg_treat == false ? true : matchDrug.Fg_selfpay;
                    matchDrug.Fg_hpindicjudged = (int)HpIndicJudgeEnum.JUDGED;//0不需要判断,1待判断,2已判断;
                }
            }
            else if (AssToolEx.ObjectOfEventArgs(e, "Fg_selfpay") != null)
            {
                var       obj      = AssToolEx.ObjectOfEventArgs(e, "Fg_selfpay");
                EmsOrDrug drug     = obj as EmsOrDrug;
                EmsUIDTO  emsUIDTO = this.GetViewModel().GetEmsUIDTO() as EmsUIDTO;
                XapDataList <EmsOrDrug> drugList = emsUIDTO.Emsdrugs.EmsOrDrugList;
                EmsOrDrug matchDrug = drugList.ToList().FirstOrDefault(p => p.Id_srv == drug.Id_srv);
                if (matchDrug != null)
                {
                    matchDrug.Fg_selfpay       = drug.Fg_selfpay;
                    matchDrug.Fg_hpindicjudged = (int)HpIndicJudgeEnum.JUDGED;//0不需要判断,1待判断,2已判断;
                }
            }
            EmsOrDrug drugitem = this.GetViewModel().GetSelectedObject() as EmsOrDrug;

            this.GetXapFormControl().DataChanged -= OnXapFormControl_DataChanged;
            updateDrugInfo(drugitem);
            this.GetXapFormControl().DataChanged += OnXapFormControl_DataChanged;
        }
Example #8
0
        public override void HandleState(object sender, DictionaryEventArgs eventArgs)
        {
            var uiEvent  = eventArgs.Data[UIConst.UI_EVENT] as string;
            var newState = eventArgs.Data[UIConst.NEW_STATE] as string;
            var dict     = eventArgs.Data[UIConst.DATA] as Dictionary <string, Object>;

            switch (uiEvent)
            {
            case "CiSubmit":    //签署
                this.SignOrd();
                break;

            case UIEvent.DELETE:    //删除
                this.DelOrd();
                break;

            case UIEvent.SAVE_SUCCESS:
                object id_or = AssToolEx.ObjectOfEventArgs(eventArgs, "ID_OR");
                if (id_or != null)
                {
                    ordSelectedContainer.add(id_or.ToString());
                }
                if (Created)
                {
                    this.LoadData();
                }

                this.SetStatusMsg("保存成功!");
                if (control != null)
                {
                    control.TabNavigationForm.Close();
                }
                break;

            case "ListSelected":
                EntranceForEms(dict);
                break;

            case UIEvent.REFRESH:
                this.LoadData();
                break;

            case UIEvent.LOAD:
                var dic = eventArgs.Data[UIConst.DATA] as Dictionary <string, object>;
                if (dic != null)
                {
                    if (this.Created && (this.Context["PatientData"] as BannerData
                                         ).Ent4BannerDTO.Id_ent != patDo.Id_ent)
                    {
                        this.Context["PatientData"] = (dic["PatientData"] as BannerData).Ent4BannerDTO;
                        LoadData();
                    }
                }
                break;

            case "Cipres":
                break;

            case "OpBack":    //撤回
                updateSu(CiDictCodeConst.SD_SU_OPEN, CiDictCodeConst.SD_SU_ID_OPEN, this.patDo.Code_entp);
                break;

            case "EnOver":    //诊毕
                break;

            case "EnStay":    //急诊留观
                break;
            }
        }
Example #9
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);
        }
Example #10
0
        /// <summary>
        /// 事件状态处理方法
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="eventArgs"></param>
        public override bool OnEventHandle(object sender, DictionaryEventArgs e)
        {
            bool result = true;

            switch (AssToolEx.EventCodeOfEventArgs(e))
            {
            /*执行新建医疗单操作*/
            case EventCodeType.EVENT_EMS_CREATE:
                result = HandleCreateEms(AssToolEx.ObjectOfEventArgs(e, EmsCreatedParameter.TAGKEY) as EmsCreatedParameter,
                                         AssToolEx.ParameterOfEventArgs(e));
                if (!result)
                {
                    HandleCancelEmsEvent();
                }
                break;

            /*执行编辑修改操作*/
            case EventCodeType.EVENT_EMS_ORDER_EDIT:
                result = HandleEditOrder((AssToolEx.ObjectOfEventArgs(e, OrderEditParameter.TAGKEY) as OrderEditParameter).OrderItem);
                break;

            case EventCodeType.EVENT_EMS_DIRECT_EDIT:

                result = HandleEditEmsDTO((AssToolEx.ObjectOfEventArgs(e, EmsEditParameter.TAGKEY) as EmsEditParameter).EmsDTO);
                break;

            /*执行保存医疗单操作*/
            case EventCodeType.EVENT_EMS_SAVE:
                result = HandleSaveEmsEvent(AssToolEx.ObjectOfEventArgs(e, "EmsOrDrugList"));
                break;

            /*执行保存医疗单操作*/
            case EventCodeType.EVENT_EMS_SAVESUCCESS:
                result = HandleSaveSuccessEvent();
                break;

            /*执行取消操作*/
            case EventCodeType.EVENT_EMS_CLOSE:
                result = HandleCancelEmsEvent();
                break;

            /*新增一行空数据*/
            case EventCodeType.EVENT_EMS_APPEND:
                result = this.HandleAppendSrvEvent();
                break;

            /*执行删除操作*/
            case EventCodeType.EVENT_EMS_DELETE:
                result = HandleDeleteSrvEvent();
                break;

            /*处理打开诊断对话框*/
            case EventCodeType.EVENT_ORDI_EDIT:
                result = HandleOpenDIEvent(this, this.ent4BannerDTO);
                break;

            /*处理诊断证明*/
            case EventCodeType.THIRD_EVENT_ORSRV_OPOD_OPEN:
                result = HandleProofOfDiagEvent(this.ent4BannerDTO);
                break;

            case EventCodeType.EVENT_ORDI_SAVESUCCE:
                HandleOrDiSaveSuccess(this.isFirstVisit, AssToolEx.ObjectOfEventArgs(e, "DIDTOLIST") as List <DIDTO>);
                break;

            case EventCodeType.EVENT_EMS_APBU_ADD:
                result = this.GetEmsView().OnEventHandle(sender, e);
                break;

            case EventCodeType.EVENT_EMS_ENSTATUS_FIRST:
                this.isFirstVisit = true;
                break;

            case EventCodeType.EVENT_EMS_ENSTATUS_RETURN:
                this.isFirstVisit = false;
                break;

            case EventCodeType.EVENT_EMS_REFRESH:
                result = HandleFreshEvent();
                break;

            case EventCodeType.EVENT_EXPENSE_DATACHANGED:
                result = this.GetEmsView().OnEventHandle(sender, e);
                break;

            case EventCodeType.EVENT_EMS_DRUG_USAGE:
                result = this.GetEmsView().OnEventHandle(sender, e);
                break;

            case EventCodeType.EVENT_EMS_CARDFOCUS:
                result = this.GetEmsView().OnEventHandle(sender, e);
                break;

            default:
                result = base.OnEventHandle(sender, e);
                break;
            }
            return(result);
        }
Example #11
0
        public override bool OnEventHandle(object sender, DictionaryEventArgs e)
        {
            // 当前未加载完成或者未创建完成 不进行消息事件的相应
            if (this.IsLoading)
            {
                return(false);
            }
            if (!this.Created)
            {
                return(false);
            }
            if (!this.IsXapFormReady)
            {
                return(false);
            }
            switch (AssToolEx.EventCodeOfEventArgs(e))
            {
            case EventCodeType.NM_EMS_ORSRV_SELECTCHANGED:
                if (this.GetViewModel() != null && this.GetViewModel().GetSelectedObject() != null)
                {
                    this.updateDrugInfo(this.GetViewModel().GetSelectedObject() as EmsOrDrug);
                    if (hpCanEdit())
                    {
                        SetHpControlEnabled();
                    }
                    else
                    {
                        this.setHpBaseUserRender(false);
                    }
                    return(true);
                }
                break;

            case EventCodeType.NM_EMS_ORSRV_DATACHANGED:
                var useDay = AssToolEx.ObjectOfEventArgs(e, "Use_days");
                var frecq  = AssToolEx.ObjectOfEventArgs(e, "Name_freq");
                this.updateDrugInfo(this.GetViewModel().GetSelectedObject() as EmsOrDrug);
                if (hpCanEdit())
                {
                    SetHpControlEnabled();
                }
                else
                {
                    this.setHpBaseUserRender(false);
                }
                if (useDay != null || frecq != null)
                {
                    var cardDataSource = (GetViewModel().GetFormDataSource() as EmsDrugItemDO);
                    if (cardDataSource.Fg_mp_in != null && cardDataSource.Fg_mp_in.GetValueOrDefault())
                    {
                        int totalCount = this.GetLogicEx().GetDrugUseTotalCount(this.GetViewModel().GetEmsUIDTO() as EmsUIDTO);
                        if (totalCount > 0)
                        {
                            var mapinlabel = AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "orcard.times_mp_in") as XLabelBaseUserRender;
                            if (mapinlabel != null)
                            {
                                // 在院执行次数跟随总次数变化一致
                                var numRender = mapinlabel.UserRender as XNumbericUpDown;
                                numRender.MaxValue = totalCount;
                                // if (cardDataSource.Times_mp_in > totalCount)
                                {
                                    cardDataSource.Times_mp_in = totalCount;
                                }
                            }
                        }
                    }
                }
                else
                {
                    // 在院执行次数
                    HandleTimesMpInInfo(this.ciPharmMpInUsageScope, this.GetViewModel().GetFormDataSource() as EmsDrugItemDO);
                }
                break;

            case EventCodeType.EVENT_EXPENSE_DATACHANGED:
                handleExpenseDataChanged(sender, e);
                break;

            case EventCodeType.EVENT_EMS_DRUG_USAGE:
                (AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "orcard.name_routedes") as XLabelBaseUserRender).UserRender.Focus();
                break;

            case EventCodeType.EVENT_EMS_REFRESULT:
                drugHpShow();
                break;

            default:
                break;
            }
            return(base.OnEventHandle(sender, e));
        }