void xapFormControl1_ModelFilled(object sender, EventArgs e)
        {
            UserRender name_dep_to = xapFormControl1.GetUserRender("trans", "name_dep_to");

            name_dep_to.Focus();
            xapFormControl1.SetEditPolicy(!IsReadOnly);
            TimerComboBoxMaxAndMin.GetInstance().setMinTime(this.xapFormControl1, this.Context, "trans", "dt_end", this.EmsHeadDO.Emsaptrans.Dt_effe);
        }
Beispiel #2
0
        void xapFormControl1_ModelFilled(object sender, EventArgs e)
        {
            //xapFormControl1.SetTabPageEnabled("drugsUse", !IsReadOnly);
            //xapFormControl1.SetEditable(!IsReadOnly);
            SetGridPolicy(!IsReadOnly);

            her.DataSource = this.EmsHeadDO.Emsdrugs.EmsOrDrugList;

            her.Enabled             = true;
            gv.DataTable.DataSource = null;
            if (gv.DataTable.Rows.Count == 0 && this.EmsHeadDO.Emsdrugs.EmsOrDrugList.Count > 0)
            {
                gv.DataTable.DataSource = new BindingList <EmsOrDrug>()
                {
                    this.EmsHeadDO.Emsdrugs.EmsOrDrugList.LastOrDefault()
                };
            }
            //--------------------------------
            ((XNumbericUpDown)((XLabelBaseUserRender)xapFormControl1.GetUserRender("drugsUse", "orders_boil")).UserRender).MaxValue = this.EmsHeadDO.Emsdrugs.Orders == null ? 0 : (double)this.EmsHeadDO.Emsdrugs.Orders;

            //限制开始时间的时间范围,入院日期,最大提前日期
            TimerComboBoxMaxAndMin.GetInstance().setMaxMinTime(xapFormControl1, this.Context, "drugsUse", "dt_begin_ui", EmsHeadDO.PatInfo.Id_ent);
            try
            {
                //限制结束日期为可拆分的最大天数
                int maxDays = this.Context.GetOrgParam <int>(ICiOrdNSysParamConst.SYS_PARAM_ORSRVSPLITDTENDMAXALLOWDAYS);
                TimerComboBoxMaxAndMin.GetInstance().setMaxTime(xapFormControl1, this.Context, "drugsUse", "dt_end_ui", ((DateTime)this.EmsHeadDO.Emsdrugs.Dt_begin_ui).AddDays(maxDays));
                TimerComboBoxMaxAndMin.GetInstance().setMinTime(xapFormControl1, this.Context, "drugsUse", "dt_end_ui", (DateTime)this.EmsHeadDO.Emsdrugs.Dt_begin_ui);
            }
            catch //(Exception ex)
            { }
            //UserRender us = xapFormControl1.GetUserRender("drugsUse", "dt_begin_ui");
            //xap.cli.sdk.render.Items.XCalendarTimerComboBox dt_begin = us.Renders[0] as xap.cli.sdk.render.Items.XCalendarTimerComboBox;
            //DateTime? dataA = new GetInHosTime().GetPatInHosTime(this.EmsHeadDO.PatInfo.Id_ent);
            //dt_begin.MinDate = dataA;
            //dt_begin.MaxDate = cof.GetServerDataTime().AddDays(OrdParam.GetOrdParam.orBeforStartDays);
            //重新填充数据时,设置为false
            UserRender orders = xapFormControl1.GetUserRender("drugsUse", "orders");

            orders.Focus();
            userEditFlag = !this.EmsHeadDO.IsNEW;
            if (this.EmsHeadDO.IsNEW)
            {
                cof.SetNoteOr(this.EmsHeadDO);
            }
            BindingList <EmsOrDrug> bds = gv.DataTable.DataSource as BindingList <EmsOrDrug>;

            her.FocusIndex = this.EmsHeadDO.Emsdrugs.EmsOrDrugList.IndexOf(bds.FirstOrDefault());
        }
Beispiel #3
0
        void xapFormControl1_ModelFilled(object sender, EventArgs e)
        {
            UserRender name_dep_to = xapFormControl1.GetUserRender("trans", "name_dep_to");

            name_dep_to.Focus();
            xapFormControl1.SetEditPolicy(!IsReadOnly);
            //限制开始时间的时间范围,入院日期,最大提前日期
            TimerComboBoxMaxAndMin.GetInstance().setMaxMinTime(xapFormControl1, this.Context, "trans", "dt_effe", EmsHeadDO.PatInfo.Id_ent);

            if (this.EmsHeadDO.MedSrvDO.Sd_srvtp == BdSrvDictCodeConst.SD_SRVTP_PATIMAN_TRANSWARD)
            {
                name_dep_to.Enabled = false;
                this.EmsHeadDO.Emsaptrans.Id_dep_to   = EmsHeadDO.PatInfo.Id_dep_phy;
                this.EmsHeadDO.Emsaptrans.Name_dep_to = EmsHeadDO.PatInfo.Name_dep_phy;
            }
        }
