Example #1
0
        /// <summary>
        /// 创建医疗单
        /// </summary>
        /// <param name="emsCreatedParams"></param>
        /// <returns></returns>
        protected bool EventCreateMultiEmsHandle(EmsCreatedParamList emsCreatedParams)
        {
            if (emsCreatedParams != null && emsCreatedParams.Count > 0)
            {
                if (multiEmsGroup.ButtonCount == 1)
                {
                    if (!GetSelectedEmsView().IsEmptyEmsViewType())
                    {
                        GetSelectedEmsView().OnEventHandle(this, AssToolEx.DictionaryEventArgsWith(EventCodeType.EVENT_EMS_CLOSE));
                    }
                    GetSelectedEmsView().OnEventHandle(this, AssToolEx.DictionaryEventArgsWith(EventCodeType.EVENT_EMS_CREATE, EmsCreatedParameter.TAGKEY, emsCreatedParams[0]));
                }
                else
                {
                    ClearEmsEditorView();

                    GetSelectedEmsView().OnEventHandle(this, AssToolEx.DictionaryEventArgsWith(EventCodeType.EVENT_EMS_CREATE, EmsCreatedParameter.TAGKEY, emsCreatedParams[0]));

                    for (int index = 1; index < emsCreatedParams.Count; ++index)
                    {
                        var o = this.AddTabEmsView();
                        o.GetEmsView().OnEventHandle(this, AssToolEx.DictionaryEventArgsWith(EventCodeType.EVENT_EMS_CREATE, EmsCreatedParameter.TAGKEY, emsCreatedParams[index]));
                    }
                }

                this.SwitchEmsContainer(this.multiEmsGroup.SelectedButton.ValueObj as TabEmsView);
            }
            return(true);
        }
        /// <summary>
        ///
        /// </summary>
        public void Save()
        {
            var list = new List <OrTplNItmDO>();

            if (this.SelectOrderDic == null || this.SelectOrderDic.Count == 0)
            {
                this.ShowInfo("请选择一条数据");
                return;
            }
            if (this.SelectOrderDic.Count > 0)
            {
                foreach (string str in this.SelectOrderDic.Keys)
                {
                    //Args.listObj.Add(OrTplDodic[str]);
                    list.Add(OrTplDodic[str]);
                }
            }

            OnFillData();//清空选中的数据

            // 设置医嘱来源属性,用于保存到ci_order中
            this.ciEnContext.Eu_orsrcmdtp = OrSourceFromEnum.IIHORTMPLHELPER;

            var moreEmsDto = Buttonmodel.getMoreEmsParamDTO(this.ciEnContext, list.ToArray());

            if (moreEmsDto != null)
            {
                xapBaseControl.FireEventSent(this, AssToolEx.DictionaryEventArgsWith(EventCodeType.EVENT_EMS_TMPL_EDIT, EventCodeType.ARGKEY_EMS_TMPL_EDIT,
                                                                                     moreEmsDto));
            }
        }
