Example #1
0
        public bool OnChildNotify(object sender, xap.rui.engine.DictionaryEventArgs e)
        {
            bool result = false;
            // 费用保存消息,需要转发到医疗单容器中进行处理
            var eventCode = AssToolEx.EventCodeOfEventArgs(e);

            switch (eventCode)
            {
            case EventCodeType.NM_EMS_ORSRV_DATACHANGED:
                //this.XTabPages[0].HasError = GetEmsView().ExistErrors();
                //if (HasExpenseView()) {
                //    result = this.GetExpenseView().OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_ORSRV_DATACHANGED));
                //}
                this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_ORSRV_DATACHANGED));
                break;

            case EventCodeType.NM_EXPENSE_DATACHANGED:
                this.XTabPages[1].HasError = GetExpenseView().ExistErrors();
                this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EXPENSE_DATACHANGED));
                result = true;
                break;
            }
            if (!result)
            {
                return(mEeventDelegate.OnChildNotify(sender, e));
            }
            else
            {
                return(true);
            }
        }
Example #2
0
 public override bool OnChildNotify(object sender, xap.rui.engine.DictionaryEventArgs e)
 {
     if (AssToolEx.EventCodeOfEventArgs(e) == EventCodeType.NM_UIMSG_LAYOUTCHANGED)
     {
         this.AdjustLayout();
         return(true);
     }
     return(base.OnChildNotify(sender, e));
 }
Example #3
0
        /// <summary>
        /// 处理消息订阅,并进行内部分发
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        public override void HandleState(object sender, xap.rui.engine.DictionaryEventArgs e)
        {
            base.HandleState(sender, e);

            if (IsValidateEvent(AssToolEx.EventCodeOfEventArgs(e)))
            {
                this.OnEventHandle(sender, e);
            }
        }
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));
 }
        public override bool OnEventHandle(object sender, DictionaryEventArgs e)
        {
            bool ret = base.OnEventHandle(sender, e);

            if (AssToolEx.EventCodeOfEventArgs(e).Equals(EventCodeType.EVENT_EMS_SAVE_FOCUS) && this.Visible)
            {
                SetButtonFocus(0);
            }
            return(ret);
        }
Example #6
0
 public override bool OnChildNotify(object sender, DictionaryEventArgs e)
 {
     if (AssToolEx.EventCodeOfEventArgs(e).Equals(EventCodeType.NM_EMS_ORSRV_DATACHANGED))
     {
         var tableDataSource = this.GetTableViewControl().GetViewModel().GetTableDataSource() as XapDataList <EmsOrDrug>;
         if (null != tableDataSource)
         {
             (this.GetViewModel() as EmsLisViewModel).ReCalcPriceInfo(tableDataSource[0]);
         }
     }
     return(base.OnChildNotify(sender, e));
 }
Example #7
0
        public override void HandleState(object sender, xap.rui.engine.DictionaryEventArgs e)
        {
            base.HandleState(sender, e);
            string newState  = e.Data[UIConst.NEW_STATE] as string;
            var    eventCode = AssToolEx.EventCodeOfEventArgs(e);

            if (eventCode != null && (eventCode.Equals("EmsFeesControl") ||
                                      eventCode.Equals("OpSupend")) && this.Created)
            {
                this.LoadData();
            }
        }
Example #8
0
        public override bool OnEventHandle(object sender, DictionaryEventArgs e)
        {
            switch (AssToolEx.EventCodeOfEventArgs(e))
            {
            case EventCodeType.EVENT_EMS_CARDFOCUS:
                getControlByName("card", "des_pps").UserRender.Focus();
                break;

            default:
                break;
            }
            return(base.OnEventHandle(sender, e));
        }
Example #9
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 #10
0
        public override void HandleState(object sender, DictionaryEventArgs e)
        {
            if (!this.Created)
            {
                return;
            }

            switch (AssToolEx.EventCodeOfEventArgs(e))
            {
            case UIEvent.SAVE_SUCCESS:
                this.LoadData();
                break;
            }
        }