Beispiel #4
0
        private void XapFormControl_ModelFilled(object sender, EventArgs e)
        {
            UserRender dt_plan = xapFormControl.GetUserRender("cons", "dt_plan");

            dt_plan.Focus();

            if (EmsHeadDO.IsNEW && EmsHeadDO.Emsapcons.EmsConsAssistItem != null && EmsHeadDO.Emsapcons.EmsConsAssistItem.Count == 0)
            {
                EmsItemInCons itemDO = new EmsItemInCons();
                if (consDo != null && consDo.Fg_inorg == true)
                {
                    itemDO.Id_org   = UserManager.getInstance().CurrentOrg.Id_org;
                    itemDO.Name_org = UserManager.getInstance().CurrentOrg.Name;
                }
                EmsHeadDO.Emsapcons.EmsConsAssistItem.Add(itemDO);
            }

            SetGridDataSource();
            SetGridPolicy(!IsReadOnly);
            if (this.pageCommands != null && consDo != null)
            {
                foreach (XapCommand conmmands in this.pageCommands[0].Commands)
                {
                    // 当多科室会诊时,并且当前表单不是只读状态才显示添加按钮 consDo.Fg_deps 是否多科室会诊
                    conmmands.Visible = consDo.Fg_deps == FBoolean.True && !IsReadOnly;
                }
            }

            //this.consDo = cof.GetCons(EmsHeadDO.MedSrvDO.Id_srv);
            if (consDo != null && consDo.Fg_inorg == true)
            {
                assistGrid.DataTable.Columns["Name_org"].ReadOnly        = true;
                assistGrid.DataTable.Columns["Name_dep_emp"].ReadOnly    = false;
                assistGrid.DataTable.Columns["Name_dep_emp"].NullFlag    = false;
                assistGrid.DataTable.Columns["Name_emp_doctor"].ReadOnly = false;
            }
            else
            {
                assistGrid.DataTable.Columns["Name_org"].ReadOnly        = true;
                assistGrid.DataTable.Columns["Name_org"].NullFlag        = true;
                assistGrid.DataTable.Columns["Name_dep_emp"].ReadOnly    = true;
                assistGrid.DataTable.Columns["Name_dep_emp"].NullFlag    = true;
                assistGrid.DataTable.Columns["Name_emp_doctor"].ReadOnly = true;
            }
            //限制开始时间的时间范围,入院日期,最大提前日期
            TimerComboBoxMaxAndMin.GetInstance().setMaxMinTime(xapFormControl, this.Context, "cons", "dt_plan", EmsHeadDO.PatInfo.Id_ent);
        }
Beispiel #5
0
        void xapFormControl1_ModelFilled(object sender, EventArgs e)
        {
            UserRender dt_out = xapFormControl1.GetUserRender("ordout", "dt_out");

            dt_out.Focus();
            //if (this.EmsHeadDO.Emsapout.IsNEW)
            //{
            //    (this.xapFormControl1.GetUserRender("ordout", "des_again31") as XLabelBaseUserRender).Enabled = false;
            //}
            //else
            //{
            //    (this.xapFormControl1.GetUserRender("ordout", "des_again31") as XLabelBaseUserRender).Enabled =(bool)this.EmsHeadDO.Emsapout.Fg_again31;
            //}
            xapFormControl1.SetEditPolicy(!IsReadOnly);
            //限制开始时间的时间范围,入院日期,最大提前日期
            TimerComboBoxMaxAndMin.GetInstance().setMaxMinTime(xapFormControl1, this.Context, "ordout", "dt_out", EmsHeadDO.PatInfo.Id_ent);
            TimerComboBoxMaxAndMin.GetInstance().setMaxTime(xapFormControl1, this.Context, "ordout", "dt_out", CommonExtentions.NowTime(this));
        }
Beispiel #6
0
 private void setEndTimeRenderEnabled()
 {
     // 如果当前医疗单是只读状态,不根据常临标识设置停止时间
     if (this.IsReadOnly)
     {
         return;
     }
     if (EmsHeadDO.Emsdrugs.Fg_long != true)
     {
         EmsHeadDO.Emsdrugs.Dt_end_ui = EmsHeadDO.Emsdrugs.Dt_begin_ui;
     }
     else
     {
         EmsHeadDO.Emsdrugs.Dt_end_ui = null;
     }
     this.xapFormControl.GetUserRender("common", "dt_end_ui").Enabled = EmsHeadDO.Emsdrugs.Fg_long == null ? true : (bool)EmsHeadDO.Emsdrugs.Fg_long;
     TimerComboBoxMaxAndMin.GetInstance().setMinTime(xapFormControl, this.Context, "common", "dt_end_ui", EmsHeadDO.Dt_begin_ui);
 }
