ProductionTracing : saving StepRecord and updating ReferenceRecord. ver. 3.1.1847
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user