Example #3
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 #4
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 #5
0
 private void WHRender_ValueTextChanging(object sender, ChangingEventArgs e)
 {
     if (null != e.NewValue)
     {
         e.Cancel = !AssToolEx.IsUnsign(e.NewValue.ToString());
     }
 }
 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 #7
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 #8
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 #9
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 #10
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));
 }
        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 #12
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 #13
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 #15
0
        /// <summary>
        /// 编辑单医疗单
        /// </summary>
        /// <param name="emsEditParamList"></param>
        /// <returns></returns>
        protected bool EventEditSingleOrderHandle(OrderEditParamList emsEditParamList)
        {
            if (emsEditParamList != null && emsEditParamList.Count > 0)
            {
                if (CheckNewEmsView())
                {
                    return(true);
                }

                if (beLoading)
                {
                    return(true);
                }

                OrderEditParameter ordEditParam = emsEditParamList[0];

                if (GetSelectedEmsView().UID.Equals(ordEditParam.OrderItem.Id_or))
                {
                    return(true);
                }
                beLoading = true;

                bool hasError = false;
                try {
                    // NAppWaiting.Instance.Show(this);
                    ClearEmsEditorView();

                    var emsView = GetSelectedEmsView();
                    emsView.UID = ordEditParam.OrderItem.Id_or;
                    emsView.OnEventHandle(this, AssToolEx.DictionaryEventArgsWith(EventCodeType.EVENT_EMS_ORDER_EDIT, OrderEditParameter.TAGKEY, ordEditParam)
                                          );

                    this.SwitchEmsContainer(this.GetSelectedEmsView());
                }
                catch (XapServiceException e) {
                    this.SetStatusMsg(e.ErrorMsg.Message ?? e.ErrorMsg.data);
                    hasError = true;
                }
                catch (Exception e) {
                    this.SetStatusMsg(e.StackTrace);
                    hasError = true;
                }
                finally {
                    beLoading = false;
                    // NAppWaiting.Instance.Close();
                    if (hasError)
                    {
                        EventCloseEmsHandle(null);
                        this.ShowInfo("打开医嘱出现异常情况,请查看日志");
                    }
                }
            }
            return(true);
        }
Example #16
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 #17
0
        protected bool EventEditMultiEditHandle(OrderEditParamList emsEditParamList)
        {
            if (emsEditParamList != null && emsEditParamList.Count > 0)
            {
                int nCanOpenNum = 6 - this.multiEmsGroup.ButtonCount;
                //   RemoveAllTabEms();
                emsEditParamList.ToList().ForEach(order => {
                    if (!hasOpenedOrderList.Contains(order.OrderItem.Id_or))
                    {
                        if (nCanOpenNum-- > 0)
                        {
                            var emsView = this.multiEmsGroup.SelectedButton.ValueObj as TabEmsView;
                            if (this.multiEmsGroup.ButtonCount == 1 && emsView.UID == "")
                            {
                            }
                            else
                            {
                                emsView = this.AddTabEmsView();
                            }

                            emsView.OnEventHandle(this,
                                                  AssToolEx.DictionaryEventArgsWith(EventCodeType.EVENT_EMS_ORDER_EDIT, OrderEditParameter.TAGKEY, order)
                                                  );
                            emsView.UID = order.OrderItem.Id_or;
                            hasOpenedOrderList.Add(emsView.UID);
                        }
                    }
                });

                this.SwitchEmsContainer(this.multiEmsGroup.SelectedButton.ValueObj as TabEmsView);


                if (null != this.GetSelectedEmsView())
                {
                    this.GetSelectedEmsView().SelectedIndex = 0; // 显示医嘱页签
                }
                // 当只有一个医疗单时候,不显示多医疗单按钮
                if (this.multiEmsGroup.ButtonCount == 1)
                {
                    this.multiEmsGroup.SetButtonVisible(0, false); // 0, 第一个,隐藏唯一的一个按钮
                }
                else
                {
                    this.multiEmsGroup.SetButtonVisible(-1, true); // -1, 全部
                }

                if (emsEditParamList.Count > 6)
                {
                    this.SetStatusMsg("最多只能同时打开 6 个医疗单");
                }
            }
            return(true);
        }
Example #18
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 #19
0
        public bool saveToDb(List <OrTplNItmDO> selectList)
        {
            var moreEmsDto = Buttonmodel.getMoreEmsParamDTO(this.ciEnContext, selectList.ToArray());

            if (moreEmsDto != null)
            {
                xapBaseControl.FireEventSent(this, AssToolEx.DictionaryEventArgsWith(EventCodeType.EVENT_EMS_TMPL_EDIT, EventCodeType.ARGKEY_EMS_TMPL_EDIT,
                                                                                     moreEmsDto));
            }
            xapBaseControl.SetStatusMsg("保存成功!");
            parentFrame.close();
            return(true);
        }