Beispiel #7
0
 public override void OnSelected(object sender, TargetEventArgs e)
 {
     if ((e.Object is OrdConsDTO))
     {
         this.model.ConsDto  = e.Object as OrdConsDTO;
         this.patvView.model = this.model;
         if (this.patvView.Created)
         {
             this.patvView.LoadData();
             this.patvView.funid = this.funId;
         }
         this.model.GetConsApData(this.model.ConsDto.Id_apcons, this.type);
         this.LoadData();
         this.SetPolicy(false);
         //限制开始时间的时间范围,入院日期,最大提前日期
         if (this.model.ConsDto.Id_en != null)
         {
             TimerComboBoxMaxAndMin.GetInstance()
             .setMaxMinTime(xapFormControl, this.Context, "consap", "dt_plan",
                            this.model.ConsDto.Id_en);
         }
     }
 }
Beispiel #8
0
 void xapFormControl_ModelFilled(object sender, EventArgs e)
 {
     TimerComboBoxMaxAndMin.GetInstance().setMaxMinTime(xapFormControl, this.Context, "ubcard", "dt_bu_pl_ub", this.emsUIDTO.PatInfo.Id_ent);
     Setunit();
 }
Beispiel #9
0
        void xapFormControl1_ModelFilled(object sender, EventArgs e)
        {
            SetGridPolicy(!IsReadOnly);


            fg_mp_bed.Visible = (CiHeadDo.Emsapobs.Fg_mp_bed != null && (bool)CiHeadDo.Emsapobs.Fg_mp_bed);

            //限制开始时间的时间范围,入院日期,最大提前日期
            TimerComboBoxMaxAndMin.GetInstance().setMaxMinTime(xapFormControl1, this.Context, "ordobs", "dt_plan", EmsHeadDO.PatInfo.Id_ent);
            gv.DataTable.DataSource = CiHeadDo.Emsapobs.EmsOrObsList;
            gv.DataTable.Enabled    = true;

            bool allSelectAll = false;

            //如果为套服务,根据fg_edit当BD_SRVSET_DEF.fg_edit可选标志=false时,
            //服务列表为选中状态,且checkbox置灰,不可编辑,
            //反之是true时,checkbox默认为选中状态,用户可编辑
            if (this.CiHeadDo.MedSrvDO.Fg_set == true)
            {
                for (int i = 0; i < CiHeadDo.Emsapobs.EmsOrObsList.Count; i++)
                {
                    if (CiHeadDo.Emsapobs.EmsOrObsList[i].Fg_edit == null ||
                        !(bool)CiHeadDo.Emsapobs.EmsOrObsList[i].Fg_edit)
                    {
                        gv.DataTable.Rows[i].Selected = true;
                        gv.DataTable.Rows[i].Enabled  = false;
                    }
                    else
                    {
                        gv.DataTable.Rows[i].ColumnCellDict["Name_body"].Font = new System.Drawing.Font("微软雅黑", 10F,
                                                                                                        FontStyle.Italic);
                        allSelectAll = true;
                    }
                    if (CiHeadDo.Emsapobs.EmsOrObsList[i].Fg_chk != null && CiHeadDo.Emsapobs.EmsOrObsList[i].Fg_chk.Value)
                    {
                        gv.DataTable.Rows[i].Selected = true;
                    }
                }
            }
            else
            {
                //非套服务 fg_body_update部位可修改标志=ture时,部位列字体置灰并斜体,
                //用户鼠标点进去后,部位名称值清空,用户可手工录入部位。体位列可在下拉列表里重新选择。
                //否则 =false时,部位列和体位列为只读不可修改。
                for (int i = 0; i < CiHeadDo.Emsapobs.EmsOrObsList.Count; i++)
                {
                    if (CiHeadDo.Emsapobs.EmsOrObsList[i].Fg_body_update == null ||
                        !(bool)CiHeadDo.Emsapobs.EmsOrObsList[i].Fg_body_update)
                    {
                        gv.DataTable.Rows[i].Selected = true;
                        gv.DataTable.Rows[i].Enabled  = false;
                    }
                    else
                    {
                        gv.DataTable.Rows[i].ColumnCellDict["Name_body"].Font = new System.Drawing.Font("微软雅黑", 10F,
                                                                                                        FontStyle.Italic);
                        allSelectAll = true;
                    }
                    if (CiHeadDo.Emsapobs.EmsOrObsList[i].Fg_chk.Value)
                    {
                        gv.DataTable.Rows[i].Selected = true;
                    }
                }
            }
            gv_drug.DataTable.DataSource = CiHeadDo.Emsapobs.EmsOrDrugList;
            gv.AllowSelectAll(allSelectAll);
            if (this.IsReadOnly)
            {
                gv.DataTable.Enabled = false;
            }

            // 设置默认焦点位置
            xapFormControl1.GetUserRender("ordobs", "des_pps").Focus();
        }
