void DataTable_GotFocus(object sender, EventArgs e)
 {
     if (GetViewModel().GetEnt4BannerDTO() != null && GetViewModel().GetEnt4BannerDTO().Sd_status != EnDictCodeConst.SD_ENSTATUS_OP_FINISH && !BaseEmsView.EmptyPatDIInfo)
     {
         AssToolEx.SentMessage(this.GetEventDelegate() as XapBaseControl, EventCodeType.EVENT_ASSI_SHOW_ORDERTEMPLATE_OR_EDIT);
     }
 }
Example #2
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 #3
0
        private void onMouseClick(string uiEventCode, string dataTag)
        {
            string sd_sheettp = datasource.Sd_ciprnsheettp;

            if (String.IsNullOrEmpty(sd_sheettp))
            {
                return;
            }
            AssToolEx.SentMessage(this, AssToolEx.DictionaryEventArgsWith(uiEventCode, dataTag, sd_sheettp.Contains(CiDictCodeConst.SD_CIPRNSHEETTP_MR_OP) ? "true" : "false"));
        }
        protected override void ThreadRender_Checkchanged(OrderRender render, bool flag)
        {
            base.ThreadRender_Checkchanged(render, flag);
            if (this.ownerView != null && render.ObjDo is MedSrvDO)
            {
                List <EmsCreatedParameter> paramList = new List <EmsCreatedParameter>();
                paramList.Add(new EmsCreatedParameter(render.ObjDo as MedSrvDO, null));

                AssToolEx.SentMessage(this.ownerView, EventCodeType.EVENT_EMS_CREATE, EmsCreatedParameter.TAGKEYLIST, paramList);
            }
        }
Example #5
0
        /// <summary>
        /// 保存组套选择的结果(诊断、病历、医嘱模板、医疗服务)
        /// </summary>
        /// <param name="msDTO">组套对象</param>
        private void SaveMkrmsSelectedResult(MsDTO msDTO)
        {
            // 有效性判断
            if (null == msDTO)
            {
                return;
            }

            // 诊断 MkrMsDiDO
            FArrayList mkrMsDiDOList = msDTO.Dis;
            //医疗服务 MkrMsSrvDO
            FArrayList mkrMsSrvDOList = msDTO.Srvs;
            // 医嘱模板 MkrMsOrtpl
            FArrayList mkrMsOrtplList = msDTO.Ortpls;
            // 病历模板 MkrMsMrtplDO
            FArrayList mkrMsMrtplDOList = msDTO.Mrtpls;

            //病历不为空时发送保存病历段落事件
            if (mkrMsMrtplDOList != null && mkrMsMrtplDOList.Count > 0)
            {
                this.FireMrWriteBackBizEvent(this, mkrMsMrtplDOList[0]);
            }

            // 是否保存新增的诊断,如果本次未选择诊断,该值返回false, 如果选了诊断返回为true
            bool isProcessSaveCIDI = false;
            // 保存诊断
            List <DIDTO> didtList = this.assiCidiViewModel.SaveMkrMsDIDTOList(mkrMsDiDOList, ref isProcessSaveCIDI);

            // 如果不存在已保存的诊断,也未勾选诊断,不允许保存医嘱
            if ((didtList == null || didtList.Count == 0))
            {
                if (mkrMsSrvDOList != null || mkrMsOrtplList != null)
                {
                    BizAssMessageBoxUtil.ShowCidiIsNullMsg("门诊组套");
                    return;
                }
            }
            else if (isProcessSaveCIDI)// 有新增诊断时进行保存
            {
                //发送诊断保存成功事件 TODO 修改
                AssToolEx.SentMessage(this, declare.EventCodeType.EVENT_ORDI_SAVESUCCE, "DIDTOLIST", didtList);
            }

            // 医疗服务、医嘱模板转换医疗单
            if (mkrMsSrvDOList != null || mkrMsOrtplList != null)
            {
                MoreEmsParamDTO moreEmsDto = this.assiCiorderViewModel.SaveOrderAndOrtmpl(mkrMsSrvDOList, mkrMsOrtplList);
                AssToolEx.SentMessage(this, EventCodeType.EVENT_EMS_TMPL_EDIT, EventCodeType.ARGKEY_EMS_TMPL_EDIT, moreEmsDto);
            }
        }