Example #20
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 #21
0
        /// <summary>
        /// 删除行
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public override BaseFormBizView DeleteRow(object param = null)
        {
            if (this.GetViewModel().GetCountWithOutDelete() == 1)
            {
                this.ShowInfo("不允许删除最后一个,请直接修改服务名称或者取消");
                return(this);
            }
            base.DeleteRow(param);

            this.SentNotify(EventCodeType.NM_EMS_ORSRV_DATACHANGED);

            this.GetCardViewControl().OnEventHandle(this, AssToolEx.DictionaryEventArgsWith(EventCodeType.EVENT_EMS_ORSRV_DATACHANGED));
            return(AdjustLayout());
        }
Example #22
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 #23
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 #24
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 #25
0
        public void Save()
        {
            string msg = "请选择服务后再点击确定按钮!";

            if (string.IsNullOrEmpty(this.Id_srv) || this.medSrvDodic == null || this.medSrvDodic.Count == 0)
            {
                BizAssMessageBoxUtil.ShowInforMsg(msg);
                return;
            }

            var list = new List <OrTplNItmDO>();

            if (this.medSrvDodic.ContainsKey(this.Id_srv))
            {
                MedSrvDO tempmedsrv = medSrvDodic[this.Id_srv];
                if (tempmedsrv.Fg_set.Value)
                {
                    MedSrvConvertSetItem(list, tempmedsrv);
                }
                else
                {
                    OrTplNItmDO rtplItem = convertOrTplNItmDO(tempmedsrv);
                    list.Add(rtplItem);
                }
            }
            else
            {
                BizAssMessageBoxUtil.ShowInforMsg(msg);
                return;
            }

            //OnFillData();
            //重新加载当前页的数据
            FillData(selectedAlphabetRender);
            //清空选中的数据
            this.Id_srv = string.Empty;

            // 设置医嘱来源属性,用于保存到ci_order中
            this.ciEnContext.Eu_orsrcmdtp   = OrSourceFromEnum.IIHSRVCAHELPER;
            this.ciEnContext.Assistant_type = "medsrv";//医疗服务
            if (Buttonmodel != null)
            {
                var moreEmsDto = Buttonmodel.getMoreEmsParamDTO(this.ciEnContext, list.ToArray());
                if (null != moreEmsDto)
                {
                    xapBaseControl.FireEventSent(this, AssToolEx.DictionaryEventArgsWith(EventCodeType.EVENT_EMS_TMPL_EDIT, EventCodeType.ARGKEY_EMS_TMPL_EDIT,
                                                                                         moreEmsDto));
                }
            }
        }
Example #26
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 #27
0
        public bool CanOpenFunc()
        {
            BaseContext context = new BaseContext();

            if (context.PsnInfo != null && context.PsnInfo.Id_psndoc != null)
            {
                if (!AssToolEx.GetPsnPresRt(context.PsnInfo.Id_psndoc))
                {
                    this.ShowInfo("您的医生执业信息不全,请联系医务处进行维护");
                    XapEvents.CloseFuncEvent(this, new CloseFuncEventArgs(context.FunCode));
                    return(false);
                }
            }
            return(true);
        }
Example #28
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 #29
0
        private bool saveToDb(List <OrTplNItmDO> selectList)
        {
            AssCostTimeTool costTimeTool = new AssCostTimeTool("执行医嘱模板保存" + selectList.Count + "条记录", false);
            var             moreEmsDto   = this.buttonViewModel.getMoreEmsParamDTO(this.ciEnContext, selectList.ToArray());

            costTimeTool.SaveTimeLog();
            if (moreEmsDto != null)
            {
                xapBaseControl.FireEventSent(this, AssToolEx.DictionaryEventArgsWith(EventCodeType.EVENT_EMS_TMPL_EDIT, EventCodeType.ARGKEY_EMS_TMPL_EDIT,
                                                                                     moreEmsDto));
                if (moreEmsDto.Errormap2 == null || moreEmsDto.Errormap2.Values.Count == 0)
                {
                    return(true);
                }
            }
            return(false);
        }
Example #30
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));
        }