Beispiel #10
0
        void xapFormControl1_ModelFilled(object sender, EventArgs e)
        {
            xapFormControl1.SetEditable(!IsReadOnly);
            SetGridPolicy(!IsReadOnly);
            //限制开始时间的时间范围,入院日期,最大提前日期
            //UserRender us = xapFormControl1.GetUserRender("aplab", "dt_plan");
            //xap.cli.sdk.render.Items.XCalendarTimerComboBox dt_begin = us.Renders[0] as xap.cli.sdk.render.Items.XCalendarTimerComboBox;
            ////DateTime dataA = new GetInHosTime().GetPatInHosTime(this.EmsHeadDO.PatInfo.Id_ent);
            //dt_begin.MinDate = this.EmsHeadDO.Emsaplab.Dt_plan;
            //dt_begin.MaxDate = ((DateTime)this.EmsHeadDO.Emsaplab.Dt_plan).AddDays(OrdParam.GetOrdParam.orBeforStartDays);

            //限制开始时间的时间范围,入院日期,最大提前日期
            TimerComboBoxMaxAndMin.GetInstance().setMaxMinTime(xapFormControl1, this.Context, "aplab", "dt_plan", EmsHeadDO.PatInfo.Id_ent);

            gv.Enabled = true;
            gv.DataTable.DataSource = this.EmsHeadDO.Emsaplab.EmsOrObsList;
            bool allSelectAll = false;

            if (this.EmsHeadDO.MedSrvDO.Fg_set == true)
            {
                for (int i = 0; i < this.EmsHeadDO.Emsaplab.EmsOrObsList.Count; i++)
                {
                    if (false == this.EmsHeadDO.Emsaplab.EmsOrObsList[i].Fg_edit)
                    {
                        gv.DataTable.Rows[i].Selected = true;
                        gv.DataTable.Rows[i].Enabled  = false;
                        continue;
                    }
                    else
                    {
                        allSelectAll = true;
                    }
                    if (this.EmsHeadDO.Emsaplab.EmsOrObsList[i].Fg_chk == null || this.EmsHeadDO.Emsaplab.EmsOrObsList[i].Fg_chk == false)
                    {
                        continue;
                    }
                    gv.DataTable.Rows[i].Selected = true;
                }
            }
            else
            {
                //非套服务 fg_body_update部位可修改标志=ture时,部位列字体置灰并斜体,用户鼠标点进去后,部位名称值清空,用户可手工录入部位。体位列可在下拉列表里重新选择。否则=false时,部位列和体位列为只读不可修改。

                for (int i = 0; i < this.EmsHeadDO.Emsaplab.EmsOrObsList.Count; i++)
                {
                    if (false == this.EmsHeadDO.Emsaplab.EmsOrObsList[i].Fg_edit)
                    {
                        gv.DataTable.Rows[i].Selected = true;
                        gv.DataTable.Rows[i].Enabled  = false;
                        continue;
                    }
                    else
                    {
                        allSelectAll = true;
                    }
                    if (this.EmsHeadDO.Emsaplab.EmsOrObsList[i].Fg_chk == null || this.EmsHeadDO.Emsaplab.EmsOrObsList[i].Fg_chk == false)
                    {
                        continue;
                    }
                    gv.DataTable.Rows[i].Selected = true;
                }
            }
            gv.AllowSelectAll(allSelectAll);
            gv.Enabled = !IsReadOnly;
            //if (this.EmsHeadDO.Emsaplab.EmsOrObsList.Count>0)
            //gv.DataTable.Rows[0].SetMultiSelectStatus(true);
            //药品 暂时不做
            //gv_drug.DataTable.DataSource = this.EmsHeadDO.Emsaplab.EmsOrDrugList;
        }
