Beispiel #1
0
        private void gv_mm_MouseClick(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            EmsItemInOp emsItemInOp = ((XDataRow)sender).RowDataSource as EmsItemInOp;//获取选中卫材

            if (emsItemInOp != null)
            {
                id_mm_selec = emsItemInOp.Id_mm;
            }
        }
Beispiel #2
0
        private void XapFormControl_AllowEditing(object sender, AllowEditingEventArgs e)
        {
            EmsItemInOp item = e.Object as EmsItemInOp;

            if (item == null)
            {
                return;
            }

            string[] readonlyNames = new[] { "Name_role", "Name_emp_op" };
            string[] readonlyProps = new[] { CiDictCodeConst.SD_OP_ROLE_ZDYS, CiDictCodeConst.SD_OP_ROLE_DYZS };

            if (readonlyNames.Contains(e.PropName) && readonlyProps.Contains(item.Sd_role))
            {
                e.Cancel = true;
            }
        }
Beispiel #3
0
        /// <summary>
        /// 读取附加术信息
        /// </summary>
        private void OpexInfo2OpAppendItem()
        {
            // {{ 精简代码逻辑 -- 2016-11-30 -- wangqzh
            EmsOpitemDO opItemDO = uiEmsDTO.Emsapop;

            if (opItemDO.Code_opex_srvs != null)
            {
                string[] code_srvs = opItemDO.Code_opex_srvs.Split(',');
                string[] id_srvs   = opItemDO.Id_opex_srvs.Split(',');
                string[] name_srvs = opItemDO.Name_opex_srvs.Split(',');

                // 0.设置附加时候的初始状态,如果含有附加手术,保存前先设置deleted逻辑删除状态
                opItemDO.OpAppendOpItem.ToList().ForEach(p => { p.Status = DOStatus.DELETED; });

                // 1. 循环参照选出的附加手术服务id
                for (int index = 0; index < code_srvs.Length; ++index)
                {
                    // 2. 找到附加手术参照列表中的一项服务与附加手术列表中的相同项目,如果找到,则设置状态为 updated 状态
                    EmsItemInOp iteminop = opItemDO.OpAppendOpItem.FirstOrDefault(p => p.Id_srv.Equals(id_srvs[index]));
                    if (null != iteminop)
                    {
                        iteminop.Status = DOStatus.UPDATED;
                        // iteminop.Id_orsrv = ciEmsDTO.Id_or;
                    }
                    // 3. 没有找到,则认为是新增
                    else
                    {
                        iteminop = new EmsItemInOp()
                        {
                            Code_srv = code_srvs[index], Id_srv = id_srvs[index], Name_srv = name_srvs[index], Status = DOStatus.NEW
                        };
                        opItemDO.OpAppendOpItem.Add(iteminop);
                    }
                }
            }
            else
            {
                opItemDO.OpAppendOpItem.ToList().ForEach(p => { p.Status = DOStatus.DELETED; });
            }
            // }}
        }
Beispiel #4
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;
                    }
                }
            }
        }