Example #11
0
 public override bool OnEventHandle(object sender, xap.rui.engine.DictionaryEventArgs e)
 {
     if (AssToolEx.EventCodeOfEventArgs(e).Equals(EventCodeType.EVENT_EMS_APBU_ADD))
     {
         var emsdto = (GetViewModel().GetEmsUIDTO() as EmsUIDTO);
         //备血医嘱开立,1、保存医嘱,2、后签署医嘱,3、生成用血医嘱
         if (orIsOpen())
         {
             if (!this.SentNotify(EventCodeType.NM_EMS_SAVE) || this.GetViewModel().getCiOrderDO() == null)
             {
                 return(false);
             }
             LogicEx.GetInstance().SignCiOrder(new CiOrderDO[] { this.GetViewModel().getCiOrderDO() }, this.GetViewModel().GetEnt4BannerDTO());
             if (!this.SentNotify(EventCodeType.EVENT_EMS_REFRESH))
             {
                 return(false);
             }
             MedSrvDO medSrcDO = LogicEx.GetInstance().getApBuSrv();
             if (null != medSrcDO && emsdto.CiordubDTO != null)
             {
                 this.GetViewModel().SetCustomParam(creatBuEmsDO(this.GetViewModel().getCiOrderDO().Id_or, medSrcDO));
                 // SentNotify(EventCodeType.NM_EMS_CREATE, EmsCreatedParameter.TAGKEY, new EmsCreatedParameter(medSrcDO, null, emsdto.CiordubDTO));
                 this.SentNotify(EventCodeType.NM_EMS_CREATE, EmsCreatedParamList.TAGKEY, new EmsCreatedParamList()
                 {
                     new EmsCreatedParameter(medSrcDO, null, emsdto.CiordubDTO)
                 });
             }
         }//医嘱已签署,生成用血医嘱
         else
         {
             MedSrvDO medSrcDO = LogicEx.GetInstance().getApBuSrv();
             if ((this.GetViewModel().getCiEmsDTO() as CiEmsDTO).Id_or != null)
             {
                 //拼接用血医嘱的元数据
                 creatBuEmsDO((this.GetViewModel().getCiEmsDTO() as CiEmsDTO).Id_or, medSrcDO);
             }
             if (null != medSrcDO && emsdto.CiordubDTO != null)
             {
                 this.GetViewModel().SetCustomParam(emsdto.CiordubDTO);
                 // SentNotify(EventCodeType.NM_EMS_CREATE, EmsCreatedParameter.TAGKEY, new EmsCreatedParameter(medSrcDO, null, emsdto.CiordubDTO));
                 this.SentNotify(EventCodeType.NM_EMS_CREATE, EmsCreatedParamList.TAGKEY, new EmsCreatedParamList()
                 {
                     new EmsCreatedParameter(medSrcDO, null, emsdto.CiordubDTO)
                 });
             }
         }
     }
     return(base.OnEventHandle(sender, e));
 }
Example #12
0
        public override bool OnEventHandle(object sender, xap.rui.engine.DictionaryEventArgs e)
        {
            switch (AssToolEx.EventCodeOfEventArgs(e))
            {
            case EventCodeType.EVENT_EMS_DISABLE_EDIT:
                SetDataPolicy(false);
                break;

            case EventCodeType.EVENT_EMS_ALLOW_EDIT:
                SetDataPolicy(true);
                break;

            default:
                break;
            }
            return(base.OnEventHandle(sender, e));
        }
Example #13
0
 public override bool OnChildNotify(object sender, DictionaryEventArgs e)
 {
     // 药品选项卡需要处理表格中发出的通知消息事件
     if (EventCodeType.NM_EMS_ORSRV_SELECTCHANGED == AssToolEx.EventCodeOfEventArgs(e))
     {
         if (null != this.GetCardViewControl())
         {
             return(GetCardViewControl().OnEventHandle(sender, e));
         }
     }
     else if (EventCodeType.NM_EMS_ORSRV_DATACHANGED == AssToolEx.EventCodeOfEventArgs(e))
     {
         GetCardViewControl().OnEventHandle(sender, e);
     }
     // 该消息继续广播
     return(base.OnChildNotify(sender, e));
 }
