Workflow used in DataEntry.S620, LaserMarking stored to WaterMeter.Remark.

This commit is contained in:
Milan Hanajik 2021-11-18 08:22:00 +01:00
parent 351157dbba
commit 09a0968b76
5 changed files with 37 additions and 18 deletions

View File

@ -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())
{

View File

@ -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
{

View File

@ -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
/// </summary>
/// <param name="waterMetersCount">Number of text boxes for serial numbers</param>
public FormForMechanicalMetersWithTracing(IList<Results.Entities.WaterMeter> waterMeters, int maxWMsCount, char closeButton, bool atTheEnd, bool withProductionTracing = true, bool ordersFromProdTracing = false, string purchaseOrder = null)
public FormForMechanicalMetersWithTracing(IList<Results.Entities.WaterMeter> 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<Workstep>();
currentWStep = UpdateWStepCombo(currentWorkflow, (currentWStep != null) ? currentWStep.Name : Program.LocalSettings.LastWStep);

View File

@ -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);
}

View File

@ -534,7 +534,8 @@ namespace TBF.Rig.Sequences
/// <param name="newBatchNr">New batch number</param>
/// <param name="procedure">Selected procedure</param>
/// <returns>Created BatchResults</returns>
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());