ProductionTracing : saving StepRecord and updating ReferenceRecord. ver. 3.1.1847
This commit is contained in:
parent
a6ba6e26b2
commit
eea94d1d9f
@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("3.1.1846.0")]
|
||||
[assembly: AssemblyFileVersion("3.1.1846.0")]
|
||||
[assembly: AssemblyVersion("3.1.1847.0")]
|
||||
[assembly: AssemblyFileVersion("3.1.1847.0")]
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -127,8 +127,6 @@ namespace TBF.Rig.TestMethods.S640Communication
|
||||
/// Production tracing support
|
||||
///
|
||||
IList<ReferenceRecord> refRecords;
|
||||
IList<Record> records;
|
||||
|
||||
|
||||
|
||||
System.Windows.Forms.Timer timer;
|
||||
@ -202,7 +200,6 @@ namespace TBF.Rig.TestMethods.S640Communication
|
||||
|
||||
ckbIndex = new int[UIBoxesCount]; /// Initialized by ShuffleTextBoxes() ... to be used in the future in case of test benches with two lines
|
||||
refRecords = new List<ReferenceRecord>();
|
||||
records = new List<Record>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -294,14 +291,15 @@ namespace TBF.Rig.TestMethods.S640Communication
|
||||
{
|
||||
for (int i = 0; i < lineSize; i++)
|
||||
{
|
||||
labels[dest] = labels[l * lineSize + l * gap + i];
|
||||
checkBoxes[dest] = checkBoxes[l * lineSize + l * gap + i];
|
||||
pictures[dest] = pictures[l * lineSize + l * gap + i];
|
||||
eRegisterNumbers[dest] = eRegisterNumbers[l * lineSize + l * gap + i];
|
||||
radioAddresses[dest] = radioAddresses[l * lineSize + l * gap + i];
|
||||
serialNumbers[dest] = serialNumbers[l * lineSize + l * gap + i];
|
||||
assignedSNs[dest] = assignedSNs[l * lineSize + l * gap + i];
|
||||
labels [dest] = labels [l * lineSize + l * gap + i];
|
||||
checkBoxes [dest] = checkBoxes [l * lineSize + l * gap + i];
|
||||
pictures [dest] = pictures [l * lineSize + l * gap + i];
|
||||
eRegisterNumbers [dest] = eRegisterNumbers [l * lineSize + l * gap + i];
|
||||
radioAddresses [dest] = radioAddresses [l * lineSize + l * gap + i];
|
||||
serialNumbers [dest] = serialNumbers [l * lineSize + l * gap + i];
|
||||
assignedSNs [dest] = assignedSNs [l * lineSize + l * gap + i];
|
||||
assignedRadioAddresses[dest] = assignedRadioAddresses[l * lineSize + l * gap + i];
|
||||
|
||||
ckbIndex[l * lineSize + l * gap + i] = dest;
|
||||
dest++;
|
||||
}
|
||||
@ -474,7 +472,6 @@ namespace TBF.Rig.TestMethods.S640Communication
|
||||
var order = ProcessData.OrderInfo as OrderInfo;
|
||||
ISession session = ProcessData.TracingDB.SessionFactory.OpenSession();
|
||||
refRecords = ProcessData.TracingDB.ReadRefRecords(session, order, ProcessData.TracingDB.DefaultOrder, ProcessData.Workflow);
|
||||
records = ProcessData.TracingDB.ReadRecords(session, order, ProcessData.TracingDB.DefaultOrder, ProcessData.Workflow);
|
||||
session.Close();
|
||||
}
|
||||
|
||||
@ -520,10 +517,8 @@ namespace TBF.Rig.TestMethods.S640Communication
|
||||
radioAddresses[i].Text = optoHeads[i].RadioAddress.ToString();
|
||||
|
||||
/// Find the housing number in the tracing DDB
|
||||
Record rec;
|
||||
ReferenceRecord refRec;
|
||||
if ((rec = records.FirstOrDefault(x => x.Code == pcbNumber)) != null &&
|
||||
(refRec = refRecords.FirstOrDefault(x => x.Id == rec.ReferenceRecord.Id)) != null)
|
||||
if ((refRec = refRecords.FirstOrDefault(x => x.Code2 == pcbNumber)) != null)
|
||||
{
|
||||
serialNumbers[i].Text = refRec.Code1;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user