aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.Integration
diff options
context:
space:
mode:
authorVictoria Plitt <Victoria.Plitt@twine-s.com>2023-08-25 19:26:42 +0300
committerVictoria Plitt <Victoria.Plitt@twine-s.com>2023-08-25 19:26:42 +0300
commitf6b8be518df438baa155f718619ad04905b4fae5 (patch)
tree1dd5ec989a3b44c3e40905bcb4b9c8449558a0a8 /Software/Visual_Studio/Tango.Integration
parent03ed23e3615d4ff7789f40631d2b81dda3b1daba (diff)
downloadTango-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.cs38
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs11
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;