示例#1
0
 public override void SetFocus()
 {
     if (GetXapFormControl() != null)
     {
         AssXapFormUtils.GetUserRender(GetXapFormControl(), "druguse.orders").Focus();
     }
 }
示例#2
0
        protected override void OnXapFormControl_ModelFilled(object sender, EventArgs e)
        {
            base.OnXapFormControl_ModelFilled(sender, e);
            this.ResetColumnsInfo(this.GetGridControl());
            if (GetViewModel() == null)
            {
                return;
            }

            GetGridControl().DataTable.DataSource = GetViewModel().GetTableDataSource();
            OnRefreshData();
            SetIndicatorControl();

            var dtAge = new DateTime(CommonExtentions.NowTime(this).Subtract(DateTime.Parse(this.GetViewModel().GetEnt4BannerDTO().Dt_birth)).Ticks);

            var nAge = dtAge.Year;

            try
            {
                int[] ages = CalcAgeArray.getAgeArray(DateTime.Parse(this.GetViewModel().GetEnt4BannerDTO().Dt_birth));
                if (ages != null)
                {
                    nAge = ages[0];
                }
            }
            catch //(Exception exc)
            {
                this.SetStatusMsg("年龄使用默认值");
            }

            var pregnat_num = AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "preblood.pregnat_num") as XLabelBaseUserRender;

            if (null != pregnat_num && this.allowEdit)
            {
                // 1,男性; 2, 女
                pregnat_num.NullFlag = this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "1" || (nAge < 18 && this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "2");
                pregnat_num.Enabled  = !(this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "1");
            }
            var parturition_cnt = AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "preblood.parturition_cnt") as XLabelBaseUserRender;

            if (null != parturition_cnt && this.allowEdit)
            {
                parturition_cnt.NullFlag = this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "1" || (nAge < 18 && this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "2");
                parturition_cnt.Enabled  = !(this.GetViewModel().GetEnt4BannerDTO().Sd_sex == "1");
            }

            var ur = AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "preblood.no_db");

            ur.Enabled = checkbox.Checked;
            (ur as XLabelBaseUserRender).NullFlag = !ur.Enabled;
            if (!ur.Enabled)
            {
                (this.GetViewModel().GetEmsUIDTO() as EmsUIDTO).Emsapbt.No_db = null;
            }

            AdjustLayout();

            this.SetFocus();
        }
示例#3
0
        private void xapFormControl_FormCreated(object sender, EventArgs e)
        {
            UserRender printRender = AssXapFormUtils.GetUserRender(xapFormControl, "choose.print");

            printRender.MouseClick += PrintRender_MouseClick;
            UserRender exportRender = AssXapFormUtils.GetUserRender(xapFormControl, "choose.export");

            exportRender.MouseClick += ExportRender_MouseClick;
            exportRender.Visible     = false;
            sheettpRender            = AssXapFormUtils.GetUserRender(xapFormControl, "choose.name_ciprnsheettp");
            bool bEn = lstSheetTp != null && lstSheetTp.Count > 0;

            sheettpRender.Enabled = bEn && IsEditable;
        }
示例#4
0
        protected override void OnXapFormControl_ModelFilled(object sender, EventArgs e)
        {
            base.OnXapFormControl_ModelFilled(sender, e);
            UserRender us = AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "card.dt_plan");

            if (this.GetViewModel() != null)
            {
                EmsRisViewModel tmpModel = this.GetViewModel() as EmsRisViewModel;
                //this.detailButton.Visible = tmpModel.isSet();
            }
            //getControlByName("card", "des_pps").EnterFlag = false;
            //xap.cli.sdk.render.Items.XCalendarTimerComboBox dt_begin = us.Renders[0] as xap.cli.sdk.render.Items.XCalendarTimerComboBox;
            //dt_begin.MinDate = this.GetLogicEx().GetServerDataTime();
            //dt_begin.MaxDate = this.GetLogicEx().GetServerDataTime().AddDays(OrdParam.GetOrdParam.orBeforStartDays);
        }
示例#5
0
        public override bool OnEventHandle(object sender, DictionaryEventArgs e)
        {
            switch (AssToolEx.EventCodeOfEventArgs(e))
            {
            case EventCodeType.EVENT_EMS_ORSRV_DATACHANGED:
                int count = GetHerBalMedicineCtr().dispCount;

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

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

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

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

            default:
                break;
            }
            return(base.OnEventHandle(sender, e));
        }
