aboutsummaryrefslogtreecommitdiffstats
path: root/Software
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2024-07-14 23:06:47 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2024-07-14 23:06:47 +0300
commitc03fb4a1b2aadd8952b321d08ca840e55fcee72d (patch)
tree453cc2986a60c87ddff21bff348d6d35d7ed1c2e /Software
parent70c0c5921c3c124779ec0d603e43d72e67def63f (diff)
downloadTango-c03fb4a1b2aadd8952b321d08ca840e55fcee72d.tar.gz
Tango-c03fb4a1b2aadd8952b321d08ca840e55fcee72d.zip
Revision of statistics and resumed jobs.
Diffstat (limited to 'Software')
-rw-r--r--Software/DB/PPC/Tango.mdfbin75497472 -> 75497472 bytes
-rw-r--r--Software/DB/PPC/Tango_log.ldfbin53673984 -> 53673984 bytes
-rw-r--r--Software/DB/Tango.mdfbin75497472 -> 75497472 bytes
-rw-r--r--Software/DB/Tango_log.ldfbin22675456 -> 22675456 bytes
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Controls/RangeProgressBar.cs81
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/StopModel.cs33
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Tango.FSE.Statistics.csproj1
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Themes/Generic.xaml17
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/ViewModels/MainViewVM.cs4
-rw-r--r--Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Views/MainView.xaml17
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Models/JobRunModel.cs36
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/JobRunsViewVM.cs12
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/JobRunsView.xaml35
-rw-r--r--Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs1
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Printing/PrintingConfiguration.cs1
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Resume/DefaultJobResumeManager.cs1
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Resume/JobResumeModel.cs2
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Shared/Statistics/JobRunComposition.cs24
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/Printing/DefaultPrintingManager.cs1
-rw-r--r--Software/Visual_Studio/Tango.BL/DTO/JobRunDTOBase.cs16
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/Job.cs4
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/JobRun.cs13
-rw-r--r--Software/Visual_Studio/Tango.BL/Entities/JobRunBase.cs76
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/JOB_RUNS.cs2
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx6
-rw-r--r--Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram184
-rw-r--r--Software/Visual_Studio/Tango.Integration/JobRuns/BasicJobRunsLogger.cs2
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/AdditionalJobConfiguration.cs1
-rw-r--r--Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs5
-rw-r--r--Software/Visual_Studio/Tango.SharedUI/Controls/RangeProgressBar.cs92
-rw-r--r--Software/Visual_Studio/Tango.SharedUI/Tango.SharedUI.csproj3
-rw-r--r--Software/Visual_Studio/Tango.SharedUI/Themes/Generic.xaml16
-rw-r--r--Software/Visual_Studio/Web/Tango.MachineService/Properties/AssemblyInfo.cs2
33 files changed, 573 insertions, 115 deletions
diff --git a/Software/DB/PPC/Tango.mdf b/Software/DB/PPC/Tango.mdf
index 01314a149..c8371da66 100644
--- a/Software/DB/PPC/Tango.mdf
+++ b/Software/DB/PPC/Tango.mdf
Binary files differ
diff --git a/Software/DB/PPC/Tango_log.ldf b/Software/DB/PPC/Tango_log.ldf
index b9f28e433..c909e3819 100644
--- a/Software/DB/PPC/Tango_log.ldf
+++ b/Software/DB/PPC/Tango_log.ldf
Binary files differ
diff --git a/Software/DB/Tango.mdf b/Software/DB/Tango.mdf
index cb79ef227..53ba1c060 100644
--- a/Software/DB/Tango.mdf
+++ b/Software/DB/Tango.mdf
Binary files differ
diff --git a/Software/DB/Tango_log.ldf b/Software/DB/Tango_log.ldf
index 8d2f6a746..b3173ce13 100644
--- a/Software/DB/Tango_log.ldf
+++ b/Software/DB/Tango_log.ldf
Binary files differ
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Controls/RangeProgressBar.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Controls/RangeProgressBar.cs
new file mode 100644
index 000000000..0d18bb4ca
--- /dev/null
+++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Controls/RangeProgressBar.cs
@@ -0,0 +1,81 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Tango.FSE.Diagnostics.Controls
+{
+ public class RangeProgressBar : Control
+ {
+ private Border _innerBorder;
+ private Border _outerBorder;
+
+ static RangeProgressBar()
+ {
+ DefaultStyleKeyProperty.OverrideMetadata(typeof(RangeProgressBar), new FrameworkPropertyMetadata(typeof(RangeProgressBar)));
+ }
+
+ public Brush FillBrush
+ {
+ get { return (Brush)GetValue(FillBrushProperty); }
+ set { SetValue(FillBrushProperty, value); }
+ }
+ public static readonly DependencyProperty FillBrushProperty =
+ DependencyProperty.Register("FillBrush", typeof(Brush), typeof(RangeProgressBar), new PropertyMetadata(Brushes.Red));
+
+ public double Maximum
+ {
+ get { return (double)GetValue(MaximumProperty); }
+ set { SetValue(MaximumProperty, value); }
+ }
+ public static readonly DependencyProperty MaximumProperty =
+ DependencyProperty.Register("Maximum", typeof(double), typeof(RangeProgressBar), new PropertyMetadata(100.0));
+
+ public double LowerValue
+ {
+ get { return (double)GetValue(LowerValueProperty); }
+ set { SetValue(LowerValueProperty, value); }
+ }
+ public static readonly DependencyProperty LowerValueProperty =
+ DependencyProperty.Register("LowerValue", typeof(double), typeof(RangeProgressBar), new PropertyMetadata(20.0));
+
+ public double UpperValue
+ {
+ get { return (double)GetValue(UpperValueProperty); }
+ set { SetValue(UpperValueProperty, value); }
+ }
+ public static readonly DependencyProperty UpperValueProperty =
+ DependencyProperty.Register("UpperValue", typeof(double), typeof(RangeProgressBar), new PropertyMetadata(80.0));
+
+ public override void OnApplyTemplate()
+ {
+ base.OnApplyTemplate();
+ _innerBorder = GetTemplateChild("PART_InnerBorder") as Border;
+ _outerBorder = GetTemplateChild("PART_OuterBorder") as Border;
+
+ PlaceInnerBorder();
+ SizeChanged -= RangeProgressBar_SizeChanged;
+ SizeChanged += RangeProgressBar_SizeChanged;
+ }
+
+ private void RangeProgressBar_SizeChanged(object sender, SizeChangedEventArgs e)
+ {
+ PlaceInnerBorder();
+ }
+
+ private void PlaceInnerBorder()
+ {
+ _innerBorder.Margin = new Thickness(LowerValue / Maximum * _outerBorder.ActualWidth, 0, _outerBorder.ActualWidth - (UpperValue / Maximum * _outerBorder.ActualWidth), 0);
+ }
+ }
+}
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/StopModel.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/StopModel.cs
index 3d616f957..d979fe55b 100644
--- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/StopModel.cs
+++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Models/StopModel.cs
@@ -178,6 +178,31 @@ namespace Tango.FSE.Statistics.Models
get { return IsEureka ? JobRun.EndPosition * 4 : JobRun.EndPosition; }
}
+ public double ActualStartPosition
+ {
+ get { return IsEureka ? JobRun.ActualStartPosition * 4 : JobRun.ActualStartPosition; }
+ }
+
+ public double ActualEndPosition
+ {
+ get
+ {
+ if (JobRun.ActualEndPosition > 0)
+ {
+ return IsEureka ? JobRun.ActualEndPosition * 4 : JobRun.ActualEndPosition;
+ }
+ else
+ {
+ return IsEureka ? JobRun.EndPosition * 4 : JobRun.EndPosition;
+ }
+ }
+ }
+
+ public double ActualLength
+ {
+ get { return IsEureka ? JobRun.JobLogicalLength * 4 : JobRun.JobLogicalLength; }
+ }
+
public String FineTuningMeasured
{
get
@@ -244,5 +269,13 @@ namespace Tango.FSE.Statistics.Models
}
private set { _fineTuningDeltaE = value; }
}
+
+ public double Distance
+ {
+ get
+ {
+ return ActualEndPosition - ActualStartPosition;
+ }
+ }
}
}
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Tango.FSE.Statistics.csproj b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Tango.FSE.Statistics.csproj
index 3ca736b8a..fcfb157e6 100644
--- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Tango.FSE.Statistics.csproj
+++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Tango.FSE.Statistics.csproj
@@ -105,6 +105,7 @@
<Compile Include="..\..\..\MachineStudio\Modules\Tango.MachineStudio.Developer\Controls\JobOutlineControl.cs">
<Link>Controls\JobOutlineControl.cs</Link>
</Compile>
+ <Compile Include="Controls\RangeProgressBar.cs" />
<Compile Include="Dialogs\JobRunExtendedInfoView.xaml.cs">
<DependentUpon>JobRunExtendedInfoView.xaml</DependentUpon>
</Compile>
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Themes/Generic.xaml b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Themes/Generic.xaml
index 2c6475626..313a46355 100644
--- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Themes/Generic.xaml
+++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Themes/Generic.xaml
@@ -1,9 +1,26 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:material="http://materialdesigninxaml.net/winfx/xaml/themes"
+ xmlns:controls="clr-namespace:Tango.FSE.Statistics.Controls"
xmlns:local="clr-namespace:Tango.FSE.Statistics.Themes">
<BitmapImage x:Key="jobImage" UriSource="../Images/cmyk.png" />
+ <Style TargetType="{x:Type controls:RangeProgressBar}">
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type controls:RangeProgressBar}">
+ <Border x:Name="PART_OuterBorder" Background="{TemplateBinding Background}"
+ BorderBrush="{TemplateBinding BorderBrush}"
+ BorderThickness="{TemplateBinding BorderThickness}">
+ <Border x:Name="PART_InnerBorder" Background="{TemplateBinding FillBrush}">
+
+ </Border>
+ </Border>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
+
</ResourceDictionary> \ No newline at end of file
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/ViewModels/MainViewVM.cs b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/ViewModels/MainViewVM.cs
index 538e8a795..a21619aac 100644
--- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/ViewModels/MainViewVM.cs
@@ -487,8 +487,8 @@ namespace Tango.FSE.Statistics.ViewModels
stats.CompletedRuns = _model.StatisticsResult.JobRuns.Count(x => x.JobRun.Status == (int)JobRunStatus.Completed);
stats.FailedRuns = _model.StatisticsResult.JobRuns.Count(x => x.JobRun.Status == (int)JobRunStatus.Failed);
stats.AbortedRuns = _model.StatisticsResult.JobRuns.Count(x => x.JobRun.Status == (int)JobRunStatus.Aborted);
- stats.TotalDyeingLength = (int)_model.StatisticsResult.JobRuns.Where(x => x.JobRun.EndPosition > 0).Select(x => x.JobRun.EndPosition).Sum();
- stats.AverageDyeingLength = (int)_model.StatisticsResult.JobRuns.Where(x => x.JobRun.EndPosition > 0).Select(x => x.JobRun.EndPosition).Average();
+ stats.TotalDyeingLength = (int)_model.StatisticsResult.JobRuns.Where(x => x.JobRun.EndPosition > 0).Select(x => x.Distance).Sum();
+ stats.AverageDyeingLength = (int)_model.StatisticsResult.JobRuns.Where(x => x.JobRun.EndPosition > 0).Select(x => x.Distance).Average();
var timeRuns = _model.StatisticsResult.JobRuns.Where(z => z.JobRun.EndPosition > 0 && z.JobRun.EndDate != null && z.JobRun.ActualStartDate != null).ToList();
diff --git a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Views/MainView.xaml b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Views/MainView.xaml
index 590192e28..0e1d8cb60 100644
--- a/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Views/MainView.xaml
+++ b/Software/Visual_Studio/FSE/Modules/Tango.FSE.Statistics/Views/MainView.xaml
@@ -10,6 +10,7 @@
xmlns:autoComplete="clr-namespace:Tango.AutoComplete.Editors;assembly=Tango.AutoComplete"
xmlns:material="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf"
+ xmlns:localControls="clr-namespace:Tango.FSE.Statistics.Controls"
xmlns:local="clr-namespace:Tango.FSE.Statistics.Views"
mc:Ignorable="d"
d:DesignHeight="720" d:DesignWidth="1280" Background="{StaticResource FSE_PrimaryBackgroundBrush}" d:DataContext="{d:DesignInstance Type=vm:MainViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.MainViewVM}">
@@ -144,7 +145,19 @@
</TextBlock>
<TextBlock Text="{Binding Items[0].Items[0].JobRun.StartDate,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" VerticalAlignment="Center" Width="120"></TextBlock>
<TextBlock Text="{Binding Items[0].Items[0].Duration,Mode=OneWay,Converter={StaticResource TotalDyeTimeConverter}}" VerticalAlignment="Center" Width="100"></TextBlock>
- <TextBlock Text="{Binding Items[0].Items[0].EndPosition,StringFormat=N1}" VerticalAlignment="Center" Width="80"></TextBlock>
+ <StackPanel VerticalAlignment="Center" Width="80" Background="Transparent" ToolTipService.InitialShowDelay="0">
+ <StackPanel.ToolTip>
+ <ToolTip>
+ <StackPanel Orientation="Horizontal">
+ <TextBlock Text="{Binding Items[0].Items[0].ActualStartPosition,Mode=OneWay,StringFormat=N1}"></TextBlock>
+ <material:PackIcon VerticalAlignment="Center" Margin="10 0" Kind="ArrowRight" Width="14" Foreground="{StaticResource FSE_PrimaryAccentBrush}"></material:PackIcon>
+ <TextBlock Text="{Binding Items[0].Items[0].ActualEndPosition,Mode=OneWay,StringFormat=N1}"></TextBlock>
+ </StackPanel>
+ </ToolTip>
+ </StackPanel.ToolTip>
+ <TextBlock HorizontalAlignment="Left" FontSize="{StaticResource FSE_SmallerFontSize}" Text="{Binding Items[0].Items[0].Distance,StringFormat=N1}" VerticalAlignment="Center"></TextBlock>
+ <localControls:RangeProgressBar ClipToBounds="True" Height="4" Maximum="{Binding Items[0].Items[0].ActualLength}" LowerValue="{Binding Items[0].Items[0].ActualStartPosition}" UpperValue="{Binding Items[0].Items[0].ActualEndPosition}" Background="Gray" FillBrush="{StaticResource FSE_PrimaryAccentBrush}"/>
+ </StackPanel>
</StackPanel>
<Grid Visibility="{Binding IsAdvancedMode,Converter={StaticResource BooleanToVisibilityConverter}}" DataContext="{Binding Items[0].Items[0]}" Width="250" Margin="0 0 50 5" HorizontalAlignment="Right" VerticalAlignment="Bottom">
@@ -258,7 +271,7 @@
<DataGridTextColumn Header="LENGTH" Width="80" CellStyle="{StaticResource EmptyColumnStyle2}" />
<DataGridTextColumn Header="START TIME" Width="120" CellStyle="{StaticResource EmptyColumnStyle2}" />
<DataGridTextColumn Header="DURATION" Width="100" CellStyle="{StaticResource EmptyColumnStyle2}" />
- <DataGridTextColumn Header="END POINT" Width="100" CellStyle="{StaticResource EmptyColumnStyle2}" />
+ <DataGridTextColumn Header="DISTANCE" Width="100" CellStyle="{StaticResource EmptyColumnStyle2}" />
<DataGridTextColumn Header="OFFSET" Width="75" Binding="{Binding StartMeters}" />
<DataGridTextColumn Header="COLOR SPACE" Width="120" Binding="{Binding ColorSpace}" />
<DataGridTemplateColumn Header="INPUT" Width="150">
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Models/JobRunModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Models/JobRunModel.cs
index 7646e91c0..184135c40 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Models/JobRunModel.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Models/JobRunModel.cs
@@ -22,6 +22,8 @@ namespace Tango.MachineStudio.Statistics.Models
public RmlModel Rml { get; set; }
+ public bool IsEureka { get; set; }
+
public String Gen
{
get
@@ -30,6 +32,39 @@ namespace Tango.MachineStudio.Statistics.Models
}
}
+ public double ActualStartPosition
+ {
+ get { return IsEureka ? JobRun.ActualStartPosition * 4 : JobRun.ActualStartPosition; }
+ }
+
+ public double ActualEndPosition
+ {
+ get
+ {
+ if (JobRun.ActualEndPosition > 0)
+ {
+ return IsEureka ? JobRun.ActualEndPosition * 4 : JobRun.ActualEndPosition;
+ }
+ else
+ {
+ return IsEureka ? JobRun.EndPosition * 4 : JobRun.EndPosition;
+ }
+ }
+ }
+
+ public double Distance
+ {
+ get
+ {
+ return ActualEndPosition - ActualStartPosition;
+ }
+ }
+
+ public double ActualLength
+ {
+ get { return JobRun.JobLogicalLength; }
+ }
+
public void Init()
{
if (JobRun.HeatingStartDate != null)
@@ -47,6 +82,7 @@ namespace Tango.MachineStudio.Statistics.Models
JobRun.JobLogicalLength *= 4;
JobRun.JobLength *= 4;
JobRun.EndPosition *= 4;
+ IsEureka = true;
}
}
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/JobRunsViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/JobRunsViewVM.cs
index 5f38ae147..84b7ca76b 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/JobRunsViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/ViewModels/JobRunsViewVM.cs
@@ -517,7 +517,10 @@ namespace Tango.MachineStudio.Statistics.ViewModels
x.LightCyanQuantity,
x.LightMagentaQuantity,
x.LightYellowQuantity,
- x.IsHeadCleaning
+ x.IsHeadCleaning,
+ x.ActualStartPosition,
+ x.ActualEndPosition,
+ x.JobLogicalLength,
});
var machineIDs = new HashSet<string>(SelectedMachines.SynchedSource.ToList().Select(p => p.Guid));
if (machineIDs.Count > 0)
@@ -591,7 +594,10 @@ namespace Tango.MachineStudio.Statistics.ViewModels
LightCyanQuantity = x.LightCyanQuantity,
LightMagentaQuantity = x.LightMagentaQuantity,
LightYellowQuantity = x.LightYellowQuantity,
- IsHeadCleaning = x.IsHeadCleaning
+ IsHeadCleaning = x.IsHeadCleaning,
+ ActualStartPosition = x.ActualStartPosition,
+ ActualEndPosition = x.ActualEndPosition,
+ JobLogicalLength = x.JobLogicalLength,
}).ToList();
var modelList = runs.Select(x => new JobRunModel()
@@ -739,7 +745,7 @@ namespace Tango.MachineStudio.Statistics.ViewModels
/// </summary>
protected void GenerateTotalRunsLength()
{
- double val = JobRuns.Where(z => z.JobRun.EndPosition > 0).Sum(x => x.JobRun.JobLength);
+ double val = JobRuns.Where(z => z.JobRun.EndPosition > 0).Sum(x => x.Distance);
StatisticsValueCollection.AddStatisticsValue("Total Runs Length", val, " m");
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/JobRunsView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/JobRunsView.xaml
index b067d83fb..467ce5be6 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/JobRunsView.xaml
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Views/JobRunsView.xaml
@@ -591,7 +591,7 @@
<DataGridTextColumn Header="User" Binding="{Binding User.Contact.FullName,TargetNullValue='PPC',FallbackValue='PPC'}" Width="100" ElementStyle="{StaticResource WrapText}" />
<DataGridTextColumn Header="Job Name" Binding="{Binding JobRun.JobName}" Width="100" ElementStyle="{StaticResource WrapText}"/>
<DataGridTextColumn Header="Thread" Binding="{Binding Rml.Name}" Width="80" ElementStyle="{StaticResource WrapText}"/>
- <DataGridTextColumn Header="Length" Binding="{Binding JobRun.JobLength, StringFormat={}{0:0.00}}" Width="60" />
+ <DataGridTextColumn Header="Length" Binding="{Binding ActualLength, StringFormat={}{0:0.00}}" Width="60" />
<DataGridTextColumn Header="Source" Binding="{Binding JobRun.Source, Converter={StaticResource EnumToDescriptionConverter}}" Width="60" />
<DataGridTextColumn Header="Upload &#10;Duration" Binding="{Binding UploadDuration, Converter={StaticResource DateTimeToStringFormatConverter}, FallbackValue='N/A',TargetNullValue='N/A'}" Width="80"/>
<DataGridTextColumn Header="Heating &#10;Duration" Binding="{Binding HeatingDuration, Converter={StaticResource DateTimeToStringFormatConverter}, FallbackValue='N/A',TargetNullValue='N/A'}" Width="80" />
@@ -601,7 +601,25 @@
<DataGridTextColumn Header="Status" Binding="{Binding JobRun.JobRunStatus, Converter={StaticResource EnumToDescriptionConverter}}" Width="70"/>
<DataGridTextColumn Header="End Time" Binding="{Binding JobRun.EndDate, Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" Width="95" />
<DataGridTextColumn Header="Total&#10;dyeing time" Binding="{Binding JobRun.TotalDyeingTime, Converter={StaticResource DateTimeToStringFormatConverter}}" Width="95" />
- <DataGridTextColumn Header="End &#10;Position" Binding="{Binding JobRun.EndPosition, StringFormat={}{0:0.00}}" Width="70" />
+ <DataGridTemplateColumn Header="Distance" Width="70">
+ <DataGridTemplateColumn.CellTemplate>
+ <DataTemplate>
+ <StackPanel VerticalAlignment="Center" Width="70" Background="Transparent" ToolTipService.InitialShowDelay="0">
+ <StackPanel.ToolTip>
+ <ToolTip>
+ <StackPanel Orientation="Horizontal">
+ <TextBlock Text="{Binding ActualStartPosition,Mode=OneWay,StringFormat=N1}"></TextBlock>
+ <materialDesign:PackIcon VerticalAlignment="Center" Margin="10 0" Kind="ArrowRight" Width="14" Foreground="{StaticResource AccentColorBrush}"></materialDesign:PackIcon>
+ <TextBlock Text="{Binding ActualEndPosition,Mode=OneWay,StringFormat=N1}"></TextBlock>
+ </StackPanel>
+ </ToolTip>
+ </StackPanel.ToolTip>
+ <TextBlock HorizontalAlignment="Left" Text="{Binding Distance,StringFormat=N1}" VerticalAlignment="Center"></TextBlock>
+ <controls:RangeProgressBar ClipToBounds="True" Height="4" Maximum="{Binding ActualLength,Mode=OneWay}" LowerValue="{Binding ActualStartPosition,Mode=OneWay}" UpperValue="{Binding ActualEndPosition,Mode=OneWay}" Background="Gray" FillBrush="{StaticResource AccentColorBrush}"/>
+ </StackPanel>
+ </DataTemplate>
+ </DataGridTemplateColumn.CellTemplate>
+ </DataGridTemplateColumn>
<DataGridTemplateColumn Header="Liquid Quantities" Width="1*">
<DataGridTemplateColumn.CellStyle>
<Style TargetType="DataGridCell" BasedOn="{StaticResource {x:Type DataGridCell}}">
@@ -631,7 +649,6 @@
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
- <RowDefinition Height="20"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" MaxWidth="250"/>
@@ -685,17 +702,7 @@
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
- <Border Grid.Row="1" Grid.Column="0" Background="Transparent" HorizontalAlignment="Stretch" Height="8" BorderThickness="1" BorderBrush="{StaticResource borderBrush}">
- <Rectangle Margin="0 0 -1 0" Fill="{StaticResource AccentColorBrush}" HorizontalAlignment="Left" VerticalAlignment="Stretch" ToolTip="{Binding JobRun.EndPosition}">
- <Rectangle.Width>
- <MultiBinding Converter="{StaticResource JobLengthConverter}">
- <Binding Path="JobRun.JobLength" />
- <Binding Path="JobRun.EndPosition"/>
- <Binding Path="ActualWidth" RelativeSource="{RelativeSource AncestorType=Border}"/>
- </MultiBinding>
- </Rectangle.Width>
- </Rectangle>
- </Border>
+
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
diff --git a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs
index 2ffa84992..970bbcd04 100644
--- a/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs
+++ b/Software/Visual_Studio/PPC/Modules/Tango.PPC.JobsV2/ViewModels/JobViewVM.cs
@@ -774,6 +774,7 @@ namespace Tango.PPC.Jobs.ViewModels
printConfig.FirstUnitStartPosition = ResumeModel.FirstUnitStartPosition;
printConfig.GlobalStartPosition = ResumeModel.GlobalStartPosition;
printConfig.RemainingUnits = ResumeModel.RemainingUnits;
+ printConfig.ResumeProgress = ResumeModel.ResumeProgress;
//LogManager.Log($"!!!!! Start Job resume : FirstUnitStartPosition = {ResumeModel.FirstUnitStartPosition} GlobalStartPosition = {ResumeModel.GlobalStartPosition} RemainingUnits = {ResumeModel.RemainingUnits}", LogCategory.Debug);
}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Printing/PrintingConfiguration.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Printing/PrintingConfiguration.cs
index ff406cefd..9ab000fc1 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Printing/PrintingConfiguration.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Printing/PrintingConfiguration.cs
@@ -11,5 +11,6 @@ namespace Tango.PPC.Common.Printing
public int RemainingUnits { get; set; }
public double GlobalStartPosition { get; set; }
public double FirstUnitStartPosition { get; set; }
+ public double ResumeProgress { get; set; }
}
}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Resume/DefaultJobResumeManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Resume/DefaultJobResumeManager.cs
index 5f819d34d..4c4e3f169 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Resume/DefaultJobResumeManager.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Resume/DefaultJobResumeManager.cs
@@ -55,6 +55,7 @@ namespace Tango.PPC.Common.Resume
model.FirstUnitStartPosition = e.JobHandler.Status.CurrentUnitProgress;
model.RemainingUnits = e.JobHandler.Status.RemainingUnits;
model.GlobalStartPosition = e.JobHandler.JobStatus.Progress;
+ model.ResumeProgress = e.JobHandler.Status.ProgressMinusSettingUp;
if (insert)
{
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Resume/JobResumeModel.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Resume/JobResumeModel.cs
index 40386566e..db5d4d3d9 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Resume/JobResumeModel.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Resume/JobResumeModel.cs
@@ -17,5 +17,7 @@ namespace Tango.PPC.Common.Resume
public double GlobalStartPosition { get; set; }
public double FirstUnitStartPosition { get; set; }
+
+ public double ResumeProgress { get; set; }
}
}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Shared/Statistics/JobRunComposition.cs b/Software/Visual_Studio/PPC/Tango.PPC.Shared/Statistics/JobRunComposition.cs
index c18d56693..86e1c7771 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Shared/Statistics/JobRunComposition.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Shared/Statistics/JobRunComposition.cs
@@ -4,6 +4,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.BL.DTO;
+using Tango.BL.Enumerations;
namespace Tango.PPC.Shared.Statistics
{
@@ -12,6 +13,29 @@ namespace Tango.PPC.Shared.Statistics
public JobRunDTO JobRun { get; set; }
public PresentationJob Job { get; set; }
+ public double Distance
+ {
+ get
+ {
+ double actualStartPosition = 0;
+ double actualEndPosition = 0;
+
+ actualStartPosition = JobRun.MachineType == MachineTypes.Eureka.ToInt32() ? JobRun.ActualStartPosition * 4 : JobRun.ActualStartPosition;
+
+ if (JobRun.ActualEndPosition > 0)
+ {
+ actualEndPosition = JobRun.MachineType == MachineTypes.Eureka.ToInt32() ? JobRun.ActualEndPosition * 4 : JobRun.ActualEndPosition;
+ }
+ else
+ {
+ actualEndPosition = JobRun.MachineType == MachineTypes.Eureka.ToInt32() ? JobRun.EndPosition * 4 : JobRun.EndPosition;
+ }
+
+ return actualEndPosition - actualStartPosition;
+ }
+ }
+
+
public JobRunComposition()
{
Job = new PresentationJob();
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/Printing/DefaultPrintingManager.cs b/Software/Visual_Studio/PPC/Tango.PPC.UI/Printing/DefaultPrintingManager.cs
index 990e5e416..bcf0715fa 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/Printing/DefaultPrintingManager.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/Printing/DefaultPrintingManager.cs
@@ -128,6 +128,7 @@ namespace Tango.PPC.UI.Printing
config.ResumeConfig.FirstUnitStartPosition = printConfig.FirstUnitStartPosition;
config.ResumeConfig.GlobalStartPosition = printConfig.GlobalStartPosition;
config.ResumeConfig.RemainingUnits = printConfig.RemainingUnits;
+ config.ResumeConfig.ResumeProgress = printConfig.ResumeProgress;
}
handler = await _machineProvider.MachineOperator.Print(job, config);
diff --git a/Software/Visual_Studio/Tango.BL/DTO/JobRunDTOBase.cs b/Software/Visual_Studio/Tango.BL/DTO/JobRunDTOBase.cs
index fe0816ff5..139223d8d 100644
--- a/Software/Visual_Studio/Tango.BL/DTO/JobRunDTOBase.cs
+++ b/Software/Visual_Studio/Tango.BL/DTO/JobRunDTOBase.cs
@@ -341,5 +341,21 @@ namespace Tango.BL.DTO
get; set;
}
+ /// <summary>
+ /// actual start position
+ /// </summary>
+ public Double ActualStartPosition
+ {
+ get; set;
+ }
+
+ /// <summary>
+ /// actual end position
+ /// </summary>
+ public Double ActualEndPosition
+ {
+ get; set;
+ }
+
}
}
diff --git a/Software/Visual_Studio/Tango.BL/Entities/Job.cs b/Software/Visual_Studio/Tango.BL/Entities/Job.cs
index 3139a5a5b..4e115f5e8 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/Job.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/Job.cs
@@ -415,6 +415,10 @@ namespace Tango.BL.Entities
[JsonIgnore]
public VectorFineTuningRunModel VectorFineTuningRunModel { get; set; }
+ [NotMapped]
+ [JsonIgnore]
+ public double ResumeStartPosition { get; set; }
+
#endregion
#region Event Handlers
diff --git a/Software/Visual_Studio/Tango.BL/Entities/JobRun.cs b/Software/Visual_Studio/Tango.BL/Entities/JobRun.cs
index 2ab10f14d..4aae63562 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/JobRun.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/JobRun.cs
@@ -144,6 +144,8 @@ namespace Tango.BL.Entities
}
+ [NotMapped]
+ [JsonIgnore]
public TimeSpan TotalDyeingTime
{
get
@@ -157,6 +159,17 @@ namespace Tango.BL.Entities
}
+ [NotMapped]
+ [JsonIgnore]
+ public double Distance
+ {
+ get
+ {
+ return (ActualEndPosition > 0 ? ActualEndPosition : EndPosition) - ActualStartPosition;
+ }
+ }
+
+
/// <summary>
/// Initializes a new instance of the <see cref="JobRun" /> class.
/// </summary>
diff --git a/Software/Visual_Studio/Tango.BL/Entities/JobRunBase.cs b/Software/Visual_Studio/Tango.BL/Entities/JobRunBase.cs
index efb6c70d6..6da5b8f8b 100644
--- a/Software/Visual_Studio/Tango.BL/Entities/JobRunBase.cs
+++ b/Software/Visual_Studio/Tango.BL/Entities/JobRunBase.cs
@@ -97,6 +97,10 @@ namespace Tango.BL.Entities
public event EventHandler<Int32> MachineTypeChanged;
+ public event EventHandler<Double> ActualStartPositionChanged;
+
+ public event EventHandler<Double> ActualEndPositionChanged;
+
protected String _machineguid;
/// <summary>
@@ -1169,6 +1173,60 @@ namespace Tango.BL.Entities
}
}
+ protected Double _actualstartposition;
+
+ /// <summary>
+ /// Gets or sets the jobrunbase actual start position.
+ /// </summary>
+
+ [Column("ACTUAL_START_POSITION")]
+
+ public Double ActualStartPosition
+ {
+ get
+ {
+ return _actualstartposition;
+ }
+
+ set
+ {
+ if (_actualstartposition != value)
+ {
+ _actualstartposition = value;
+
+ OnActualStartPositionChanged(value);
+
+ }
+ }
+ }
+
+ protected Double _actualendposition;
+
+ /// <summary>
+ /// Gets or sets the jobrunbase actual end position.
+ /// </summary>
+
+ [Column("ACTUAL_END_POSITION")]
+
+ public Double ActualEndPosition
+ {
+ get
+ {
+ return _actualendposition;
+ }
+
+ set
+ {
+ if (_actualendposition != value)
+ {
+ _actualendposition = value;
+
+ OnActualEndPositionChanged(value);
+
+ }
+ }
+ }
+
/// <summary>
/// Called when the JobName has changed.
/// </summary>
@@ -1485,6 +1543,24 @@ namespace Tango.BL.Entities
}
/// <summary>
+ /// Called when the ActualStartPosition has changed.
+ /// </summary>
+ protected virtual void OnActualStartPositionChanged(Double actualstartposition)
+ {
+ ActualStartPositionChanged?.Invoke(this, actualstartposition);
+ RaisePropertyChanged(nameof(ActualStartPosition));
+ }
+
+ /// <summary>
+ /// Called when the ActualEndPosition has changed.
+ /// </summary>
+ protected virtual void OnActualEndPositionChanged(Double actualendposition)
+ {
+ ActualEndPositionChanged?.Invoke(this, actualendposition);
+ RaisePropertyChanged(nameof(ActualEndPosition));
+ }
+
+ /// <summary>
/// Initializes a new instance of the <see cref="JobRunBase" /> class.
/// </summary>
public JobRunBase() : base()
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/JOB_RUNS.cs b/Software/Visual_Studio/Tango.DAL.Remote/DB/JOB_RUNS.cs
index cf7a202b4..82150c63c 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/JOB_RUNS.cs
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/JOB_RUNS.cs
@@ -57,5 +57,7 @@ namespace Tango.DAL.Remote.DB
public string PROCESS_PARAMETERS_TABLE_GUID { get; set; }
public string FINE_TUNING_STRING { get; set; }
public int MACHINE_TYPE { get; set; }
+ public double ACTUAL_START_POSITION { get; set; }
+ public double ACTUAL_END_POSITION { get; set; }
}
}
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
index 148f36159..a8b4ebbd6 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx
@@ -794,6 +794,8 @@
<Property Name="PROCESS_PARAMETERS_TABLE_GUID" Type="varchar" MaxLength="36" />
<Property Name="FINE_TUNING_STRING" Type="nvarchar" MaxLength="2000" />
<Property Name="MACHINE_TYPE" Type="int" Nullable="false" />
+ <Property Name="ACTUAL_START_POSITION" Type="float" Nullable="false" />
+ <Property Name="ACTUAL_END_POSITION" Type="float" Nullable="false" />
</EntityType>
<EntityType Name="JOBS">
<Key>
@@ -6447,6 +6449,8 @@
<Property Name="PROCESS_PARAMETERS_TABLE_GUID" Type="String" MaxLength="36" FixedLength="false" Unicode="false" />
<Property Name="FINE_TUNING_STRING" Type="String" MaxLength="2000" FixedLength="false" Unicode="true" />
<Property Name="MACHINE_TYPE" Type="Int32" Nullable="false" />
+ <Property Name="ACTUAL_START_POSITION" Type="Double" Nullable="false" />
+ <Property Name="ACTUAL_END_POSITION" Type="Double" Nullable="false" />
</EntityType>
<EntityType Name="JOB">
<Key>
@@ -9894,6 +9898,8 @@
<EntitySetMapping Name="JOB_RUNS">
<EntityTypeMapping TypeName="RemoteModel.JOB_RUNS">
<MappingFragment StoreEntitySet="JOB_RUNS">
+ <ScalarProperty Name="ACTUAL_END_POSITION" ColumnName="ACTUAL_END_POSITION" />
+ <ScalarProperty Name="ACTUAL_START_POSITION" ColumnName="ACTUAL_START_POSITION" />
<ScalarProperty Name="MACHINE_TYPE" ColumnName="MACHINE_TYPE" />
<ScalarProperty Name="FINE_TUNING_STRING" ColumnName="FINE_TUNING_STRING" />
<ScalarProperty Name="PROCESS_PARAMETERS_TABLE_GUID" ColumnName="PROCESS_PARAMETERS_TABLE_GUID" />
diff --git a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
index 7116aa48f..0887ffcae 100644
--- a/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
+++ b/Software/Visual_Studio/Tango.DAL.Remote/DB/RemoteADO.edmx.diagram
@@ -5,102 +5,102 @@
<!-- Diagram content (shape and connector positions) -->
<edmx:Diagrams>
<Diagram DiagramId="f9ae01d708754bbd997add25a4bacc79" Name="Diagram1" ZoomLevel="58">
- <EntityTypeShape EntityType="RemoteModel.ACTION_LOGS" Width="1.5" PointX="11.25" PointY="34.75" />
- <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="1.5" PointY="67" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="1.5" PointY="83.25" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="77.375" />
- <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="1.5" PointY="74.5" />
- <EntityTypeShape EntityType="RemoteModel.BIT_TYPES" Width="1.5" PointX="0.75" PointY="2.125" />
- <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="18" PointY="22.125" />
- <EntityTypeShape EntityType="RemoteModel.BTSR_APPLICATION_TYPES" Width="1.5" PointX="0.75" PointY="18.25" />
+ <EntityTypeShape EntityType="RemoteModel.ACTION_LOGS" Width="1.5" PointX="11.25" PointY="16" />
+ <EntityTypeShape EntityType="RemoteModel.ADDRESS" Width="1.5" PointX="1.5" PointY="0.75" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_DISPLAY_PANEL_VERSIONS" Width="1.5" PointX="4.5" PointY="77" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_FIRMWARE_VERSIONS" Width="1.5" PointX="4.5" PointY="71.125" />
+ <EntityTypeShape EntityType="RemoteModel.APPLICATION_OS_VERSIONS" Width="1.5" PointX="4.5" PointY="74" />
+ <EntityTypeShape EntityType="RemoteModel.BIT_TYPES" Width="1.5" PointX="3.75" PointY="2.125" />
+ <EntityTypeShape EntityType="RemoteModel.BRUSH_STOPS" Width="1.5" PointX="18" PointY="22.25" />
+ <EntityTypeShape EntityType="RemoteModel.BTSR_APPLICATION_TYPES" Width="1.5" PointX="0.75" PointY="42.125" />
<EntityTypeShape EntityType="RemoteModel.BTSR_YARN_TYPES" Width="1.5" PointX="0.75" PointY="29.5" />
- <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="8" PointY="43.375" />
- <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="8.25" PointY="21.75" />
- <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="0.75" PointY="44.875" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="1.5" PointY="6.625" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_GROUPS" Width="1.5" PointX="3.75" PointY="7.125" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS" Width="1.5" PointX="6" PointY="0.75" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS_RECIPES" Width="1.5" PointX="8.25" PointY="25.625" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_PROCESS_INK_UPTAKE" Width="1.5" PointX="2.75" PointY="2.125" />
- <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="9" PointY="33.75" />
- <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="3.75" PointY="80.25" />
- <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="1.5" PointY="63.125" />
- <EntityTypeShape EntityType="RemoteModel.CUSTOMER" Width="1.5" PointX="9" PointY="30.625" />
- <EntityTypeShape EntityType="RemoteModel.DATA_STORE_ITEMS" Width="1.5" PointX="8.25" PointY="83.375" />
- <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="5.75" PointY="98.5" />
- <EntityTypeShape EntityType="RemoteModel.DISPENSER" Width="1.5" PointX="8" PointY="97.875" />
- <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="80.25" />
- <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="9" PointY="70.5" />
- <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="21.625" />
- <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="32.875" />
- <EntityTypeShape EntityType="RemoteModel.FSE_VERSIONS" Width="1.5" PointX="11.25" PointY="49.5" />
- <EntityTypeShape EntityType="RemoteModel.GBD" Width="1.5" PointX="0.75" PointY="12.125" />
- <EntityTypeShape EntityType="RemoteModel.GLOBAL_DATA_STORE_ITEMS" Width="1.5" PointX="11.75" PointY="10.125" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWER_TYPES" Width="1.5" PointX="1.5" PointY="94.875" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWERS" Width="1.5" PointX="3.75" PointY="90.5" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSOR_TYPES" Width="1.5" PointX="1.5" PointY="90.875" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSORS" Width="1.5" PointX="3.75" PointY="86.625" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="4.5" PointY="101.875" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="6.75" PointY="91.875" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="10.5" PointY="95.75" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="12.75" PointY="87.5" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="7.5" PointY="102.875" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROLS" Width="1.5" PointX="9.75" PointY="88" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSOR_TYPES" Width="1.5" PointX="4.5" PointY="94.875" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSORS" Width="1.5" PointX="6.75" PointY="87.625" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="1.5" PointY="86.125" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="8.5" PointY="79.875" />
- <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="10.75" PointY="83.75" />
- <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="8" PointY="63.25" />
- <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="10.25" PointY="43.75" />
- <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="13.75" PointY="2.125" />
+ <EntityTypeShape EntityType="RemoteModel.CARTRIDGE_TYPES" Width="1.5" PointX="6.75" PointY="37.375" />
+ <EntityTypeShape EntityType="RemoteModel.CAT" Width="1.5" PointX="5.25" PointY="29.75" />
+ <EntityTypeShape EntityType="RemoteModel.CCT" Width="1.5" PointX="0.75" PointY="12" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS" Width="1.5" PointX="1.5" PointY="59.625" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_GROUPS" Width="1.5" PointX="0.75" PointY="54.125" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS" Width="1.5" PointX="3" PointY="52.875" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_CATALOGS_ITEMS_RECIPES" Width="1.5" PointX="5.25" PointY="25.75" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_PROCESS_INK_UPTAKE" Width="1.5" PointX="5.75" PointY="2.125" />
+ <EntityTypeShape EntityType="RemoteModel.COLOR_SPACES" Width="1.5" PointX="9" PointY="30.75" />
+ <EntityTypeShape EntityType="RemoteModel.CONFIGURATION" Width="1.5" PointX="6.75" PointY="72.25" />
+ <EntityTypeShape EntityType="RemoteModel.CONTACT" Width="1.5" PointX="1.5" PointY="48.875" />
+ <EntityTypeShape EntityType="RemoteModel.CUSTOMER" Width="1.5" PointX="9" PointY="37.375" />
+ <EntityTypeShape EntityType="RemoteModel.DATA_STORE_ITEMS" Width="1.5" PointX="11.25" PointY="82.75" />
+ <EntityTypeShape EntityType="RemoteModel.DISPENSER_TYPES" Width="1.5" PointX="4.5" PointY="13.5" />
+ <EntityTypeShape EntityType="RemoteModel.DISPENSER" Width="1.5" PointX="6.75" PointY="12.875" />
+ <EntityTypeShape EntityType="RemoteModel.EMBEDDED_FIRMWARE_VERSIONS" Width="1.5" PointX="4.5" PointY="79.875" />
+ <EntityTypeShape EntityType="RemoteModel.EVENT_TYPES" Width="1.5" PointX="9" PointY="2.25" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SHAPES" Width="1.5" PointX="0.75" PointY="26.25" />
+ <EntityTypeShape EntityType="RemoteModel.FIBER_SYNTHS" Width="1.5" PointX="0.75" PointY="39.25" />
+ <EntityTypeShape EntityType="RemoteModel.FSE_VERSIONS" Width="1.5" PointX="11.25" PointY="8.625" />
+ <EntityTypeShape EntityType="RemoteModel.GBD" Width="1.5" PointX="0.75" PointY="15.375" />
+ <EntityTypeShape EntityType="RemoteModel.GLOBAL_DATA_STORE_ITEMS" Width="1.5" PointX="5.75" PointY="6.125" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWER_TYPES" Width="1.5" PointX="9.5" PointY="90.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BLOWERS" Width="1.5" PointX="11.75" PointY="70.875" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSOR_TYPES" Width="1.5" PointX="7.5" PointY="41.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_BREAK_SENSORS" Width="1.5" PointX="9.75" PointY="61" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCER_TYPES" Width="1.5" PointX="7.5" PointY="86.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_DANCERS" Width="1.5" PointX="9.75" PointY="65.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTOR_TYPES" Width="1.5" PointX="10.5" PointY="57.125" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_MOTORS" Width="1.5" PointX="12.75" PointY="60.875" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROL_TYPES" Width="1.5" PointX="12.5" PointY="79.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_PID_CONTROLS" Width="1.5" PointX="14.75" PointY="71.375" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSOR_TYPES" Width="1.5" PointX="4.5" PointY="63.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_SPEED_SENSORS" Width="1.5" PointX="6.75" PointY="67" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_VERSIONS" Width="1.5" PointX="4.5" PointY="66.5" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDER_TYPES" Width="1.5" PointX="9.5" PointY="94.25" />
+ <EntityTypeShape EntityType="RemoteModel.HARDWARE_WINDERS" Width="1.5" PointX="11.75" PointY="75" />
+ <EntityTypeShape EntityType="RemoteModel.IDS_PACK_FORMULAS" Width="1.5" PointX="6.75" PointY="45.25" />
+ <EntityTypeShape EntityType="RemoteModel.IDS_PACKS" Width="1.5" PointX="9" PointY="44.75" />
+ <EntityTypeShape EntityType="RemoteModel.JOB_RUNS" Width="1.5" PointX="18.75" PointY="6.125" />
<EntityTypeShape EntityType="RemoteModel.JOB" Width="1.5" PointX="11.25" PointY="22" />
- <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="35.75" />
- <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="6" PointY="7.5" />
- <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="5.25" PointY="29.875" />
- <EntityTypeShape EntityType="RemoteModel.LUB" Width="1.5" PointX="0.75" PointY="41.625" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_PROTOTYPES" Width="1.5" PointX="13.75" PointY="13.125" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="11.25" PointY="39.625" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="3.75" PointY="71.125" />
- <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="6" PointY="71.25" />
- <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="11.25" PointY="57.875" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="15.375" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="26.125" />
- <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="38.75" />
- <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="8" PointY="66.625" />
- <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="3.75" PointY="65.125" />
- <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="15" PointY="49.625" />
- <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="46.625" />
- <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="52.875" />
- <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS" Width="1.5" PointX="8.75" PointY="6.25" />
- <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" Width="1.5" PointX="11" PointY="6.5" />
- <EntityTypeShape EntityType="RemoteModel.RML_EXTENSION_TEST_WASHING_RESULTS" Width="1.5" PointX="11" PointY="2.25" />
- <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="19.625" />
- <EntityTypeShape EntityType="RemoteModel.RMLS_SPOOLS" Width="1.5" PointX="5.25" PointY="25.375" />
- <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="12" PointY="53.625" />
- <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="17.25" PointY="53.625" />
- <EntityTypeShape EntityType="RemoteModel.RUBBING_RESULTS" Width="1.5" PointX="5.75" PointY="16.125" />
+ <EntityTypeShape EntityType="RemoteModel.LINEAR_MASS_DENSITY_UNITS" Width="1.5" PointX="0.75" PointY="18.625" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES" Width="1.5" PointX="6" PointY="17.375" />
+ <EntityTypeShape EntityType="RemoteModel.LIQUID_TYPES_RMLS" Width="1.5" PointX="8.25" PointY="22" />
+ <EntityTypeShape EntityType="RemoteModel.LUB" Width="1.5" PointX="0.75" PointY="36" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_PROTOTYPES" Width="1.5" PointX="2.75" PointY="10.125" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_STUDIO_VERSIONS" Width="1.5" PointX="11.25" PointY="12.5" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE_VERSIONS" Width="1.5" PointX="6.75" PointY="82.875" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINE" Width="1.5" PointX="9" PointY="70.5" />
+ <EntityTypeShape EntityType="RemoteModel.MACHINES_EVENTS" Width="1.5" PointX="11.25" PointY="42.625" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_CONDITIONS" Width="1.5" PointX="0.75" PointY="21.625" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_MATERIALS" Width="1.5" PointX="0.75" PointY="32.875" />
+ <EntityTypeShape EntityType="RemoteModel.MEDIA_PURPOSES" Width="1.5" PointX="0.75" PointY="45.5" />
+ <EntityTypeShape EntityType="RemoteModel.MID_TANK_TYPES" Width="1.5" PointX="6.75" PointY="77.625" />
+ <EntityTypeShape EntityType="RemoteModel.ORGANIZATION" Width="1.5" PointX="0.75" PointY="5.75" />
+ <EntityTypeShape EntityType="RemoteModel.PERMISSION" Width="1.5" PointX="12" PointY="0.75" />
+ <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES" Width="1.5" PointX="7.5" PointY="50.125" />
+ <EntityTypeShape EntityType="RemoteModel.PROCESS_PARAMETERS_TABLES_GROUPS" Width="1.5" PointX="5.25" PointY="56.375" />
+ <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS" Width="1.5" PointX="16.75" PointY="2.375" />
+ <EntityTypeShape EntityType="RemoteModel.PUBLISHED_PROCEDURE_PROJECTS_VERSIONS" Width="1.5" PointX="19" PointY="2.625" />
+ <EntityTypeShape EntityType="RemoteModel.RML_EXTENSION_TEST_WASHING_RESULTS" Width="1.5" PointX="16" PointY="14.375" />
+ <EntityTypeShape EntityType="RemoteModel.RML" Width="1.5" PointX="3" PointY="19.75" />
+ <EntityTypeShape EntityType="RemoteModel.RMLS_SPOOLS" Width="1.5" PointX="8.25" PointY="25.5" />
+ <EntityTypeShape EntityType="RemoteModel.ROLE" Width="1.5" PointX="12" PointY="4.625" />
+ <EntityTypeShape EntityType="RemoteModel.ROLES_PERMISSIONS" Width="1.5" PointX="14.25" PointY="2.75" />
+ <EntityTypeShape EntityType="RemoteModel.RUBBING_RESULTS" Width="1.5" PointX="13.75" PointY="18.125" />
<EntityTypeShape EntityType="RemoteModel.SEGMENT" Width="1.5" PointX="15.75" PointY="25.75" />
- <EntityTypeShape EntityType="RemoteModel.SEGMENTS_GROUPS" Width="1.5" PointX="13.5" PointY="26" />
- <EntityTypeShape EntityType="RemoteModel.SITE" Width="1.5" PointX="3" PointY="15.75" />
- <EntityTypeShape EntityType="RemoteModel.SITES_CATALOGS" Width="1.5" PointX="5.25" PointY="12.5" />
+ <EntityTypeShape EntityType="RemoteModel.SEGMENTS_GROUPS" Width="1.5" PointX="13.5" PointY="26.125" />
+ <EntityTypeShape EntityType="RemoteModel.SITE" Width="1.5" PointX="3" PointY="5.875" />
+ <EntityTypeShape EntityType="RemoteModel.SITES_CATALOGS" Width="1.5" PointX="11.25" PointY="34.375" />
<EntityTypeShape EntityType="RemoteModel.SITES_RMLS" Width="1.5" PointX="5.25" PointY="22.125" />
- <EntityTypeShape EntityType="RemoteModel.SITES_SPOOL_TYPES" Width="1.5" PointX="11.25" PointY="13.75" />
- <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="9" PointY="11.25" />
- <EntityTypeShape EntityType="RemoteModel.SPOOL" Width="1.5" PointX="13.25" PointY="44" />
- <EntityTypeShape EntityType="RemoteModel.sysdiagram" Width="1.5" PointX="15.75" PointY="2.125" />
- <EntityTypeShape EntityType="RemoteModel.TANGO_UPDATES" Width="1.5" PointX="15.75" PointY="5.125" />
- <EntityTypeShape EntityType="RemoteModel.TANGO_VERSIONS" Width="1.5" PointX="14.25" PointY="53.625" />
- <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="15.75" PointY="10.125" />
- <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="11.75" PointY="17.125" />
- <EntityTypeShape EntityType="RemoteModel.TECH_HEATERS" Width="1.5" PointX="15.75" PointY="14.125" />
- <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="13.75" PointY="17.125" />
- <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="15.75" PointY="17.125" />
- <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="17.75" PointY="2.125" />
- <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="9" PointY="37.25" />
- <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="14.25" PointY="38.625" />
- <EntityTypeShape EntityType="RemoteModel.WASHING_TEST_MATERIALS" Width="1.5" PointX="8.75" PointY="2.75" />
- <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="9" PointY="17.125" />
+ <EntityTypeShape EntityType="RemoteModel.SITES_SPOOL_TYPES" Width="1.5" PointX="14.25" PointY="10.75" />
+ <EntityTypeShape EntityType="RemoteModel.SPOOL_TYPES" Width="1.5" PointX="9" PointY="13.375" />
+ <EntityTypeShape EntityType="RemoteModel.SPOOL" Width="1.5" PointX="11.25" PointY="47.625" />
+ <EntityTypeShape EntityType="RemoteModel.sysdiagram" Width="1.5" PointX="15.75" PointY="18.125" />
+ <EntityTypeShape EntityType="RemoteModel.TANGO_UPDATES" Width="1.5" PointX="18.75" PointY="17.125" />
+ <EntityTypeShape EntityType="RemoteModel.TANGO_VERSIONS" Width="1.5" PointX="14.25" PointY="44.5" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_CONTROLLERS" Width="1.5" PointX="20.75" PointY="6.125" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_DISPENSERS" Width="1.5" PointX="20.75" PointY="10.125" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_HEATERS" Width="1.5" PointX="20.75" PointY="13.125" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_IOS" Width="1.5" PointX="20.75" PointY="16.125" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_MONITORS" Width="1.5" PointX="20.75" PointY="21.125" />
+ <EntityTypeShape EntityType="RemoteModel.TECH_VALVES" Width="1.5" PointX="13.75" PointY="22.125" />
+ <EntityTypeShape EntityType="RemoteModel.USER" Width="1.5" PointX="9" PointY="7.375" />
+ <EntityTypeShape EntityType="RemoteModel.USERS_ROLES" Width="1.5" PointX="14.25" PointY="6.75" />
+ <EntityTypeShape EntityType="RemoteModel.WASHING_TEST_MATERIALS" Width="1.5" PointX="13.75" PointY="14.875" />
+ <EntityTypeShape EntityType="RemoteModel.WINDING_METHODS" Width="1.5" PointX="9" PointY="34.25" />
<AssociationConnector Association="RemoteModel.FK_ACTION_LOGS_USERS" />
<AssociationConnector Association="RemoteModel.FK_ORGANIZATIONS_ADDRESSES" />
<AssociationConnector Association="RemoteModel.FK_USERS_ADDRESSES" />
diff --git a/Software/Visual_Studio/Tango.Integration/JobRuns/BasicJobRunsLogger.cs b/Software/Visual_Studio/Tango.Integration/JobRuns/BasicJobRunsLogger.cs
index 6285bb7b0..d4fcf7f41 100644
--- a/Software/Visual_Studio/Tango.Integration/JobRuns/BasicJobRunsLogger.cs
+++ b/Software/Visual_Studio/Tango.Integration/JobRuns/BasicJobRunsLogger.cs
@@ -157,6 +157,8 @@ namespace Tango.Integration.JobRuns
run.LiquidQuantities = e.LiquidQuantities;
run.IsGradient = _job.Segments.Any(x => x.BrushStops.Count > 1);
run.GradientResolutionCm = MachineOperator.GradientGenerationConfiguration.ResolutionCM;
+ run.ActualStartPosition = e.Job.ResumeStartPosition;
+ run.ActualEndPosition = e.JobHandler.Status.ProgressMinusSettingUp;
if (_defaultMachine != null)
{
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/AdditionalJobConfiguration.cs b/Software/Visual_Studio/Tango.Integration/Operation/AdditionalJobConfiguration.cs
index 43beba7f0..0fa5a15c6 100644
--- a/Software/Visual_Studio/Tango.Integration/Operation/AdditionalJobConfiguration.cs
+++ b/Software/Visual_Studio/Tango.Integration/Operation/AdditionalJobConfiguration.cs
@@ -13,6 +13,7 @@ namespace Tango.Integration.Operation
public int RemainingUnits { get; set; }
public double GlobalStartPosition { get; set; }
public double FirstUnitStartPosition { get; set; }
+ public double ResumeProgress { get; set; }
}
public double LubricationVolume { get; set; }
diff --git a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
index 063aa740d..2e84d3fb5 100644
--- a/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
+++ b/Software/Visual_Studio/Tango.Integration/Operation/MachineOperator.cs
@@ -2796,6 +2796,11 @@ namespace Tango.Integration.Operation
jobForJobRun.Name = job.Name;
jobForJobRun.ID = job.ID;
+ if (config.ResumeConfig != null)
+ {
+ jobForJobRun.ResumeStartPosition = config.ResumeConfig.ResumeProgress;
+ }
+
int max = job.OrderedSegmentsWithGroups.Last().SegmentIndex + 1;
for (int i = 0; i < job.NumberOfUnits - 1; i++)
diff --git a/Software/Visual_Studio/Tango.SharedUI/Controls/RangeProgressBar.cs b/Software/Visual_Studio/Tango.SharedUI/Controls/RangeProgressBar.cs
new file mode 100644
index 000000000..f1d323a3a
--- /dev/null
+++ b/Software/Visual_Studio/Tango.SharedUI/Controls/RangeProgressBar.cs
@@ -0,0 +1,92 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Tango.SharedUI.Controls
+{
+ public class RangeProgressBar : Control
+ {
+ private Border _innerBorder;
+ private Border _outerBorder;
+
+ static RangeProgressBar()
+ {
+ DefaultStyleKeyProperty.OverrideMetadata(typeof(RangeProgressBar), new FrameworkPropertyMetadata(typeof(RangeProgressBar)));
+ }
+
+ public Brush FillBrush
+ {
+ get { return (Brush)GetValue(FillBrushProperty); }
+ set { SetValue(FillBrushProperty, value); }
+ }
+ public static readonly DependencyProperty FillBrushProperty =
+ DependencyProperty.Register("FillBrush", typeof(Brush), typeof(RangeProgressBar), new PropertyMetadata(Brushes.Red));
+
+ public double Maximum
+ {
+ get { return (double)GetValue(MaximumProperty); }
+ set { SetValue(MaximumProperty, value); }
+ }
+ public static readonly DependencyProperty MaximumProperty =
+ DependencyProperty.Register("Maximum", typeof(double), typeof(RangeProgressBar), new FrameworkPropertyMetadata(100.0, FrameworkPropertyMetadataOptions.AffectsRender));
+
+ public double LowerValue
+ {
+ get { return (double)GetValue(LowerValueProperty); }
+ set { SetValue(LowerValueProperty, value); }
+ }
+ public static readonly DependencyProperty LowerValueProperty =
+ DependencyProperty.Register("LowerValue", typeof(double), typeof(RangeProgressBar), new FrameworkPropertyMetadata(100.0, FrameworkPropertyMetadataOptions.AffectsRender));
+
+ public double UpperValue
+ {
+ get { return (double)GetValue(UpperValueProperty); }
+ set { SetValue(UpperValueProperty, value); }
+ }
+ public static readonly DependencyProperty UpperValueProperty =
+ DependencyProperty.Register("UpperValue", typeof(double), typeof(RangeProgressBar), new FrameworkPropertyMetadata(100.0, FrameworkPropertyMetadataOptions.AffectsRender));
+
+ public override void OnApplyTemplate()
+ {
+ base.OnApplyTemplate();
+ _innerBorder = GetTemplateChild("PART_InnerBorder") as Border;
+ _outerBorder = GetTemplateChild("PART_OuterBorder") as Border;
+ }
+
+ public RangeProgressBar()
+ {
+ SizeChanged += RangeProgressBar_SizeChanged;
+ }
+
+ private void RangeProgressBar_SizeChanged(object sender, SizeChangedEventArgs e)
+ {
+ PlaceInnerBorder();
+ }
+
+ private void PlaceInnerBorder()
+ {
+ if (_innerBorder != null && !double.IsNaN(_outerBorder.ActualWidth) && _outerBorder.ActualWidth > 0 && Maximum > 0)
+ {
+ _innerBorder.Margin = new Thickness(LowerValue / Maximum * _outerBorder.ActualWidth, 0, _outerBorder.ActualWidth - (UpperValue / Maximum * _outerBorder.ActualWidth), 0);
+ }
+ }
+
+ protected override void OnRender(DrawingContext drawingContext)
+ {
+ base.OnRender(drawingContext);
+
+ PlaceInnerBorder();
+ }
+ }
+}
diff --git a/Software/Visual_Studio/Tango.SharedUI/Tango.SharedUI.csproj b/Software/Visual_Studio/Tango.SharedUI/Tango.SharedUI.csproj
index c7eccab9f..07c79e7af 100644
--- a/Software/Visual_Studio/Tango.SharedUI/Tango.SharedUI.csproj
+++ b/Software/Visual_Studio/Tango.SharedUI/Tango.SharedUI.csproj
@@ -88,6 +88,7 @@
<DependentUpon>MultiTransitionControl.xaml</DependentUpon>
</Compile>
<Compile Include="Controls\NavigationControl.cs" />
+ <Compile Include="Controls\RangeProgressBar.cs" />
<Compile Include="Controls\SearchComboBox.cs" />
<Compile Include="Controls\SpannedUniformGrid.cs" />
<Compile Include="Controls\TableGrid.cs" />
@@ -264,7 +265,7 @@
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
+ <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/Tango.SharedUI/Themes/Generic.xaml b/Software/Visual_Studio/Tango.SharedUI/Themes/Generic.xaml
index ec9e86d07..f6aa44ee5 100644
--- a/Software/Visual_Studio/Tango.SharedUI/Themes/Generic.xaml
+++ b/Software/Visual_Studio/Tango.SharedUI/Themes/Generic.xaml
@@ -139,4 +139,20 @@
</Setter.Value>
</Setter>
</Style>
+
+ <Style TargetType="{x:Type local:RangeProgressBar}">
+ <Setter Property="Template">
+ <Setter.Value>
+ <ControlTemplate TargetType="{x:Type local:RangeProgressBar}">
+ <Border x:Name="PART_OuterBorder" Background="{TemplateBinding Background}"
+ BorderBrush="{TemplateBinding BorderBrush}"
+ BorderThickness="{TemplateBinding BorderThickness}">
+ <Border x:Name="PART_InnerBorder" Background="{TemplateBinding FillBrush}">
+
+ </Border>
+ </Border>
+ </ControlTemplate>
+ </Setter.Value>
+ </Setter>
+ </Style>
</ResourceDictionary>
diff --git a/Software/Visual_Studio/Web/Tango.MachineService/Properties/AssemblyInfo.cs b/Software/Visual_Studio/Web/Tango.MachineService/Properties/AssemblyInfo.cs
index 22709dcd5..131483550 100644
--- a/Software/Visual_Studio/Web/Tango.MachineService/Properties/AssemblyInfo.cs
+++ b/Software/Visual_Studio/Web/Tango.MachineService/Properties/AssemblyInfo.cs
@@ -24,4 +24,4 @@ using System.Runtime.InteropServices;
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
-[assembly: AssemblyVersion("3.0.21.0")]
+[assembly: AssemblyVersion("3.0.22.0")]