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; } }
/// <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; } }); } }
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; } } }
/// <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 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: 校验医嘱数据有效性 } } }
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; } }
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; }
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; } }
/// <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); }
/// <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); }
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)); }