Example #1
0
        public CheckStandard GetCheckStandar()
        {
            CheckStandard.MMTypeID = (int)MMTypEnum.QM;
            CheckStandard cs = CheckStandard.Instance.GetCurrentStandard(Order.DefPK, CheckItemID);

            return(cs);
        }
Example #2
0
        //EncodeCollection<CheckData> LoadData()
        //{
        //    string clause = string.Format("sampleid='{0}'",_sampleOrder.SampleID);
        //    EncodeCollection<CheckData> ec =  Encode.EncodeData.GetDatas<CheckData>(clause, string.Empty, -1);
        //    return ec;
        //}
        List <InputField> CheckItemsToInputFields(EncodeCollection <CheckItem> ec)
        {
            List <InputField> list = new List <InputField>();

            foreach (CheckItem item in ec)
            {
                InputField field = new InputField
                {
                    FieldName   = item.ToString(),
                    ID          = item.ParamID,
                    ValueType   = item.ValueTypeID,
                    CheckType   = item.GetCheckType(),
                    QualifyRate = 100f,
                    ReadOnly    = IsReadOnly,
                    Precision   = item.Precision
                };
                if (_sampleOrder != null)
                {
                    CheckStandard.MMTypeID = (int)MMTypEnum.QM;
                    CheckStandard cs = CheckStandard.Instance.GetCurrentStandard(_sampleOrder.DefPK, item.ParamID);
                    if (cs != null)
                    {
                        if (!string.IsNullOrWhiteSpace(cs.EntStandardStr))
                        {
                            field.StandardStr = cs.EntStandardStr;
                        }
                        else if (!string.IsNullOrWhiteSpace(cs.NatStandardStr))
                        {
                            field.StandardStr = cs.NatStandardStr;
                        }
                        field.QualifyRate = cs.QualifyRate;
                    }
                }
                list.Add(field);
            }
            return(list);
        }
Example #3
0
        /// <summary>
        /// 对一个checkitem进行判断
        /// </summary>
        /// <param name="datas"></param>
        /// <returns></returns>
        static public QualifyJudgeEnum QualifyOneCheckItemJudge(List <CheckData> datas)
        {
            if (datas.Count == 0)
            {
                return(QualifyJudgeEnum.Empty);
            }
            CheckData     first         = datas[0];
            CheckStandard checkStandard = first.GetCheckStandar();

            if (checkStandard == null || string.IsNullOrWhiteSpace(first.StandardStr))
            {
                return(QualifyJudgeEnum.UnJudge);
            }
            if (first.ValueType == ValueTypeEnum.Selection)
            {
                return(QualifyJudgeEnum.UnJudge);
            }
            // List<string> values = new List<string>();

            bool bUnFinish = true;
            int  passcount = 0;

            for (int index = 0; index < datas.Count; index++)
            {
                //string value = (string)cell.Value;
                CheckData data = datas[index];
                if (!string.IsNullOrWhiteSpace(data.DataValue))
                {
                    bUnFinish = false;
                    //return QualifyJudgeEnum.UnFinish;
                    //datas.Add(data);
                    bool isfalse = data.IsFalse;
                    data.SetPass();
                    if (isfalse != data.IsFalse)
                    {
                        data.State = DataState.Changed;
                        Encode.EncodeData.SaveDatas <CheckData>(new EncodeCollection <CheckData>(data));
                    }

                    if (!data.IsFalse)
                    {
                        passcount++;
                    }
                    //values.Add(data);
                    // break;
                }
            }
            if (bUnFinish)
            {
                return(QualifyJudgeEnum.UnFinish);
            }

            float rate = 100f * passcount / datas.Count;

            if (rate >= checkStandard.QualifyRate)
            {
                return(QualifyJudgeEnum.Pass);
            }
            else
            {
                return(QualifyJudgeEnum.False);
            }
        }