Ejemplo n.º 1
0
        public override void OnRefreshData(EmsUIDTO headDo, object e)
        {
            this.EmsHeadDO = headDo;
            OrWfDeptInfoDTO wf = new viewmodel.impext.GetDeptMpImp().GetDept_mp_ids(this.EmsHeadDO.PatInfo.Code_entp, this.EmsHeadDO.PatInfo.Id_entp, this.EmsHeadDO.MedSrvDO.Sd_srvtp, this.EmsHeadDO.MedSrvDO.Id_srvca, this.EmsHeadDO.MedSrvDO.Id_srv, this.EmsHeadDO.MedSrvDO.Id_route, "id_mm", headDo.PatInfo.Id_dep_nur, headDo.PatInfo.Id_dep_phy);

            if (wf != null)
            {
                idDepMps = wf.Id_mp_depts;
            }
            string[] di = new string[2];
            if (this.EmsHeadDO.IsNEW)
            {
                if (wf != null)
                {
                    this.EmsHeadDO.Emsappathgy.Id_mp_dep   = wf.Firstid_mp_dept;
                    this.EmsHeadDO.Emsappathgy.Name_mp_dep = wf.Firstname_mp_dept;
                }
            }
            base.OnRefreshData(headDo, e);

            if (emsItemInPathgyView != null)
            {
                emsItemInPathgyView.bEdit = !IsReadOnly;
                emsItemInPathgyView.RefreshData(this.EmsHeadDO.Emsappathgy);
            }
        }
Ejemplo n.º 2
0
        public bool OrdValivate(EmsUIDTO headDo, CiorderBaseControl ci)
        {
            LogicEx       logicEx = LogicEx.GetInstance();
            List <string> errList = new List <string>();

            if (headDo.Emsapobs.EmsOrObsList == null || headDo.Emsapobs.EmsOrObsList.Count == 0)
            {
                errList.Add("请选择检查项目");
            }
            if (headDo.Emsapobs.EmsOrObsList.Count > 0)
            {
                bool isTrue = false;
                foreach (EmsObsLap obs in headDo.Emsapobs.EmsOrObsList)
                {
                    if (obs.Name_srv == null || obs.Name_srv == "")
                    {
                        isTrue = true;
                    }
                }
                if (isTrue)
                {
                    errList.Add("检查项目不能空");
                }
            }

            //if (headDo.Emsapobs.Dt_plan < logicEx.GetServerDataTime())
            //    errList.Add("检查时间不能小于当前时间!");

            if (errList.Count > 0)
            {
                ci.OrdErrorList.AddRange(errList);
                return(false);
            }
            return(true);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 保存医嘱
        /// </summary>
        public void Save()
        {
            OrderDataVerify ver = new OrderDataVerify();

            currentEmsControl.OrdErrorList.Clear();
            currentEmsControl.SaveBefore();
            ver.OrdValidateMustInput(currentEmsControl); //必填项
            ver.OrdBPValidate(emsDO, currentEmsControl); //业务

            if (currentEmsControl.OrdErrorList.Count == 0)
            {
                CiOrderDO ciorder = dtoSaveViewModel.SaveDTO(emsDO, dto, orderDataFrom);//1保存
                if (ciorder == null)
                {
                    return;
                }
                SendMgs(ciorder.Id_or); //2发消息
                emsDO = null;           //清空对象
                ClearCurrentEms();      //3清表单
            }
            else
            {
                string strErr = "";
                currentEmsControl.OrdErrorList.ForEach(
                    p => { strErr += string.Format("{0}.{1}\n", currentEmsControl.OrdErrorList.IndexOf(p) + 1, p); });
                string errInfo = " 验证失败,操作取消!\n" + strErr;
                //cof.OrVoice(errInfo);
                this.ShowInfo(errInfo, "提示:");
            }
        }
Ejemplo n.º 4
0
        public bool OrdValivate(EmsUIDTO headDo, CiorderBaseControl ci)
        {
            List <string> errList = new List <string>();

            if (headDo.Emsdrugs.Use_days == null)
            {
                errList.Add("【" + headDo.Emsdrugs.Name_srv + "】使用天数不能为空, 请检查!");
            }
            else if (headDo.Emsdrugs.Use_days == 0)
            {
                errList.Add("【" + headDo.Emsdrugs.Name_srv + "】使用天数不能为 0天,请检查!");
            }
            if (headDo.Emsdrugs.EmsOrDrugList[0].Quan_cur == null || headDo.Emsdrugs.EmsOrDrugList[0].Quan_cur == 0)
            {
                errList.Add("【" + headDo.Emsdrugs.Name_srv + "】总量不能为空!请检查!");
            }
            #region 药品库存的判断
            string mmcounterror = LogicEx.GetInstance().validateDrugCount(headDo.Emsdrugs.EmsOrDrugList.ToList());
            if (!string.IsNullOrEmpty(mmcounterror))
            {
                errList.Add(mmcounterror);
            }
            #endregion
            if (errList.Count > 0)
            {
                ci.OrdErrorList.AddRange(errList);
                return(false);
            }
            return(true);
        }
Ejemplo n.º 5
0
        public bool OrdValivate(EmsUIDTO uiDto, CiorderBaseControl ci)
        {
            List <string> errList = new List <string>();

            #region 女性年满18岁,生育史必填
            //if (uiDto.PatInfo.Sd_sex == "2" && uiDto.PatInfo.Dt_birth!=null) {
            //    DateTime dt = Convert.ToDateTime(uiDto.PatInfo.Dt_birth);
            //    int age = (DateTime.Now - dt).Days / 365;
            //    if (age >= 18 && (uiDto.Emsapbt.Parturition_cnt == null || uiDto.Emsapbt.Pregnat_num == null))
            //    {
            //        errList.Add("年满18岁的女性患者,生育史必填!");
            //    }
            //}
            #endregion
            //献血史勾选上后,献血证号必填
            //if (uiDto.Emsapbt.Fg_db != null && uiDto.Emsapbt.Fg_db==true && uiDto.Emsapbt.No_db == null)
            //{
            //    errList.Add("请填写献血证号!");
            //}

            if (uiDto.Emsapbt.Parturition_cnt != null && uiDto.Emsapbt.Parturition_cnt > 0)
            {
                if (uiDto.Emsapbt.Pregnat_num <= 0)
                {
                    errList.Add("生育史 孕不能小于0或等于0");
                }
            }

            if (errList.Count > 0)
            {
                ci.OrdErrorList.AddRange(errList);
                return(false);
            }
            return(true);
        }
Ejemplo n.º 6
0
 public CiorderAggDO[] SaveEmsUIDTO(EmsUIDTO EmsUIDTO, string type)
 {
     object[] param = new object[] { EmsUIDTO, type };
     si.url = url_r;
     CiorderAggDO[] rtn = si.invokeList <CiorderAggDO>("SaveEmsUIDTO", param.ToArray());
     return(rtn);
 }
Ejemplo n.º 7
0
        public bool OrdValivate(EmsUIDTO headDo, CiorderBaseControl ci)
        {
            List <string> errList = new List <string>();

            #region 计划手术时间大于申请时间
            if (headDo.Emsapop.Dt_plan < headDo.Emsapop.Dt_creat)
            {
                errList.Add("计划手术时间应大于手术申请时间!");
            }
            #endregion
            if (errList.Count > 0)
            {
                ci.OrdErrorList.AddRange(errList);
                return(false);
            }
            #region 将其他人员表中选择了角色但没有选择人员的数据去掉
            for (int i = headDo.Emsapop.OpEmpItem.Count - 1; i >= 0; i--)
            {
                if (string.IsNullOrEmpty(headDo.Emsapop.OpEmpItem[i].Id_emp_op) && !CiDictCodeConst.SD_OP_ROLE_ZDYS.Equals(headDo.Emsapop.OpEmpItem[i].Sd_role) && !CiDictCodeConst.SD_OP_ROLE_DYZS.Equals(headDo.Emsapop.OpEmpItem[i].Sd_role))
                {
                    headDo.Emsapop.OpEmpItem.RemoveAt(i);
                }
            }
            #endregion
            return(true);
        }
Ejemplo n.º 8
0
        protected override void OnXapFormControl_ModelFilled(object sender, EventArgs e)
        {
            object emsObj = this.GetViewModel().GetEmsUIDTO();

            if (emsObj != null)
            {
                EmsUIDTO emsUiDto = emsObj as EmsUIDTO;
                if (emsUiDto.PatInfo != null)
                {
                    if (isHideSelfpay(emsUiDto.PatInfo))
                    {
                        if (this.GetXapFormControl().GetUserRender(FORM_CARD_PAGECODE, "fg_selfpay") != null)
                        {
                            (this.GetXapFormControl().GetUserRender(FORM_CARD_PAGECODE, "fg_selfpay") as
                             XLabelBaseUserRender).Visible = false;
                        }
                    }
                    else
                    {
                        //医保共享验证
                        CiEnContextDTO ciEnContextDto = CiEnContextUtil.GetCiEnContext(emsUiDto.PatInfo, EmsAppModeEnum.SVEMSAPPMODE, this.Context);//诊断是否保外的
                        if (ciEnContextDto.Eu_hpbeyond == HpBeyondEnum.HPEXTERNALDIAG)
                        {
                            if (this.GetXapFormControl().GetUserRender(FORM_CARD_PAGECODE, "fg_selfpay") != null)
                            {
                                (this.GetXapFormControl().GetUserRender(FORM_CARD_PAGECODE, "fg_selfpay") as
                                 XLabelBaseUserRender).Checked = true;
                                (this.GetXapFormControl().GetUserRender(FORM_CARD_PAGECODE, "fg_selfpay") as
                                 XLabelBaseUserRender).Enabled = false;
                            }
                        }
                    }
                }
            }
        }
Ejemplo n.º 9
0
        public override void OnRefreshData(EmsUIDTO ems, object e)
        {
            EmsHeadDO     = ems;
            this.CiEmsDTO = e as CiEmsDTO;
            OrWfDeptInfoDTO wf = new viewmodel.impext.GetDeptMpImp().GetDept_mp_ids(EmsHeadDO.PatInfo.Code_entp,
                                                                                    EmsHeadDO.PatInfo.Id_entp, EmsHeadDO.MedSrvDO.Sd_srvtp, EmsHeadDO.MedSrvDO.Id_srvca, EmsHeadDO.MedSrvDO.Id_srv,
                                                                                    EmsHeadDO.MedSrvDO.Id_route, "id_mm", EmsHeadDO.PatInfo.Id_dep_nur, EmsHeadDO.PatInfo.Id_dep_phy);

            idDepMps = wf == null ? "" : wf.Id_mp_depts;
            string[] di = new string[2];
            if (EmsHeadDO.IsNEW)
            {
                LoadIndicatorData();
                EmsHeadDO.Emsapop.Id_mp_dep   = wf == null ? "" : wf.Firstid_mp_dept;;
                EmsHeadDO.Emsapop.Name_mp_dep = wf == null ? "" : wf.Firstname_mp_dept;
                cof.GetPatDis(EmsHeadDO, ref di);
                EmsHeadDO.Emsapop.Id_di     = di[0];
                EmsHeadDO.Emsapop.Name_diag = di[1];
            }

            if (Created)
            {
                this.LoadData();
            }
        }
Ejemplo n.º 10
0
        public bool OrdValivate(EmsUIDTO uiDto, CiorderBaseControl ci)
        {
            List <string> errList = new List <string>();

            #region 开始日期不能小于入院日期
            string errMsg = LogicEx.GetInstance().CompareWithAdmission(uiDto.PatInfo.Id_ent, uiDto.Emsdrugs.Dt_begin_ui);
            if (!string.IsNullOrEmpty(errMsg))
            {
                errList.Add(errMsg);
            }
            #endregion

            #region 结束日期要大于开始日期
            DateTime?dtBegin = uiDto.Emsdrugs.Dt_begin_ui;
            DateTime?dtEnd   = uiDto.Emsdrugs.Dt_end_ui;
            if (dtBegin != null && dtEnd != null)
            {
                if (dtEnd < dtBegin)
                {
                    errList.Add(OrdParam.MESSAGE_TIEMCHECK);
                }
            }
            #endregion

            if (errList.Count > 0)
            {
                ci.OrdErrorList.AddRange(errList);
                return(false);
            }
            return(true);
        }
Ejemplo n.º 11
0
        public XapDataList <EmsObsItemDO> getLabImplList(EmsUIDTO headDO, MedsrvAggDO[] medsrvagg)
        {
            XapDataList <EmsObsItemDO> list = new XapDataList <EmsObsItemDO>();

            if (medsrvagg != null && medsrvagg.Length > 0)
            {
                int i = 1;
                foreach (MedsrvAggDO medsrvAgg in medsrvagg)
                {
                    EmsObsItemDO labItem = new EmsObsItemDO();


                    headDO.Emsaplab.Name_samptp  = medsrvAgg.getMedSrvLisDO()[0].Samptp_name;
                    headDO.Emsaplab.Id_samptp    = medsrvAgg.getMedSrvLisDO()[0].Samptp_code;
                    headDO.Emsaplab.Id_srv       = medsrvAgg.getParentDO().Id_srv;
                    headDO.Emsaplab.Id_srvtp     = medsrvAgg.getParentDO().Id_srvtp;
                    headDO.Emsaplab.Name_srv     = medsrvAgg.getParentDO().Name;
                    headDO.Emsaplab.Des_sympsign = medsrvAgg.getMedSrvLisDO()[0].Note;
                    headDO.Emsaplab.Des_sympsign = medsrvAgg.getMedSrvLisDO()[0].Note;

                    labItem.Name_srv             = medsrvAgg.getParentDO().Name;
                    labItem.Des_sympsign         = medsrvAgg.getParentDO().Note;
                    headDO.Emsaplab.Des_sympsign = medsrvAgg.getParentDO().Note;
                    labItem.Sortno = i;
                    i++;
                    list.Add(labItem);
                }
            }
            return(list);
        }
Ejemplo n.º 12
0
        public override void OnRefreshData(EmsUIDTO headDo, object e)
        {
            if (headDo != null)
            {
                EmsHeadDO = headDo;
            }
            consDo = cof.GetCons(EmsHeadDO.Emsapcons.Id_srv);

            if (this.Created)
            {
                if (consDo != null && this.pageCommands != null)
                {
                    foreach (XapCommand conmmands in this.pageCommands[0].Commands)
                    {
                        conmmands.Visible = consDo.Fg_deps.Value;
                        conmmands.Enabled = consDo.Fg_deps.Value;
                    }
                }
                if (EmsHeadDO.Emsapcons.EmsConsAssistItem == null || EmsHeadDO.Emsapcons.EmsConsAssistItem.Count == 0)
                {
                    EmsItemInCons itemDO = new EmsItemInCons();
                    itemDO.Id_org   = UserManager.getInstance().CurrentOrg.Id_org;
                    itemDO.Name_org = UserManager.getInstance().CurrentOrg.Name;
                    EmsHeadDO.Emsapcons.EmsConsAssistItem.Add(itemDO);
                }

                this.LoadData();
            }
        }
Ejemplo n.º 13
0
 public CiOrderDO SaveDTO(EmsUIDTO emsHeadDO, CiEmsDTO dto, int Eu_sourcemd, delegateBeforeSave OnBeforeSaveEms = null)
 {
     //保存前进行患者状态校验
     judgePatEntStatus(emsHeadDO.PatInfo);
     model.SaveCiDTO(emsHeadDO, dto, Eu_sourcemd);
     dto.Id_dept_ns = emsHeadDO.PatInfo.Id_dep_nur;
     //校验频次、剂量、剂量单位
     if (!LogicEx.GetInstance().validateBeforeSaveCiEmsDto(emsHeadDO, dto))
     {
         return(null);
     }
     //设置医保信息 后台获取医保目录类型的方法已经被注释掉了,前台在调用浪费时间
     // LogicEx.GetInstance().setHpInfo(dto, emsHeadDO.PatInfo.Id_hp);
     //if (emsHeadDO.IsNEW && LogicEx.GetInstance().validateEmsUIDTO(dto))
     //{
     //    List<string> errorList = LogicEx.GetInstance().validateFreqAndUnitmed(dto);
     //    if (errorList.Count > 0)
     //    {
     //        string strErr = "";
     //        errorList.ForEach(
     //            p => { strErr += string.Format("{0}.{1}\n", errorList.IndexOf(p) + 1, p); });
     //        string errInfo = " 验证失败,操作取消!\n" + strErr;
     //        this.ShowInfo(errInfo, "提示:");
     //        return null;
     //    }
     //}
     if (OnBeforeSaveEms != null)
     {
         OnBeforeSaveEms(dto);
     }
     return(ordMaintainService.SaveCiEmsDTO(dto, CiEnContextUtil.GetCiEnContext(emsHeadDO.PatInfo, EmsAppModeEnum.IVEMSAPPMODE)));
 }
Ejemplo n.º 14
0
        public XapDataList <EmsObsLap> GetLabImpList(EmsUIDTO headDO, MedSrvDO med)
        {
            XapDataList <EmsObsLap> list = new XapDataList <EmsObsLap>();

            MedSrvLisDO[] srvlis = service.find(string.Format("a1.id_srv='{0}'", med.Id_srv), "", false);   //调用此服务报错
            if (srvlis != null && srvlis.Count() > 0)
            {
                int i = 1;
                foreach (MedSrvLisDO lis in srvlis)
                {
                    EmsObsLap lab = new EmsObsLap();
                    lab.Id_srv      = lis.Id_srv;
                    lab.Sd_contp    = lis.Sd_contp;
                    lab.Id_contp    = lis.Id_contp;
                    lab.Id_labgroup = lis.Id_labgroup;
                    lab.Sd_labgroup = lis.Sd_labgroup;
                    lab.Name_srv    = med.Name;
                    lab.Id_srvca    = med.Id_srvca;
                    //lab.Dt_plan = headDO.Dt_begin_ui;
                    //lab.Id_pps = lis.Id_pps;
                    //lab.Sd_pps = lis.Sd_pps;
                    //lab.Des_pps = lis.Des_pps;
                    lab.Sd_srvtp                         = med.Sd_srvtp;
                    lab.Id_su_obs                        = CiDictCodeConst.ID_CI_LAB_SQ;
                    lab.Sd_su_obs                        = CiDictCodeConst.SD_CI_LAB_SQ;
                    lab.Fg_or                            = med.Fg_or;
                    lab.Eu_blmd                          = med.Eu_blmd;
                    lab.Des_sympsign                     = lis.Des_labsamp;
                    lab.Announcements                    = lis.Note;//注意事项
                    lab.Fg_urgent                        = headDO.Emsaplab.Fg_urgent;
                    lab.Sd_samptp                        = lis.Sd_samptp;
                    lab.Id_samptp                        = lis.Id_samptp;
                    headDO.Emsaplab.Id_samptp            = lis.Id_samptp;
                    headDO.Emsaplab.Sd_samptp            = lis.Sd_samptp;
                    headDO.Emsaplab.Name_samptp          = lis.Samptp_name;
                    headDO.Emsaplab.Id_sampcoltime       = lis.Id_sampcoltime;       //标本采集时间id
                    headDO.Emsaplab.Name_sampcoltime     = lis.Name_sampcoltime;     //标本采集时间名称
                    headDO.Emsaplab.Id_sampcollecttimetp = lis.Id_sampcollecttimetp; //标本采集时间类型
                    headDO.Emsaplab.Sd_sampcollecttimetp = lis.Sd_sampcollecttimetp; //标本采集时间类型编码
                    headDO.Emsaplab.Len_sampcoltime      = lis.Len_sampcoltime;      //标本采集时长
                    headDO.Emsaplab.Id_unit_sampcoltime  = lis.Id_unit_sampcoltime;  //标本采集时间时长单位
                    lab.Quan    = lis.Quan;
                    lab.Id_quan = lis.Id_unit_quan;
                    // lab.Id_medu = lis.Id_unit_nuit;
                    lab.Quan_medu   = med.Quan_med;
                    lab.Id_medu     = med.Id_unit_med;
                    lab.Sd_colltp   = lis.Sd_colltp;
                    lab.Id_colltp   = lis.Id_colltp;
                    lab.Des_labsamp = lis.Des_labsamp;
                    lab.Fg_bl       = med.Fg_bl; //zwq 2016-08-22
                    lab.Fg_chk      = true;      //新增时默认全部选中,2016-6-25
                    lab.Sv          = lis.Sv;
                    lab.Sortno      = i + "";
                    list.Add(lab);
                    i++;
                }
            }
            return(list);
        }
Ejemplo n.º 15
0
 public virtual void OnRefreshData(EmsUIDTO ems, object e)
 {
     EmsHeadDO = ems;
     CiEmsDTO  = e as CiEmsDTO;
     if (Created)
     {
         LoadData();
     }
 }
Ejemplo n.º 16
0
        /// <summary>
        /// 表单中数据改变的时候消息处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected override void OnXapFormControl_DataChanged(object sender, DataChangedEventArgs e)
        {
            #region 变动用药属性改变
            if (e.PropName.ToLower() == "fg_dose_anoma")
            {
                EmsUIDTO uiEmsDTO = (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO);

                if (Boolean.Parse(e.Input.ToString()))
                {
                    if (uiEmsDTO.Emsdrugs.EmsOrDoseDrug.Count == 0)
                    {
                        uiEmsDTO.Emsdrugs.EmsOrDoseDrug =
                            this.GetLogicEx().GetFreqVsTimes(uiEmsDTO.Emsdrugs.Id_freq,
                                                             uiEmsDTO.Emsdrugs.Id_orsrv,
                                                             uiEmsDTO.Emsdrugs.Id_or);
                    }

                    var dlg = new DoseChangedDrugsDialog(uiEmsDTO.Emsdrugs.EmsOrDoseDrug);

                    dlg.SaveEvent   += dlg_SaveEvent;
                    dlg.CancelEvent += dlg_SaveEvent;



                    uiEmsDTO.Emsdrugs.EmsOrDoseDrug.ToList().ForEach(p =>
                    {
                        p.Quan_med      = uiEmsDTO.Emsdrugs.Quan_med;//剂量
                        p.Name_unit_med = uiEmsDTO.Emsdrugs.Name_unit_med;

                        p.Id_unit_med = uiEmsDTO.Emsdrugs.Id_unit_med;
                    });

                    dlg.ShowDialog();
                }
                else
                {
                    uiEmsDTO.Emsdrugs.EmsOrDoseDrug.Clear();
                }
            }
            #endregion
            if (e.Input != null)
            {
                orSrvInfoChanged(e.PropName.ToLower(), e.Input.ToString());
            }
            if (e.PropName.ToLower() == "fg_mp_in" || e.PropName.ToLower() == "times_mp_in" || e.PropName.ToLower() == "fg_treat" || e.PropName.ToLower() == "fg_selfpay")
            {
                this.SentNotify(EventCodeType.NM_EMS_ORSRV_DATACHANGED);
            }
            if (e.PropName.ToLower() == "name_routedes")
            {
                if (!(this.GetViewModel() as EmsDrugsViewModel).bEdit_Note_or)
                {
                    this.GetLogicEx().SetNoteOr(this.GetViewModel().GetEmsUIDTO() as EmsUIDTO);
                }
            }
        }
Ejemplo n.º 17
0
        /// <summary>
        /// 医疗单的容器控件上,点击取消后的响应函数
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void orCom_CancelClickEvent(object sender, EventArgs e)
        {
            ClearCurrentEms();
            emsDO = null;
            this.tabNaviControl.CanShowForm = false;
            DictionaryEventArgs dic = new DictionaryEventArgs();

            dic.Data[UIConst.UI_EVENT] = UIEvent.CANCEL;
            this.FireEventSent(this, dic);
        }
Ejemplo n.º 18
0
        /// <summary>
        /// 使用医疗单上挂接的校验对象进行校验
        /// </summary>
        /// <param name="headDo"></param>
        /// <param name="ci"></param>
        /// <returns></returns>
        public bool OrdBPValidate(EmsUIDTO headDo, CiorderBaseControl ci)
        {
            IValidate val = ci.GetOrdValidate();

            if (val != null)
            {
                return(val.OrdValivate(headDo, ci));
            }
            return(true);
        }
Ejemplo n.º 19
0
        private LogicEx cof = LogicEx.GetInstance(); //new LogicEx();
        #endregion

        public ExtOrderDrugDialog_Old(EmsUIDTO CiHeadDo, EmsOrDrug drug)
        {
            InitializeComponent();
            this.CiHeadDo               = CiHeadDo;
            this.drug                   = drug;
            xapFormControl.Load        += xapFormControl_Load;
            xapFormControl.RefFilter   += OnRefFilter;
            xapFormControl.ModelFilled += new EventHandler(xapFormControl_ModelFilled);
            xapFormControl.FormCreated += new EventHandler(xapFormControl_FormCreated);
        }
Ejemplo n.º 20
0
        /// <summary>
        /// Gets the or drugs.
        /// </summary>
        /// <param name="id">The 服务项目id.</param>
        /// <param name="type">The type.</param>
        /// <returns></returns>
        public XapDataList <EmsOrDrug> GetOrDrugs(string id_srv, string id_hp, string code_entp, CiEnContextDTO contextdto = null)
        {
            XapDataList <EmsOrDrug> list = new XapDataList <EmsOrDrug>();

            this.headDo = this.crudService.findById(id_srv, id_hp, code_entp, contextdto);

            foreach (EmsOrDrug item in headDo.Emsdrugitems)
            {
                if (item.BdHpIndicationDTO != null && item.BdHpIndicationDTO.Count > 0)
                {
                    item.Fg_selfpay       = HpJudgeUtil.getInstance().isSelfPay(item.BdHpIndicationDTO[0] as BdHpIndicationDTO);
                    item.Fg_hpindicjudged = HpJudgeUtil.getInstance().getFg_hpindicjudged(item.BdHpIndicationDTO[0] as BdHpIndicationDTO);
                }
                if (contextdto.Fg_hpfundpay == null || !(bool)contextdto.Fg_hpfundpay || (contextdto.Eu_hpbeyond != null && !contextdto.Eu_hpbeyond.Equals(HpBeyondEnum.HPDIAG)))
                {
                    item.Fg_treat   = false;
                    item.Fg_selfpay = true;
                }
                //单次剂量录入
                item.Quan_medu_virtual      = item.Quan_med;
                item.Name_unit_medu_virtual = item.Name_unit_med;
                list.Add(item);
                //xap.cli.context.UserManager.getInstance().CurrentDept.
                //list.Add(new EmsOrDrug
                //{
                //    //Status=DOStatus.UPDATED,//初始化状态
                //    Id_srv=id_srv,
                //    Name_srv = item.Name_srv,//通用物品(即服务项目名称)
                //    Name_mm = item.Name_mm,//物品
                //    Id_mm = item.Id_mm,
                //    Spec_mm = item.Spec_mm,//规格
                //    Quan_med = item.Quan_med,//剂量
                //    Name_unit_med ="mg",// item.Name_unit_med,//剂量单位
                //    Id_unit_med = item.Id_unit_med,
                //    Quan_base = item.Quan_base,//单次数量
                //    Id_unit_base = item.Id_unit_base,//数量单位
                //    Name_unit_base = item.Name_unit_base,
                //    Name_boildes=(string.IsNullOrEmpty(item.Name_boildes)? "文火3刻钟":item.Name_boildes),
                //    Id_boildes=item.Id_boildes,
                //    Vender = item.Name_sup, //厂商
                //    Price = item.Price,//参考价格
                //    Des = item.Des_mm,  //描述
                //    Limit = item.Limit,//限制条件//TODO:临时数据
                //    Name_heath = item.Name_heath,//医保类型
                //    Fact_count =0,// ran.Next(2, 30),//现有存量
                //    Fg_skintest=false,

                //    Sortno=headDo.Emsdrugitems.IndexOf(item)+1



                //});
            }
            return(list);
        }
Ejemplo n.º 21
0
        /// <summary>
        /// Saves the specified ems head do.
        /// </summary>
        /// <param name="emsHeadDO">The ems head do.</param>
        /// <param name="emsType">Type of the ems.</param>
        /// Author:admin
        /// Date:2015-09-28
        public void Save(EmsUIDTO emsHeadDO, EmsType emsType, PatientsDTO patDo)
        {
            if (emsHeadDO == null)
            {
                return;
            }

            //老孟版本的 数据转换
            //ordMaintainService.SaveCiEmsDTO(new OrDataConvert().UIEmsToEms(emsHeadDO));
            return;
        }
Ejemplo n.º 22
0
        /// <summary>
        /// Sets the会诊受邀对象
        /// </summary>
        private void SetInviteCons(EmsUIDTO emsHeadDO, string id_cons)
        {
            //List<CiordInviteConsDO> listInvite = new List<CiordInviteConsDO>();

            //emsHeadDO.Emsapcons.EmsConsAssistItem.ToList().ForEach(p =>
            //{
            //    CiordInviteConsDO cons = new CiordInviteConsDO();//对于新增还是修改无需判断,修改的话 存在id,和sv  新增的则没有
            //    listInvite.Add(orDataBing.SaveConsInvite(p, cons, id_cons));
            //});
            //new OrderInviteConsViewModel().Save(listInvite.ToArray());
        }
Ejemplo n.º 23
0
 public ExtOrderDrugDialog(Ent4BannerDTO bannerInfo, EmsOrDrug drug)
 {
     InitializeComponent();
     this.CiHeadDo               = null;
     this.PatInfo                = bannerInfo;
     this.drug                   = drug;
     xapFormControl.Load        += xapFormControl_Load;
     xapFormControl.RefFilter   += OnRefFilter;
     xapFormControl.ModelFilled += new EventHandler(xapFormControl_ModelFilled);
     xapFormControl.FormCreated += new EventHandler(xapFormControl_FormCreated);
 }
Ejemplo n.º 24
0
        //设置执行次数和执行时间:这个是在开立的时候做的,二次查看的时候要根据使用次数算执行时间
        public void GetMpTimes(string id_freq, EmsUIDTO EmsHeadDO, string[] exctimes, XapFormControl xapFormControl1)
        {
            cof.GetDoseDrugData(id_freq, this.EmsHeadDO);
            string exctime = cof.GetWorkTime(id_freq);

            if (exctime != null && exctime != "")
            {
                exctimes = exctime.Split(';');
                Array.Sort(exctimes);
                Array.Reverse(exctimes);
            }
            else
            {
                return;
            }
            DateTime?            dt            = this.EmsHeadDO.Emsdrugs.Dt_begin_ui;
            XLabelBaseUserRender tmpUserRender = xapFormControl1.GetUserRender("drugsUse", "quan_firday_mp") as XLabelBaseUserRender;
            XNumbericUpDown      numRender     = tmpUserRender.UserRender as XNumbericUpDown;
            //作为计算的时间
            DateTime date = DateTime.Now;

            //bool flag = false;
            if (dt != null)
            {
                DateTime dtNow    = DateTime.Now;
                DateTime dtBegion = (DateTime)dt;
                string   nowtime  = dtBegion.ToShortTimeString().ToString();
                string   worktime = "";
                int      numf     = 0;
                for (int i = 0; i < exctimes.Length; i++)
                {
                    DateTime dt1 = Convert.ToDateTime(exctimes[i]);
                    DateTime dt2 = Convert.ToDateTime(nowtime);
                    if (dt1.CompareTo(dt2) >= 0)//大于等于
                    {
                        numf++;
                        if (worktime != "")
                        {
                            worktime = ";" + worktime;
                        }
                        worktime = exctimes[i] + worktime;
                    }
                }
                this.EmsHeadDO.Emsdrugs.Work_time = worktime;
                numRender.ValueText = numf.ToString();
                numRender.MaxValue  = numf;
            }
            else
            {
                numRender.ValueText = null;
                numRender.MaxValue  = 0;
            }
        }
Ejemplo n.º 25
0
        public override void OnRefreshData(EmsUIDTO headDo, object e)
        {
            if (headDo != null)
            {
                EmsHeadDO = headDo;
            }

            if (this.Created)
            {
                this.LoadData();
            }
        }
Ejemplo n.º 26
0
        public void loadcard(EmsUIDTO emsHeadDO, CiEmsDTO emsdto)
        {
            this.emsUIDTO = emsHeadDO;
            this.ciemsDto = emsdto;
            if (this.emsUIDTO.CiordubDTO != null)
            {
                this._model.CiordubDto = this.emsUIDTO.CiordubDTO;
                if (!string.IsNullOrEmpty(this.ciemsDto.Id_or))
                {
                    CiordubDTO ubDto = this._model.getOrderUBDto(this.ciemsDto.Id_or);
                    if (ubDto != null)
                    {
                        this._model.CiordubDto.Quan_medu = ubDto.Quan_medu;
                    }
                }
                if (this.emsUIDTO.CiordubDTO.Id_apbu != null)
                {
                    this.LoadData();
                    if (this.ciemsDto.Sd_su_or != null && this.ciemsDto.Sd_su_or == "0")
                    {
                        this.xapFormControl.SetEditPolicy(true);
                    }
                    else
                    {
                        OrdApBtDO apbtdo = this._model.getOrDerBtDto(this.emsUIDTO.CiordubDTO.Id_or_rel);
                        if (apbtdo != null)
                        {
                            this._model.CiordubDto.Applyform     = apbtdo.No_applyform;
                            this._model.CiordubDto.Num_margin_bu = apbtdo.Num_margin_bu;
                        }
                        this.xapFormControl.SetEditPolicy(false);
                    }
                }
                else
                {
                    this.LoadData();
                    this.xapFormControl.SetEditPolicy(false);
                }
                //if (ems.Id_or != null || ems.Id_or != "")
                //{
                //    this._model.getOrderUBDto(ems.Id_or);
                //    this._model.CiordubDto.Name_route = this._model.getRotName(this._model.CiordubDto.Id_route);

                //}
            }
            else
            {
                this._model.CiordubDto = null;
                this.LoadData();
                this.xapFormControl.SetEditPolicy(false);
            }
        }
Ejemplo n.º 27
0
 public ExtDrugForm(EmsUIDTO CiHeadDo, EmsOrDrug drug) : this()
 {
     InitializeComponent();
     drugmm   = new EmsOrDrug();
     sourcemm = drug;
     LogicEx.GetInstance().CopyTo(drug, drugmm);
     mm = new ExtOrderDrugDialog(CiHeadDo, drug);
     splitContainer1.AddControl(this.orCom, xap.cli.sdk.controls.ControlPosition.Bottom, 30);
     splitContainer1.AddControl(mm, xap.cli.sdk.controls.ControlPosition.Center);
     this.saveButton.MouseClick   += new MouseEventHandler(saveButton_MouseClick);
     this.cancelButton.MouseClick += new MouseEventHandler(cancelButton_MouseClick);
     this.Controls.Add(splitContainer1);
 }
Ejemplo n.º 28
0
        public override void OnRefreshData(EmsUIDTO headDo, object e)
        {
            if (headDo != null)
            {
                this.EmsHeadDO = headDo;
                headDo.Emsaptrans.Fg_tech_trans = true;//跨科标志
            }

            if (this.Created)
            {
                this.LoadData();
            }
        }
Ejemplo n.º 29
0
        public override void OnRefreshData(EmsUIDTO headDo, object e)
        {
            if (headDo != null)
            {
                this.EmsHeadDO = headDo;
                OrWfDeptInfoDTO wf = new viewmodel.impext.GetDeptMpImp().GetDept_mp_ids(this.EmsHeadDO.PatInfo.Code_entp, this.EmsHeadDO.PatInfo.Id_entp, this.EmsHeadDO.MedSrvDO.Sd_srvtp, this.EmsHeadDO.MedSrvDO.Id_srvca, this.EmsHeadDO.MedSrvDO.Id_srv, this.EmsHeadDO.MedSrvDO.Id_route, "id_mm", this.EmsHeadDO.PatInfo.Id_dep_nur, this.EmsHeadDO.PatInfo.Id_dep_phy);
            }

            if (this.Created)
            {
                this.LoadData();
            }
        }
Ejemplo n.º 30
0
 /// <summary>
 /// Sets the会诊的申请单
 /// </summary>
 private void SetCons(EmsUIDTO emsHeadDO, CiorderAggDO Agg)
 {
     //   OrdApConsDO cons = new OrdApConsDO();
     //   if (agg != null && agg.getOrdApConsDO() != null)
     //   {
     //       OrdApConsDO sr = agg.getOrdApConsDO().FirstOrDefault(p => p.Id_apcons == emsHeadDO.Emsapcons.Id_emsconsitem);
     //       if (sr != null)
     //       {
     //           cons = sr;
     //           cons.Status = DOStatus.UPDATED;
     //       }
     //   }
     //agg.setOrdApConsDO(new OrdApConsDO[]{orDataBing.SaveConsDataBing(emsHeadDO, cons)});
 }