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());