diff options
| author | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2023-08-25 19:26:42 +0300 |
|---|---|---|
| committer | Victoria Plitt <Victoria.Plitt@twine-s.com> | 2023-08-25 19:26:42 +0300 |
| commit | f6b8be518df438baa155f718619ad04905b4fae5 (patch) | |
| tree | 1dd5ec989a3b44c3e40905bcb4b9c8449558a0a8 /Software/Visual_Studio/Tango.Integration | |
| parent | 03ed23e3615d4ff7789f40631d2b81dda3b1daba (diff) | |
| download | Tango-f6b8be518df438baa155f718619ad04905b4fae5.tar.gz Tango-f6b8be518df438baa155f718619ad04905b4fae5.zip | |
Resume button. Set SettingUpTotalProgress as global Start Position.
Diffstat (limited to 'Software/Visual_Studio/Tango.Integration')
| -rw-r--r-- | Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs | 38 | ||||
| -rw-r--r-- | Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs | 11 |
2 files changed, 40 insertions, 9 deletions
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs b/Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs index 4579ff08c..5d62f4269 100644 --- a/Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs +++ b/Software/Visual_Studio/Tango.Integration/Operation/JobHandler.cs @@ -9,6 +9,7 @@ using Tango.BL.Enumerations; using Tango.Core; using Tango.Logging; using Tango.PMR.Printing; +using static Tango.Integration.Operation.AdditionalJobConfiguration; namespace Tango.Integration.Operation { @@ -139,6 +140,8 @@ namespace Tango.Integration.Operation /// </summary> public JobTicket JobTicket { get; private set; } + public ResumeConfiguration ResumeConfig { get; private set; } + #endregion #region Constructors @@ -155,13 +158,14 @@ namespace Tango.Integration.Operation /// Initializes a new instance of the <see cref="JobHandler"/> class. /// </summary> /// <param name="cancelAction">The cancel action.</param> - public JobHandler(Action cancelAction, Job job, JobTicket jobTicket, ProcessParametersTable processParameters, JobHandlerModes mode) : this() + public JobHandler(Action cancelAction, Job job, JobTicket jobTicket, ProcessParametersTable processParameters, JobHandlerModes mode, ResumeConfiguration resumeConfig = null) : this() { _mode = mode; ProcessParameters = processParameters; Job = job; JobTicket = jobTicket; + ResumeConfig = resumeConfig; foreach (var s in Job.Segments) { @@ -187,6 +191,11 @@ namespace Tango.Integration.Operation Status.RemainingProgress = Status.TotalProgress; Status.CurrentUnitSegments = _effectiveSegments.ToList(); Status.SettingUpTotalProgress = processParameters.DryerBufferLengthMeters; + if (resumeConfig != null && resumeConfig.GlobalStartPosition > 0) + { + Status.SettingUpTotalProgress = resumeConfig.GlobalStartPosition; + Status.CurrentUnitProgress = ResumeConfig.FirstUnitStartPosition; + } Status.TotalProgressMinusSettingUp = Job.LengthIncludingNumberOfUnits; Status.IsSettingUp = true; @@ -332,7 +341,7 @@ namespace Tango.Integration.Operation protected virtual 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) @@ -383,7 +392,16 @@ namespace Tango.Integration.Operation Status.IsSettingUp = false; } - Status.ProgressMinusSettingUp = s.Progress - this.Status.SettingUpTotalProgress; + if (ResumeConfig != null && ResumeConfig.GlobalStartPosition > 0) + { + Status.ProgressMinusSettingUp = s.Progress - ProcessParameters.DryerBufferLengthMeters; + //LogManager.Log($" Status.ProgressMinusSettingUp {Status.ProgressMinusSettingUp} progress = {s.Progress}"); + + } + else + { + Status.ProgressMinusSettingUp = s.Progress - this.Status.SettingUpTotalProgress; + } } int units = (int)Math.Max(Job.NumberOfUnits, 1); @@ -411,6 +429,15 @@ namespace Tango.Integration.Operation break; } } + else if(ResumeConfig != null && ResumeConfig.GlobalStartPosition > 0) + { + if (!Status.IsSettingUp && s.Progress <= previousUnitsLengthWithoutThis + unitLength + ProcessParameters.DryerBufferLengthMeters) + { + currentUnitProgress = s.Progress - previousUnitsLengthWithoutThis - ProcessParameters.DryerBufferLengthMeters; + //LogManager.Log($"currentUnitProgress before ={currentUnitProgress} progress = {s.Progress}"); + break; + } + } else if (s.Progress <= previousUnitsLengthWithoutThis + unitLength + Status.SettingUpProgress) { if (!Status.IsSettingUp) @@ -425,6 +452,7 @@ namespace Tango.Integration.Operation Status.CurrentUnit = currentUnit; Status.CurrentUnitProgress = currentUnitProgress; + //LogManager.Log($"CurrentUnit {Status.CurrentUnit} currentUnitProgress {Status.CurrentUnitProgress} "); Status.RemainingUnits = this.Job.NumberOfUnits - this.Status.CurrentUnit; @@ -444,7 +472,7 @@ namespace Tango.Integration.Operation { Status.Message = s.Message; } - + _lastStatusMessage = s.Message; @@ -527,7 +555,7 @@ namespace Tango.Integration.Operation Status.CurrentSegment = segment; } } - + //if (Status.Progress >= previousSegmentsLengthWithThis) if (Status.ProgressMinusSettingUp >= previousSegmentsLengthWithThis) { diff --git a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs index 11634109f..07d2c9881 100644 --- a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs +++ b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs @@ -2596,6 +2596,8 @@ namespace Tango.Integration.Operation /// <returns></returns> public Task<JobHandler> Print(Job job, ProcessParametersTable processParameters, AdditionalJobConfiguration config = null) { + //processParameters.DryerBufferLength = 10; //TODO: REMOVE !!! + return Task.Factory.StartNew(() => { if (config == null) config = new AdditionalJobConfiguration(); @@ -2916,7 +2918,7 @@ namespace Tango.Integration.Operation handler.CanCancel = true; LogManager.Log(ex, "Failed to cancel job."); } - }, clonedJob, ticket, processParameters, JobHandlingMode); + }, clonedJob, ticket, processParameters, JobHandlingMode, config.ResumeConfig); handler.StatusChanged += (x, s) => { @@ -3252,9 +3254,10 @@ namespace Tango.Integration.Operation if (config.ResumeConfig != null) { - resumePreProgress = config.ResumeConfig.GlobalStartPosition - request.FirstUnitStartPosition; + resumePreProgress = config.ResumeConfig.GlobalStartPosition - processParameters.DryerBufferLengthMeters; request.FirstUnitStartPosition = config.ResumeConfig.FirstUnitStartPosition; - request.JobTicket.Length = (request.JobTicket.Length / Math.Max(request.JobTicket.NumberOfUnits, 1)) *(int)Math.Max(config.ResumeConfig.RemainingUnits, 1); + //LogManager.Log($" resumePreProgress = {resumePreProgress}, GlobalStartPosition {config.ResumeConfig.GlobalStartPosition} FirstUnitStartPosition {request.FirstUnitStartPosition}"); + request.JobTicket.Length = (request.JobTicket.Length / Math.Max(request.JobTicket.NumberOfUnits, 1)) * (int)Math.Max(config.ResumeConfig.RemainingUnits, 1); request.JobTicket.NumberOfUnits = (uint)Math.Max(config.ResumeConfig.RemainingUnits, 1); } @@ -3263,7 +3266,7 @@ namespace Tango.Integration.Operation if (!completed) { response.Message.Status.Progress += resumePreProgress; - + handler.RaiseStatusReceived(response.Message.Status); _last_job_status = handler.Status; |
