Browse Source

Fixed Factory Floor Barcode Generation

frogsoftware 3 weeks ago
parent
commit
fd033091b6

+ 10 - 23
prs.desktop/Panels/Factory/FactoryPanel.xaml.cs

@@ -1390,36 +1390,23 @@ namespace PRSDesktop
 
             Progress.Show("");
 
-            Filter<ManufacturingPacket> pktflt = null;
-            foreach (var row in checkedpackets)
-                pktflt = pktflt == null
-                    ? Filter<ManufacturingPacket>.Where(x => x.ID).IsEqualTo(row.Get<ManufacturingPacket, Guid>(c => c.ID))
-                    : pktflt.Or(x => x.ID).IsEqualTo(row.Get<ManufacturingPacket, Guid>(c => c.ID));
-
-            var pkts = new Client<ManufacturingPacket>().Load(pktflt);
+            var checkedids = checkedpackets.Select(r => r.Get<ManufacturingPacket, Guid>(c => c.ID)).ToArray();
+            var flt = new Filter<ManufacturingPacket>(x => x.ID).InList(checkedids);
+            var cols = Columns.Required<ManufacturingPacket>().Add(x=>x.BarcodePrinted);
+            var pkts = new Client<ManufacturingPacket>().Query(flt, cols).ToList<ManufacturingPacket>();
 
             foreach (var pkt in pkts)
                 //var pkt = row.ToObject<ManufacturingPacket>();
                 if (pkt.BarcodePrinted == DateTime.MinValue)
                     pkt.BarcodePrinted = DateTime.Now;
-            //updates.Add(pkt);
-            //if (updates.Any())
-            //{
-            Progress.SetMessage("Creating Barcodes");
-            new Client<ManufacturingPacket>().Save(pkts, "Delivery Barcodes created");
-            //}
-
-
-            Filter<DeliveryItem> filter = null;
-            foreach (var row in checkedpackets)
+            if (pkts.Any(x=>x.IsChanged()))
             {
-                var pktid = row.Get<ManufacturingPacket, Guid>(c => c.ID);
-                if (filter == null)
-                    filter = Filter<DeliveryItem>.Where(x => x.ManufacturingPacketLink.ID).IsEqualTo(pktid);
-                else
-                    filter = filter.Or(x => x.ManufacturingPacketLink.ID).IsEqualTo(pktid);
+                Progress.SetMessage("Creating Barcodes");
+                new Client<ManufacturingPacket>().Save(pkts.Where(x=>x.IsChanged()), "Delivery Barcodes created");
             }
 
+
+            Filter<DeliveryItem> filter = new  Filter<DeliveryItem>(x => x.ManufacturingPacketLink.ID).InList(checkedids);
             var model = new DeliveryItemDataModel(filter);
 
             var Group = Packets.Rows.Select(r => r.Get<ManufacturingPacket, string>(c => c.Group)).FirstOrDefault();
@@ -1444,7 +1431,7 @@ namespace PRSDesktop
                 Refresh();
             }
 
-
+            report.OptimiseData = true;
             Progress.Close();
             ReportUtils.PreviewReport(report, model, false, Security.IsAllowed<CanDesignReports>());
 

+ 1 - 1
prs.desktop/prsdesktop.iss

@@ -8,7 +8,7 @@
 #define public Dependency_Path_NetCoreCheck "dependencies\"
 
 #define MyAppName "PRS Desktop"
-#define MyAppVersion "8.55.5"
+#define MyAppVersion "8.55.6"
 #define MyAppPublisher "PRS Digital"
 #define MyAppURL "https://www.prs-software.com.au"
 #define MyAppExeName "PRSDesktop.exe"

+ 1 - 1
prs.licensing/PRSLicensing.iss

@@ -8,7 +8,7 @@
 #define public Dependency_Path_NetCoreCheck "dependencies\"
 
 #define MyAppName "PRS Licensing"
-#define MyAppVersion "8.55.5"
+#define MyAppVersion "8.55.6"
 #define MyAppPublisher "PRS Digital"
 #define MyAppURL "https://www.prs-software.com.au"
 #define MyAppExeName "PRSLicensing.exe"

+ 1 - 1
prs.server/PRSServer.iss

@@ -8,7 +8,7 @@
 #define public Dependency_Path_NetCoreCheck "dependencies\"
 
 #define MyAppName "PRS Server"
-#define MyAppVersion "8.55.5"
+#define MyAppVersion "8.55.6"
 #define MyAppPublisher "PRS Digital"
 #define MyAppURL "https://www.prs-software.com.au"
 #define MyAppExeName "PRSServer.exe"