Example #14
0
        public override bool OnEventHandle(object sender, DictionaryEventArgs e)
        {
            switch (AssToolEx.EventCodeOfEventArgs(e))
            {
            case EventCodeType.EVENT_EMS_ORSRV_DATACHANGED:
                int count = GetHerBalMedicineCtr().dispCount;

                for (int index = 0; index < count; ++index)
                {
                }
                break;

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

            case EventCodeType.EVENT_EMS_REFRESULT:
                if (hpCanEdit())
                {
                    EmsOrDrug emsordrug = this.GetViewModel().GetSelectedObject() as EmsOrDrug;
                    var       bdhpdtos  = emsordrug.BdHpIndicationDTO;
                    if (bdhpdtos != null && bdhpdtos.Count > 0)
                    {
                        BdHpIndicationDTO bdhpdto = bdhpdtos[0] as BdHpIndicationDTO;
                        var code_hpindicjudged    = bdhpdto.Code_hpindicjudged;
                        if (code_hpindicjudged != null && (code_hpindicjudged == "12" || code_hpindicjudged == "21"))
                        {
                            showHpDialog(emsordrug);
                        }
                    }
                }
                break;

            case EventCodeType.EVENT_EMS_CARDFOCUS:
                getControlByName("drugsUse", "orders").UserRender.Focus();
                break;

            default:
                break;
            }
            return(base.OnEventHandle(sender, e));
        }
Example #15
0
        public override void HandleState(object sender, DictionaryEventArgs e)
        {
            if (sender is XBroadcastAction)
            {
                XBroadcastAction xBroadCastAction = sender as XBroadcastAction;
                LoadAssiFrameByShortCut(xBroadCastAction.UiEvent);
            }
            string eventCode = AssToolEx.EventCodeOfEventArgs(e);

            switch (eventCode)
            {
            case EventCodeType.EVENT_ASSI_SHOW_ORDERTEMPLATE_OR_EDIT:
                bool isShow = (bool)BaseEmsView.BaseEmsInfoContext["IsShowOphelperWhenOrOpen"];
                if (isShow)
                {
                    this.switchToPithy();
                }
                break;
            }
        }
Example #16
0
        public override bool OnEventHandle(object sender, DictionaryEventArgs e)
        {
            switch (AssToolEx.EventCodeOfEventArgs(e))
            {
            case EventCodeType.EVENT_EMS_CARDFOCUS:
                if (getControlByName("card", "name_samptp").Enabled == false)
                {
                    getControlByName("card", "name_sampcoltime").UserRender.Focus();
                }
                else
                {
                    getControlByName("card", "name_samptp").UserRender.Focus();
                }
                break;

            default:
                break;
            }
            return(base.OnEventHandle(sender, e));
        }
Example #17
0
 public override bool OnEventHandle(object sender, xap.rui.engine.DictionaryEventArgs e)
 {
     if (null != tableViewControl)
     {
         tableViewControl.OnEventHandle(sender, e);
     }
     if (null != cardViewControl)
     {
         if (AssToolEx.EventCodeOfEventArgs(e) == EventCodeType.EVENT_EXPENSE_DATACHANGED && null != tableViewControl)
         {
             tableViewControl.UnRegFormEvent_DataChanged();
             cardViewControl.OnEventHandle(sender, e);
             tableViewControl.RegFormEvent_DataChanged();
         }
         else
         {
             cardViewControl.OnEventHandle(sender, e);
         }
     }
     return(base.OnEventHandle(sender, e));
 }
Example #18
0
        /// <summary>
        /// 处理内部的通知消息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <returns></returns>
        public override bool OnChildNotify(object sender, DictionaryEventArgs e)
        {
            if (this.ent4BannerDTO == null)
            {
                return(base.OnChildNotify(sender, e));
            }

            // 分拣消息通知事件
            switch (AssToolEx.EventCodeOfEventArgs(e))
            {
            case EventCodeType.NM_ORDI_EDIT:
                OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_ORDI_EDIT));
                return(true);

            case EventCodeType.NM_EMS_ORSRV_SELECTCHANGED:

                return(GetEmsView().OnEventHandle(sender, e));

            case EventCodeType.NM_UIMSG_LAYOUTCHANGED:
                GetEmsView().AdjustLayout();
                return(true);

            case EventCodeType.EVENT_EMS_REFRESH:
                OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_REFRESH));
                return(true);

            case EventCodeType.EVENT_EMS_ORSRV_HP_DATACHANGED:
                EmsHpDataChangedForMappingExpensView(sender, e);
                break;

            case EventCodeType.NM_EMS_REFRESULT:
                GetEmsView().OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_REFRESULT));
                break;
            }


            return(base.OnChildNotify(sender, e));
        }
Example #19
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));
        }
