ProductionTracing : saving StepRecord and updating ReferenceRecord. ver. 3.1.1847

This commit is contained in:
Milan Hanajik
2022-01-10 08:11:52 +01:00
parent a6ba6e26b2
commit eea94d1d9f
3 changed files with 57 additions and 21 deletions
+46 -5
View File
@@ -630,11 +630,52 @@ namespace TBF.Rig.Output.DB.ProductionTracing
/// <param name="wm">Watermeter entity</param>
void SaveSingleWM2DB(ISession session, OrderInfo order, Results.Entities.WaterMeter wm, Process workflow, Workstep workstep)
{
//session.SaveOrUpdate(new ReferenceRecord(order, workflow, workstep,
// wm.SerialNr,
// GlobalData.CurrentUser.UserName,
// workplace,
// wm.Passed ? 0 : 1));
IList<ReferenceRecord> existingRecords = session.QueryOver<ReferenceRecord>()
.Where(x => (x.Code1 == wm.SerialNr))
.List();
ReferenceRecord refRecord = null;
if (existingRecords.Count > 1)
{
/// Unexpected error
throw new Exception("Unexpected error when saving production tracing records");
}
else if (existingRecords.Count == 1)
{
/// TODO: Check if the selected worflow is the same as in the found record
refRecord = existingRecords[0];
refRecord.POName = (order != null) ? order.POName : null;
refRecord.Workflow = (workflow != null) ? workflow.Name : null;
refRecord.Code2 = wm.SerialNrAux;
refRecord.Code3 = wm.CompleteSerialNr;
refRecord.Code4 = wm.RadioAddress;
}
else
{
refRecord = new ReferenceRecord((order != null) ? order.POName : null,
(workflow != null) ? workflow.Name : null,
wm.SerialNr, /// PcbNumber (iPERL) or ghousing S/N (620/640)
wm.SerialNrAux, /// Flowtube S/N (iPERL) or eRegister number (640) or empty
wm.CompleteSerialNr, /// Complete assigned S/N
wm.RadioAddress); /// Radio address (iPERL and 640)
}
StepRecord stepRecord = new StepRecord(refRecord,
"Test",
(TBF.Rig.Sequences.ProcessData.BenchInfo != null) ? TBF.Rig.Sequences.ProcessData.BenchInfo.TestBenchName : "TestBench",
Common.GlobalData.GetCurrentUserName());
if (refRecord.StepRecords == null)
{
refRecord.StepRecords = new List<StepRecord> { stepRecord };
}
else
{
refRecord.StepRecords.Add(stepRecord);
}
session.SaveOrUpdate(refRecord);
session.SaveOrUpdate(stepRecord);
}
}
}