Beispiel #11
0
        private void XapFormControl_ModelFilled(object sender, EventArgs e)
        {
            this.isCreating = true;
            //设置输血量单位
            (bloodQuanRender.UserRender as XUnitTextBoxMul).UnitText  = EmsHeadDO.Emsapbt.Name_unit_med;
            (bloodQuanRender.UserRender as XUnitTextBoxMul).ValueText = Convert.ToString(EmsHeadDO.Emsapbt.Quan_med);
            SetIndicatorControl();
            if (isMove)
            {
                resetLocation();
                isMove = false;
            }

            UserRender ur = xapFormControl.GetUserRender("bt_card", "no_db");

            if (this.CiEmsDTO.Sd_su_or != "0" && this.CiEmsDTO.Sd_su_or != null)
            {
                cof.setEnable(this.xapFormControl, "bt_card", setEnableIds, false);
                this.xapFormControl.SetEditPolicy(false);
                this.indicatorControl.Enabled = false;
                ur.Enabled = false;
            }
            else
            {
                cof.setEnable(this.xapFormControl, "bt_card", setEnableIds, true);
                this.xapFormControl.SetEditPolicy(true);
                this.indicatorControl.Enabled = true;
                ur.Enabled = EmsHeadDO.Emsapbt.Fg_db == true ? true : false;
            }

            //1=男,2=女
            if (EmsHeadDO.PatInfo.Sd_sex == "2" && EmsHeadDO.PatInfo.Dt_birth != null)
            {
                DateTime dt  = Convert.ToDateTime(EmsHeadDO.PatInfo.Dt_birth);
                int      age = (DateTime.Now - dt).Days / 365;
                if (age >= 18 && (EmsHeadDO.Emsapbt.Parturition_cnt == null || EmsHeadDO.Emsapbt.Pregnat_num == null))
                {
                    (xapFormControl.GetUserRender("bt_card", "pregnat_num") as XLabelBaseUserRender).NullFlag     = false;
                    (xapFormControl.GetUserRender("bt_card", "parturition_cnt") as XLabelBaseUserRender).NullFlag = false;
                }
            }

            //男性不显示孕史
            if (EmsHeadDO.PatInfo.Sd_sex == "1")
            {
                xapFormControl.GetUserRender("bt_card", "growth").Enabled          = false;
                xapFormControl.GetUserRender("bt_card", "pregnat_num").Enabled     = false;
                xapFormControl.GetUserRender("bt_card", "parturition_cnt").Enabled = false;
                Invalidate(true);
            }

            //设置输血前检查说明是否必填
            (xapFormControl.GetUserRender("bt_card", "name_labitmexplain") as XLabelBaseUserRender).NullFlag = labitmexplainNullFlag;

            UserRender dt_bt = xapFormControl.GetUserRender("bt_card", "dt_bt");

            dt_bt.Focus();
            //限制开始时间的时间范围,入院日期,最大提前日期
            TimerComboBoxMaxAndMin.GetInstance().setMaxMinTime(xapFormControl, this.Context, "bt_card", "dt_bt", EmsHeadDO.PatInfo.Id_ent);
            this.isCreating = false;
        }
Beispiel #12
0
 void xapFormControl_ModelFilled(object sender, EventArgs e)
 {
     this.SetPolicy(false);
     if (this.type == CiDictCodeConst.CONS_MADREVIEW)
     {
         this.flag              = true;
         this.btnEdit.Visible   = true;
         this.btSave.Visible    = true;
         this.btnCancle.Visible = true;
         if (this.model.ConsDto == null)
         {
             return;
         }
         if (this.model.ConsDto.Sd_su_cons == CiDictCodeConst.SD_CIDI_DYWSP)
         {
             this.btnEdit.Enabled   = true;
             this.btSave.Enabled    = false;
             this.btnCancle.Enabled = false;
         }
         else
         {
             this.btnEdit.Enabled   = false;
             this.btSave.Enabled    = false;
             this.btnCancle.Enabled = false;
         }
         string[] str = { "dt_plan", "fg_urgent", "des_psp", "des_emr", "place" };
         this.ConsApContrlsEnable(str, false);
     }
     else if (this.type == CiDictCodeConst.CONS_DEPREVIEW)
     {
         this.flag              = true;
         this.btnEdit.Visible   = true;
         this.btSave.Visible    = true;
         this.btnCancle.Visible = true;
         if (this.model.ConsDto == null)
         {
             return;
         }
         if (this.model.ConsDto.Sd_su_cons == CiDictCodeConst.SD_CIDI_DKSSP)
         {
             this.btnEdit.Enabled   = true;
             this.btSave.Enabled    = false;
             this.btnCancle.Enabled = false;
         }
         else
         {
             this.btnEdit.Enabled   = false;
             this.btSave.Enabled    = false;
             this.btnCancle.Enabled = false;
         }
         string[] str = { "dt_plan", "fg_urgent", "des_psp", "des_emr", "place" };
         this.ConsApContrlsEnable(str, false);
     }
     else
     {
         this.flag = false;
         string[] str = { "dt_plan", "fg_urgent", "des_psp", "des_emr", "place" };
         this.ConsApContrlsEnable(str, false);
         this.btnEdit.Visible   = false;
         this.btSave.Visible    = false;
         this.btnCancle.Visible = false;
     }
     //this.gv_invite.Enabled = this.flag;
     //限制开始时间的时间范围,入院日期,最大提前日期
     if (this.id_ent != null)
     {
         TimerComboBoxMaxAndMin.GetInstance()
         .setMaxMinTime(xapFormControl, this.Context, "cons", "dt_plan",
                        this.id_ent);
     }
 }