Example #20
0
        public bool OnEventHandle(object sender, xap.rui.engine.DictionaryEventArgs e)
        {
            bool result = false;

            switch (AssToolEx.EventCodeOfEventArgs(e))
            {
            case EventCodeType.EVENT_EMS_ORDER_EDIT:
                GetEmsView().OnEventHandle(sender, e);
                this.XTabPages[0].HasError = GetEmsView().HasErrors();
                if (this.HasExpenseView())
                {
                    this.XTabPages[1].HasError = GetExpenseView().ExistErrors();
                }

                break;

            // 处理删除医疗单消息
            case EventCodeType.EVENT_EMS_DELETE:
                if (GetEmsViewType() == EmsViewType.EmptyEmsViewType)
                {
                    return(result);
                }
                result = GetEmsView().OnEventHandle(sender, e);
                this.XTabPages[0].HasError = GetEmsView().HasErrors();
                if (this.HasExpenseView())
                {
                    GetExpenseView().SetNeedRefresh(1);
                }
                break;

            // 处理保存医疗单消息
            case EventCodeType.EVENT_EXPENSE_SAVE:
            case EventCodeType.EVENT_EMS_SAVE:
                //开立医嘱(点击医疗单确认按钮),判断诊断是否为空,诊断是否更改
                bool rst = true;
                if (RelativeUIParam.RELATIVERATIO > RelativeUIParam.TEMPLETECHANGEDRATIO)
                {
                    var DiListView = this.Context.Config.GetInstance("DiListView") as DiListView;
                    if (null != DiListView)
                    {
                        rst = DiListView.CheckDiEditable(true);
                    }
                }
                else
                {
                    var DiBannerView = this.Context.Config.GetInstance("DiBannerView") as DiBannerView;
                    if (null != DiBannerView)
                    {
                        rst = DiBannerView.CheckDiEditable();
                    }
                }

                if (rst)
                {
                    if (GetEmsViewType() == EmsViewType.EmptyEmsViewType)
                    {
                        return(result);
                    }
                    result = GetEmsView().OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_SAVE));
                }
                break;

            // 处理保存医疗单成功时候的消息
            case EventCodeType.EVENT_EMS_SAVESUCCESS:
                result = GetEmsView().OnEventHandle(sender, e);
                if (this.HasExpenseView())
                {
                    GetExpenseView().OnEventHandle(sender, e);
                }
                break;

            // 处理医疗单添加空白行消息
            case EventCodeType.EVENT_EMS_APPEND:
                if (GetEmsViewType() == EmsViewType.EmptyEmsViewType)
                {
                    return(result);
                }
                result = GetEmsView().OnEventHandle(sender, e);

                this.XTabPages[0].HasError = GetEmsView().HasErrors();
                // 新增空行,医疗单的数据源内容改变,需要刷新费用页签
                if (this.HasExpenseView())
                {
                    GetExpenseView().SetNeedRefresh(1);
                    this.XTabPages[1].HasError = GetExpenseView().ExistErrors();
                }
                break;

            case EventCodeType.EVENT_EMS_ORSRV_DATACHANGED:
                if (GetEmsViewType() == EmsViewType.EmptyEmsViewType)
                {
                    return(result);
                }
                this.XTabPages[0].HasError = GetEmsView().HasErrors();
                if (HasExpenseView())
                {
                    GetExpenseView().OnEventHandle(sender, e);
                    this.XTabPages[1].HasError = GetExpenseView().ExistErrors();
                }
                // 设置后台重算费用标志
                GetEmsView().SetClearFeeSrv(true);

                // 删除费用项目
                GetExpenseDatasource().ToList().ForEach(p => { GetExpenseDatasource().Delete(p, p.IsNEW); });
                break;

            // 处理医疗单添加用血消息
            case EventCodeType.EVENT_EMS_APBU_ADD:
                if (GetEmsViewType() == EmsViewType.EmptyEmsViewType)
                {
                    return(result);
                }
                this.XTabPages[0].HasError = GetEmsView().HasErrors();
                result = GetEmsView().OnEventHandle(sender, e);
                break;

            case EventCodeType.EVENT_EXPENSE_ADD:
                if (GetEmsViewType() == EmsViewType.EmptyEmsViewType)
                {
                    return(result);
                }
                if (HasExpenseView())
                {
                    GetExpenseView().OnEventHandle(sender, e);
                    this.XTabPages[1].HasError = GetExpenseView().ExistErrors();
                }
                break;

            case EventCodeType.EVENT_EXPENSE_DELETE:
                if (GetEmsViewType() == EmsViewType.EmptyEmsViewType)
                {
                    return(result);
                }
                if (HasExpenseView())
                {
                    GetExpenseView().OnEventHandle(sender, e);
                    this.XTabPages[1].HasError = GetExpenseView().ExistErrors();
                }
                break;

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

            case EventCodeType.EVENT_EMS_CLOSE:
                GetEmsView().OnEventHandle(sender, e);
                this.UID = "";
                this.XTabPages[0].HasError = false;
                if (HasExpenseView())
                {
                    this.XTabPages[1].HasError = false;
                    GetExpenseView().OnEventHandle(sender, e);
                }
                break;

            default:
                result = GetEmsView().OnEventHandle(sender, e);
                break;
            }
            return(result);
        }