Example #6
0
        protected void OrderSevrice_Frm_SaveClick(object sender, MouseEventArgs e)
        {
            var list = new List <OrTplNItmDO>();

            if (Args != null)
            {
                if (Args.Id_item == "technolog" || Args.Id_item == "ortmplate")
                {
                    foreach (var item in Args.listObj)
                    {
                        if ((item as OrTplNItmDO) != null)
                        {
                            list.Add(item as OrTplNItmDO);
                        }
                    }
                }
                else if (Args.Id_item == "medsrv")
                {
                    foreach (Object item in this.Args.listObj)
                    {
                        if ((item as MedSrvDO) != null)
                        {
                            MedSrvDO tempmedsrv = item as MedSrvDO;
                            if (tempmedsrv.Fg_set.Value)
                            {
                                MedSrvConvertSetItem(list, tempmedsrv);
                            }
                            else
                            {
                                OrTplNItmDO rtplItem = convertOrTplNItmDO(item as MedSrvDO);
                                list.Add(rtplItem);
                            }

                            // list.Add(new ems.common.EmsCreatedParameter(item as MedSrvDO, null));
                        }
                    }
                }
            }

            //保存数据库
            var envinfo = setCiEnContextDTO();

            var moreEmsDto = model.getMoreEmsParamDTO(envinfo, list.ToArray());

            AssToolEx.SentMessage(this, EventCodeType.EVENT_EMS_TMPL_EDIT, EventCodeType.ARGKEY_EMS_TMPL_EDIT, moreEmsDto);
        }
Example #7
0
        /// <summary>
        /// 保存诊断
        /// </summary>
        /// <param name="obj"></param>
        private int SaveCiDiag(List <CiDiagItemDO> cidiItemList)
        {
            DIDTO[] didtos = null;

            if (cidiItemList != null && cidiItemList.Count > 0)
            {
                didtos = this.model.SaveCiDiagItemDOs(this.Ent4BannerDTO, cidiItemList);
                if (didtos != null && didtos.Length > 0)
                {
                    //发送诊断保存成功事件
                    AssToolEx.SentMessage(this, EventCodeType.EVENT_ORDI_SAVESUCCE, "DIDTOLIST", new List <DIDTO>(didtos));
                    return(didtos.Length);
                }
            }

            return(0);
        }
Example #8
0
        /// <summary>
        /// 接收处理医嘱保存成功消息
        /// </summary>
        private bool HandleSaveSuccessEvent()
        {
            // 合理用药
            //this.SentMessage(EventCodeType.EVENT_ORDLIST_NEEDVALIDATE);
            AssToolEx.SentMessage(this, EventCodeType.EVENT_ORDLIST_NEEDVALIDATE);

            string id_or = this.orderDo == null?"":this.orderDo.Id_or;

            AssToolEx.SentMessage(this, UIEvent.SAVE_SUCCESS, "ID_OR", id_or);


            if (this.GetEmsViewType() != EmsViewType.EmsApbtViewType)
            {
                this.HandleCancelEmsEvent();
            }

            return(true);
        }
Example #9
0
        /// <summary>
        /// 保存医嘱,保存失败的医嘱转发给医疗单处理
        /// </summary>
        /// <param name="obj"></param>
        private void LoadCiEms(object obj)
        {
            CiOrderDO[] ciorders = (CiOrderDO[])obj;
            if (ciorders != null && ciorders.Length > 0)
            {
                string[] idOrs = new string[ciorders.Length];

                for (int i = 0; i < ciorders.Length; i++)
                {
                    idOrs[i] = ciorders[i].Id_or;
                }

                CiOrdViewModel  ciordModel = new CiOrdViewModel(this.Ent4BannerDTO, this.Context);
                MoreEmsParamDTO moreEmsDto = ciordModel.GetMoreEmsParam(idOrs);

                AssToolEx.SentMessage(this, EventCodeType.EVENT_EMS_TMPL_EDIT, EventCodeType.ARGKEY_EMS_TMPL_EDIT, moreEmsDto);
            }
        }