示例#6
0
        private void SetHpControlEnabled()
        {
            if (this.GetXapFormControl() == null)
            {
                return;
            }
            var drugitem = this.GetViewModel().GetSelectedObject() as EmsOrDrug;

            if (drugitem == null)
            {
                return;
            }
            var bdhpdtos = drugitem.BdHpIndicationDTO;
            var fg_treat = AssXapFormUtils.GetUserRender(GetXapFormControl(), "card.fg_treat") as XLabelBaseUserRender;

            if (fg_treat == null)
            {
                return;
            }
            fg_treat.ReadOnly = true;
            var label      = AssXapFormUtils.GetUserRender(GetXapFormControl(), "card.label") as XLabel;
            var fg_selfpay = AssXapFormUtils.GetUserRender(GetXapFormControl(), "card.fg_selfpay") as XLabelBaseUserRender;

            if (bdhpdtos != null && bdhpdtos.Count > 0)
            {
                BdHpIndicationDTO bdhpdto = bdhpdtos[0] as BdHpIndicationDTO;
                var  code_hpindicjudged   = bdhpdto.Code_hpindicjudged;
                bool?fg_indic             = drugitem.Fg_treat;
                if (code_hpindicjudged != null)
                {
                    switch (code_hpindicjudged)
                    {
                    case HpIndicationRuleEnum.NO_CONTROL:
                    case HpIndicationRuleEnum.SYS_CONFIRM:
                        if (bdhpdto.Fg_indic == null || !(bool)bdhpdto.Fg_indic)
                        {
                            setHpBaseUserRender(false);
                        }
                        else
                        {
                            fg_selfpay.Enabled = true;
                        }
                        label.MouseClick    -= fg_treat_MouseClick;
                        fg_treat.MouseClick -= fg_treat_MouseClick;
                        break;

                    case HpIndicationRuleEnum.SYS_JUD_DOCCONFIRM:
                        label.MouseClick    -= fg_treat_MouseClick;
                        label.MouseClick    += fg_treat_MouseClick;
                        fg_treat.MouseClick -= fg_treat_MouseClick;
                        fg_treat.MouseClick += fg_treat_MouseClick;
                        Font f = new Font(label.Font.FontFamily, label.Font.Size, FontStyle.Underline, GraphicsUnit.Pixel);
                        label.Font = f;
                        setFgSefPayRenderEnable(fg_indic == null ? false : (bool)fg_indic);
                        break;

                    case HpIndicationRuleEnum.DOC_CONFIRM:
                        label.MouseClick    -= fg_treat_MouseClick;
                        label.MouseClick    += fg_treat_MouseClick;
                        fg_treat.MouseClick -= fg_treat_MouseClick;
                        fg_treat.MouseClick += fg_treat_MouseClick;
                        Font f1 = new Font(label.Font.FontFamily, label.Font.Size, FontStyle.Underline, GraphicsUnit.Pixel);
                        label.Font = f1;
                        setFgSefPayRenderEnable(fg_indic == null ? false : (bool)fg_indic);
                        break;
                    }

                    return;
                }
            }
            label.MouseClick    -= fg_treat_MouseClick;
            fg_treat.MouseClick -= fg_treat_MouseClick;
            fg_selfpay.Enabled   = false;
        }
示例#7
0
        protected void HandleTimesMpInInfo(String routeSets, EmsDrugItemDO itemDO)
        {
            // 如果医疗单处于不可以编辑状态,则针对于在院执行次数相关控制逻辑失效,不再需要处理
            if (!this.allowEdit)
            {
                return;
            }

            var fg_mp_in    = AssXapFormUtils.GetUserRender(GetXapFormControl(), "orcard.fg_mp_in");
            var times_mp_in = AssXapFormUtils.GetUserRender(GetXapFormControl(), "orcard.times_mp_in");

            // 如果模型 在院执行标记为空 则不在院执行
            if (itemDO.Fg_mp_in == null)
            { //
                fg_mp_in.Enabled    = false;
                times_mp_in.Enabled = false;
                itemDO.Times_mp_in  = 0;
            }

            // 如果用法在集合为空
            if (String.IsNullOrEmpty(routeSets))
            {
                String[] IVDrugSets = { BdSrvDictCodeConst.SD_SRVTP_DRUG_WESTDRUG_ZX, BdSrvDictCodeConst.SD_SRVTP_DRUG_WESTDRUG_DSY }; //默认: 注射、溶媒
                var      drug       = (this.GetViewModel().GetTableDataSource() as XapDataList <EmsOrDrug>).FirstOrDefault(p => !p.IsDELETED);
                if (!String.IsNullOrEmpty(drug.Id_srv) && !String.IsNullOrEmpty(drug.Sd_srvtp))
                {
                    if (IVDrugSets.Contains(drug.Sd_srvtp.Substring(0, 6)))
                    {
                        if (itemDO.Fg_mp_in == null)
                        {
                            itemDO.Fg_mp_in    = true;
                            itemDO.Times_mp_in = itemDO.Freqct * itemDO.Use_days;
                            int total = this.GetLogicEx().GetDrugUseTotalCount(this.GetViewModel().GetEmsUIDTO() as EmsUIDTO);
                            ((times_mp_in as XLabelBaseUserRender).UserRender as XNumbericUpDown).MaxValue = total;
                        }
                        else if (itemDO.Fg_mp_in == false)
                        {
                            itemDO.Fg_mp_in    = false;
                            itemDO.Times_mp_in = 0;
                        }
                        else
                        {
                        }
                    }
                    // 没有配置可修改用法集合时候,都不能修改
                    fg_mp_in.Enabled    = false;
                    times_mp_in.Enabled = false;
                }
            }
            else
            {
                // 如果当前用法非空并且当前的用法在系统参数配置的用法集合内时候,需要设置在院执行标志
                if (!String.IsNullOrEmpty(itemDO.Id_route) && routeSets.ToLower().IndexOf(itemDO.Id_route.ToLower()) >= 0)
                {
                    if (itemDO.Fg_mp_in == null)
                    {
                        itemDO.Fg_mp_in    = true;
                        itemDO.Times_mp_in = itemDO.Freqct * itemDO.Use_days;
                    }
                    else if (!itemDO.Fg_mp_in.Value)
                    { // 这个逻辑永远不会执行,暂时注销
                        itemDO.Fg_mp_in    = true;
                        itemDO.Times_mp_in = itemDO.Freqct * itemDO.Use_days;
                    }
                    //else {

                    //}
                    int total = this.GetLogicEx().GetDrugUseTotalCount(this.GetViewModel().GetEmsUIDTO() as EmsUIDTO);
                    ((times_mp_in as XLabelBaseUserRender).UserRender as XNumbericUpDown).MaxValue = total;
                    itemDO.Times_mp_in  = itemDO.Times_mp_in > total ? total : itemDO.Times_mp_in;
                    fg_mp_in.Enabled    = true;
                    times_mp_in.Enabled = itemDO.Fg_mp_in.Value;
                }
                else
                {
                    fg_mp_in.Enabled    = false;
                    times_mp_in.Enabled = false;
                    itemDO.Times_mp_in  = 0;
                    itemDO.Fg_mp_in     = false;
                }
            }
            if (null == itemDO.Fg_mp_in)
            {
                itemDO.Fg_mp_in = false;
            }
            times_mp_in.Enabled = fg_mp_in.Enabled & itemDO.Fg_mp_in.Value;
        }