Example #21
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 #22
0
        public override bool OnEventHandle(object sender, xap.rui.engine.DictionaryEventArgs e)
        {
            if (this.GetModel() == null)
            {
                return(base.OnEventHandle(sender, e));
            }

            bool result = true;

            switch (AssToolEx.EventCodeOfEventArgs(e))
            {
            case EventCodeType.EVENT_EMS_SAVESUCCESS:
                if (this.model.GetTableDataSource() != null)
                {
                    this.ClearContext();
                    isDirty = false;
                }
                break;

            case EventCodeType.EVENT_EXPENSE_ADD:
                if (this.model.GetTableDataSource() != null)
                {
                    if (this.model.HasEmptyRow())
                    {
                        this.SetStatusMsg("已经存在一条空行,请填写完整后再新增");
                    }
                    else
                    {
                        this.model.AddRow();
                        isDirty = true;
                    }
                }
                else
                {
                    result = false;
                }
                break;

            case EventCodeType.EVENT_EXPENSE_DELETE:
                if (tableGridControl != null)
                {
                    IEnumerable <EmsOrDrug> drugs =
                        from row in tableGridControl.DataTable.SelectedRows
                        select row.RowDataSource as EmsOrDrug;
                    if (drugs.Count() == 0)
                    {
                        this.ShowInfo("请选择要删除的费用项目");
                        return(true);
                    }
                    drugs.ToList().ForEach(p =>
                    {
                        this.model.DeleteRow(p);
                    });

                    isDirty = true;
                }
                else
                {
                    result = false;
                }
                break;


            case EventCodeType.EVENT_EMS_CLOSE:
                ClearContext();
                break;

            case EventCodeType.EVENT_EMS_ORSRV_DATACHANGED:
                // 设置费用数据需要更新标志
                this.SetNeedRefresh((int)EuRefreshState.NeedRefreshState);
                if (this.GetModel() != null)
                {
                    this.GetModel().DeleteAllItems();
                }
                //if (this.model != null && this.model.GetEmsSaveModel()!=null)
                //{
                //    this.model.GetEmsSaveModel().Fg_prisrvhandled = false;
                //}
                isDirty = false;
                break;
            }
            return(result &= base.OnEventHandle(sender, e));
        }
Example #23
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 #24
0
        /// <summary>
        /// 处理上层控件发出的消息通知
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <returns></returns>
        public override bool OnChildNotify(object sender, xap.rui.engine.DictionaryEventArgs e)
        {
            bool result = true;

            // 费用保存消息,需要转发到医疗单容器中进行处理

            switch (AssToolEx.EventCodeOfEventArgs(e))
            {
            case EventCodeType.NM_EMS_CREATE:
                result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_CREATE));
                break;

            case EventCodeType.NM_EMS_APPEND:
                result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_APPEND));
                break;

            case EventCodeType.NM_EMS_DELETE:
                result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_DELETE));
                break;

            case EventCodeType.NM_EMS_SAVE:
                result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_SAVE));
                break;

            case EventCodeType.NM_EMS_CLOSE:
                this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_CLOSE));
                break;

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

            case EventCodeType.NM_EMS_SAVESUCCESS:
                this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_SAVESUCCESS));
                break;

            // 费用通知
            case EventCodeType.NM_EXPENSE_SAVE:
                if (!GetSelectedEmsView().GetExpenseView().ExistErrors())
                {
                    result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_SAVE));
                }
                else
                {
                    this.ShowInfo("费用中含有存在必填项目,请填写完整后在保存!");
                }

                break;

            case EventCodeType.NM_EXPENSE_ADD:
                result = this.GetSelectedEmsView().OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EXPENSE_ADD));
                break;

            case EventCodeType.NM_EXPENSE_DELETE:
                result = this.GetSelectedEmsView().OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EXPENSE_DELETE));
                break;

            case EventCodeType.NM_EXPENSE_REFRESH:
                this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EXPENSE_REFRESH));
                break;

            case EventCodeType.NM_UIMSG_DISABLE_EDIT:
                this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_DISABLE_EDIT));

                break;

            case EventCodeType.NM_UIMSG_ALLOW_EDIT:
                this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_ALLOW_EDIT));

                break;

            case EventCodeType.NM_ORDLIST_DELETEORDER:
                result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_ORDLIST_DELETEORDER));
                break;

            case EventCodeType.NM_EMS_SAVE_FOCUS:
                result = this.OnEventHandle(sender, AssToolEx.ResetEventOfEventArgs(e, EventCodeType.EVENT_EMS_SAVE_FOCUS));
                break;

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

            default:
                result = false;
                break;
            }

            return(result);
        }
