Browse Source

Fix to tracking times

Kenric Nugteren 8 months ago
parent
commit
dfd8b7361e

+ 18 - 4
prs.desktop/Dashboards/Manufacturing/FactoryProductivity.xaml.cs

@@ -432,7 +432,20 @@ namespace PRSDesktop
                 var criteria = GetFilter();
                 var criteria = GetFilter();
                 var data = new Client<ManufacturingHistory>().Query(
                 var data = new Client<ManufacturingHistory>().Query(
                     criteria,
                     criteria,
-                    null,
+                    Columns.None<ManufacturingHistory>()
+                        .Add(x => x.ID)
+                        .Add(x => x.Employee.Name)
+                        .Add(x => x.Section.Name)
+                        .Add(x => x.QADuration)
+                        .Add(x => x.WorkDuration)
+                        .Add(x => x.Packet.ID)
+                        .Add(x => x.Packet.SetoutLink.JobLink.Color)
+                        .Add(x => x.Packet.SetoutLink.JobLink.JobNumber)
+                        .Add(x => x.Packet.Serial)
+                        .Add(x => x.Packet.SetoutLink.Number)
+                        .Add(x => x.LostTime.ID)
+                        .Add(x => x.LostTime.Description)
+                        .Add(x => x.WorkCompleted),
                     new SortOrder<ManufacturingHistory>(x => x.Employee.Name)
                     new SortOrder<ManufacturingHistory>(x => x.Employee.Name)
                 );
                 );
 
 
@@ -477,15 +490,16 @@ namespace PRSDesktop
                     else
                     else
                         packet = "#FFFF0000|Lost Time";
                         packet = "#FFFF0000|Lost Time";
 
 
-                    if (!Items.ContainsKey(packet))
+                    if (!Items.TryGetValue(packet, out List<History>? value))
                     {
                     {
                         var records = new List<History>();
                         var records = new List<History>();
                         foreach (var _staff in Staff)
                         foreach (var _staff in Staff)
                             records.Add(new History { Name = _staff.Name });
                             records.Add(new History { Name = _staff.Name });
-                        Items[packet] = records;
+                        value = records;
+                        Items[packet] = value;
                     }
                     }
 
 
-                    var record = Items[packet].FirstOrDefault(x => string.Equals(x.Name, staff));
+                    var record = value.FirstOrDefault(x => string.Equals(x.Name, staff));
                     record.Packets = record.Packets + row.Get<ManufacturingHistory, int>(x => x.WorkCompleted);
                     record.Packets = record.Packets + row.Get<ManufacturingHistory, int>(x => x.WorkCompleted);
                     record.Hours = record.Hours + row.Get<ManufacturingHistory, TimeSpan>(x => x.QADuration).TotalHours +
                     record.Hours = record.Hours + row.Get<ManufacturingHistory, TimeSpan>(x => x.QADuration).TotalHours +
                                    row.Get<ManufacturingHistory, TimeSpan>(x => x.WorkDuration).TotalHours;
                                    row.Get<ManufacturingHistory, TimeSpan>(x => x.WorkDuration).TotalHours;

+ 2 - 0
prs.desktop/Panels/PanelHost.cs

@@ -486,6 +486,8 @@ public class PanelHost : IPanelHost
 
 
     private void Heartbeat(TimeSpan time, bool closing)
     private void Heartbeat(TimeSpan time, bool closing)
     {
     {
+        if (TrackedTicks == DateTime.MinValue)
+            return;
         if (!closing && time.TotalMinutes < 5)
         if (!closing && time.TotalMinutes < 5)
             return;
             return;