示例#8
0
        public override bool OnEventHandle(object sender, DictionaryEventArgs e)
        {
            // 当前未加载完成或者未创建完成 不进行消息事件的相应
            if (this.IsLoading)
            {
                return(false);
            }
            if (!this.Created)
            {
                return(false);
            }
            if (!this.IsXapFormReady)
            {
                return(false);
            }
            switch (AssToolEx.EventCodeOfEventArgs(e))
            {
            case EventCodeType.NM_EMS_ORSRV_SELECTCHANGED:
                if (this.GetViewModel() != null && this.GetViewModel().GetSelectedObject() != null)
                {
                    this.updateDrugInfo(this.GetViewModel().GetSelectedObject() as EmsOrDrug);
                    if (hpCanEdit())
                    {
                        SetHpControlEnabled();
                    }
                    else
                    {
                        this.setHpBaseUserRender(false);
                    }
                    return(true);
                }
                break;

            case EventCodeType.NM_EMS_ORSRV_DATACHANGED:
                var useDay = AssToolEx.ObjectOfEventArgs(e, "Use_days");
                var frecq  = AssToolEx.ObjectOfEventArgs(e, "Name_freq");
                this.updateDrugInfo(this.GetViewModel().GetSelectedObject() as EmsOrDrug);
                if (hpCanEdit())
                {
                    SetHpControlEnabled();
                }
                else
                {
                    this.setHpBaseUserRender(false);
                }
                if (useDay != null || frecq != null)
                {
                    var cardDataSource = (GetViewModel().GetFormDataSource() as EmsDrugItemDO);
                    if (cardDataSource.Fg_mp_in != null && cardDataSource.Fg_mp_in.GetValueOrDefault())
                    {
                        int totalCount = this.GetLogicEx().GetDrugUseTotalCount(this.GetViewModel().GetEmsUIDTO() as EmsUIDTO);
                        if (totalCount > 0)
                        {
                            var mapinlabel = AssXapFormUtils.GetUserRender(this.GetXapFormControl(), "orcard.times_mp_in") as XLabelBaseUserRender;
                            if (mapinlabel != null)
                            {
                                // 在院执行次数跟随总次数变化一致
                                var numRender = mapinlabel.UserRender as XNumbericUpDown;
                                numRender.MaxValue = totalCount;
                                // if (cardDataSource.Times_mp_in > totalCount)
                                {
                                    cardDataSource.Times_mp_in = totalCount;
                                }
                            }
                        }
                    }
                }
                else
                {
                    // 在院执行次数
                    HandleTimesMpInInfo(this.ciPharmMpInUsageScope, this.GetViewModel().GetFormDataSource() as EmsDrugItemDO);
                }
                break;

            case EventCodeType.EVENT_EXPENSE_DATACHANGED:
                handleExpenseDataChanged(sender, e);
                break;

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

            case EventCodeType.EVENT_EMS_REFRESULT:
                drugHpShow();
                break;

            default:
                break;
            }
            return(base.OnEventHandle(sender, e));
        }