Beispiel #13
0
        private void XapFormControl_ModelFilled(object sender, EventArgs e)
        {
            SetIndicatorControl();
            var opitem = EmsHeadDO.Emsapop.OpEmpItem;

            if (!opitem.Any(t => t.Id_role == CiDictCodeConst.ID_OP_ROLE_ZDYS))
            {
                EmsItemInOp addnew = new EmsItemInOp
                {
                    Id_role   = CiDictCodeConst.ID_OP_ROLE_ZDYS,
                    Sd_role   = CiDictCodeConst.SD_OP_ROLE_ZDYS,
                    Name_role = "主刀医师"
                };
                opitem.Insert(0, addnew);
            }
            if (!opitem.Any(t => t.Id_role == CiDictCodeConst.ID_OP_ROLE_DYZS))
            {
                EmsItemInOp addnew = new EmsItemInOp
                {
                    Id_role   = CiDictCodeConst.ID_OP_ROLE_DYZS,
                    Sd_role   = CiDictCodeConst.SD_OP_ROLE_DYZS,
                    Name_role = "第一助手"
                };
                opitem.Insert(1, addnew);
            }
            //人员
            gv_emp.DataTable.DataSource = EmsHeadDO.Emsapop.OpEmpItem;
            //卫材
            gv_mm.DataTable.DataSource = EmsHeadDO.Emsapop.OpMmItem;
            //附加手术
            gv_oper.DataTable.DataSource = EmsHeadDO.Emsapop.OpAppendOpItem;

            XLabelBaseUserRender dt_planRender = xapFormControl.GetUserRender("opitem", "dt_plan") as XLabelBaseUserRender;

            dt_planRender.Focus();
            XCalendarTimerComboBox dt_planTimerComboBox = dt_planRender.UserRender as XCalendarTimerComboBox;

            //dt_planTimerComboBox.MaxDate = DateTime.Now.AddDays(-1);
            dt_planTimerComboBox.MinDate = EmsHeadDO.Emsapop.Dt_creat;

            if (EmsHeadDO.IsNEW || this.CiEmsDTO.Sd_su_or == null || this.CiEmsDTO.Sd_su_or == "0")
            {
                //计划手术时间大于申请时间即可
                //if (EmsHeadDO.Emsapop.Fg_er_sug != null && EmsHeadDO.Emsapop.Fg_er_sug == true)
                //{
                //    setDateTimeLabel("Fg_er_sug");
                //}
                //else if (EmsHeadDO.Emsapop.Fg_zq_sug != null && EmsHeadDO.Emsapop.Fg_zq_sug == true)
                //{
                //    setDateTimeLabel("Fg_zq_sug");
                //}
                //else if (EmsHeadDO.Emsapop.Fg_xq_sug != null && EmsHeadDO.Emsapop.Fg_xq_sug == true)
                //{
                //    setDateTimeLabel("Fg_xq_sug");
                //}
                SetGridPolicy(true);
            }
            else
            {
                indicatorControl.Enabled = false;
                xapFormControl.SetEditPolicy(false);
                SetGridPolicy(false);
            }
            (xapFormControl.GetUserRender("opitem", "name_diag") as XLabelBaseUserRender).Focus();
            //限制开始时间的时间范围,入院日期,最大提前日期
            TimerComboBoxMaxAndMin.GetInstance().setMaxMinTime(xapFormControl, this.Context, "opitem", "dt_plan", EmsHeadDO.PatInfo.Id_ent);
            TimerComboBoxMaxAndMin.GetInstance().setMinTime(xapFormControl, this.Context, "opitem", "dt_plan", EmsHeadDO.Emsapop.Dt_creat);
            if (this.pageCommands != null)
            {
                foreach (PageCommands pageCommands in this.pageCommands)
                {
                    foreach (XapCommand conmmands in pageCommands.Commands)
                    {
                        conmmands.Visible = !IsReadOnly;
                    }
                }
            }
        }
