コード例 #1
0
 /// <summary>
 /// 删除事件
 /// by xlb 2013-01-05
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void buttonDelRule_Click(object sender, EventArgs e)
 {
     try
     {
         if (_currentRule == null || _currentRule.RuleCode == null)
         {
             MessageBox.Show("请选择要删除的数据");
             return;
         }
         DataTable dtQcRecord = QCRecord.GetAllQcRecord(_currentRule.RuleCode);
         int       count      = int.Parse(dtQcRecord.Rows[0][0].ToString());
         if (count > 0)
         {
             MessageBox.Show("该规则已被质控记录使用,无法删除");
             return;
         }
         if (MyMessageBox.Show("您确定删除吗?", "提示", MyMessageBoxButtons.OkCancel) == DialogResult.Cancel)
         {
             return;
         }
         QCRule.DeleteQcRule(_currentRule);
         MessageBox.Show("删除成功");
         InitDataRule();
         DS_Common.ClearControl(groupControlRule);
         DS_Common.ClearControl(groupControlCondtion);
         lookUpEditDoctorLevel.EditValue = null;
     }
     catch (Exception ex)
     {
         MyMessageBox.Show(1, ex);
     }
 }
コード例 #2
0
        /// <summary>
        /// 处理循环触发的时限规则
        /// 进行有限次循环时,如果有限次的循环未结束,则外部的触发将会不起作用
        /// </summary>
        /// <param name="noofinpat"></param>
        /// <param name="rule"></param>
        /// <param name="drConfigDataResult"></param>
        /// <param name="listQCRecord"></param>
        void Process1QCRuleCircle(QCRule rule, DataRow drConfigDataResult, List <QCRecord> listQCRecord)
        {
            try
            {
                string noofinpat = drConfigDataResult[rule.Condition.PatNoColumnName].ToString();

                if (rule.MARK == QCEnum.OperationType.Circle && rule.CycleTimes > 0)//有限次循环
                {
                    //获得离当前时间最接近的第一条循环记录
                    QCRecord record = (from QCRecord qcrecord in listQCRecord
                                       where qcrecord.CycleTimes == 1
                                       orderby qcrecord.RealConditionTime descending
                                       select qcrecord).FirstOrDefault();

                    //由于循环记录的第一条记录对应的QCRecord.FirstCycleRecordID为空,所有下面计算的时候要减去1
                    int count = (from QCRecord qcrecord in listQCRecord
                                 where qcrecord.FirstCycleRecordID == record.ID
                                 select qcrecord).Count();

                    if (count < rule.CycleTimes - 1)//上一次的有限次的循环未结束,则外部的触发将会不起作用
                    {
                        return;
                    }
                    else if (count == rule.CycleTimes - 1)//上一次的有限次的循环已经结束,则外部的触发开始起作用
                    {
                        //插入初始化数据到QCRecord表中
                        QCRecord.InsertInitData(noofinpat, rule, drConfigDataResult);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #3
0
        ///// <summary>
        ///// 遍历清除文本框内容
        ///// 2013-01-10
        ///// </summary>
        ///// <param name="gc"></param>
        //private void ClearText(GroupControl gc)
        //{
        //    try
        //    {
        //        foreach (Control ctl in gc.Controls)
        //        {
        //            Type type = ctl.GetType();
        //            if (type == typeof(TextEdit))
        //            {
        //                TextEdit textEdit = ctl as TextEdit;
        //                if (textEdit != null)
        //                {
        //                    textEdit.Text = string.Empty;
        //                }
        //            }
        //            else if (type == typeof(ComboBoxEdit))
        //            {
        //                ComboBoxEdit cmbEdit = ctl as ComboBoxEdit;
        //                if (cmbEdit != null)
        //                {
        //                    cmbEdit.SelectedIndex = -1;
        //                }
        //            }
        //            else if (type == typeof(LookUpEdit))
        //            {
        //                LookUpEdit lookUpEdit = ctl as LookUpEdit;
        //                if (lookUpEdit != null)
        //                {
        //                    lookUpEdit.EditValue = string.Empty;
        //                }
        //            }
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        throw ex;
        //    }
        //}
        #endregion

        /// <summary>
        /// 保存方法
        /// xlb 2013-01-06
        /// </summary>
        private void SaveCurrentRule()
        {
            try
            {
                string message = "";
                bool   result  = Validate(ref message);
                if (!result)
                {
                    MessageBox.Show(message);
                    return;
                }
                QCRule       qcRule       = new QCRule();
                RuleCategory ruleCategory = new RuleCategory();
                QCCondition  qcCondition  = new QCCondition();
                qcRule.RuleCode    = textBoxRuleId.Text.Trim();
                qcCondition.Code   = lookUpEditConditionName.EditValue.ToString();
                qcRule.TimeLimit   = TimesToSeconds(textBoxRuleTime.Text);
                qcRule.Description = textBoxRuleName.Text.Trim();

                qcRule.DoctorLevel = (DoctorGrade)Enum.Parse(typeof(DoctorGrade), lookUpEditDoctorLevel.EditValue.ToString());
                qcRule.Reminder    = textBoxTipInfo.Text.Trim();
                qcRule.FoulMessage = textBoxWarningInfo.Text.Trim();
                if (comboBoxOpMode.SelectedIndex >= 0)
                {
                    qcRule.MARK = (OperationType)comboBoxOpMode.SelectedIndex;
                }
                else
                {
                    qcRule.MARK = OperationType.OnlyOne;
                }
                qcRule.CycleTimes    = int.Parse(textEditLooptimes.Text == "" ? "0" : textEditLooptimes.Text.Trim());
                qcRule.CycleInterval = TimesToSeconds(textEditLoopinterval.Text == "" ? "0" : textEditLoopinterval.Text.Trim());
                qcRule.DelayTime     = int.Parse(spinEditDelayTime.Value.ToString());
                qcRule.Sorce         = double.Parse(spinEditScore.Text == "" ? "0" : spinEditScore.Text.Trim());
                qcRule.QCCode        = lookUpEditQcCode.EditValue.ToString();
                qcRule.Memo          = textEditRuleMemo.Text.Trim();
                ruleCategory.Code    = lookUpEditRuleGroup.EditValue.ToString();
                qcRule.Valid         = checkEditValid.Checked ? "1" : "0";
                if (editstate == EditSate.Edit)
                {
                    QCRule.UpdateQcRule(qcRule, qcCondition, ruleCategory);
                    MessageBox.Show("修改成功");
                }
                else if (editstate == EditSate.Add)
                {
                    QCRule.InsertQcRule(qcRule, qcCondition, ruleCategory);
                    MessageBox.Show("添加成功");
                }
                InitDataRule();
                SetRuleEditState(false, false);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #4
0
 /// <summary>
 /// 生成提醒信息,插入初始化数据至QCRecord表
 /// 如果是循环时限,则只插入循环的第一条记录
 /// </summary>
 void Process1()
 {
     try
     {
         foreach (KeyValuePair <string, QCRule> pair in m_DictQCRuleValid)
         {
             QCRule rule = pair.Value;
             Process1QCRule(rule);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #5
0
 /// <summary>
 /// 取消事件
 /// xlb 203-01-15
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnCancel_Click(object sender, EventArgs e)
 {
     try
     {
         SetRuleEditState(false, false);
         _currentRule = new QCRule();
         DS_Common.ClearControl(groupControlRule);
         DS_Common.ClearControl(groupControlCondtion);
         lookUpEditDoctorLevel.EditValue = null;
     }
     catch (Exception ex)
     {
         MyMessageBox.Show(1, ex);
     }
 }
コード例 #6
0
        /// <summary>
        /// 删除事件
        /// by xlb 2013-01-06
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDeleteCondition_Click(object sender, EventArgs e)
        {
            try
            {
                if (gridViewCondition.FocusedRowHandle < 0)
                {
                    MessageBox.Show("没有数据");
                    return;
                }
                int rowHandel = gridViewCondition.FocusedRowHandle;
                _qcCondition = gridViewCondition.GetRow(rowHandel) as QCCondition;
                int count = QCRule.QcRuleCountByConditionCode(_qcCondition.Code);
                if (count > 0)
                {
                    MessageBox.Show("该条件已匹配了规则,无法删除");
                    return;
                }

                if (MyMessageBox.Show("您确定删除数据吗?", "提示", MyMessageBoxButtons.OkCancel) == DialogResult.Cancel)
                {
                    return;
                }
                #region           ======注销 by xlb 2013-02-29=======
                //DataTable dtRuleTable = QCRule.GetAllQCRules();
                //if (dtRuleTable == null || dtRuleTable.Rows.Count <= 0)
                //{
                //    return;
                //}
                //foreach (DataRow dr in dtRuleTable.Rows)
                //{
                //    if (dr["CONDITIONCODE"].ToString() == _qcCondition.Code)
                //    {
                //        MessageBox.Show("该条件已匹配了规则,无法删除");
                //        return;
                //    }
                //}
                #endregion
                QCCondition.DeleteCondition(_qcCondition);
                MessageBox.Show("删除成功");
                InitDataConditon();
                DS_Common.ClearControl(groupControl1);
                gridViewCondition.MoveBy(rowHandel);//焦点定位到下一行
            }
            catch (Exception ex)
            {
                MyMessageBox.Show(1, ex);
            }
        }
コード例 #7
0
 /// <summary>
 /// 新增规则事件
 /// xlb 2013-01-05
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void buttonNewRule_Click(object sender, EventArgs e)
 {
     try
     {
         DS_Common.ClearControl(groupControlRule);
         DS_Common.ClearControl(groupControlCondtion);
         SetRuleEditState(true, true);
         editstate    = EditSate.Add;
         _currentRule = new QCRule();
         lookUpEditDoctorLevel.EditValue = null;
     }
     catch (Exception ex)
     {
         MyMessageBox.Show(1, ex);
     }
 }
コード例 #8
0
        /// <summary>
        /// 初始化时限规则数据集
        /// by xlb 2013-01-05
        /// </summary>
        private void InitDataRule()
        {
            try
            {
                Dictionary <string, QCCondition>  dictQCCondition  = QCCondition.GetAllQCCondition();
                Dictionary <string, RuleCategory> dictRuleCategory = RuleCategory.GetAllRuleCategory();
                IList <QCRule> listRule = QCRule.GetRuleList(dictQCCondition, dictRuleCategory);

                gridControlRule.DataSource = listRule;
                gridViewRule.ExpandAllGroups();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #9
0
        /// <summary>
        /// 处理每一条时限规则
        /// </summary>
        /// <param name="rule"></param>
        void Process1QCRule(QCRule rule)
        {
            try
            {
                QCCondition condition = rule.Condition;

                //通过QCCondition表中的配置获得相应表中的结果集, 存在病人流水号时,需要将其转换为首页序号
                DataTable dtConfigResult = QCCondition.GetConfigDataResult(condition);

                foreach (DataRow dr in dtConfigResult.Rows)
                {
                    //通过首页序号NOOFINPAT + RULECODE 在QCRecord表中获取对应的记录
                    string          noofinpat    = dr[condition.PatNoColumnName].ToString();
                    string          rulecode     = rule.RuleCode;
                    List <QCRecord> listQCRecord = (from QCRecord rec in m_ListQCRecord
                                                    where rec.NoOfInpat == noofinpat && rec.Rule.RuleCode == rulecode
                                                    select rec).ToList <QCRecord>();

                    //无记录则插入初始化的数据
                    if (listQCRecord.Count() == 0)
                    {
                        QCRecord.InsertInitData(noofinpat, rule, dr);
                        continue;
                    }

                    //通过时间比较是否存在相同的
                    DateTime timeValue = Convert.ToDateTime(dr[condition.TimeColumnName].ToString());
                    var      qcRecords = from QCRecord record in listQCRecord
                                         where record.ConditionTime.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.CurrentCulture)
                                         == timeValue.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.CurrentCulture)
                                         select record;

                    //表示已经处理过,所以不对其再次处理
                    if (qcRecords.Count() > 0)
                    {
                        continue;
                    }

                    //针对不同的操作方式进行不同的处理,确保 listQCRecord.count() > 0
                    Process1QCRuleMark(rule, dr, listQCRecord);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #10
0
 /// <summary>
 /// 刷新事件
 /// xlb 2013-04-05
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void buttonLoadRule_Click(object sender, EventArgs e)
 {
     try
     {
         InitDataRule();
         InitRuleCategoryName();
         DS_Common.ClearControl(groupControlRule);
         DS_Common.ClearControl(groupControlCondtion);
         SetRuleEditState(false, false);
         lookUpEditDoctorLevel.EditValue = null;
         _currentRule = new QCRule();
     }
     catch (Exception ex)
     {
         MyMessageBox.Show(1, ex);
     }
 }
コード例 #11
0
 /// <summary>
 /// 初始化数据
 /// </summary>
 private void InitData()
 {
     try
     {
         m_DictQCCondition = QCCondition.GetAllQCCondition();
         m_DictQCCategory  = RuleCategory.GetAllRuleCategory();
         //获得所有QCRule,包括有效和无效
         m_DictQCRuleAll = QCRule.GetAllQCRule(m_DictQCCondition, m_DictQCCategory);
         m_ListQCRecord  = QCRecord.GetAllQCRecord(m_DictQCRuleAll, m_DictQCCondition, m_DictQCCategory);
         //获得所有有效的QCRule
         m_DictQCRuleValid = QCRule.GetAllQCRuleValid(m_DictQCCondition, m_DictQCCategory);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #12
0
 /// <summary>
 /// 删除事件
 /// xlb 2013-01-08
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnDeleteEmrQcItem_Click(object sender, EventArgs e)
 {
     try
     {
         if (gridViewEmrQcItem.FocusedRowHandle < 0)
         {
             DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show("没有数据");
             return;
         }
         //获得需删除行的行号
         int rowHandel = gridViewEmrQcItem.FocusedRowHandle;
         int maxRow    = (gridViewEmrQcItem.DataSource as List <EmrQcItem>).Count;
         emrQcItem = gridViewEmrQcItem.GetRow(rowHandel) as EmrQcItem;
         int count = QCRule.QcRuleByQcCode(emrQcItem.I_Code);
         if (count > 0)
         {
             DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show("该监控代码被使用,无法删除");
             return;
         }
         DialogResult dialogDelete = DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show("您确定删除此条数据吗?", "提示", DrectSoft.Common.Ctrs.DLG.MyMessageBoxButtons.OkCancel);
         if (dialogDelete == DialogResult.Cancel)
         {
             return;
         }
         EmrQcItem.DeleteEmrQcItem(emrQcItem);
         DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show("删除成功");
         InitDataEMrQcItem();
         ClearControl(groupControlNotton);
         SetEditState(false, true);
         if (rowHandel >= 0 && rowHandel < maxRow - 1)
         {
             //焦点定位到删除行的下行 如果是最后一行
             gridViewEmrQcItem.MoveBy(rowHandel);
         }
         else if (rowHandel == maxRow - 1)
         {
             //如果删除最后一行则焦点定位到上一条数据
             gridViewEmrQcItem.MoveBy(rowHandel - 1);
         }
     }
     catch (Exception ex)
     {
         DrectSoft.Common.Ctrs.DLG.MyMessageBox.Show(1, ex);
     }
 }
コード例 #13
0
        ///// <summary>
        ///// 屏蔽第三方控件右键菜单
        ///// Add xlb 2013-02-29
        ///// </summary>
        ///// <param name="control"></param>
        //private void CancelMenu(Control control,ContextMenuStrip contextMenuStrip)
        //{
        //    try
        //    {
        //        foreach (Control ctrl in control.Controls)
        //        {
        //            Type type = ctrl.GetType();
        //            if (type == typeof(LabelControl))
        //            {
        //                continue;
        //            }
        //            else if (type == typeof(TextEdit))
        //            {
        //                TextEdit textEdit = ctrl as TextEdit;
        //                if (textEdit != null)
        //                {
        //                    textEdit.Properties.ContextMenuStrip = contextMenuStrip;
        //                }
        //            }
        //            else if (type == typeof(MemoEdit))
        //            {
        //                MemoEdit memoEdit = ctrl as MemoEdit;
        //                if (memoEdit != null)
        //                {
        //                    memoEdit.Properties.ContextMenuStrip = contextMenuStrip;
        //                }
        //            }
        //            else if (type == typeof(SpinEdit))
        //            {
        //                SpinEdit spinEdit = ctrl as SpinEdit;
        //                if (spinEdit != null)
        //                {
        //                    spinEdit.Properties.ContextMenuStrip = contextMenuStrip;
        //                }
        //            }
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        throw ex;
        //    }
        //}

        #endregion

        /// <summary>
        /// 选择行变化时出发的事件
        /// by xlb 2013-01-06
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gridViewRule_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
        {
            try
            {
                if (e.FocusedRowHandle < 0)
                {
                    return;
                }
                _currentRule = gridViewRule.GetRow(e.FocusedRowHandle) as QCRule;
                DS_Common.ClearControl(groupControlRule);
                ShowRule(_currentRule);
                SetRuleEditState(false, false);
            }
            catch (Exception ex)
            {
                MyMessageBox.Show(1, ex);
            }
        }
コード例 #14
0
        /// <summary>
        /// 针对不同的操作方式进行不同的处理
        /// </summary>
        /// <param name="rule"></param>
        /// <param name="drConfigDataResult"></param>
        /// <param name="listQCRecord"></param>
        void Process1QCRuleMark(QCRule rule, DataRow drConfigDataResult, List <QCRecord> listQCRecord)
        {
            try
            {
                string noofinpat = drConfigDataResult[rule.Condition.PatNoColumnName].ToString();

                //判断A记录的操作方式
                switch (rule.MARK)
                {
                //一次性,只能触发一次
                case QCEnum.OperationType.OnlyOne:

                    #region Add By wwj 2013-02-27
                    //修改事件触发时间后,【1】删除原先就的时限提醒记录,【2】再插入初始化数据到QCRecord表中
                    //例如:修改入院入区时间,则需要先删除原先入院记录的提醒信息,然后插入新的入院记录提醒信息
                    foreach (QCRecord qcRecord in listQCRecord)
                    {
                        QCRecord.CancelQCRecordData(qcRecord.ID);                 //【1】
                    }
                    QCRecord.InsertInitData(noofinpat, rule, drConfigDataResult); //【2】
                    #endregion

                    break;

                //触发一次执行一次
                case QCEnum.OperationType.EveryOne:
                    //插入初始化数据到QCRecord表中
                    QCRecord.InsertInitData(noofinpat, rule, drConfigDataResult);
                    break;

                //循环触发
                case QCEnum.OperationType.Circle:
                    Process1QCRuleCircle(rule, drConfigDataResult, listQCRecord);
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #15
0
 /// <summary>
 /// 绘制样式事件
 /// xlb 2013-01-10
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void gridViewRule_CustomDrawCell(object sender, DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs e)
 {
     try
     {
         if (e.RowHandle < 0)
         {
             return;
         }
         QCRule ruleQc = gridViewRule.GetRow(e.RowHandle) as QCRule;
         if (ruleQc.Valid == "0")
         {
             //e.Graphics.FillRectangle(Brushes.Red, e.Bounds);
             e.Appearance.ForeColor = Color.Red;
         }
     }
     catch (Exception ex)
     {
         MyMessageBox.Show(1, ex);
     }
 }
コード例 #16
0
 /// <summary>
 /// 单击列表事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void gridViewRule_Click(object sender, EventArgs e)
 {
     try
     {
         if (gridViewRule.FocusedRowHandle < 0)
         {
             return;
         }
         _currentRule = gridViewRule.GetRow(gridViewRule.FocusedRowHandle) as QCRule;
         if (_currentRule == null)
         {
             return;
         }
         DS_Common.ClearControl(groupControlRule);
         DS_Common.ClearControl(groupControlCondtion);
         ShowRule(_currentRule);
     }
     catch (Exception ex)
     {
         MyMessageBox.Show(1, ex);
     }
 }
コード例 #17
0
        /// <summary>
        /// 显示时限详细信息方法
        /// by xlb 2013-01-05
        /// </summary>
        /// <param name="qcRule"></param>
        private void ShowRule(QCRule qcRule)
        {
            try
            {
                if (qcRule == null)
                {
                    return;
                }
                lookUpEditConditionName.EditValue = qcRule.Condition.Code;
                textEditTableName.Text            = qcRule.Condition.TableName;
                textEditColumn.Text      = qcRule.Condition.ColumnName;
                textEditColumnValue.Text = qcRule.Condition.ColumnValue;
                textEditTimeColumn.Text  = qcRule.Condition.TimeColumnName;
                int      times    = qcRule.Condition.TimeRange;
                TimeSpan timeSpan = new TimeSpan(0, 0, 0, times);
                textEditTimeRange.Text = DS_Common.TimeSpanToLocal(timeSpan);
                textEditPatColumn.Text = qcRule.Condition.PatNoColumnName;
                textEditMemo.Text      = qcRule.Memo;
                if (_currentRule.Condition.TableName != "" && _currentRule.Condition.ColumnName != "" && _currentRule.Condition.ColumnValue != "" && _currentRule.Condition.TimeRange > 0)
                {
                    textEditSql.Text = string.Format("select * from {0} where {1} {2} and {3}>sysdate-{4}",
                                                     _currentRule.Condition.TableName,
                                                     _currentRule.Condition.ColumnName,
                                                     _currentRule.Condition.ColumnValue,
                                                     _currentRule.Condition.TimeColumnName,
                                                     _currentRule.Condition.TimeRange / 60 / 60 / 24);
                }
                else
                {
                    textEditSql.Text = string.Format("select * from {0} where {1} {2}",
                                                     _currentRule.Condition.TableName,
                                                     _currentRule.Condition.ColumnName,
                                                     _currentRule.Condition.ColumnValue);
                }

                textBoxRuleId.Text   = qcRule.RuleCode;
                textBoxRuleName.Text = qcRule.Description;
                int      timesLimit = qcRule.TimeLimit;
                TimeSpan timeSpans  = new TimeSpan(0, 0, 0, timesLimit);
                textBoxRuleTime.Text    = DS_Common.TimeSpanToLocal(timeSpans);
                textBoxTipInfo.Text     = qcRule.Reminder;
                textBoxWarningInfo.Text = qcRule.FoulMessage;
                textEditLooptimes.Text  = qcRule.CycleTimes.ToString();
                TimeSpan timeSpanCycle = new TimeSpan(0, 0, 0, qcRule.CycleInterval);
                textEditLoopinterval.Text = DS_Common.TimeSpanToLocal(timeSpanCycle);
                spinEditScore.Text        = qcRule.Sorce.ToString();

                lookUpEditQcCode.EditValue      = qcRule.QCCode;
                textEditRuleMemo.Text           = qcRule.Memo;
                lookUpEditRuleGroup.EditValue   = qcRule.RuleCategory.Code;
                lookUpEditDoctorLevel.EditValue = (Decimal)qcRule.DoctorLevel;
                spinEditDelayTime.Text          = qcRule.DelayTime.ToString();
                if (qcRule.Valid == "1")
                {
                    checkEditValid.Checked = true;
                }
                else
                {
                    checkEditValid.Checked = false;
                }
                if (qcRule.MARK == OperationType.OnlyOne)
                {
                    comboBoxOpMode.SelectedIndex = 0;
                }
                else if (qcRule.MARK == OperationType.EveryOne)
                {
                    comboBoxOpMode.SelectedIndex = 1;
                }
                else if (qcRule.MARK == OperationType.Circle)
                {
                    comboBoxOpMode.SelectedIndex = 2;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }