Example #1
0
        public static EqpSpanDuration Get30MKPI(string tagid)
        {
            EqpSpanDuration data = new EqpSpanDuration();

            try
            {
                data.TagID = tagid;
                SpanStatus span   = DTRecord.GetSpanTimeStatus(tagid, -30);
                bool       ISDown = true;
                if (span != null)
                {
                    if (span.Status == "Operating" || span.Status == "Lack" || span.Status == "Tailback")
                    {
                        data.Run = span.Duration;
                        ISDown   = false;
                    }
                    else
                    {
                        data.Down = span.Duration;
                    }
                }

                if (ISDown)
                {
                    data.Down = data.Down + DTRecord.GetDownTime(tagid, -30);
                    data.Run  = 30 - data.Down;
                }
                else
                {
                    data.Down = DTRecord.GetDownTime(tagid, -30);
                    data.Run  = 30 - data.Down;
                }

                data.KPI = data.Run / 30;
            }
            catch (Exception ex)
            {
                Log.Error(ex.ToString());
                data = null;
            }

            return(data);
        }
Example #2
0
        public ISpan End(SpanStatus status = SpanStatus.Succeeded, string statusDescription = null, DateTimeOffset?date = null)
        {
            // only set default status if none has been set already
            if (this.Status == SpanStatus.Transient || this.Status == null)
            {
                this.Status            = status;
                this.StatusDescription = statusDescription;
            }

            if (date.HasValue)
            {
                this.EndTime = date;
            }
            else
            {
                this.EndTime = DateTimeOffset.UtcNow;
            }

            return(this);
        }
Example #3
0
        public static SpanStatus GetSpanTimeStatus(string tagid, double minute)
        {
            SpanStatus data = new SpanStatus();
            DateTime   time = DateTime.Now.AddMinutes(minute);
            string     sql  = string.Format(" select Start_time,End_time,Duration,Status,TagID from DTRecord where   tagid='{0}'  and end_time >='{1}' and start_time<='{1}' ", tagid, time);
            DataTable  dt   = MSSql.ExecuteQueryDataTable(sql);

            if (dt == null || dt.Rows.Count == 0)
            {
                return(null);
            }
            else
            {
                data.Status = dt.Rows[0]["Status"].ToString().Trim();
                DateTime endtime = Convert.ToDateTime(dt.Rows[0]["End_time"]);
                TimeSpan span    = endtime - time;
                data.Duration = span.TotalMinutes;
                return(data);
            }
        }
Example #4
0
 /// <summary>
 /// Finishes the span.
 /// </summary>
 public static void Finish(this ISpan span, SpanStatus status)
 {
     span.Status = status;
     span.Finish();
 }
Example #5
0
 public ISpan SetStatus(SpanStatus status, string description = null)
 {
     this.Status            = status;
     this.StatusDescription = description;
     return(this);
 }
Example #6
0
 public void End(IScope scope = null, SpanStatus status = SpanStatus.Succeeded, string statusDescription = null)
 {
     scope ??= this.ScopeManager.Current;
     scope?.Span?.End(status, statusDescription);
     this.ScopeManager.Deactivate(scope);
 }