Example #10
0
        private void xapFormControl_RefResult(object sender, RefResultEventArgs e)
        {
            if (e.BindingFieldName.Equals("Name_ciprnsheettp"))
            {
                var    dto        = e.DataObject as OrdPresDTO;
                string sd_sheettp = dto.Sd_ciprnsheettp;

                var dic = new Dictionary <string, string>();
                dic.Add("Sd_sheettp", sd_sheettp);
                this.FireSelected(dic);
                // 之前没有选择病历,但本次操作选择了病历时候,需要发送打印病历
                if (sd_sheettp != null && (sd_sheettp_org == null || !sd_sheettp_org.Contains(CiDictCodeConst.SD_CIPRNSHEETTP_MR_OP)) && sd_sheettp.Contains(CiDictCodeConst.SD_CIPRNSHEETTP_MR_OP))
                {
                    AssToolEx.SentMessage(this.OwnerView, AssToolEx.DictionaryEventArgsWith(AssistantConstant.CI_EMR_PRINT_PRIVEW_EVENT));
                }

                this.sd_sheettp_org = sd_sheettp;
            }
        }
Example #11
0
        protected override void OnXapFormControl_ModelFilled(object sender, EventArgs e)
        {
            if (null != GetGridControl())
            {
                // 重设表格表头外观信息(对齐方式、默认显示)
                ResetColumnsInfo(GetGridControl());

                // 清空数据
                XapDataList <EmsOrDrug> defaultModel = this.GetViewModel().GetTableDataSource() as XapDataList <EmsOrDrug>;
                this.GetLogicEx().Clear(defaultModel[0]);
                GetGridControl().DataTable.DataSource = defaultModel;

                this.SetDataPolicy(true);
                if (GetViewModel().GetEnt4BannerDTO() == null || BaseEmsView.EmptyPatDIInfo ? false : true)
                {
                    AssToolEx.SentMessage(this.GetEventDelegate() as XapBaseControl, EventCodeType.EVENT_ASSI_SHOW_ORDERTEMPLATE_OR_EDIT);
                    GetGridControl().ShowEditor(defaultModel[0], "Name_srv"); // -- PO 要求 诊断获取焦点
                }
            }
        }
Example #12
0
        public object exec(object param)
        {
            AssButtonView       owner            = param as AssButtonView;
            OpOrderTemplateForm OrderSevrice_Frm = new OpOrderTemplateForm(owner, 0);

            // helperForm OrderSevrice_Frm = new helperForm(this);
            OrderSevrice_Frm.Location = new Point(200, 400);
            if (OrderSevrice_Frm.ShowDialog() == DialogResult.OK)
            {
                List <OrTplNItmDO> list = new List <OrTplNItmDO>();
                if (OrderSevrice_Frm.view.Args != null)
                {
                    foreach (Object item in OrderSevrice_Frm.view.Args.listObj)
                    {
                        if ((item as OrTplNItmDO) != null)
                        {
                            list.Add(item as OrTplNItmDO);
                        }
                    }
                }
                //保存数据库
                CiEnContextDTO envinfo = new CiEnContextDTO();
                envinfo.Code_entp  = owner.ent4BannerDTO.Code_entp;
                envinfo.Id_dep_or  = owner.Context.Dept.Id_dep;
                envinfo.Id_en      = owner.ent4BannerDTO.Id_ent;
                envinfo.Id_emp_or  = owner.Context.PsnInfo.Id_psndoc;
                envinfo.Id_entp    = owner.ent4BannerDTO.Id_entp;
                envinfo.Id_grp     = owner.Context.Group.Id_grp;
                envinfo.Id_hp      = owner.ent4BannerDTO.Id_hp;
                envinfo.Id_org     = owner.Context.Org.Id_org;
                envinfo.Id_pat     = owner.ent4BannerDTO.Id_pat;
                envinfo.Emsappmode = (int)EmsAppModeEnum.IVEMSAPPMODE;        //智慧版
                MoreEmsParamDTO moreEmsDto = owner.model.getMoreEmsParamDTO(envinfo, list.ToArray());

                AssToolEx.SentMessage(owner, EventCodeType.EVENT_EMS_TMPL_EDIT, EventCodeType.ARGKEY_EMS_TMPL_EDIT, moreEmsDto);
            }
            return(null);
        }