Beispiel #14
0
        void xapFormControl1_DataChanged(object sender, DataChangedEventArgs e)
        {
            this.xapFormControl1.DataChanged -= xapFormControl1_DataChanged;
            switch (e.PropName)//计算结束日期
            {
            case "Dt_begin_ui":
                EmsHeadDO.Dt_begin_ui = EmsHeadDO.Emsdrugs.Dt_begin_ui;
                string info = cof.CompareWithAdmission(this.EmsHeadDO.PatInfo.Id_ent, this.EmsHeadDO.Emsdrugs.Dt_begin_ui);
                if (info != "")
                {
                    this.ShowInfo(info);
                    EmsHeadDO.Dt_begin_ui             = EmsHeadDO.Emsdrugs.Dt_begin_ui;
                    this.xapFormControl1.DataChanged -= xapFormControl1_DataChanged;
                    return;
                }
                DateTime dtb = (DateTime)this.EmsHeadDO.Emsdrugs.Dt_begin_ui;
                try
                {
                    //限制结束日期为可拆分的最大天数
                    int maxDays = this.Context.GetOrgParam <int>(ICiOrdNSysParamConst.SYS_PARAM_ORSRVSPLITDTENDMAXALLOWDAYS);
                    TimerComboBoxMaxAndMin.GetInstance().setMaxTime(xapFormControl1, this.Context, "drugsUse", "dt_end_ui", ((DateTime)this.EmsHeadDO.Emsdrugs.Dt_begin_ui).AddDays(maxDays));
                    TimerComboBoxMaxAndMin.GetInstance().setMinTime(xapFormControl1, this.Context, "drugsUse", "dt_end_ui", (DateTime)this.EmsHeadDO.Emsdrugs.Dt_begin_ui);
                }
                catch     //(Exception ex)
                { }
                if (this.EmsHeadDO.Emsdrugs.Dt_end_ui == null)
                {
                    return;
                }
                DateTime dte = (DateTime)this.EmsHeadDO.Emsdrugs.Dt_end_ui;
                if (dtb.CompareTo(dte) > 0)
                {
                    // e.Cancel = true;
                    this.EmsHeadDO.Emsdrugs.Dt_end_ui = dtb;
                    this.ShowInfo(OrdParam.MESSAGE_TIEMCHECK);
                    this.xapFormControl1.DataChanged -= xapFormControl1_DataChanged;
                    return;
                }

                int?useDay = cof.GetUseDays(dtb, this.EmsHeadDO.Emsdrugs.Dt_end_ui);
                if (this.EmsHeadDO.Emsdrugs.Use_days != useDay)
                {
                    this.EmsHeadDO.Emsdrugs.Use_days = useDay;
                }
                EmsHeadDO.Dt_begin_ui = EmsHeadDO.Emsdrugs.Dt_begin_ui;
                break;

            case "Use_days":    //医嘱天数
                if (uday == "-1")
                {
                    uday = "";
                    this.xapFormControl1.DataChanged -= xapFormControl1_DataChanged;
                    return;
                }
                if (this.EmsHeadDO.Emsdrugs.Use_days == null)
                {
                    this.EmsHeadDO.Emsdrugs.Dt_end_ui = null;
                    this.xapFormControl1.DataChanged -= xapFormControl1_DataChanged;
                    return;
                }


                if (this.EmsHeadDO.Emsdrugs.Use_days == 0)
                {
                    this.EmsHeadDO.Emsdrugs.Dt_end_ui = this.EmsHeadDO.Emsdrugs.Dt_begin_ui;
                    this.xapFormControl1.DataChanged -= xapFormControl1_DataChanged;
                    return;
                }
                else if (this.EmsHeadDO.Emsdrugs.Use_days == -1 && this.EmsHeadDO.Emsdrugs.Dt_end_ui == null)
                {
                    XLabelBaseUserRender tmpUserRender2 = sender as XLabelBaseUserRender;
                    if (tmpUserRender2 != null)
                    {
                        uday = "-1";
                        tmpUserRender2.ValueText = "";
                    }
                    this.xapFormControl1.DataChanged -= xapFormControl1_DataChanged;
                    //this.EmsHeadDO.Emsdrugs.Use_days = null;
                    return;
                }
                //else if (this.EmsHeadDO.Emsdrugs.Use_days == -1)
                //{
                //    this.EmsHeadDO.Emsdrugs.Use_days = null;
                //    this.EmsHeadDO.Emsdrugs.Dt_end_ui = null;
                //    return;
                //}
                else if (this.EmsHeadDO.Emsdrugs.Use_days > 0)
                {
                    this.EmsHeadDO.Emsdrugs.Dt_end_ui = cof.GetEndTime(this.EmsHeadDO.Emsdrugs.Dt_begin_ui, this.EmsHeadDO.Emsdrugs.Use_days.Value);
                }


                //取模
                int?m = this.EmsHeadDO.Emsdrugs.Use_days % 7;
                //判断周期类型错误
                //if (this.EmsHeadDO.Emsdrugs.Name_freq.IndexOf("周") > 0 && m % 7 != 0)
                if ((this.EmsHeadDO.Emsdrugs.Name_freq.IndexOf("周") > 0 || this.EmsHeadDO.Emsdrugs.Name_freq.IndexOf("星期") > 0) && m % 7 != 0)
                {
                    if (m == 0 || m == 6)
                    {    //减的
                        int?uu = this.EmsHeadDO.Emsdrugs.Use_days / 7;


                        this.EmsHeadDO.Emsdrugs.Use_days = uu * 7;
                    }
                    else
                    {
                        int?uu = this.EmsHeadDO.Emsdrugs.Use_days / 7;
                        this.EmsHeadDO.Emsdrugs.Use_days = (uu + 1) * 7;
                    }
                }
                //cof.GetDrugUseTotalCount(this.EmsHeadDO);
                uday = "";
                EmsHeadDO.Days_or = EmsHeadDO.Emsdrugs.Use_days;

                //this.EmsHeadDO.Emsdrugs.Dt_end_ui = cof.GetEndTime(this.EmsHeadDO.Emsdrugs.Dt_begin_ui, this.EmsHeadDO.Emsdrugs.Use_days.Value);
                break;

            case "Dt_end_ui":    //计算医嘱天数
                this.EmsHeadDO.Emsdrugs.Use_days = cof.GetUseDays(this.EmsHeadDO.Emsdrugs.Dt_begin_ui, this.EmsHeadDO.Emsdrugs.Dt_end_ui);
                EmsOrDrug drug = this.EmsHeadDO.Emsdrugs.EmsOrDrugList[0];
                //drug.Quan_cur = cof.GetDrugUseTotalCount(this.EmsHeadDO);
                EmsHeadDO.Dt_end_ui = EmsHeadDO.Emsdrugs.Dt_end_ui;
                break;

            case "Id_freq":    //计算执行时刻1

                //  先于 OnRefResult(object sender, RefResultEventArgs e)执行,会出现  这个地方获取的id 是上次的 而不是最新的
                break;

            case "Fg_long":
                //if (e.Input != null)
                //{
                //    if (e.Input.ToString() == "false")
                //    {
                //        getControlByName("drugsUse", "Use_days").Enabled = false;//临时 医嘱天数 不可输入
                //    }
                //    else
                //    {
                //        getControlByName("drugsUse", "Use_days").Enabled = true;
                //    }
                //}

                break;

            case "Fg_self":
                this.EmsHeadDO.Emsdrugs.Fg_outp = !this.EmsHeadDO.Emsdrugs.Fg_self;
                break;

            case "Fg_outp":
                if (this.EmsHeadDO.Emsdrugs.Fg_outp == true)
                {
                    this.EmsHeadDO.Emsdrugs.Fg_self = !this.EmsHeadDO.Emsdrugs.Fg_outp;
                    //ctlTotal.Enabled = true;
                    //gv.DataTable.Columns["Quan_cur"].ReadOnly = false;
                }
                else
                {
                    //gv.DataTable.Columns["Quan_cur"].ReadOnly = true;
                    this.EmsHeadDO.Emsdrugs.EmsOrDrugList[0].Quan_cur = null;
                    //ctlTotal.Enabled = false;
                }
                break;

            case "Fg_treat":
                this.EmsHeadDO.Emsdrugs.Fg_propc = !this.EmsHeadDO.Emsdrugs.Fg_treat;
                break;

            case "Fg_propc":
                this.EmsHeadDO.Emsdrugs.Fg_treat = !this.EmsHeadDO.Emsdrugs.Fg_propc;
                break;

            case "Orders":
                if (this.EmsHeadDO.Emsdrugs.Orders != null)
                {
                    ((XNumbericUpDown)((XLabelBaseUserRender)xapFormControl1.GetUserRender("drugsUse", "orders_boil")).UserRender).MaxValue = (double)this.EmsHeadDO.Emsdrugs.Orders;
                    this.EmsHeadDO.Emsdrugs.Orders_boil = this.EmsHeadDO.Emsdrugs.Orders;
                }
                calQuanCur(this.EmsHeadDO.Emsdrugs.EmsOrDrugList);
                break;

            case "Name_freq":
                if (e.Input != null && (e.Input.ToString().Contains("周") || e.Input.ToString().Contains("星期")))
                {
                    //取模
                    m = this.EmsHeadDO.Emsdrugs.Use_days % 7;
                    if (m == 0 || m == 6)
                    {    //减的
                        int?uu = this.EmsHeadDO.Emsdrugs.Use_days / 7;


                        this.EmsHeadDO.Emsdrugs.Use_days = uu * 7;
                    }
                    else
                    {
                        int?uu = this.EmsHeadDO.Emsdrugs.Use_days / 7;
                        this.EmsHeadDO.Emsdrugs.Use_days = (uu + 1) * 7;
                    }
                }
                break;

            case "Quan_med":
                calQuanCur(this.EmsHeadDO.Emsdrugs.EmsOrDrugList);
                break;

            default:
                break;
            }
            if (!userEditFlag && !e.PropName.Equals("Note_or"))
            {
                cof.SetNoteOr(this.EmsHeadDO);
            }
            this.xapFormControl1.DataChanged += xapFormControl1_DataChanged;
        }