schangxiang@126.com
2024-07-03 1cdca2ba97c3d77ec08306cfe7efceb17ddc56cf
DataCapture/iWare_SCADA_DataCapture/iWare_SCADA_BusinessLogical/BLL/WorkPieceInfoManager.cs
@@ -226,7 +226,14 @@
                        WorkPieceProcess process = new WorkPieceProcess();
                        process = EntityPropHelper.Mapper<WorkPieceProcess, WorkPieceInfo>(info);
                        process.StartTime = DateTimeHelper.GetDateTime();
                        process.QualityState = info.QualityState.HasValue ? info.QualityState.Value : (int)QualityState.OK;
                        if (process.WorkingProcedureCurrent == WorkingProcedureForHMI.OP70.ToString())
                        { //特殊处理OP70,因为OP70没有测量,默认合格 [Editby shaocx,2024-07-03]
                            process.QualityState = (int)QualityState.OK;
                        }
                        process.Id = Yitter.IdGenerator.YitIdHelper.NextId();
                        process.CreatedUserName = loginfo.MonitoringPoint;
                        process.CreatedTime = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Local);
@@ -2234,11 +2241,29 @@
            return loginfo;
        }
        /// <summary>
        /// 设置中间变量的质量数据
        /// </summary>
        /// <param name="logMiddle"></param>
        public static void SetLogMiddleForQuality(ref WorkPieceLogMiddle logMiddle)
        {
            //根据质量数据判断是否合格/不合格 【Editby shaocx,2024-06-25】
            QualityNoOkEnum? qualityNoOkEnum = null;
            QualityState qualityState = WorkPieceInfoManager.CalcQualityStateForOP(logMiddle, ref qualityNoOkEnum);
            logMiddle.QualityState = (int)qualityState;
            logMiddle.QualityStateStr = qualityState.ToString();
            if (qualityNoOkEnum != null)
            {
                logMiddle.QualityNoOk = (int)qualityNoOkEnum;
                logMiddle.QualityNoOkReason = qualityNoOkEnum.ToString();
            }
        }
        /// <summary>
        /// 计算OP 质量数据是否合格
        /// </summary>
        public static QualityState CalcQualityStateForOP(WorkPieceLogMiddle logMiddle, ref QualityNoOkEnum? qualityNoOkEnum)
        private static QualityState CalcQualityStateForOP(WorkPieceLogMiddle logMiddle, ref QualityNoOkEnum? qualityNoOkEnum)
        {
            QualityState qualityState = QualityState.Suspected;
            if (logMiddle.WorkingProcedure == "OP60")