Example #13
0
        public override void HandleState(object sender, DictionaryEventArgs eventArgs)
        {
            string uiEvent = eventArgs.Data[UIConst.UI_EVENT] as string;

            if (null == model)
            {
                return;
            }

            switch (uiEvent)
            {
            case OpActionConstant.OP_REFRESH_ALL_ACTION:    // 门诊刷新
            case EventCodeType.EVENT_ORDI_SAVESUCCE:
                if (this.ent4BannerDTO != null && !string.IsNullOrEmpty(this.ent4BannerDTO.Id_ent))
                {
                    model.Reload(this.ent4BannerDTO.Id_ent);
                    this.textBoxDi.Contentstr = model.GetPatDiDescription();
                    this.textBoxDi.Invalidate();
                }

                break;

            case "EmrPer":
                model.Reload(this.ent4BannerDTO.Id_ent);
                String info = model.GetPatDiDescription();
                AssToolEx.SentMessage(this, "PatDiDesc", "PatDiDesc", info);
                break;

            case OpActionConstant.OP_COMPLETE_DI_SEND_ACTION:
                if (RelativeUIParam.RELATIVERATIO <= RelativeUIParam.TEMPLETECHANGEDRATIO)
                {
                    if (CheckDiEditable())
                    {
                        Dictionary <string, object> dataDic = new Dictionary <string, object>();
                        dataDic.Add(OpActionConstant.OP_COMPLETE_DI_RECEIVE_ACTION, null);
                        sentMessage(OpActionConstant.OP_COMPLETE_DI_RECEIVE_ACTION, dataDic, sender);
                    }
                }
                break;

            case OpActionConstant.OP_DI_SEND_OR_SIGN_ACTION:
                if (RelativeUIParam.RELATIVERATIO <= RelativeUIParam.TEMPLETECHANGEDRATIO)
                {
                    if (CheckDiEditable())
                    {
                        Dictionary <string, object> dataDic = new Dictionary <string, object>();
                        dataDic.Add(OpActionConstant.OP_DI_RECEIVE_OR_SIGN_ACTION, null);
                        sentMessage(OpActionConstant.OP_DI_RECEIVE_OR_SIGN_ACTION, dataDic, sender);
                    }
                }
                break;

            case OpActionConstant.OP_DI_SEND_OR_OPEN_ACTION:
                if (RelativeUIParam.RELATIVERATIO <= RelativeUIParam.TEMPLETECHANGEDRATIO)
                {
                    if (CheckDiEditable())
                    {
                        Dictionary <string, object> dataDic = new Dictionary <string, object>();
                        dataDic.Add(OpActionConstant.OP_DI_RECEIVE_OR_OPEN_ACTION, null);
                        sentMessage(OpActionConstant.OP_DI_RECEIVE_OR_OPEN_ACTION, dataDic, sender);
                    }
                }
                break;
            }
        }
Example #14
0
 void textBoxDi_MouseClick(object sender, MouseEventArgs e)
 {
     AssToolEx.SentMessage(this, EventCodeType.EVENT_ORDI_EDIT);
 }
Example #15
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 #16
0
 /// <summary>
 /// <para> 消息通知 </para>
 /// </summary>
 /// <param name="uiEventCode"></param>
 /// <param name="dataTag"></param>
 /// <param name="objData"></param>
 /// <param name="param"></param>
 public void SentMessage(string uiEventCode, string dataTag = null, Object objData = null, object param = null)
 {
     AssToolEx.SentMessage(this, uiEventCode, dataTag, objData, param);
 }
Example #17
0
 /// <summary>
 /// 医嘱模板 医技常规 服务分类 的事件
 /// </summary>
 /// <param name="moreEmsDto"></param>
 public void FireEventSent(MoreEmsParamDTO moreEmsDto)
 {
     AssToolEx.SentMessage(this, EventCodeType.EVENT_EMS_TMPL_EDIT, EventCodeType.ARGKEY_EMS_TMPL_EDIT, moreEmsDto);
 }
Example #18
0
 /// <summary>
 /// 刷新
 /// </summary>
 /// <returns></returns>
 private bool HandleFreshEvent()
 {
     AssToolEx.SentMessage(this, UIEvent.REFRESH);
     return(true);
 }