CSV like PDSF ready to test
This commit is contained in:
@ -57,7 +57,7 @@ public partial class ProcessData : IProcessData
|
||||
|
||||
#nullable enable
|
||||
|
||||
internal ProcessData(IFileRead fileRead, Logistics logistics, List<FileInfo> fileInfoCollection, string originalDataBioRad, long tickOffset, Complete? complete)
|
||||
internal ProcessData(IFileRead fileRead, Logistics logistics, List<FileInfo> fileInfoCollection, string originalDataBioRad, long tickOffset, Run? run)
|
||||
{
|
||||
if (fileRead is null)
|
||||
throw new ArgumentNullException(nameof(fileRead));
|
||||
@ -72,8 +72,8 @@ public partial class ProcessData : IProcessData
|
||||
foreach (string moveFile in moveFiles.Distinct())
|
||||
fileInfoCollection.Add(new FileInfo(moveFile));
|
||||
fileInfoCollection.Add(logistics.FileInfo);
|
||||
if (complete is not null)
|
||||
SetValues(logistics, tickOffset, complete);
|
||||
if (run is not null)
|
||||
SetValues(logistics, tickOffset, run);
|
||||
}
|
||||
|
||||
string IProcessData.GetCurrentReactor(IFileRead fileRead, Logistics logistics, Dictionary<string, string> reactors) => throw new Exception(string.Concat("See ", nameof(ProcessData)));
|
||||
@ -251,18 +251,18 @@ public partial class ProcessData : IProcessData
|
||||
return result;
|
||||
}
|
||||
|
||||
private void SetValues(Logistics logistics, long tickOffset, Complete complete)
|
||||
private void SetValues(Logistics logistics, long tickOffset, Run run)
|
||||
{
|
||||
int slot = 0;
|
||||
Detail detail;
|
||||
int counter = 1;
|
||||
List<Detail> details = new();
|
||||
DateTime dateTime = GetDateTime(logistics, tickOffset, complete.Header.DateTime);
|
||||
bool isWaferSlot = !string.IsNullOrEmpty(complete.Header.Wafer) && complete.Header.Wafer.Length is 1 or 2 && int.TryParse(complete.Header.Wafer, out slot) && slot < 27;
|
||||
string batch = !isWaferSlot ? logistics.JobID : Regex.Replace(complete.Header.Batch, @"[\\,\/,\:,\*,\?,\"",\<,\>,\|]", "_").Split('\r')[0].Split('\n')[0];
|
||||
Descriptor descriptor = isWaferSlot ? GetDescriptor(complete.Header.Batch) : GetDescriptor(complete.Header.Wafer);
|
||||
DateTime dateTime = GetDateTime(logistics, tickOffset, run.Header.DateTime);
|
||||
bool isWaferSlot = !string.IsNullOrEmpty(run.Header.Wafer) && run.Header.Wafer.Length is 1 or 2 && int.TryParse(run.Header.Wafer, out slot) && slot < 27;
|
||||
string batch = !isWaferSlot ? logistics.JobID : Regex.Replace(run.Header.Batch, @"[\\,\/,\:,\*,\?,\"",\<,\>,\|]", "_").Split('\r')[0].Split('\n')[0];
|
||||
Descriptor descriptor = isWaferSlot ? GetDescriptor(run.Header.Batch) : GetDescriptor(run.Header.Wafer);
|
||||
string wafer = isWaferSlot ? slot.ToString("00") : descriptor.Wafer;
|
||||
string uniqueId = string.Concat(complete.Header.Title, '_', wafer, '_', logistics.DateTimeFromSequence.ToString("yyyyMMddHHmmssffff"), '_', logistics.TotalSecondsSinceLastWriteTimeFromSequence);
|
||||
string uniqueId = string.Concat(run.Header.Title, '_', wafer, '_', logistics.DateTimeFromSequence.ToString("yyyyMMddHHmmssffff"), '_', logistics.TotalSecondsSinceLastWriteTimeFromSequence);
|
||||
Batch = batch;
|
||||
Wafer = wafer;
|
||||
Date = dateTime;
|
||||
@ -273,16 +273,16 @@ public partial class ProcessData : IProcessData
|
||||
JobID = logistics.JobID;
|
||||
Layer = descriptor.Layer;
|
||||
Reactor = descriptor.Reactor;
|
||||
StdDev = complete.Body.StdDev;
|
||||
Title = complete.Header.Title;
|
||||
Recipe = complete.Header.Recipe;
|
||||
PassFail = complete.Body.PassFail;
|
||||
Cassette = complete.Header.Cassette;
|
||||
RVThickness = complete.Footer.RadialVariationThickness;
|
||||
Slot = string.IsNullOrEmpty(complete.Footer.Slot) ? slot.ToString("00") : complete.Footer.Slot;
|
||||
Employee = string.IsNullOrEmpty(complete.Header.Operator) ? Employee : complete.Header.Operator;
|
||||
MeanThickness = string.IsNullOrEmpty(complete.Body.WaferMeanThickness) && complete.Body.Sites.Count == 1 ? complete.Body.Sites.First().Thickness : complete.Body.WaferMeanThickness;
|
||||
foreach (Site site in complete.Body.Sites)
|
||||
StdDev = run.Body.StdDev;
|
||||
Title = run.Header.Title;
|
||||
Recipe = run.Header.Recipe;
|
||||
PassFail = run.Body.PassFail;
|
||||
Cassette = run.Header.Cassette;
|
||||
RVThickness = run.Footer.RadialVariationThickness;
|
||||
Slot = string.IsNullOrEmpty(run.Footer.Slot) ? slot.ToString("00") : run.Footer.Slot;
|
||||
Employee = string.IsNullOrEmpty(run.Header.Operator) ? Employee : run.Header.Operator;
|
||||
MeanThickness = string.IsNullOrEmpty(run.Body.WaferMeanThickness) && run.Sites.Count == 1 ? run.Sites[0].Thickness : run.Body.WaferMeanThickness;
|
||||
foreach (Site site in run.Sites)
|
||||
{
|
||||
detail = new()
|
||||
{
|
||||
|
Reference in New Issue
Block a user