From 09a0968b76e3cb9bfcfebf1364a55c4df23fec60 Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Thu, 18 Nov 2021 08:22:00 +0100 Subject: [PATCH] Workflow used in DataEntry.S620, LaserMarking stored to WaterMeter.Remark. --- Results/BatchResults.cs | 31 +++++++++++-------- TBF/Rig/DataEntry/S620/EntryForm.cs | 12 +++++-- .../FormForMechanicalMetersWithTracing.cs | 5 ++- TBF/Rig/Sequences/MainSeq.cs | 3 +- TBF/Rig/Sequences/MainSeqUtils.cs | 4 ++- 5 files changed, 37 insertions(+), 18 deletions(-) diff --git a/Results/BatchResults.cs b/Results/BatchResults.cs index fa213944e..0432f040c 100644 --- a/Results/BatchResults.cs +++ b/Results/BatchResults.cs @@ -44,7 +44,8 @@ namespace Results public static BatchResults NewFromProcedure(int batchNr, int benchId, string benchName, string a1, string a2, string a3, string a4, string a5, string user, int userNr, string programVer, Config.Entities.Procedure procedure, - WaterMeterData[] waterMeterDatas, int[] waterMeterParts, string variant, string order, string workflow, + WaterMeterData[] waterMeterDatas, int[] waterMeterParts, + string variant, string order, string workflow, string laserMarking, double realDensity, double atTemperature, double buoyancy) { BatchResults d = new BatchResults(waterMeterDatas.Length); @@ -86,23 +87,27 @@ namespace Results /// for (int wmPos0 = 0; wmPos0 < d.WMPositionsCount; wmPos0++) { - if (waterMeterDatas[wmPos0] == null) + var wm = new WaterMeter() { - d.Batch.WaterMeters.Add(new WaterMeter() { Batch = d.Batch, - WaterMeterData = null, - WMPosition = wmPos0 + 1, - YearOfProduction = year, - Disabled = true, }); + Batch = d.Batch, + WMPosition = wmPos0 + 1, + YearOfProduction = year, + }; + + if (waterMeterDatas[wmPos0] != null) + { + wm.WaterMeterData = WaterMeterData.UpdateList(d.WaterMeterDataList, waterMeterDatas[wmPos0]); } else { - WaterMeterData wmd = WaterMeterData.UpdateList(d.WaterMeterDataList, waterMeterDatas[wmPos0]); - d.Batch.WaterMeters.Add(new WaterMeter() { Batch = d.Batch, - WaterMeterData = wmd, - WMPosition = wmPos0 + 1, - YearOfProduction = year, }); + wm.Disabled = true; } - } + + if (!string.IsNullOrEmpty(order)) wm.PurchaseOrder = order; + if (!string.IsNullOrEmpty(laserMarking)) wm.Remark = laserMarking; + + d.Batch.WaterMeters.Add(wm); + } foreach (var ti in procedure.GetTestInstances()) { diff --git a/TBF/Rig/DataEntry/S620/EntryForm.cs b/TBF/Rig/DataEntry/S620/EntryForm.cs index 5aa4bea35..01952a1c4 100644 --- a/TBF/Rig/DataEntry/S620/EntryForm.cs +++ b/TBF/Rig/DataEntry/S620/EntryForm.cs @@ -133,7 +133,11 @@ namespace TBF.Rig.DataEntry.S620 { if (entryFormCfg.ProductionTracing) { - myRef.modelessDlg = new FormForMechanicalMetersWithTracing(waterMeters, entryFormCfg.MaxWMsCount, entryFormCfg.CloseButton, false, true, entryFormCfg.OrdersFromProdTracing, (TBF.Rig.Sequences.ProcessData.BatchRslts != null) ? TBF.Rig.Sequences.ProcessData.BatchRslts.Batch.PurchaseOrder : null); + string order = (TBF.Rig.Sequences.ProcessData.BatchRslts != null) ? TBF.Rig.Sequences.ProcessData.BatchRslts.Batch.PurchaseOrder : null; + string workflow = (TBF.Rig.Sequences.ProcessData.BatchRslts != null) ? TBF.Rig.Sequences.ProcessData.BatchRslts.Batch.Workflow : null; + + myRef.modelessDlg = new FormForMechanicalMetersWithTracing(waterMeters, entryFormCfg.MaxWMsCount, entryFormCfg.CloseButton, false, + true, entryFormCfg.OrdersFromProdTracing, order, workflow); } else { @@ -146,7 +150,11 @@ namespace TBF.Rig.DataEntry.S620 { if (entryFormCfg.ProductionTracing) { - myRef.modelessDlg = new FormForMechanicalMetersWithTracing(waterMeters, entryFormCfg.MaxWMsCount, entryFormCfg.CloseButton, true, true, entryFormCfg.OrdersFromProdTracing, (TBF.Rig.Sequences.ProcessData.BatchRslts != null) ? TBF.Rig.Sequences.ProcessData.BatchRslts.Batch.PurchaseOrder : null); + string order = (TBF.Rig.Sequences.ProcessData.BatchRslts != null) ? TBF.Rig.Sequences.ProcessData.BatchRslts.Batch.PurchaseOrder : null; + string workflow = (TBF.Rig.Sequences.ProcessData.BatchRslts != null) ? TBF.Rig.Sequences.ProcessData.BatchRslts.Batch.Workflow : null; + + myRef.modelessDlg = new FormForMechanicalMetersWithTracing(waterMeters, entryFormCfg.MaxWMsCount, entryFormCfg.CloseButton, true, + true, entryFormCfg.OrdersFromProdTracing, order, workflow); } else { diff --git a/TBF/Rig/DataEntry/S620/FormForMechanicalMetersWithTracing.cs b/TBF/Rig/DataEntry/S620/FormForMechanicalMetersWithTracing.cs index 293f6642e..6b0713524 100644 --- a/TBF/Rig/DataEntry/S620/FormForMechanicalMetersWithTracing.cs +++ b/TBF/Rig/DataEntry/S620/FormForMechanicalMetersWithTracing.cs @@ -34,6 +34,7 @@ namespace TBF.Rig.DataEntry.S620 readonly bool withProductionTracing; readonly bool ordersFromProdTracing; readonly string preSelectedPurchaseOrder; + readonly string preSelectedWorkflow; /// To be retrieved after the form is closed string purchaseOrder; @@ -220,7 +221,7 @@ namespace TBF.Rig.DataEntry.S620 /// Constructor /// /// Number of text boxes for serial numbers - public FormForMechanicalMetersWithTracing(IList waterMeters, int maxWMsCount, char closeButton, bool atTheEnd, bool withProductionTracing = true, bool ordersFromProdTracing = false, string purchaseOrder = null) + public FormForMechanicalMetersWithTracing(IList waterMeters, int maxWMsCount, char closeButton, bool atTheEnd, bool withProductionTracing = true, bool ordersFromProdTracing = false, string purchaseOrder = null, string workflow = null) : this() { this.waterMeters = waterMeters; @@ -231,6 +232,7 @@ namespace TBF.Rig.DataEntry.S620 this.withProductionTracing = withProductionTracing; this.ordersFromProdTracing = ordersFromProdTracing; this.preSelectedPurchaseOrder = purchaseOrder; + this.preSelectedWorkflow = workflow; bodyNrText = new string[waterMeters.Count]; assignedSerialNr = new int[waterMeters.Count]; @@ -300,6 +302,7 @@ namespace TBF.Rig.DataEntry.S620 { /// Production tracing UpdateWorkflowCombo(workflows, (currentWorkflow != null) ? currentWorkflow.Name : Program.LocalSettings.LastWorkflow); + if (!string.IsNullOrEmpty(preSelectedWorkflow)) workflowComboBox.Text = preSelectedWorkflow; currentWorkflow = Process.GetProcessFromName(workflows, workflowComboBox.Text); stepsOfTheCurrentWorkflow = (currentWorkflow != null) ? currentWorkflow.Worksteps : new List(); currentWStep = UpdateWStepCombo(currentWorkflow, (currentWStep != null) ? currentWStep.Name : Program.LocalSettings.LastWStep); diff --git a/TBF/Rig/Sequences/MainSeq.cs b/TBF/Rig/Sequences/MainSeq.cs index ac00c40de..b9dd279fd 100644 --- a/TBF/Rig/Sequences/MainSeq.cs +++ b/TBF/Rig/Sequences/MainSeq.cs @@ -428,7 +428,8 @@ namespace TBF.Rig.Sequences /// This is a regular session => initialize BatchRslts BatchRslts = CreateNewBatchResults(newBatchNr, StateMachine.Procedure, Bridge.SelectedProcedure.Variant, Bridge.SelectedProcedure.Order, - Bridge.SelectedProcedure.Workflow); + Bridge.SelectedProcedure.Workflow, + Bridge.SelectedProcedure.LaserMarking); } diff --git a/TBF/Rig/Sequences/MainSeqUtils.cs b/TBF/Rig/Sequences/MainSeqUtils.cs index e03b9c55a..539ec6958 100644 --- a/TBF/Rig/Sequences/MainSeqUtils.cs +++ b/TBF/Rig/Sequences/MainSeqUtils.cs @@ -534,7 +534,8 @@ namespace TBF.Rig.Sequences /// New batch number /// Selected procedure /// Created BatchResults - Results.BatchResults CreateNewBatchResults(int newBatchNr, Procedure procedure, string variant = null, string order = null, string workflow = null) + Results.BatchResults CreateNewBatchResults(int newBatchNr, Procedure procedure, string variant = null, + string order = null, string workflow = null, string laserMarking = null) { /// /// Prepare new water meters @@ -622,6 +623,7 @@ namespace TBF.Rig.Sequences variant, order, workflow, + laserMarking, Formulas.RealDensity(), Formulas.AtTemperature(), Formulas.Buoyancy());