Example #25
0
        public override void HandleState(object sender, DictionaryEventArgs e)
        {
            IMedreferralCrudService service = XapServiceMgr.find <IMedreferralCrudService>();
            String eventCode = AssToolEx.EventCodeOfEventArgs(e);

            if (eventCode.Equals("MedReferralSaveAction"))
            {
                if (ViewModel.MedReferralDO.Dt_referralperiodbegin > ViewModel.MedReferralDO.Dt_referralperiodend)
                {
                    EventDelegate.ShowInfo(OrdParam.MESSAGE_TIEMCHECK);
                    return;
                }

                if ((ViewModel.MedReferralDO.Str_name_di != null && ViewModel.MedReferralDO.Str_name_di.Length > 300) ||
                    (ViewModel.MedReferralDO.Reason_referral != null && ViewModel.MedReferralDO.Reason_referral.Length > 300) ||
                    (ViewModel.MedReferralDO.Des_initialdiag != null && ViewModel.MedReferralDO.Des_initialdiag.Length > 300) ||
                    (ViewModel.MedReferralDO.Des_question != null && ViewModel.MedReferralDO.Des_question.Length > 300) ||
                    (ViewModel.MedReferralDO.Diagtreatment != null && ViewModel.MedReferralDO.Diagtreatment.Length > 300))
                {
                    EventDelegate.ShowInfo("填写内容超长!");
                    return;
                }

                if (String.IsNullOrWhiteSpace(ViewModel.MedReferralDO.Str_name_di) ||
                    String.IsNullOrWhiteSpace(ViewModel.MedReferralDO.Reason_referral) ||
                    String.IsNullOrWhiteSpace(ViewModel.MedReferralDO.Name_org_referral2))
                {
                    EventDelegate.ShowInfo("请填写必填项!");
                    return;
                }

                dataSource = service.save(new MedReferralDO[] { ViewModel.GetFormDataSource() as MedReferralDO })[0];
                if (null != dataSource)
                {
                    LogicEx.GetInstance().CopyTo <MedReferralDO>(dataSource, ViewModel.MedReferralDO);
                    EventDelegate.SetStatusMsg("医保转诊单保存成功。");
                }
                else
                {
                    EventDelegate.ShowInfo("医保转诊单保存失败。");
                }
            }
            else if (eventCode.Equals("MedReferralPrintAction"))
            {
                if (ViewModel.MedReferralDO == null || ViewModel.MedReferralDO.Id_medreferral == null)
                {
                    return;
                }
                bool   res     = false;
                string strFile = "iih_report/461010_menzhenyishengzhan/YBZZD.xml";

                Dictionary <string, string> qryParams = new Dictionary <string, string>();
                qryParams.Add("$id_medreferral", ViewModel.MedReferralDO.Id_medreferral);

                res = this.rpt_viewer.PrintRptFile(strFile, qryParams, true);

                if (res)
                {
                    ViewModel.MedReferralDO.Times_print += 1;
                    ViewModel.MedReferralDO.Status       = DOStatus.UPDATED;
                    dataSource = service.save(new MedReferralDO[] { ViewModel.MedReferralDO })[0];
                    eventPrint(null, null);
                }
            }
        }