diff options
| author | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
|---|---|---|
| committer | Mirta <mirta@twine-s.com> | 2020-12-30 16:39:52 +0200 |
| commit | 00a491d93733d4625ad329b2ba8237f445364b3f (patch) | |
| tree | 4b24c6fa78d7648f4bb7cefafa464bb0b063fec4 /Software/Visual_Studio/Utilities/Tango.JobProgressTester.UI/JobHandler2.cs | |
| parent | 124ad4150f80c6846fdee41dbbda9848c105f6e5 (diff) | |
| download | Tango-00a491d9.tar.gz Tango-00a491d9.zip | |
merge
Diffstat (limited to 'Software/Visual_Studio/Utilities/Tango.JobProgressTester.UI/JobHandler2.cs')
| -rw-r--r-- | Software/Visual_Studio/Utilities/Tango.JobProgressTester.UI/JobHandler2.cs | 259 |
1 files changed, 0 insertions, 259 deletions
diff --git a/Software/Visual_Studio/Utilities/Tango.JobProgressTester.UI/JobHandler2.cs b/Software/Visual_Studio/Utilities/Tango.JobProgressTester.UI/JobHandler2.cs deleted file mode 100644 index e646ee51e..000000000 --- a/Software/Visual_Studio/Utilities/Tango.JobProgressTester.UI/JobHandler2.cs +++ /dev/null @@ -1,259 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Tango.BL.Entities; -using Tango.Integration.Operation; -using Tango.Logging; -using Tango.PMR.Printing; - -namespace Tango.JobProgressTester.UI -{ - public class JobHandler2 : JobHandler - { - public JobHandler2(Action cancelAction, Job job, JobTicket jobTicket, ProcessParametersTable processParameters, JobHandlerModes mode) - : base(cancelAction, job, jobTicket, processParameters, mode) - { - - } - - protected override void InvalidateJobProgress(JobStatus s) - { - JobStatus = s; - - if (_last_progress != s.Progress) - { - if (s.Progress <= PROGRESS_REPORT_RANGE_METERS || s.Progress >= Status.TotalProgress - PROGRESS_REPORT_RANGE_METERS) - { - LogManager.Log($"Updating job progress {s.Progress}/{Status.TotalProgress}..."); - } - else if (!loggedContinueMessage) - { - loggedContinueMessage = true; - LogManager.Log($"Progress logging will continue {PROGRESS_REPORT_RANGE_METERS} meters before completion..."); - } - } - - if (s.Progress < 0) - { - LogManager.Log($"Invalid job progress received '{s.Progress}'.", LogCategory.Error); - return; - } - - if (s.Progress > Status.TotalProgress) - { - LogManager.Log($"Invalid job progress received '{s.Progress}' while total progress is '{Status.TotalProgress}'.", LogCategory.Error); - return; - } - - if (s.Progress < _last_progress) - { - LogManager.Log($"Invalid job progress received '{s.Progress}' while last progress was '{_last_progress}'."); - } - - _last_progress = s.Progress; - - List<Segment> unit_segments = new List<Segment>(); - - Status.Progress = s.Progress; - Status.RemainingTime = Status.TotalTime - Job.TranslateProgressToTime(Status.Progress, ProcessParameters); - Status.RemainingProgress = Status.TotalProgress - Status.Progress; - - if (s.Progress < Status.SettingUpTotalProgress || Status.SettingUpProgress < Status.SettingUpTotalProgress) - { - Status.SettingUpProgress = Math.Min(s.Progress, this.Status.SettingUpTotalProgress); - Status.IsSettingUp = true; - } - if (s.Progress >= Status.SettingUpTotalProgress) - { - if (Status.IsSettingUp && Status.Progress > 0) - { - Status.IsSettingUp = false; - } - - Status.ProgressMinusSettingUp = s.Progress - this.Status.SettingUpTotalProgress; - } - - int units = (int)Math.Max(Job.NumberOfUnits, 1); - - if (s.Progress < Job.LengthIncludingNumberOfUnits || _mode == JobHandlerModes.SettingUp) - { - Status.ProgressWithoutFinalization = s.Progress; - - unit_segments = _effectiveSegments.ToList(); - Status.CurrentUnitProgress = 0.0; - double previousUnitsLengthWithoutThis = 0.0; - for (int index = 0; index < units; ++index) - { - Status.CurrentUnit = index; - double unitLength = !Job.EnableInterSegment || index >= units - 1 ? Job.Length : Job.Length + Job.InterSegmentLength; - if (_mode == JobHandlerModes.Finalization) - { - if (s.Progress < unitLength + previousUnitsLengthWithoutThis) - { - Status.CurrentUnitProgress = s.Progress - previousUnitsLengthWithoutThis; - break; - } - } - else if (s.Progress <= previousUnitsLengthWithoutThis + unitLength + Status.SettingUpProgress) - { - if (!Status.IsSettingUp) - { - Status.CurrentUnitProgress = s.Progress - previousUnitsLengthWithoutThis - this.Status.SettingUpProgress; - break; - } - break; - } - previousUnitsLengthWithoutThis += unitLength; - } - Status.RemainingUnits = this.Job.NumberOfUnits - this.Status.CurrentUnit; - - if (Job.EnableInterSegment && Job.NumberOfUnits > 1 && Status.RemainingUnits > 1) - { - unit_segments.Add(Job.CreateInterSegment(Job.InterSegmentLength)); - } - - if (unit_segments.Count != Status.CurrentUnitSegments.Count) - { - Status.CurrentUnitSegments = unit_segments; - } - - Status.CurrentUnitTotalProgress = Status.RemainingUnits > 1 && Job.EnableInterSegment ? Job.Length + (Job.InterSegmentLength) : Job.Length; - - if (s.Message != _lastStatusMessage && s.Message != String.Empty) - { - Status.Message = s.Message; - } - else - { - Status.Message = null; - } - - _lastStatusMessage = s.Message; - - - RaiseStatusChanged(); - - //Segments Completion - if (Status.CurrentUnit > _last_unit) - { - foreach (var segment in Status.CurrentUnitSegments) - { - segment.Started = false; - segment.Completed = false; - } - - if (Job.NumberOfUnits > 1) - { - RaiseUnitCompleted(_last_unit); - } - } - - _last_unit = Status.CurrentUnit; - - - for (int i = 0; i < Status.CurrentUnitSegments.Count; i++) - { - Segment segment = Status.CurrentUnitSegments[i]; - double previousSegmentsLengthWithThis = Status.CurrentUnitSegments.Take(i + 1).Sum(x => x.LengthWithFactor); - TimeSpan segmentsDuration = Job.TranslateProgressToTime(previousSegmentsLengthWithThis, ProcessParameters); - TimeSpan segmentRemainingTime = segmentsDuration - Job.TranslateProgressToTime(Status.CurrentUnitProgress, ProcessParameters); - - if (i == 0 && Status.CurrentUnitProgress > 0) - { - if (!segment.Started) - { - segment.Started = true; - RaiseSegmentStarted(segment); - } - } - - if (Status.CurrentUnitProgress >= previousSegmentsLengthWithThis) - { - if (!segment.Completed) - { - segment.Completed = true; - RaiseSegmentCompleted(segment); - } - - if (i < Status.CurrentUnitSegments.Count - 1) - { - if (!Status.CurrentUnitSegments[i + 1].Started) - { - Status.CurrentUnitSegments[i + 1].Started = true; - RaiseSegmentStarted(Status.CurrentUnitSegments[i + 1]); - } - } - } - - if (segment.Started && !segment.Completed) - { - segment.RemainingTime = segmentRemainingTime; - } - } - - //Set Segment Completion for All Segments List - for (int i = 0; i < Status.Segments.Count; i++) - { - Segment segment = Status.Segments[i]; - double previousSegmentsLengthWithThis = Status.Segments.Take(i + 1).Sum(x => x.LengthWithFactor); - TimeSpan segmentsDuration = Job.TranslateProgressToTime(previousSegmentsLengthWithThis, ProcessParameters); - TimeSpan segmentRemainingTime = segmentsDuration - Job.TranslateProgressToTime(Status.Progress, ProcessParameters); - - segment.Progress = Math.Min(Math.Max((previousSegmentsLengthWithThis - segment.Length - Status.Progress) * -1, 0), segment.Length); - - if (i == 0 && Status.Progress > 0) - { - if (!segment.Started) - { - segment.Started = true; - Status.CurrentSegment = segment; - } - } - - if (Status.Progress >= previousSegmentsLengthWithThis) - { - if (!segment.Completed) - { - segment.Completed = true; - } - - if (i < Status.Segments.Count - 1) - { - if (!Status.Segments[i + 1].Started) - { - Status.Segments[i + 1].Started = true; - Status.CurrentSegment = Status.Segments[i + 1]; - } - } - } - - if (segment.Started && !segment.Completed) - { - segment.RemainingTime = segmentRemainingTime; - } - } - } - else - { - //Finalizing - if (!_finalizing) - { - _finalizing = true; - Status.IsFinalizing = true; - var last_Segment = _effectiveSegments.Last().Clone(); - last_Segment.Length = ProcessParameters.DryerBufferLengthMeters; - Status.CurrentUnitSegments = new List<Segment> { last_Segment }; - Status.CurrentUnitTotalProgress = last_Segment.Length; - Status.CurrentUnitProgress = 0; - Status.ProgressWithoutFinalization = Status.TotalProgressWithoutFinalization; - RaiseFinalizing(); - } - - Status.CurrentUnitProgress = s.Progress - Job.LengthIncludingNumberOfUnits; - Status.FinalizingProgress = s.Progress - Status.TotalProgressWithoutFinalization; - } - } - } -} |
