diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2024-07-14 23:06:47 +0300 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2024-07-14 23:06:47 +0300 |
| commit | c03fb4a1b2aadd8952b321d08ca840e55fcee72d (patch) | |
| tree | 453cc2986a60c87ddff21bff348d6d35d7ed1c2e /Software/Visual_Studio/MachineStudio | |
| parent | 70c0c5921c3c124779ec0d603e43d72e67def63f (diff) | |
| download | Tango-c03fb4a1b2aadd8952b321d08ca840e55fcee72d.tar.gz Tango-c03fb4a1b2aadd8952b321d08ca840e55fcee72d.zip | |
Revision of statistics and resumed jobs.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio')
3 files changed, 66 insertions, 17 deletions
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 Duration" Binding="{Binding UploadDuration, Converter={StaticResource DateTimeToStringFormatConverter}, FallbackValue='N/A',TargetNullValue='N/A'}" Width="80"/> <DataGridTextColumn Header="Heating 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 dyeing time" Binding="{Binding JobRun.TotalDyeingTime, Converter={StaticResource DateTimeToStringFormatConverter}}" Width="95" /> - <DataGridTextColumn Header="End 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> |
