Add IndexOf and AttemptCounter properties to WSRequest and Description classes; implement getValue function in recipes-and-patterns.js
This commit is contained in:
@ -203,10 +203,11 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
private Tuple<string, Test[], JsonElement[], List<FileInfo>> GetExtractResult(string reportFullPath, DateTime dateTime)
|
||||
{
|
||||
Tuple<string, Test[], JsonElement[], List<FileInfo>> results;
|
||||
ProcessDataStandardFormat processDataStandardFormat = ProcessDataStandardFormat.GetProcessDataStandardFormat(reportFullPath);
|
||||
string[] lines = File.ReadAllLines(reportFullPath);
|
||||
ProcessDataStandardFormat processDataStandardFormat = ProcessDataStandardFormat.GetProcessDataStandardFormat(reportFullPath, lines);
|
||||
_Logistics = new Logistics(reportFullPath, processDataStandardFormat);
|
||||
SetFileParameterLotIDToLogisticsMID();
|
||||
JsonElement[] jsonElements = ProcessDataStandardFormat.GetArray(processDataStandardFormat);
|
||||
JsonElement[] jsonElements = ProcessDataStandardFormat.GetArray(reportFullPath, lines, processDataStandardFormat);
|
||||
List<txt.Description> descriptions = txt.ProcessData.GetDescriptions(jsonElements);
|
||||
Test[] tests = (from l in descriptions select (Test)l.Test).ToArray();
|
||||
if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0)
|
||||
|
||||
@ -110,7 +110,7 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
return results;
|
||||
}
|
||||
|
||||
private void SaveOpenInsightFile(string reportFullPath, DateTime dateTime, ProcessDataStandardFormat processDataStandardFormat, List<txt.Description> descriptions, Test[] tests)
|
||||
private void SaveOpenInsightFile(string reportFullPath, DateTime dateTime, List<txt.Description> descriptions, Test[] tests)
|
||||
{
|
||||
string duplicateFile;
|
||||
bool isDummyRun = false;
|
||||
@ -143,7 +143,7 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
else
|
||||
duplicateFile = Path.Combine(duplicateDirectory, $"{$"Viewer {subgroupId}".TrimEnd()} {fileName.Replace("Viewer", string.Empty)}");
|
||||
string weekOfYear = _Calendar.GetWeekOfYear(_Logistics.DateTimeFromSequence, CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString("00");
|
||||
FromIQS.Save(_OpenInsightApiECDirectory, _Logistics, reportFullPath, processDataStandardFormat, descriptions.First(), subgroupId, weekOfYear);
|
||||
FromIQS.Save(_OpenInsightApiECDirectory, _Logistics, reportFullPath, descriptions.First(), subgroupId, weekOfYear);
|
||||
}
|
||||
if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0)
|
||||
{
|
||||
@ -155,14 +155,15 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
private Tuple<string, Test[], JsonElement[], List<FileInfo>> GetExtractResult(string reportFullPath, DateTime dateTime)
|
||||
{
|
||||
Tuple<string, Test[], JsonElement[], List<FileInfo>> results;
|
||||
ProcessDataStandardFormat processDataStandardFormat = ProcessDataStandardFormat.GetProcessDataStandardFormat(reportFullPath);
|
||||
string[] lines = File.ReadAllLines(reportFullPath);
|
||||
ProcessDataStandardFormat processDataStandardFormat = ProcessDataStandardFormat.GetProcessDataStandardFormat(reportFullPath, lines);
|
||||
_Logistics = new Logistics(reportFullPath, processDataStandardFormat);
|
||||
SetFileParameterLotIDToLogisticsMID();
|
||||
JsonElement[] jsonElements = ProcessDataStandardFormat.GetArray(processDataStandardFormat);
|
||||
JsonElement[] jsonElements = ProcessDataStandardFormat.GetArray(reportFullPath, lines, processDataStandardFormat);
|
||||
List<txt.Description> descriptions = txt.ProcessData.GetDescriptions(jsonElements);
|
||||
Test[] tests = (from l in descriptions select (Test)l.Test).ToArray();
|
||||
if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0)
|
||||
SaveOpenInsightFile(reportFullPath, dateTime, processDataStandardFormat, descriptions, tests);
|
||||
SaveOpenInsightFile(reportFullPath, dateTime, descriptions, tests);
|
||||
results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>());
|
||||
return results;
|
||||
}
|
||||
|
||||
@ -325,74 +325,18 @@ public class FromIQS
|
||||
return new(result, count, commandText);
|
||||
}
|
||||
|
||||
private static string GetJson(Logistics logistics, ProcessDataStandardFormat processDataStandardFormat, txt.Description description)
|
||||
internal static void Save(string openInsightApiECDirectory, Logistics logistics, string reportFullPath, txt.Description description, long? subGroupId, string weekOfYear)
|
||||
{
|
||||
string result;
|
||||
StringBuilder stringBuilder = new();
|
||||
var @object = new
|
||||
{
|
||||
description.MesEntity,
|
||||
description.Employee,
|
||||
// description.Layer,
|
||||
description.PSN,
|
||||
description.RDS,
|
||||
description.Reactor,
|
||||
description.Recipe,
|
||||
// description.Zone,
|
||||
logistics.DateTimeFromSequence.Ticks
|
||||
};
|
||||
string[] pair;
|
||||
string safeValue;
|
||||
string[] segments;
|
||||
string serializerValue;
|
||||
foreach (string line in processDataStandardFormat.Logistics)
|
||||
{
|
||||
segments = line.Split('\t');
|
||||
if (segments.Length < 2)
|
||||
continue;
|
||||
segments = segments[1].Split(';');
|
||||
_ = stringBuilder.Append('{');
|
||||
foreach (string segment in segments)
|
||||
{
|
||||
pair = segment.Split('=');
|
||||
if (pair.Length != 2 || pair[0].Length < 3)
|
||||
continue;
|
||||
serializerValue = JsonSerializer.Serialize(pair[1]);
|
||||
safeValue = serializerValue.Substring(1, serializerValue.Length - 2);
|
||||
_ = stringBuilder.Append('"').Append(pair[0].Substring(2)).Append('"').Append(':').Append('"').Append(safeValue).Append('"').Append(',');
|
||||
}
|
||||
if (stringBuilder.Length > 0)
|
||||
_ = stringBuilder.Remove(stringBuilder.Length - 1, 1);
|
||||
_ = stringBuilder.Append('}').Append(',');
|
||||
}
|
||||
if (stringBuilder.Length > 0)
|
||||
_ = stringBuilder.Remove(stringBuilder.Length - 1, 1);
|
||||
_ = stringBuilder.Append(']').Append('}');
|
||||
_ = stringBuilder.Insert(0, ",\"Logistics\":[");
|
||||
string json = JsonSerializer.Serialize(@object);
|
||||
_ = stringBuilder.Insert(0, json.Substring(0, json.Length - 1));
|
||||
JsonElement? jsonElement = JsonSerializer.Deserialize<JsonElement>(stringBuilder.ToString());
|
||||
result = jsonElement is null ? "{}" : JsonSerializer.Serialize(jsonElement, new JsonSerializerOptions { WriteIndented = true });
|
||||
return result;
|
||||
}
|
||||
|
||||
internal static void Save(string openInsightApiECDirectory, Logistics logistics, string reportFullPath, ProcessDataStandardFormat processDataStandardFormat, txt.Description description, long? subGroupId, string weekOfYear)
|
||||
{
|
||||
string checkFile;
|
||||
string fileName = Path.GetFileName(reportFullPath);
|
||||
string json = GetJson(logistics, processDataStandardFormat, description);
|
||||
string? ecPathRoot = Path.GetPathRoot(openInsightApiECDirectory);
|
||||
bool ecExists = ecPathRoot is not null && Directory.Exists(ecPathRoot);
|
||||
string weekYear = $"{logistics.DateTimeFromSequence:yyyy}_Week_{weekOfYear}";
|
||||
string ecDirectory = Path.Combine(openInsightApiECDirectory, weekYear, $"-{description.PSN}", $"-{description.Reactor}", $"-{description.RDS}", $"-{subGroupId}");
|
||||
if (ecExists && !Directory.Exists(ecDirectory))
|
||||
_ = Directory.CreateDirectory(ecDirectory);
|
||||
checkFile = Path.Combine(ecDirectory, fileName);
|
||||
string checkFile = Path.Combine(ecDirectory, fileName);
|
||||
if (ecExists && !File.Exists(checkFile))
|
||||
File.Copy(reportFullPath, checkFile);
|
||||
checkFile = Path.Combine(ecDirectory, $"{logistics.DateTimeFromSequence.Ticks}.json");
|
||||
if (ecExists && !File.Exists(checkFile))
|
||||
File.WriteAllText(checkFile, json);
|
||||
}
|
||||
|
||||
private static string GetCommandText(string[] iqsCopyValues)
|
||||
|
||||
@ -110,10 +110,10 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
return results;
|
||||
}
|
||||
|
||||
private void SendData(string reportFullPath, DateTime dateTime, List<txt.Description> descriptions)
|
||||
private void SendData(string reportFullPath, DateTime dateTime, JsonElement[] jsonElements, List<txt.Description> descriptions)
|
||||
{
|
||||
string checkDirectory;
|
||||
WSRequest wsRequest = new(this, _Logistics, descriptions);
|
||||
WSRequest wsRequest = new(this, _Logistics, jsonElements, descriptions);
|
||||
int weekOfYear = _Calendar.GetWeekOfYear(dateTime, CalendarWeekRule.FirstDay, DayOfWeek.Sunday);
|
||||
string directory = Path.Combine(_OpenInsightMetrologyViewerFileShare, dateTime.Year.ToString(), $"WW{weekOfYear:00}");
|
||||
checkDirectory = Path.Combine(directory, _Logistics.Sequence.ToString());
|
||||
@ -139,14 +139,15 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
private Tuple<string, Test[], JsonElement[], List<FileInfo>> GetExtractResult(string reportFullPath, DateTime dateTime)
|
||||
{
|
||||
Tuple<string, Test[], JsonElement[], List<FileInfo>> results;
|
||||
ProcessDataStandardFormat processDataStandardFormat = ProcessDataStandardFormat.GetProcessDataStandardFormat(reportFullPath);
|
||||
string[] lines = File.ReadAllLines(reportFullPath);
|
||||
ProcessDataStandardFormat processDataStandardFormat = ProcessDataStandardFormat.GetProcessDataStandardFormat(reportFullPath, lines);
|
||||
_Logistics = new Logistics(reportFullPath, processDataStandardFormat);
|
||||
SetFileParameterLotIDToLogisticsMID();
|
||||
JsonElement[] jsonElements = ProcessDataStandardFormat.GetArray(processDataStandardFormat);
|
||||
JsonElement[] jsonElements = ProcessDataStandardFormat.GetArray(reportFullPath, lines, processDataStandardFormat);
|
||||
List<txt.Description> descriptions = txt.ProcessData.GetDescriptions(jsonElements);
|
||||
Test[] tests = (from l in descriptions select (Test)l.Test).ToArray();
|
||||
if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0)
|
||||
SendData(reportFullPath, dateTime, descriptions);
|
||||
SendData(reportFullPath, dateTime, jsonElements, descriptions);
|
||||
results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>());
|
||||
return results;
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace Adaptation.FileHandlers.OpenInsightMetrologyViewer;
|
||||
|
||||
@ -16,8 +17,17 @@ public class WSRequest
|
||||
//
|
||||
|
||||
public int Id { get; set; }
|
||||
public string AttemptCounter { get; set; }
|
||||
public string CellName { get; set; }
|
||||
public string Date { get; set; }
|
||||
public string DcnAllMax { get; set; }
|
||||
public string DcnAllMean { get; set; }
|
||||
public string DcnAllMin { get; set; }
|
||||
public string DcnAllStDev { get; set; }
|
||||
public string DcnAreaCntMax { get; set; }
|
||||
public string DcnAreaCntMean { get; set; }
|
||||
public string DcnAreaCntMin { get; set; }
|
||||
public string IndexOf { get; set; }
|
||||
public string LotID { get; set; }
|
||||
public string Operator { get; set; }
|
||||
public string PSN { get; set; }
|
||||
@ -26,13 +36,6 @@ public class WSRequest
|
||||
public string Recipe { get; set; }
|
||||
public string Session { get; set; }
|
||||
public string UniqueID { get; set; }
|
||||
public string DcnAllMax { get; set; }
|
||||
public string DcnAllMean { get; set; }
|
||||
public string DcnAllMin { get; set; }
|
||||
public string DcnAllStDev { get; set; }
|
||||
public string DcnAreaCntMax { get; set; }
|
||||
public string DcnAreaCntMean { get; set; }
|
||||
public string DcnAreaCntMin { get; set; }
|
||||
public string DcnAreaCntStDev { get; set; }
|
||||
public string DcnAreaMax { get; set; }
|
||||
public string DcnAreaMean { get; set; }
|
||||
@ -271,7 +274,7 @@ public class WSRequest
|
||||
[Obsolete("For json")] public WSRequest() { }
|
||||
|
||||
#pragma warning disable IDE0060
|
||||
internal WSRequest(IFileRead fileRead, Logistics logistics, List<txt.Description> descriptions, string processDataStandardFormat = null)
|
||||
internal WSRequest(IFileRead fileRead, Logistics logistics, JsonElement[] jsonElements, List<txt.Description> descriptions, string processDataStandardFormat = null)
|
||||
#pragma warning restore IDE0060
|
||||
{
|
||||
Id = -1;
|
||||
@ -283,252 +286,254 @@ public class WSRequest
|
||||
UniqueID = x.UniqueId;
|
||||
Date = x.Date;
|
||||
Reactor = x.Reactor;
|
||||
LotID = x.Lot;
|
||||
LotID = x.Lot; // different name
|
||||
Session = x.Session;
|
||||
AttemptCounter = x.AttemptCounter;
|
||||
IndexOf = x.IndexOf;
|
||||
DcnAllMin = x.DcnAllMin;
|
||||
DcnAllMax = x.DcnAllMax;
|
||||
DcnAllMean = x.DcnAllMean;
|
||||
DcnAllStDev = x.DcnAllStdDev;
|
||||
DcnAllStDev = x.DcnAllStdDev; // different name
|
||||
DcnLpdMin = x.DcnLpdMin;
|
||||
DcnLpdMax = x.DcnLpdMax;
|
||||
DcnLpdMean = x.DcnLpdMean;
|
||||
DcnLpdStDev = x.DcnLpdStdDev;
|
||||
DcnLpdStDev = x.DcnLpdStdDev; // different name
|
||||
DcnLpdNMin = x.DcnLpdNMin;
|
||||
DcnLpdNMax = x.DcnLpdNMax;
|
||||
DcnLpdNMean = x.DcnLpdNMean;
|
||||
DcnLpdNStDev = x.DcnLpdNStdDev;
|
||||
DcnLpdNStDev = x.DcnLpdNStdDev; // different name
|
||||
DcnLpdESMin = x.DcnLpdESMin;
|
||||
DcnLpdESMax = x.DcnLpdESMax;
|
||||
DcnLpdESMean = x.DcnLpdESMean;
|
||||
DcnLpdESStDev = x.DcnLpdESStdDev;
|
||||
DcnLpdESStDev = x.DcnLpdESStdDev; // different name
|
||||
DcnMicroScrMin = x.DcnMicroScrMin;
|
||||
DcnMicroScrMax = x.DcnMicroScrMax;
|
||||
DcnMicroScrMean = x.DcnMicroScrMean;
|
||||
DcnMicroScrStDev = x.DcnMicroScrStdDev;
|
||||
DcnMicroScrStDev = x.DcnMicroScrStdDev; // different name
|
||||
DcnScrMin = x.DcnScrMin;
|
||||
DcnScrMax = x.DcnScrMax;
|
||||
DcnScrMean = x.DcnScrMean;
|
||||
DcnScrStDev = x.DcnScrStdDev;
|
||||
DcnScrStDev = x.DcnScrStdDev; // different name
|
||||
DcnSlipMin = x.DcnSlipMin;
|
||||
DcnSlipMax = x.DcnSlipMax;
|
||||
DcnSlipMean = x.DcnSlipMean;
|
||||
DcnSlipStDev = x.DcnSlipStdDev;
|
||||
DcnAreaCntMin = x.DcnAreaCountMin;
|
||||
DcnAreaCntMax = x.DcnAreaCountMax;
|
||||
DcnAreaCntMean = x.DcnAreaCountMean;
|
||||
DcnAreaCntStDev = x.DcnAreaCountStdDev;
|
||||
DcnSlipStDev = x.DcnSlipStdDev; // different name
|
||||
DcnAreaCntMin = x.DcnAreaCountMin; // different name
|
||||
DcnAreaCntMax = x.DcnAreaCountMax; // different name
|
||||
DcnAreaCntMean = x.DcnAreaCountMean; // different name
|
||||
DcnAreaCntStDev = x.DcnAreaCountStdDev; // different name
|
||||
DcnAreaMin = x.DcnAreaMin;
|
||||
DcnAreaMax = x.DcnAreaMax;
|
||||
DcnAreaMean = x.DcnAreaMean;
|
||||
DcnAreaStDev = x.DcnAreaStdDev;
|
||||
DcnAreaStDev = x.DcnAreaStdDev; // different name
|
||||
DcnHazeAvgMin = x.DcnHazeAvgMin;
|
||||
DcnHazeAvgMax = x.DcnHazeAvgMax;
|
||||
DcnHazeAvgMean = x.DcnHazeAvgMean;
|
||||
DcnHazeAvgStDev = x.DcnHazeAvgStdDev;
|
||||
DcnHazeMedMin = x.DcnHazeMedianMin;
|
||||
DcnHazeMedMax = x.DcnHazeMedianMax;
|
||||
DcnHazeMedMean = x.DcnHazeMedianMean;
|
||||
DcnHazeMedStDev = x.DcnHazeMedianStdDev;
|
||||
DcnHazeStDevMin = x.DcnHazeStdDevMin;
|
||||
DcnHazeStDevMax = x.DcnHazeStdDevMax;
|
||||
DcnHazeStDevMean = x.DcnHazeStdDevMean;
|
||||
DcnHazeStDevStDev = x.DcnHazeStdDevStdDev;
|
||||
DcnHazeAvgStDev = x.DcnHazeAvgStdDev; // different name
|
||||
DcnHazeMedMin = x.DcnHazeMedianMin; // different name
|
||||
DcnHazeMedMax = x.DcnHazeMedianMax; // different name
|
||||
DcnHazeMedMean = x.DcnHazeMedianMean; // different name
|
||||
DcnHazeMedStDev = x.DcnHazeMedianStdDev; // different name
|
||||
DcnHazeStDevMin = x.DcnHazeStdDevMin; // different name
|
||||
DcnHazeStDevMax = x.DcnHazeStdDevMax; // different name
|
||||
DcnHazeStDevMean = x.DcnHazeStdDevMean; // different name
|
||||
DcnHazeStDevStDev = x.DcnHazeStdDevStdDev; // different name
|
||||
DcnBin1Min = x.DcnBin1Min;
|
||||
DcnBin1Max = x.DcnBin1Max;
|
||||
DcnBin1Mean = x.DcnBin1Mean;
|
||||
DcnBin1StDev = x.DcnBin1StdDev;
|
||||
DcnBin1StDev = x.DcnBin1StdDev; // different name
|
||||
DcnBin2Min = x.DcnBin2Min;
|
||||
DcnBin2Max = x.DcnBin2Max;
|
||||
DcnBin2Mean = x.DcnBin2Mean;
|
||||
DcnBin2StDev = x.DcnBin2StdDev;
|
||||
DcnBin2StDev = x.DcnBin2StdDev; // different name
|
||||
DcnBin3Min = x.DcnBin3Min;
|
||||
DcnBin3Max = x.DcnBin3Max;
|
||||
DcnBin3Mean = x.DcnBin3Mean;
|
||||
DcnBin3StDev = x.DcnBin3StdDev;
|
||||
DcnBin3StDev = x.DcnBin3StdDev; // different name
|
||||
DcnBin4Min = x.DcnBin4Min;
|
||||
DcnBin4Max = x.DcnBin4Max;
|
||||
DcnBin4Mean = x.DcnBin4Mean;
|
||||
DcnBin4StDev = x.DcnBin4StdDev;
|
||||
DcnBin4StDev = x.DcnBin4StdDev; // different name
|
||||
DcnBin5Min = x.DcnBin5Min;
|
||||
DcnBin5Max = x.DcnBin5Max;
|
||||
DcnBin5Mean = x.DcnBin5Mean;
|
||||
DcnBin5StDev = x.DcnBin5StdDev;
|
||||
DcnBin5StDev = x.DcnBin5StdDev; // different name
|
||||
DcnBin6Min = x.DcnBin6Min;
|
||||
DcnBin6Max = x.DcnBin6Max;
|
||||
DcnBin6Mean = x.DcnBin6Mean;
|
||||
DcnBin6StDev = x.DcnBin6StdDev;
|
||||
DcnBin6StDev = x.DcnBin6StdDev; // different name
|
||||
DcnBin7Min = x.DcnBin7Min;
|
||||
DcnBin7Max = x.DcnBin7Max;
|
||||
DcnBin7Mean = x.DcnBin7Mean;
|
||||
DcnBin7StDev = x.DcnBin7StdDev;
|
||||
DcnBin7StDev = x.DcnBin7StdDev; // different name
|
||||
DcnBin8Min = x.DcnBin8Min;
|
||||
DcnBin8Max = x.DcnBin8Max;
|
||||
DcnBin8Mean = x.DcnBin8Mean;
|
||||
DcnBin8StDev = x.DcnBin8StdDev;
|
||||
DcnBin8StDev = x.DcnBin8StdDev; // different name
|
||||
DwnAllMin = x.DwnAllMin;
|
||||
DwnAllMax = x.DwnAllMax;
|
||||
DwnAllMean = x.DwnAllMean;
|
||||
DwnAllStDev = x.DwnAllStdDev;
|
||||
DwnAllStDev = x.DwnAllStdDev; // different name
|
||||
DwnLpdMin = x.DwnLpdMin;
|
||||
DwnLpdMax = x.DwnLpdMax;
|
||||
DwnLpdMean = x.DwnLpdMean;
|
||||
DwnLpdStDev = x.DwnLpdStdDev;
|
||||
DwnLpdStDev = x.DwnLpdStdDev; // different name
|
||||
DwnLpdNMin = x.DwnLpdNMin;
|
||||
DwnLpdNMax = x.DwnLpdNMax;
|
||||
DwnLpdNMean = x.DwnLpdNMean;
|
||||
DwnLpdNStDev = x.DwnLpdNStdDev;
|
||||
DwnLpdNStDev = x.DwnLpdNStdDev; // different name
|
||||
DwnLpdESMin = x.DwnLpdESMin;
|
||||
DwnLpdESMax = x.DwnLpdESMax;
|
||||
DwnLpdESMean = x.DwnLpdESMean;
|
||||
DwnLpdESStDev = x.DwnLpdESStdDev;
|
||||
DwnLpdESStDev = x.DwnLpdESStdDev; // different name
|
||||
DwnMicroScrMin = x.DwnMicroScrMin;
|
||||
DwnMicroScrMax = x.DwnMicroScrMax;
|
||||
DwnMicroScrMean = x.DwnMicroScrMean;
|
||||
DwnMicroScrStDev = x.DwnMicroScrStdDev;
|
||||
DwnMicroScrStDev = x.DwnMicroScrStdDev; // different name
|
||||
DwnScrMin = x.DwnScrMin;
|
||||
DwnScrMax = x.DwnScrMax;
|
||||
DwnScrMean = x.DwnScrMean;
|
||||
DwnScrStDev = x.DwnScrStdDev;
|
||||
DwnScrStDev = x.DwnScrStdDev; // different name
|
||||
DwnSlipMin = x.DwnSlipMin;
|
||||
DwnSlipMax = x.DwnSlipMax;
|
||||
DwnSlipMean = x.DwnSlipMean;
|
||||
DwnSlipStDev = x.DwnSlipStdDev;
|
||||
DwnAreaCntMin = x.DwnAreaCountMin;
|
||||
DwnAreaCntMax = x.DwnAreaCountMax;
|
||||
DwnAreaCntMean = x.DwnAreaCountMean;
|
||||
DwnAreaCntStDev = x.DwnAreaCountStdDev;
|
||||
DwnSlipStDev = x.DwnSlipStdDev; // different name
|
||||
DwnAreaCntMin = x.DwnAreaCountMin; // different name
|
||||
DwnAreaCntMax = x.DwnAreaCountMax; // different name
|
||||
DwnAreaCntMean = x.DwnAreaCountMean; // different name
|
||||
DwnAreaCntStDev = x.DwnAreaCountStdDev; // different name
|
||||
DwnAreaMin = x.DwnAreaMin;
|
||||
DwnAreaMax = x.DwnAreaMax;
|
||||
DwnAreaMean = x.DwnAreaMean;
|
||||
DwnAreaStDev = x.DwnAreaStdDev;
|
||||
DwnAreaStDev = x.DwnAreaStdDev; // different name
|
||||
DwnHazeAvgMin = x.DwnHazeAvgMin;
|
||||
DwnHazeAvgMax = x.DwnHazeAvgMax;
|
||||
DwnHazeAvgMean = x.DwnHazeAvgMean;
|
||||
DwnHazeAvgStDev = x.DwnHazeAvgStdDev;
|
||||
DwnHazeMedMin = x.DwnHazeMedianMin;
|
||||
DwnHazeMedMax = x.DwnHazeMedianMax;
|
||||
DwnHazeMedMean = x.DwnHazeMedianMean;
|
||||
DwnHazeMedStDev = x.DwnHazeMedianStdDev;
|
||||
DwnHazeStDevMin = x.DwnHazeStdDevMin;
|
||||
DwnHazeStDevMax = x.DwnHazeStdDevMax;
|
||||
DwnHazeStDevMean = x.DwnHazeStdDevMean;
|
||||
DwnHazeStDevStDev = x.DwnHazeStdDevStdDev;
|
||||
DwnHazeAvgStDev = x.DwnHazeAvgStdDev; // different name
|
||||
DwnHazeMedMin = x.DwnHazeMedianMin; // different name
|
||||
DwnHazeMedMax = x.DwnHazeMedianMax; // different name
|
||||
DwnHazeMedMean = x.DwnHazeMedianMean; // different name
|
||||
DwnHazeMedStDev = x.DwnHazeMedianStdDev; // different name
|
||||
DwnHazeStDevMin = x.DwnHazeStdDevMin; // different name
|
||||
DwnHazeStDevMax = x.DwnHazeStdDevMax; // different name
|
||||
DwnHazeStDevMean = x.DwnHazeStdDevMean; // different name
|
||||
DwnHazeStDevStDev = x.DwnHazeStdDevStdDev; // different name
|
||||
DwnBin1Min = x.DwnBin1Min;
|
||||
DwnBin1Max = x.DwnBin1Max;
|
||||
DwnBin1Mean = x.DwnBin1Mean;
|
||||
DwnBin1StDev = x.DwnBin1StdDev;
|
||||
DwnBin1StDev = x.DwnBin1StdDev; // different name
|
||||
DwnBin2Min = x.DwnBin2Min;
|
||||
DwnBin2Max = x.DwnBin2Max;
|
||||
DwnBin2Mean = x.DwnBin2Mean;
|
||||
DwnBin2StDev = x.DwnBin2StdDev;
|
||||
DwnBin2StDev = x.DwnBin2StdDev; // different name
|
||||
DwnBin3Min = x.DwnBin3Min;
|
||||
DwnBin3Max = x.DwnBin3Max;
|
||||
DwnBin3Mean = x.DwnBin3Mean;
|
||||
DwnBin3StDev = x.DwnBin3StdDev;
|
||||
DwnBin3StDev = x.DwnBin3StdDev; // different name
|
||||
DwnBin4Min = x.DwnBin4Min;
|
||||
DwnBin4Max = x.DwnBin4Max;
|
||||
DwnBin4Mean = x.DwnBin4Mean;
|
||||
DwnBin4StDev = x.DwnBin4StdDev;
|
||||
DwnBin4StDev = x.DwnBin4StdDev; // different name
|
||||
DwnBin5Min = x.DwnBin5Min;
|
||||
DwnBin5Max = x.DwnBin5Max;
|
||||
DwnBin5Mean = x.DwnBin5Mean;
|
||||
DwnBin5StDev = x.DwnBin5StdDev;
|
||||
DwnBin5StDev = x.DwnBin5StdDev; // different name
|
||||
DwnBin6Min = x.DwnBin6Min;
|
||||
DwnBin6Max = x.DwnBin6Max;
|
||||
DwnBin6Mean = x.DwnBin6Mean;
|
||||
DwnBin6StDev = x.DwnBin6StdDev;
|
||||
DwnBin6StDev = x.DwnBin6StdDev; // different name
|
||||
DwnBin7Min = x.DwnBin7Min;
|
||||
DwnBin7Max = x.DwnBin7Max;
|
||||
DwnBin7Mean = x.DwnBin7Mean;
|
||||
DwnBin7StDev = x.DwnBin7StdDev;
|
||||
DwnBin7StDev = x.DwnBin7StdDev; // different name
|
||||
DwnBin8Min = x.DwnBin8Min;
|
||||
DwnBin8Max = x.DwnBin8Max;
|
||||
DwnBin8Mean = x.DwnBin8Mean;
|
||||
DwnBin8StDev = x.DwnBin8StdDev;
|
||||
DwnBin8StDev = x.DwnBin8StdDev; // different name
|
||||
DnnAllMin = x.DnnAllMin;
|
||||
DnnAllMax = x.DnnAllMax;
|
||||
DnnAllMean = x.DnnAllMean;
|
||||
DnnAllStDev = x.DnnAllStdDev;
|
||||
DnnAllStDev = x.DnnAllStdDev; // different name
|
||||
DnnLpdMin = x.DnnLpdMin;
|
||||
DnnLpdMax = x.DnnLpdMax;
|
||||
DnnLpdMean = x.DnnLpdMean;
|
||||
DnnLpdStDev = x.DnnLpdStdDev;
|
||||
DnnLpdStDev = x.DnnLpdStdDev; // different name
|
||||
DnnLpdNMin = x.DnnLpdNMin;
|
||||
DnnLpdNMax = x.DnnLpdNMax;
|
||||
DnnLpdNMean = x.DnnLpdNMean;
|
||||
DnnLpdNStDev = x.DnnLpdNStdDev;
|
||||
DnnLpdNStDev = x.DnnLpdNStdDev; // different name
|
||||
DnnLpdESMin = x.DnnLpdESMin;
|
||||
DnnLpdESMax = x.DnnLpdESMax;
|
||||
DnnLpdESMean = x.DnnLpdESMean;
|
||||
DnnLpdESStDev = x.DnnLpdESStdDev;
|
||||
DnnLpdESStDev = x.DnnLpdESStdDev; // different name
|
||||
DnnMicroScrMin = x.DnnMicroScrMin;
|
||||
DnnMicroScrMax = x.DnnMicroScrMax;
|
||||
DnnMicroScrMean = x.DnnMicroScrMean;
|
||||
DnnMicroScrStDev = x.DnnMicroScrStdDev;
|
||||
DnnMicroScrStDev = x.DnnMicroScrStdDev; // different name
|
||||
DnnScrMin = x.DnnScrMin;
|
||||
DnnScrMax = x.DnnScrMax;
|
||||
DnnScrMean = x.DnnScrMean;
|
||||
DnnScrStDev = x.DnnScrStdDev;
|
||||
DnnScrStDev = x.DnnScrStdDev; // different name
|
||||
DnnSlipMin = x.DnnSlipMin;
|
||||
DnnSlipMax = x.DnnSlipMax;
|
||||
DnnSlipMean = x.DnnSlipMean;
|
||||
DnnSlipStDev = x.DnnSlipStdDev;
|
||||
DnnAreaCntMin = x.DnnAreaCountMin;
|
||||
DnnAreaCntMax = x.DnnAreaCountMax;
|
||||
DnnAreaCntMean = x.DnnAreaCountMean;
|
||||
DnnAreaCntStDev = x.DnnAreaCountStdDev;
|
||||
DnnSlipStDev = x.DnnSlipStdDev; // different name
|
||||
DnnAreaCntMin = x.DnnAreaCountMin; // different name
|
||||
DnnAreaCntMax = x.DnnAreaCountMax; // different name
|
||||
DnnAreaCntMean = x.DnnAreaCountMean; // different name
|
||||
DnnAreaCntStDev = x.DnnAreaCountStdDev; // different name
|
||||
DnnAreaMin = x.DnnAreaMin;
|
||||
DnnAreaMax = x.DnnAreaMax;
|
||||
DnnAreaMean = x.DnnAreaMean;
|
||||
DnnAreaStDev = x.DnnAreaStdDev;
|
||||
DnnAreaStDev = x.DnnAreaStdDev; // different name
|
||||
DnnHazeAvgMin = x.DnnHazeAvgMin;
|
||||
DnnHazeAvgMax = x.DnnHazeAvgMax;
|
||||
DnnHazeAvgMean = x.DnnHazeAvgMean;
|
||||
DnnHazeAvgStDev = x.DnnHazeAvgStdDev;
|
||||
DnnHazeMedMin = x.DnnHazeMedianMin;
|
||||
DnnHazeMedMax = x.DnnHazeMedianMax;
|
||||
DnnHazeMedMean = x.DnnHazeMedianMean;
|
||||
DnnHazeMedStDev = x.DnnHazeMedianStdDev;
|
||||
DnnHazeStDevMin = x.DnnHazeStdDevMin;
|
||||
DnnHazeStDevMax = x.DnnHazeStdDevMax;
|
||||
DnnHazeStDevMean = x.DnnHazeStdDevMean;
|
||||
DnnHazeStDevStDev = x.DnnHazeStdDevStdDev;
|
||||
DnnHazeAvgStDev = x.DnnHazeAvgStdDev; // different name
|
||||
DnnHazeMedMin = x.DnnHazeMedianMin; // different name
|
||||
DnnHazeMedMax = x.DnnHazeMedianMax; // different name
|
||||
DnnHazeMedMean = x.DnnHazeMedianMean; // different name
|
||||
DnnHazeMedStDev = x.DnnHazeMedianStdDev; // different name
|
||||
DnnHazeStDevMin = x.DnnHazeStdDevMin; // different name
|
||||
DnnHazeStDevMax = x.DnnHazeStdDevMax; // different name
|
||||
DnnHazeStDevMean = x.DnnHazeStdDevMean; // different name
|
||||
DnnHazeStDevStDev = x.DnnHazeStdDevStdDev; // different name
|
||||
DnnBin1Min = x.DnnBin1Min;
|
||||
DnnBin1Max = x.DnnBin1Max;
|
||||
DnnBin1Mean = x.DnnBin1Mean;
|
||||
DnnBin1StDev = x.DnnBin1StdDev;
|
||||
DnnBin1StDev = x.DnnBin1StdDev; // different name
|
||||
DnnBin2Min = x.DnnBin2Min;
|
||||
DnnBin2Max = x.DnnBin2Max;
|
||||
DnnBin2Mean = x.DnnBin2Mean;
|
||||
DnnBin2StDev = x.DnnBin2StdDev;
|
||||
DnnBin2StDev = x.DnnBin2StdDev; // different name
|
||||
DnnBin3Min = x.DnnBin3Min;
|
||||
DnnBin3Max = x.DnnBin3Max;
|
||||
DnnBin3Mean = x.DnnBin3Mean;
|
||||
DnnBin3StDev = x.DnnBin3StdDev;
|
||||
DnnBin3StDev = x.DnnBin3StdDev; // different name
|
||||
DnnBin4Min = x.DnnBin4Min;
|
||||
DnnBin4Max = x.DnnBin4Max;
|
||||
DnnBin4Mean = x.DnnBin4Mean;
|
||||
DnnBin4StDev = x.DnnBin4StdDev;
|
||||
DnnBin4StDev = x.DnnBin4StdDev; // different name
|
||||
DnnBin5Min = x.DnnBin5Min;
|
||||
DnnBin5Max = x.DnnBin5Max;
|
||||
DnnBin5Mean = x.DnnBin5Mean;
|
||||
DnnBin5StDev = x.DnnBin5StdDev;
|
||||
DnnBin5StDev = x.DnnBin5StdDev; // different name
|
||||
DnnBin6Min = x.DnnBin6Min;
|
||||
DnnBin6Max = x.DnnBin6Max;
|
||||
DnnBin6Mean = x.DnnBin6Mean;
|
||||
DnnBin6StDev = x.DnnBin6StdDev;
|
||||
DnnBin6StDev = x.DnnBin6StdDev; // different name
|
||||
DnnBin7Min = x.DnnBin7Min;
|
||||
DnnBin7Max = x.DnnBin7Max;
|
||||
DnnBin7Mean = x.DnnBin7Mean;
|
||||
DnnBin7StDev = x.DnnBin7StdDev;
|
||||
DnnBin7StDev = x.DnnBin7StdDev; // different name
|
||||
DnnBin8Min = x.DnnBin8Min;
|
||||
DnnBin8Max = x.DnnBin8Max;
|
||||
DnnBin8Mean = x.DnnBin8Mean;
|
||||
DnnBin8StDev = x.DnnBin8StdDev;
|
||||
DnnBin8StDev = x.DnnBin8StdDev; // different name
|
||||
RDS = x.RDS;
|
||||
PSN = x.PSN;
|
||||
Recipe = x.Recipe;
|
||||
Operator = x.Employee;
|
||||
Operator = x.Employee; // different name
|
||||
}
|
||||
txt.Detail detail;
|
||||
foreach (txt.Description description in descriptions)
|
||||
@ -635,14 +640,14 @@ public class WSRequest
|
||||
return result;
|
||||
}
|
||||
|
||||
internal static long GetHeaderId(IFileRead fileRead, Logistics logistics, string openInsightMetrologyViewerAPI, string openInsightMetrologyViewerFileShare, int weekOfYear, WS.Results results, List<txt.Description> descriptions)
|
||||
internal static long GetHeaderId(IFileRead fileRead, Logistics logistics, string openInsightMetrologyViewerAPI, string openInsightMetrologyViewerFileShare, int weekOfYear, WS.Results results, JsonElement[] jsonElements, List<txt.Description> descriptions)
|
||||
{
|
||||
long result;
|
||||
if (results is not null && results.HeaderId is not null)
|
||||
result = results.HeaderId.Value;
|
||||
else
|
||||
{
|
||||
WSRequest wsRequest = new(fileRead, logistics, descriptions);
|
||||
WSRequest wsRequest = new(fileRead, logistics, jsonElements, descriptions);
|
||||
string directory = Path.Combine(openInsightMetrologyViewerFileShare, logistics.DateTimeFromSequence.Year.ToString(), $"WW{weekOfYear:00}");
|
||||
(_, WS.Results wsResults) = WS.SendData(openInsightMetrologyViewerAPI, logistics.Sequence, directory, wsRequest);
|
||||
if (wsResults.Success is null || !wsResults.Success.Value)
|
||||
|
||||
@ -139,7 +139,7 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
return result;
|
||||
}
|
||||
|
||||
private void PostOpenInsightMetrologyViewerAttachments(List<txt.Description> descriptions)
|
||||
private void PostOpenInsightMetrologyViewerAttachments(JsonElement[] jsonElements, List<txt.Description> descriptions)
|
||||
{
|
||||
Shared.Metrology.WS.Results? results;
|
||||
string jobIdDirectory = Path.Combine(Path.GetDirectoryName(_FileConnectorConfiguration.AlternateTargetFolder) ?? throw new Exception(), _Logistics.JobID);
|
||||
@ -155,7 +155,7 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
results = wsResults[0];
|
||||
}
|
||||
int weekOfYear = _Calendar.GetWeekOfYear(_Logistics.DateTimeFromSequence, CalendarWeekRule.FirstDay, DayOfWeek.Sunday);
|
||||
long headerId = !_IsEAFHosted ? -1 : OpenInsightMetrologyViewer.WSRequest.GetHeaderId(this, _Logistics, _OpenInsightMetrologyViewerAPI, _OpenInsightMetrologyViewerFileShare, weekOfYear, results, descriptions);
|
||||
long headerId = !_IsEAFHosted ? -1 : OpenInsightMetrologyViewer.WSRequest.GetHeaderId(this, _Logistics, _OpenInsightMetrologyViewerAPI, _OpenInsightMetrologyViewerFileShare, weekOfYear, results, jsonElements, descriptions);
|
||||
string? headerIdDirectory = GetHeaderIdDirectory(headerId);
|
||||
if (string.IsNullOrEmpty(headerIdDirectory))
|
||||
throw new Exception($"Didn't find header id directory <{headerId}>");
|
||||
@ -167,14 +167,15 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
if (dateTime == DateTime.MinValue)
|
||||
throw new ArgumentNullException(nameof(dateTime));
|
||||
Tuple<string, Test[], JsonElement[], List<FileInfo>> results;
|
||||
ProcessDataStandardFormat processDataStandardFormat = ProcessDataStandardFormat.GetProcessDataStandardFormat(reportFullPath);
|
||||
string[] lines = File.ReadAllLines(reportFullPath);
|
||||
ProcessDataStandardFormat processDataStandardFormat = ProcessDataStandardFormat.GetProcessDataStandardFormat(reportFullPath, lines);
|
||||
_Logistics = new Logistics(reportFullPath, processDataStandardFormat);
|
||||
SetFileParameterLotIDToLogisticsMID();
|
||||
JsonElement[] jsonElements = ProcessDataStandardFormat.GetArray(processDataStandardFormat);
|
||||
JsonElement[] jsonElements = ProcessDataStandardFormat.GetArray(reportFullPath, lines, processDataStandardFormat);
|
||||
List<txt.Description> descriptions = txt.ProcessData.GetDescriptions(jsonElements);
|
||||
Test[] tests = (from l in descriptions select (Test)l.Test).ToArray();
|
||||
if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0)
|
||||
PostOpenInsightMetrologyViewerAttachments(descriptions);
|
||||
PostOpenInsightMetrologyViewerAttachments(jsonElements, descriptions);
|
||||
results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>());
|
||||
return results;
|
||||
}
|
||||
|
||||
@ -108,7 +108,7 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
return results;
|
||||
}
|
||||
|
||||
private void DirectoryMove(string reportFullPath, DateTime dateTime, List<txt.Description> descriptions)
|
||||
private void DirectoryMove(string reportFullPath, DateTime dateTime, JsonElement[] jsonElements, List<txt.Description> descriptions)
|
||||
{
|
||||
if (dateTime == DateTime.MinValue)
|
||||
throw new ArgumentNullException(nameof(dateTime));
|
||||
@ -122,7 +122,7 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
throw new Exception("Didn't find directory by logistics sequence");
|
||||
if (fileInfo.Exists && fileInfo.LastWriteTime < fileInfo.CreationTime)
|
||||
File.SetLastWriteTime(reportFullPath, fileInfo.CreationTime);
|
||||
OpenInsightMetrologyViewer.WSRequest wsRequest = new(this, _Logistics, descriptions);
|
||||
OpenInsightMetrologyViewer.WSRequest wsRequest = new(this, _Logistics, jsonElements, descriptions);
|
||||
JsonSerializerOptions jsonSerializerOptions = new() { WriteIndented = true };
|
||||
string json = JsonSerializer.Serialize(wsRequest, wsRequest.GetType(), jsonSerializerOptions);
|
||||
string directoryName = $"{Path.GetFileName(matchDirectories[0]).Split(new string[] { logisticsSequence }, StringSplitOptions.None)[0]}{_Logistics.DateTimeFromSequence:yyyy-MM-dd_hh;mm_tt_}{DateTime.Now.Ticks - _Logistics.Sequence}";
|
||||
@ -166,23 +166,24 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
private Tuple<string, Test[], JsonElement[], List<FileInfo>> GetExtractResult(string reportFullPath, DateTime dateTime)
|
||||
{
|
||||
Tuple<string, Test[], JsonElement[], List<FileInfo>> results;
|
||||
ProcessDataStandardFormat processDataStandardFormat = ProcessDataStandardFormat.GetProcessDataStandardFormat(reportFullPath);
|
||||
string[] lines = File.ReadAllLines(reportFullPath);
|
||||
ProcessDataStandardFormat processDataStandardFormat = ProcessDataStandardFormat.GetProcessDataStandardFormat(reportFullPath, lines);
|
||||
_Logistics = new Logistics(reportFullPath, processDataStandardFormat);
|
||||
SetFileParameterLotIDToLogisticsMID();
|
||||
JsonElement[] jsonElements = ProcessDataStandardFormat.GetArray(processDataStandardFormat);
|
||||
JsonElement[] jsonElements = ProcessDataStandardFormat.GetArray(reportFullPath, lines, processDataStandardFormat);
|
||||
List<txt.Description> descriptions = txt.ProcessData.GetDescriptions(jsonElements);
|
||||
Test[] tests = (from l in descriptions select (Test)l.Test).ToArray();
|
||||
results = new Tuple<string, Test[], JsonElement[], List<FileInfo>>(string.Join(Environment.NewLine, processDataStandardFormat.Logistics), tests, jsonElements, new List<FileInfo>());
|
||||
if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0)
|
||||
DirectoryMove(reportFullPath, dateTime, descriptions);
|
||||
DirectoryMove(reportFullPath, dateTime, jsonElements, descriptions);
|
||||
else if (!_IsEAFHosted)
|
||||
{
|
||||
OpenInsightMetrologyViewer.WSRequest wsRequest = new(this, _Logistics, descriptions);
|
||||
OpenInsightMetrologyViewer.WSRequest wsRequest = new(this, _Logistics, jsonElements, descriptions);
|
||||
JsonSerializerOptions jsonSerializerOptions = new() { WriteIndented = true };
|
||||
string json = JsonSerializer.Serialize(wsRequest, wsRequest.GetType(), jsonSerializerOptions);
|
||||
string check = JsonSerializer.Serialize(wsRequest, wsRequest.GetType(), jsonSerializerOptions);
|
||||
string jsonFileName = Path.ChangeExtension(reportFullPath, ".json");
|
||||
string historicalText = File.ReadAllText(jsonFileName);
|
||||
if (json != historicalText)
|
||||
if (check != historicalText)
|
||||
throw new Exception("File doesn't match historical!");
|
||||
}
|
||||
return results;
|
||||
|
||||
@ -4,341 +4,344 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text.Json;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Adaptation.FileHandlers.txt;
|
||||
|
||||
public class Description : IDescription, Shared.Properties.IDescription
|
||||
{
|
||||
|
||||
public int Test { get; set; }
|
||||
public int Count { get; set; }
|
||||
public int Index { get; set; }
|
||||
[JsonPropertyName("EventId")] public int Test { get; set; }
|
||||
[JsonPropertyName("Count")] public int Count { get; set; }
|
||||
[JsonPropertyName("Index")] public int Index { get; set; }
|
||||
//
|
||||
public string EventName { get; set; }
|
||||
public string NullData { get; set; }
|
||||
public string JobID { get; set; }
|
||||
public string Sequence { get; set; }
|
||||
public string MesEntity { get; set; }
|
||||
[JsonPropertyName("MesEntity")] public string MesEntity { get; set; }
|
||||
public string ReportFullPath { get; set; }
|
||||
public string ProcessJobID { get; set; }
|
||||
public string MID { get; set; }
|
||||
//
|
||||
public string Date { get; set; }
|
||||
public string Employee { get; set; }
|
||||
public string Lot { get; set; }
|
||||
public string PSN { get; set; }
|
||||
public string Reactor { get; set; }
|
||||
[JsonPropertyName("Date")] public string Date { get; set; }
|
||||
[JsonPropertyName("Employee")] public string Employee { get; set; }
|
||||
[JsonPropertyName("Lot")] public string Lot { get; set; }
|
||||
[JsonPropertyName("PSN")] public string PSN { get; set; }
|
||||
[JsonPropertyName("Reactor")] public string Reactor { get; set; }
|
||||
public string Recipe { get; set; }
|
||||
[JsonPropertyName("IndexOf")] public string IndexOf { get; set; }
|
||||
[JsonPropertyName("AttemptCounter")] public string AttemptCounter { get; set; }
|
||||
//
|
||||
public string Grade { get; set; }
|
||||
[JsonPropertyName("Grade")] public string Grade { get; set; }
|
||||
public string HeaderUniqueId { get; set; }
|
||||
public string RDS { get; set; }
|
||||
public string Session { get; set; }
|
||||
public string Side { get; set; }
|
||||
public string SrcDest { get; set; }
|
||||
[JsonPropertyName("RDS")] public string RDS { get; set; }
|
||||
[JsonPropertyName("Session")] public string Session { get; set; }
|
||||
[JsonPropertyName("Side")] public string Side { get; set; }
|
||||
[JsonPropertyName("SrcDest")] public string SrcDest { get; set; }
|
||||
public string UniqueId { get; set; }
|
||||
public string WaferID { get; set; }
|
||||
[JsonPropertyName("WaferID")] public string WaferID { get; set; }
|
||||
//
|
||||
public string DcnAllMax { get; set; }
|
||||
public string DcnAllMean { get; set; }
|
||||
public string DcnAllMin { get; set; }
|
||||
public string DcnAllStdDev { get; set; }
|
||||
public string DcnAreaCountMax { get; set; }
|
||||
public string DcnAreaCountMean { get; set; }
|
||||
public string DcnAreaCountMin { get; set; }
|
||||
public string DcnAreaCountStdDev { get; set; }
|
||||
public string DcnAreaMax { get; set; }
|
||||
public string DcnAreaMean { get; set; }
|
||||
public string DcnAreaMin { get; set; }
|
||||
public string DcnAreaStdDev { get; set; }
|
||||
public string DcnBin1Max { get; set; }
|
||||
public string DcnBin1Mean { get; set; }
|
||||
public string DcnBin1Min { get; set; }
|
||||
public string DcnBin1StdDev { get; set; }
|
||||
public string DcnBin2Max { get; set; }
|
||||
public string DcnBin2Mean { get; set; }
|
||||
public string DcnBin2Min { get; set; }
|
||||
public string DcnBin2StdDev { get; set; }
|
||||
public string DcnBin3Max { get; set; }
|
||||
public string DcnBin3Mean { get; set; }
|
||||
public string DcnBin3Min { get; set; }
|
||||
public string DcnBin3StdDev { get; set; }
|
||||
public string DcnBin4Max { get; set; }
|
||||
public string DcnBin4Mean { get; set; }
|
||||
public string DcnBin4Min { get; set; }
|
||||
public string DcnBin4StdDev { get; set; }
|
||||
public string DcnBin5Max { get; set; }
|
||||
public string DcnBin5Mean { get; set; }
|
||||
public string DcnBin5Min { get; set; }
|
||||
public string DcnBin5StdDev { get; set; }
|
||||
public string DcnBin6Max { get; set; }
|
||||
public string DcnBin6Mean { get; set; }
|
||||
public string DcnBin6Min { get; set; }
|
||||
public string DcnBin6StdDev { get; set; }
|
||||
public string DcnBin7Max { get; set; }
|
||||
public string DcnBin7Mean { get; set; }
|
||||
public string DcnBin7Min { get; set; }
|
||||
public string DcnBin7StdDev { get; set; }
|
||||
public string DcnBin8Max { get; set; }
|
||||
public string DcnBin8Mean { get; set; }
|
||||
public string DcnBin8Min { get; set; }
|
||||
public string DcnBin8StdDev { get; set; }
|
||||
public string DcnHazeAvgMax { get; set; }
|
||||
public string DcnHazeAvgMean { get; set; }
|
||||
public string DcnHazeAvgMin { get; set; }
|
||||
public string DcnHazeAvgStdDev { get; set; }
|
||||
public string DcnHazeMedianMax { get; set; }
|
||||
public string DcnHazeMedianMean { get; set; }
|
||||
public string DcnHazeMedianMin { get; set; }
|
||||
public string DcnHazeMedianStdDev { get; set; }
|
||||
public string DcnHazeStdDevMax { get; set; }
|
||||
public string DcnHazeStdDevMean { get; set; }
|
||||
public string DcnHazeStdDevMin { get; set; }
|
||||
public string DcnHazeStdDevStdDev { get; set; }
|
||||
public string DcnLpdESMax { get; set; }
|
||||
public string DcnLpdESMean { get; set; }
|
||||
public string DcnLpdESMin { get; set; }
|
||||
public string DcnLpdESStdDev { get; set; }
|
||||
public string DcnLpdMax { get; set; }
|
||||
public string DcnLpdMean { get; set; }
|
||||
public string DcnLpdMin { get; set; }
|
||||
public string DcnLpdNMax { get; set; }
|
||||
public string DcnLpdNMean { get; set; }
|
||||
public string DcnLpdNMin { get; set; }
|
||||
public string DcnLpdNStdDev { get; set; }
|
||||
public string DcnLpdStdDev { get; set; }
|
||||
public string DcnMicroScrMax { get; set; }
|
||||
public string DcnMicroScrMean { get; set; }
|
||||
public string DcnMicroScrMin { get; set; }
|
||||
public string DcnMicroScrStdDev { get; set; }
|
||||
public string DcnScrMax { get; set; }
|
||||
public string DcnScrMean { get; set; }
|
||||
public string DcnScrMin { get; set; }
|
||||
public string DcnScrStdDev { get; set; }
|
||||
public string DcnSlipMax { get; set; }
|
||||
public string DcnSlipMean { get; set; }
|
||||
public string DcnSlipMin { get; set; }
|
||||
public string DcnSlipStdDev { get; set; }
|
||||
public string DnnAllMax { get; set; }
|
||||
public string DnnAllMean { get; set; }
|
||||
public string DnnAllMin { get; set; }
|
||||
public string DnnAllStdDev { get; set; }
|
||||
public string DnnAreaCountMax { get; set; }
|
||||
public string DnnAreaCountMean { get; set; }
|
||||
public string DnnAreaCountMin { get; set; }
|
||||
public string DnnAreaCountStdDev { get; set; }
|
||||
public string DnnAreaMax { get; set; }
|
||||
public string DnnAreaMean { get; set; }
|
||||
public string DnnAreaMin { get; set; }
|
||||
public string DnnAreaStdDev { get; set; }
|
||||
public string DnnBin1Max { get; set; }
|
||||
public string DnnBin1Mean { get; set; }
|
||||
public string DnnBin1Min { get; set; }
|
||||
public string DnnBin1StdDev { get; set; }
|
||||
public string DnnBin2Max { get; set; }
|
||||
public string DnnBin2Mean { get; set; }
|
||||
public string DnnBin2Min { get; set; }
|
||||
public string DnnBin2StdDev { get; set; }
|
||||
public string DnnBin3Max { get; set; }
|
||||
public string DnnBin3Mean { get; set; }
|
||||
public string DnnBin3Min { get; set; }
|
||||
public string DnnBin3StdDev { get; set; }
|
||||
public string DnnBin4Max { get; set; }
|
||||
public string DnnBin4Mean { get; set; }
|
||||
public string DnnBin4Min { get; set; }
|
||||
public string DnnBin4StdDev { get; set; }
|
||||
public string DnnBin5Max { get; set; }
|
||||
public string DnnBin5Mean { get; set; }
|
||||
public string DnnBin5Min { get; set; }
|
||||
public string DnnBin5StdDev { get; set; }
|
||||
public string DnnBin6Max { get; set; }
|
||||
public string DnnBin6Mean { get; set; }
|
||||
public string DnnBin6Min { get; set; }
|
||||
public string DnnBin6StdDev { get; set; }
|
||||
public string DnnBin7Max { get; set; }
|
||||
public string DnnBin7Mean { get; set; }
|
||||
public string DnnBin7Min { get; set; }
|
||||
public string DnnBin7StdDev { get; set; }
|
||||
public string DnnBin8Max { get; set; }
|
||||
public string DnnBin8Mean { get; set; }
|
||||
public string DnnBin8Min { get; set; }
|
||||
public string DnnBin8StdDev { get; set; }
|
||||
public string DnnHazeAvgMax { get; set; }
|
||||
public string DnnHazeAvgMean { get; set; }
|
||||
public string DnnHazeAvgMin { get; set; }
|
||||
public string DnnHazeAvgStdDev { get; set; }
|
||||
public string DnnHazeMedianMax { get; set; }
|
||||
public string DnnHazeMedianMean { get; set; }
|
||||
public string DnnHazeMedianMin { get; set; }
|
||||
public string DnnHazeMedianStdDev { get; set; }
|
||||
public string DnnHazeStdDevMax { get; set; }
|
||||
public string DnnHazeStdDevMean { get; set; }
|
||||
public string DnnHazeStdDevMin { get; set; }
|
||||
public string DnnHazeStdDevStdDev { get; set; }
|
||||
public string DnnLpdESMax { get; set; }
|
||||
public string DnnLpdESMean { get; set; }
|
||||
public string DnnLpdESMin { get; set; }
|
||||
public string DnnLpdESStdDev { get; set; }
|
||||
public string DnnLpdMax { get; set; }
|
||||
public string DnnLpdMean { get; set; }
|
||||
public string DnnLpdMin { get; set; }
|
||||
public string DnnLpdNMax { get; set; }
|
||||
public string DnnLpdNMean { get; set; }
|
||||
public string DnnLpdNMin { get; set; }
|
||||
public string DnnLpdNStdDev { get; set; }
|
||||
public string DnnLpdStdDev { get; set; }
|
||||
public string DnnMicroScrMax { get; set; }
|
||||
public string DnnMicroScrMean { get; set; }
|
||||
public string DnnMicroScrMin { get; set; }
|
||||
public string DnnMicroScrStdDev { get; set; }
|
||||
public string DnnScrMax { get; set; }
|
||||
public string DnnScrMean { get; set; }
|
||||
public string DnnScrMin { get; set; }
|
||||
public string DnnScrStdDev { get; set; }
|
||||
public string DnnSlipMax { get; set; }
|
||||
public string DnnSlipMean { get; set; }
|
||||
public string DnnSlipMin { get; set; }
|
||||
public string DnnSlipStdDev { get; set; }
|
||||
public string DwnAllMax { get; set; }
|
||||
public string DwnAllMean { get; set; }
|
||||
public string DwnAllMin { get; set; }
|
||||
public string DwnAllStdDev { get; set; }
|
||||
public string DwnAreaCountMax { get; set; }
|
||||
public string DwnAreaCountMean { get; set; }
|
||||
public string DwnAreaCountMin { get; set; }
|
||||
public string DwnAreaCountStdDev { get; set; }
|
||||
public string DwnAreaMax { get; set; }
|
||||
public string DwnAreaMean { get; set; }
|
||||
public string DwnAreaMin { get; set; }
|
||||
public string DwnAreaStdDev { get; set; }
|
||||
public string DwnBin1Max { get; set; }
|
||||
public string DwnBin1Mean { get; set; }
|
||||
public string DwnBin1Min { get; set; }
|
||||
public string DwnBin1StdDev { get; set; }
|
||||
public string DwnBin2Max { get; set; }
|
||||
public string DwnBin2Mean { get; set; }
|
||||
public string DwnBin2Min { get; set; }
|
||||
public string DwnBin2StdDev { get; set; }
|
||||
public string DwnBin3Max { get; set; }
|
||||
public string DwnBin3Mean { get; set; }
|
||||
public string DwnBin3Min { get; set; }
|
||||
public string DwnBin3StdDev { get; set; }
|
||||
public string DwnBin4Max { get; set; }
|
||||
public string DwnBin4Mean { get; set; }
|
||||
public string DwnBin4Min { get; set; }
|
||||
public string DwnBin4StdDev { get; set; }
|
||||
public string DwnBin5Max { get; set; }
|
||||
public string DwnBin5Mean { get; set; }
|
||||
public string DwnBin5Min { get; set; }
|
||||
public string DwnBin5StdDev { get; set; }
|
||||
public string DwnBin6Max { get; set; }
|
||||
public string DwnBin6Mean { get; set; }
|
||||
public string DwnBin6Min { get; set; }
|
||||
public string DwnBin6StdDev { get; set; }
|
||||
public string DwnBin7Max { get; set; }
|
||||
public string DwnBin7Mean { get; set; }
|
||||
public string DwnBin7Min { get; set; }
|
||||
public string DwnBin7StdDev { get; set; }
|
||||
public string DwnBin8Max { get; set; }
|
||||
public string DwnBin8Mean { get; set; }
|
||||
public string DwnBin8Min { get; set; }
|
||||
public string DwnBin8StdDev { get; set; }
|
||||
public string DwnHazeAvgMax { get; set; }
|
||||
public string DwnHazeAvgMean { get; set; }
|
||||
public string DwnHazeAvgMin { get; set; }
|
||||
public string DwnHazeAvgStdDev { get; set; }
|
||||
public string DwnHazeMedianMax { get; set; }
|
||||
public string DwnHazeMedianMean { get; set; }
|
||||
public string DwnHazeMedianMin { get; set; }
|
||||
public string DwnHazeMedianStdDev { get; set; }
|
||||
public string DwnHazeStdDevMax { get; set; }
|
||||
public string DwnHazeStdDevMean { get; set; }
|
||||
public string DwnHazeStdDevMin { get; set; }
|
||||
public string DwnHazeStdDevStdDev { get; set; }
|
||||
public string DwnLpdESMax { get; set; }
|
||||
public string DwnLpdESMean { get; set; }
|
||||
public string DwnLpdESMin { get; set; }
|
||||
public string DwnLpdESStdDev { get; set; }
|
||||
public string DwnLpdMax { get; set; }
|
||||
public string DwnLpdMean { get; set; }
|
||||
public string DwnLpdMin { get; set; }
|
||||
public string DwnLpdNMax { get; set; }
|
||||
public string DwnLpdNMean { get; set; }
|
||||
public string DwnLpdNMin { get; set; }
|
||||
public string DwnLpdNStdDev { get; set; }
|
||||
public string DwnLpdStdDev { get; set; }
|
||||
public string DwnMicroScrMax { get; set; }
|
||||
public string DwnMicroScrMean { get; set; }
|
||||
public string DwnMicroScrMin { get; set; }
|
||||
public string DwnMicroScrStdDev { get; set; }
|
||||
public string DwnScrMax { get; set; }
|
||||
public string DwnScrMean { get; set; }
|
||||
public string DwnScrMin { get; set; }
|
||||
public string DwnScrStdDev { get; set; }
|
||||
public string DwnSlipMax { get; set; }
|
||||
public string DwnSlipMean { get; set; }
|
||||
public string DwnSlipMin { get; set; }
|
||||
public string DwnSlipStdDev { get; set; }
|
||||
public string DcnAll { get; set; }
|
||||
public string DcnArea { get; set; }
|
||||
public string DcnAreaCount { get; set; }
|
||||
public string DcnBin1 { get; set; }
|
||||
public string DcnBin2 { get; set; }
|
||||
public string DcnBin3 { get; set; }
|
||||
public string DcnBin4 { get; set; }
|
||||
public string DcnBin5 { get; set; }
|
||||
public string DcnBin6 { get; set; }
|
||||
public string DcnBin7 { get; set; }
|
||||
public string DcnBin8 { get; set; }
|
||||
public string DcnHazeAvg { get; set; }
|
||||
public string DcnHazeMedian { get; set; }
|
||||
public string DcnHazeStdDev { get; set; }
|
||||
public string DcnLpd { get; set; }
|
||||
public string DcnLpdES { get; set; }
|
||||
public string DcnLpdN { get; set; }
|
||||
public string DcnMicroScr { get; set; }
|
||||
public string DcnScr { get; set; }
|
||||
public string DcnSlip { get; set; }
|
||||
public string DnnAll { get; set; }
|
||||
public string DnnArea { get; set; }
|
||||
public string DnnAreaCount { get; set; }
|
||||
public string DnnBin1 { get; set; }
|
||||
public string DnnBin2 { get; set; }
|
||||
public string DnnBin3 { get; set; }
|
||||
public string DnnBin4 { get; set; }
|
||||
public string DnnBin5 { get; set; }
|
||||
public string DnnBin6 { get; set; }
|
||||
public string DnnBin7 { get; set; }
|
||||
public string DnnBin8 { get; set; }
|
||||
public string DnnHazeAvg { get; set; }
|
||||
public string DnnHazeMedian { get; set; }
|
||||
public string DnnHazeStdDev { get; set; }
|
||||
public string DnnLpd { get; set; }
|
||||
public string DnnLpdES { get; set; }
|
||||
public string DnnLpdN { get; set; }
|
||||
public string DnnMicroScr { get; set; }
|
||||
public string DnnScr { get; set; }
|
||||
public string DnnSlip { get; set; }
|
||||
public string DwnAll { get; set; }
|
||||
public string DwnArea { get; set; }
|
||||
public string DwnAreaCount { get; set; }
|
||||
public string DwnBin1 { get; set; }
|
||||
public string DwnBin2 { get; set; }
|
||||
public string DwnBin3 { get; set; }
|
||||
public string DwnBin4 { get; set; }
|
||||
public string DwnBin5 { get; set; }
|
||||
public string DwnBin6 { get; set; }
|
||||
public string DwnBin7 { get; set; }
|
||||
public string DwnBin8 { get; set; }
|
||||
public string DwnHazeAvg { get; set; }
|
||||
public string DwnHazeMedian { get; set; }
|
||||
public string DwnHazeStdDev { get; set; }
|
||||
public string DwnLpd { get; set; }
|
||||
public string DwnLpdES { get; set; }
|
||||
public string DwnLpdN { get; set; }
|
||||
public string DwnMicroScr { get; set; }
|
||||
public string DwnScr { get; set; }
|
||||
public string DwnSlip { get; set; }
|
||||
[JsonPropertyName("DcnAllMax")] public string DcnAllMax { get; set; }
|
||||
[JsonPropertyName("DcnAllMean")] public string DcnAllMean { get; set; }
|
||||
[JsonPropertyName("DcnAllMin")] public string DcnAllMin { get; set; }
|
||||
[JsonPropertyName("DcnAllStdDev")] public string DcnAllStdDev { get; set; }
|
||||
[JsonPropertyName("DcnAreaCountMax")] public string DcnAreaCountMax { get; set; }
|
||||
[JsonPropertyName("DcnAreaCountMean")] public string DcnAreaCountMean { get; set; }
|
||||
[JsonPropertyName("DcnAreaCountMin")] public string DcnAreaCountMin { get; set; }
|
||||
[JsonPropertyName("DcnAreaCountStdDev")] public string DcnAreaCountStdDev { get; set; }
|
||||
[JsonPropertyName("DcnAreaMax")] public string DcnAreaMax { get; set; }
|
||||
[JsonPropertyName("DcnAreaMean")] public string DcnAreaMean { get; set; }
|
||||
[JsonPropertyName("DcnAreaMin")] public string DcnAreaMin { get; set; }
|
||||
[JsonPropertyName("DcnAreaStdDev")] public string DcnAreaStdDev { get; set; }
|
||||
[JsonPropertyName("DcnBin1Max")] public string DcnBin1Max { get; set; }
|
||||
[JsonPropertyName("DcnBin1Mean")] public string DcnBin1Mean { get; set; }
|
||||
[JsonPropertyName("DcnBin1Min")] public string DcnBin1Min { get; set; }
|
||||
[JsonPropertyName("DcnBin1StdDev")] public string DcnBin1StdDev { get; set; }
|
||||
[JsonPropertyName("DcnBin2Max")] public string DcnBin2Max { get; set; }
|
||||
[JsonPropertyName("DcnBin2Mean")] public string DcnBin2Mean { get; set; }
|
||||
[JsonPropertyName("DcnBin2Min")] public string DcnBin2Min { get; set; }
|
||||
[JsonPropertyName("DcnBin2StdDev")] public string DcnBin2StdDev { get; set; }
|
||||
[JsonPropertyName("DcnBin3Max")] public string DcnBin3Max { get; set; }
|
||||
[JsonPropertyName("DcnBin3Mean")] public string DcnBin3Mean { get; set; }
|
||||
[JsonPropertyName("DcnBin3Min")] public string DcnBin3Min { get; set; }
|
||||
[JsonPropertyName("DcnBin3StdDev")] public string DcnBin3StdDev { get; set; }
|
||||
[JsonPropertyName("DcnBin4Max")] public string DcnBin4Max { get; set; }
|
||||
[JsonPropertyName("DcnBin4Mean")] public string DcnBin4Mean { get; set; }
|
||||
[JsonPropertyName("DcnBin4Min")] public string DcnBin4Min { get; set; }
|
||||
[JsonPropertyName("DcnBin4StdDev")] public string DcnBin4StdDev { get; set; }
|
||||
[JsonPropertyName("DcnBin5Max")] public string DcnBin5Max { get; set; }
|
||||
[JsonPropertyName("DcnBin5Mean")] public string DcnBin5Mean { get; set; }
|
||||
[JsonPropertyName("DcnBin5Min")] public string DcnBin5Min { get; set; }
|
||||
[JsonPropertyName("DcnBin5StdDev")] public string DcnBin5StdDev { get; set; }
|
||||
[JsonPropertyName("DcnBin6Max")] public string DcnBin6Max { get; set; }
|
||||
[JsonPropertyName("DcnBin6Mean")] public string DcnBin6Mean { get; set; }
|
||||
[JsonPropertyName("DcnBin6Min")] public string DcnBin6Min { get; set; }
|
||||
[JsonPropertyName("DcnBin6StdDev")] public string DcnBin6StdDev { get; set; }
|
||||
[JsonPropertyName("DcnBin7Max")] public string DcnBin7Max { get; set; }
|
||||
[JsonPropertyName("DcnBin7Mean")] public string DcnBin7Mean { get; set; }
|
||||
[JsonPropertyName("DcnBin7Min")] public string DcnBin7Min { get; set; }
|
||||
[JsonPropertyName("DcnBin7StdDev")] public string DcnBin7StdDev { get; set; }
|
||||
[JsonPropertyName("DcnBin8Max")] public string DcnBin8Max { get; set; }
|
||||
[JsonPropertyName("DcnBin8Mean")] public string DcnBin8Mean { get; set; }
|
||||
[JsonPropertyName("DcnBin8Min")] public string DcnBin8Min { get; set; }
|
||||
[JsonPropertyName("DcnBin8StdDev")] public string DcnBin8StdDev { get; set; }
|
||||
[JsonPropertyName("DcnHazeAvgMax")] public string DcnHazeAvgMax { get; set; }
|
||||
[JsonPropertyName("DcnHazeAvgMean")] public string DcnHazeAvgMean { get; set; }
|
||||
[JsonPropertyName("DcnHazeAvgMin")] public string DcnHazeAvgMin { get; set; }
|
||||
[JsonPropertyName("DcnHazeAvgStdDev")] public string DcnHazeAvgStdDev { get; set; }
|
||||
[JsonPropertyName("DcnHazeMedianMax")] public string DcnHazeMedianMax { get; set; }
|
||||
[JsonPropertyName("DcnHazeMedianMean")] public string DcnHazeMedianMean { get; set; }
|
||||
[JsonPropertyName("DcnHazeMedianMin")] public string DcnHazeMedianMin { get; set; }
|
||||
[JsonPropertyName("DcnHazeMedianStdDev")] public string DcnHazeMedianStdDev { get; set; }
|
||||
[JsonPropertyName("DcnHazeStdDevMax")] public string DcnHazeStdDevMax { get; set; }
|
||||
[JsonPropertyName("DcnHazeStdDevMean")] public string DcnHazeStdDevMean { get; set; }
|
||||
[JsonPropertyName("DcnHazeStdDevMin")] public string DcnHazeStdDevMin { get; set; }
|
||||
[JsonPropertyName("DcnHazeStdDevStdDev")] public string DcnHazeStdDevStdDev { get; set; }
|
||||
[JsonPropertyName("DcnLpdESMax")] public string DcnLpdESMax { get; set; }
|
||||
[JsonPropertyName("DcnLpdESMean")] public string DcnLpdESMean { get; set; }
|
||||
[JsonPropertyName("DcnLpdESMin")] public string DcnLpdESMin { get; set; }
|
||||
[JsonPropertyName("DcnLpdESStdDev")] public string DcnLpdESStdDev { get; set; }
|
||||
[JsonPropertyName("DcnLpdMax")] public string DcnLpdMax { get; set; }
|
||||
[JsonPropertyName("DcnLpdMean")] public string DcnLpdMean { get; set; }
|
||||
[JsonPropertyName("DcnLpdMin")] public string DcnLpdMin { get; set; }
|
||||
[JsonPropertyName("DcnLpdNMax")] public string DcnLpdNMax { get; set; }
|
||||
[JsonPropertyName("DcnLpdNMean")] public string DcnLpdNMean { get; set; }
|
||||
[JsonPropertyName("DcnLpdNMin")] public string DcnLpdNMin { get; set; }
|
||||
[JsonPropertyName("DcnLpdNStdDev")] public string DcnLpdNStdDev { get; set; }
|
||||
[JsonPropertyName("DcnLpdStdDev")] public string DcnLpdStdDev { get; set; }
|
||||
[JsonPropertyName("DcnMicroScrMax")] public string DcnMicroScrMax { get; set; }
|
||||
[JsonPropertyName("DcnMicroScrMean")] public string DcnMicroScrMean { get; set; }
|
||||
[JsonPropertyName("DcnMicroScrMin")] public string DcnMicroScrMin { get; set; }
|
||||
[JsonPropertyName("DcnMicroScrStdDev")] public string DcnMicroScrStdDev { get; set; }
|
||||
[JsonPropertyName("DcnScrMax")] public string DcnScrMax { get; set; }
|
||||
[JsonPropertyName("DcnScrMean")] public string DcnScrMean { get; set; }
|
||||
[JsonPropertyName("DcnScrMin")] public string DcnScrMin { get; set; }
|
||||
[JsonPropertyName("DcnScrStdDev")] public string DcnScrStdDev { get; set; }
|
||||
[JsonPropertyName("DcnSlipMax")] public string DcnSlipMax { get; set; }
|
||||
[JsonPropertyName("DcnSlipMean")] public string DcnSlipMean { get; set; }
|
||||
[JsonPropertyName("DcnSlipMin")] public string DcnSlipMin { get; set; }
|
||||
[JsonPropertyName("DcnSlipStdDev")] public string DcnSlipStdDev { get; set; }
|
||||
[JsonPropertyName("DnnAllMax")] public string DnnAllMax { get; set; }
|
||||
[JsonPropertyName("DnnAllMean")] public string DnnAllMean { get; set; }
|
||||
[JsonPropertyName("DnnAllMin")] public string DnnAllMin { get; set; }
|
||||
[JsonPropertyName("DnnAllStdDev")] public string DnnAllStdDev { get; set; }
|
||||
[JsonPropertyName("DnnAreaCountMax")] public string DnnAreaCountMax { get; set; }
|
||||
[JsonPropertyName("DnnAreaCountMean")] public string DnnAreaCountMean { get; set; }
|
||||
[JsonPropertyName("DnnAreaCountMin")] public string DnnAreaCountMin { get; set; }
|
||||
[JsonPropertyName("DnnAreaCountStdDev")] public string DnnAreaCountStdDev { get; set; }
|
||||
[JsonPropertyName("DnnAreaMax")] public string DnnAreaMax { get; set; }
|
||||
[JsonPropertyName("DnnAreaMean")] public string DnnAreaMean { get; set; }
|
||||
[JsonPropertyName("DnnAreaMin")] public string DnnAreaMin { get; set; }
|
||||
[JsonPropertyName("DnnAreaStdDev")] public string DnnAreaStdDev { get; set; }
|
||||
[JsonPropertyName("DnnBin1Max")] public string DnnBin1Max { get; set; }
|
||||
[JsonPropertyName("DnnBin1Mean")] public string DnnBin1Mean { get; set; }
|
||||
[JsonPropertyName("DnnBin1Min")] public string DnnBin1Min { get; set; }
|
||||
[JsonPropertyName("DnnBin1StdDev")] public string DnnBin1StdDev { get; set; }
|
||||
[JsonPropertyName("DnnBin2Max")] public string DnnBin2Max { get; set; }
|
||||
[JsonPropertyName("DnnBin2Mean")] public string DnnBin2Mean { get; set; }
|
||||
[JsonPropertyName("DnnBin2Min")] public string DnnBin2Min { get; set; }
|
||||
[JsonPropertyName("DnnBin2StdDev")] public string DnnBin2StdDev { get; set; }
|
||||
[JsonPropertyName("DnnBin3Max")] public string DnnBin3Max { get; set; }
|
||||
[JsonPropertyName("DnnBin3Mean")] public string DnnBin3Mean { get; set; }
|
||||
[JsonPropertyName("DnnBin3Min")] public string DnnBin3Min { get; set; }
|
||||
[JsonPropertyName("DnnBin3StdDev")] public string DnnBin3StdDev { get; set; }
|
||||
[JsonPropertyName("DnnBin4Max")] public string DnnBin4Max { get; set; }
|
||||
[JsonPropertyName("DnnBin4Mean")] public string DnnBin4Mean { get; set; }
|
||||
[JsonPropertyName("DnnBin4Min")] public string DnnBin4Min { get; set; }
|
||||
[JsonPropertyName("DnnBin4StdDev")] public string DnnBin4StdDev { get; set; }
|
||||
[JsonPropertyName("DnnBin5Max")] public string DnnBin5Max { get; set; }
|
||||
[JsonPropertyName("DnnBin5Mean")] public string DnnBin5Mean { get; set; }
|
||||
[JsonPropertyName("DnnBin5Min")] public string DnnBin5Min { get; set; }
|
||||
[JsonPropertyName("DnnBin5StdDev")] public string DnnBin5StdDev { get; set; }
|
||||
[JsonPropertyName("DnnBin6Max")] public string DnnBin6Max { get; set; }
|
||||
[JsonPropertyName("DnnBin6Mean")] public string DnnBin6Mean { get; set; }
|
||||
[JsonPropertyName("DnnBin6Min")] public string DnnBin6Min { get; set; }
|
||||
[JsonPropertyName("DnnBin6StdDev")] public string DnnBin6StdDev { get; set; }
|
||||
[JsonPropertyName("DnnBin7Max")] public string DnnBin7Max { get; set; }
|
||||
[JsonPropertyName("DnnBin7Mean")] public string DnnBin7Mean { get; set; }
|
||||
[JsonPropertyName("DnnBin7Min")] public string DnnBin7Min { get; set; }
|
||||
[JsonPropertyName("DnnBin7StdDev")] public string DnnBin7StdDev { get; set; }
|
||||
[JsonPropertyName("DnnBin8Max")] public string DnnBin8Max { get; set; }
|
||||
[JsonPropertyName("DnnBin8Mean")] public string DnnBin8Mean { get; set; }
|
||||
[JsonPropertyName("DnnBin8Min")] public string DnnBin8Min { get; set; }
|
||||
[JsonPropertyName("DnnBin8StdDev")] public string DnnBin8StdDev { get; set; }
|
||||
[JsonPropertyName("DnnHazeAvgMax")] public string DnnHazeAvgMax { get; set; }
|
||||
[JsonPropertyName("DnnHazeAvgMean")] public string DnnHazeAvgMean { get; set; }
|
||||
[JsonPropertyName("DnnHazeAvgMin")] public string DnnHazeAvgMin { get; set; }
|
||||
[JsonPropertyName("DnnHazeAvgStdDev")] public string DnnHazeAvgStdDev { get; set; }
|
||||
[JsonPropertyName("DnnHazeMedianMax")] public string DnnHazeMedianMax { get; set; }
|
||||
[JsonPropertyName("DnnHazeMedianMean")] public string DnnHazeMedianMean { get; set; }
|
||||
[JsonPropertyName("DnnHazeMedianMin")] public string DnnHazeMedianMin { get; set; }
|
||||
[JsonPropertyName("DnnHazeMedianStdDev")] public string DnnHazeMedianStdDev { get; set; }
|
||||
[JsonPropertyName("DnnHazeStdDevMax")] public string DnnHazeStdDevMax { get; set; }
|
||||
[JsonPropertyName("DnnHazeStdDevMean")] public string DnnHazeStdDevMean { get; set; }
|
||||
[JsonPropertyName("DnnHazeStdDevMin")] public string DnnHazeStdDevMin { get; set; }
|
||||
[JsonPropertyName("DnnHazeStdDevStdDev")] public string DnnHazeStdDevStdDev { get; set; }
|
||||
[JsonPropertyName("DnnLpdESMax")] public string DnnLpdESMax { get; set; }
|
||||
[JsonPropertyName("DnnLpdESMean")] public string DnnLpdESMean { get; set; }
|
||||
[JsonPropertyName("DnnLpdESMin")] public string DnnLpdESMin { get; set; }
|
||||
[JsonPropertyName("DnnLpdESStdDev")] public string DnnLpdESStdDev { get; set; }
|
||||
[JsonPropertyName("DnnLpdMax")] public string DnnLpdMax { get; set; }
|
||||
[JsonPropertyName("DnnLpdMean")] public string DnnLpdMean { get; set; }
|
||||
[JsonPropertyName("DnnLpdMin")] public string DnnLpdMin { get; set; }
|
||||
[JsonPropertyName("DnnLpdNMax")] public string DnnLpdNMax { get; set; }
|
||||
[JsonPropertyName("DnnLpdNMean")] public string DnnLpdNMean { get; set; }
|
||||
[JsonPropertyName("DnnLpdNMin")] public string DnnLpdNMin { get; set; }
|
||||
[JsonPropertyName("DnnLpdNStdDev")] public string DnnLpdNStdDev { get; set; }
|
||||
[JsonPropertyName("DnnLpdStdDev")] public string DnnLpdStdDev { get; set; }
|
||||
[JsonPropertyName("DnnMicroScrMax")] public string DnnMicroScrMax { get; set; }
|
||||
[JsonPropertyName("DnnMicroScrMean")] public string DnnMicroScrMean { get; set; }
|
||||
[JsonPropertyName("DnnMicroScrMin")] public string DnnMicroScrMin { get; set; }
|
||||
[JsonPropertyName("DnnMicroScrStdDev")] public string DnnMicroScrStdDev { get; set; }
|
||||
[JsonPropertyName("DnnScrMax")] public string DnnScrMax { get; set; }
|
||||
[JsonPropertyName("DnnScrMean")] public string DnnScrMean { get; set; }
|
||||
[JsonPropertyName("DnnScrMin")] public string DnnScrMin { get; set; }
|
||||
[JsonPropertyName("DnnScrStdDev")] public string DnnScrStdDev { get; set; }
|
||||
[JsonPropertyName("DnnSlipMax")] public string DnnSlipMax { get; set; }
|
||||
[JsonPropertyName("DnnSlipMean")] public string DnnSlipMean { get; set; }
|
||||
[JsonPropertyName("DnnSlipMin")] public string DnnSlipMin { get; set; }
|
||||
[JsonPropertyName("DnnSlipStdDev")] public string DnnSlipStdDev { get; set; }
|
||||
[JsonPropertyName("DwnAllMax")] public string DwnAllMax { get; set; }
|
||||
[JsonPropertyName("DwnAllMean")] public string DwnAllMean { get; set; }
|
||||
[JsonPropertyName("DwnAllMin")] public string DwnAllMin { get; set; }
|
||||
[JsonPropertyName("DwnAllStdDev")] public string DwnAllStdDev { get; set; }
|
||||
[JsonPropertyName("DwnAreaCountMax")] public string DwnAreaCountMax { get; set; }
|
||||
[JsonPropertyName("DwnAreaCountMean")] public string DwnAreaCountMean { get; set; }
|
||||
[JsonPropertyName("DwnAreaCountMin")] public string DwnAreaCountMin { get; set; }
|
||||
[JsonPropertyName("DwnAreaCountStdDev")] public string DwnAreaCountStdDev { get; set; }
|
||||
[JsonPropertyName("DwnAreaMax")] public string DwnAreaMax { get; set; }
|
||||
[JsonPropertyName("DwnAreaMean")] public string DwnAreaMean { get; set; }
|
||||
[JsonPropertyName("DwnAreaMin")] public string DwnAreaMin { get; set; }
|
||||
[JsonPropertyName("DwnAreaStdDev")] public string DwnAreaStdDev { get; set; }
|
||||
[JsonPropertyName("DwnBin1Max")] public string DwnBin1Max { get; set; }
|
||||
[JsonPropertyName("DwnBin1Mean")] public string DwnBin1Mean { get; set; }
|
||||
[JsonPropertyName("DwnBin1Min")] public string DwnBin1Min { get; set; }
|
||||
[JsonPropertyName("DwnBin1StdDev")] public string DwnBin1StdDev { get; set; }
|
||||
[JsonPropertyName("DwnBin2Max")] public string DwnBin2Max { get; set; }
|
||||
[JsonPropertyName("DwnBin2Mean")] public string DwnBin2Mean { get; set; }
|
||||
[JsonPropertyName("DwnBin2Min")] public string DwnBin2Min { get; set; }
|
||||
[JsonPropertyName("DwnBin2StdDev")] public string DwnBin2StdDev { get; set; }
|
||||
[JsonPropertyName("DwnBin3Max")] public string DwnBin3Max { get; set; }
|
||||
[JsonPropertyName("DwnBin3Mean")] public string DwnBin3Mean { get; set; }
|
||||
[JsonPropertyName("DwnBin3Min")] public string DwnBin3Min { get; set; }
|
||||
[JsonPropertyName("DwnBin3StdDev")] public string DwnBin3StdDev { get; set; }
|
||||
[JsonPropertyName("DwnBin4Max")] public string DwnBin4Max { get; set; }
|
||||
[JsonPropertyName("DwnBin4Mean")] public string DwnBin4Mean { get; set; }
|
||||
[JsonPropertyName("DwnBin4Min")] public string DwnBin4Min { get; set; }
|
||||
[JsonPropertyName("DwnBin4StdDev")] public string DwnBin4StdDev { get; set; }
|
||||
[JsonPropertyName("DwnBin5Max")] public string DwnBin5Max { get; set; }
|
||||
[JsonPropertyName("DwnBin5Mean")] public string DwnBin5Mean { get; set; }
|
||||
[JsonPropertyName("DwnBin5Min")] public string DwnBin5Min { get; set; }
|
||||
[JsonPropertyName("DwnBin5StdDev")] public string DwnBin5StdDev { get; set; }
|
||||
[JsonPropertyName("DwnBin6Max")] public string DwnBin6Max { get; set; }
|
||||
[JsonPropertyName("DwnBin6Mean")] public string DwnBin6Mean { get; set; }
|
||||
[JsonPropertyName("DwnBin6Min")] public string DwnBin6Min { get; set; }
|
||||
[JsonPropertyName("DwnBin6StdDev")] public string DwnBin6StdDev { get; set; }
|
||||
[JsonPropertyName("DwnBin7Max")] public string DwnBin7Max { get; set; }
|
||||
[JsonPropertyName("DwnBin7Mean")] public string DwnBin7Mean { get; set; }
|
||||
[JsonPropertyName("DwnBin7Min")] public string DwnBin7Min { get; set; }
|
||||
[JsonPropertyName("DwnBin7StdDev")] public string DwnBin7StdDev { get; set; }
|
||||
[JsonPropertyName("DwnBin8Max")] public string DwnBin8Max { get; set; }
|
||||
[JsonPropertyName("DwnBin8Mean")] public string DwnBin8Mean { get; set; }
|
||||
[JsonPropertyName("DwnBin8Min")] public string DwnBin8Min { get; set; }
|
||||
[JsonPropertyName("DwnBin8StdDev")] public string DwnBin8StdDev { get; set; }
|
||||
[JsonPropertyName("DwnHazeAvgMax")] public string DwnHazeAvgMax { get; set; }
|
||||
[JsonPropertyName("DwnHazeAvgMean")] public string DwnHazeAvgMean { get; set; }
|
||||
[JsonPropertyName("DwnHazeAvgMin")] public string DwnHazeAvgMin { get; set; }
|
||||
[JsonPropertyName("DwnHazeAvgStdDev")] public string DwnHazeAvgStdDev { get; set; }
|
||||
[JsonPropertyName("DwnHazeMedianMax")] public string DwnHazeMedianMax { get; set; }
|
||||
[JsonPropertyName("DwnHazeMedianMean")] public string DwnHazeMedianMean { get; set; }
|
||||
[JsonPropertyName("DwnHazeMedianMin")] public string DwnHazeMedianMin { get; set; }
|
||||
[JsonPropertyName("DwnHazeMedianStdDev")] public string DwnHazeMedianStdDev { get; set; }
|
||||
[JsonPropertyName("DwnHazeStdDevMax")] public string DwnHazeStdDevMax { get; set; }
|
||||
[JsonPropertyName("DwnHazeStdDevMean")] public string DwnHazeStdDevMean { get; set; }
|
||||
[JsonPropertyName("DwnHazeStdDevMin")] public string DwnHazeStdDevMin { get; set; }
|
||||
[JsonPropertyName("DwnHazeStdDevStdDev")] public string DwnHazeStdDevStdDev { get; set; }
|
||||
[JsonPropertyName("DwnLpdESMax")] public string DwnLpdESMax { get; set; }
|
||||
[JsonPropertyName("DwnLpdESMean")] public string DwnLpdESMean { get; set; }
|
||||
[JsonPropertyName("DwnLpdESMin")] public string DwnLpdESMin { get; set; }
|
||||
[JsonPropertyName("DwnLpdESStdDev")] public string DwnLpdESStdDev { get; set; }
|
||||
[JsonPropertyName("DwnLpdMax")] public string DwnLpdMax { get; set; }
|
||||
[JsonPropertyName("DwnLpdMean")] public string DwnLpdMean { get; set; }
|
||||
[JsonPropertyName("DwnLpdMin")] public string DwnLpdMin { get; set; }
|
||||
[JsonPropertyName("DwnLpdNMax")] public string DwnLpdNMax { get; set; }
|
||||
[JsonPropertyName("DwnLpdNMean")] public string DwnLpdNMean { get; set; }
|
||||
[JsonPropertyName("DwnLpdNMin")] public string DwnLpdNMin { get; set; }
|
||||
[JsonPropertyName("DwnLpdNStdDev")] public string DwnLpdNStdDev { get; set; }
|
||||
[JsonPropertyName("DwnLpdStdDev")] public string DwnLpdStdDev { get; set; }
|
||||
[JsonPropertyName("DwnMicroScrMax")] public string DwnMicroScrMax { get; set; }
|
||||
[JsonPropertyName("DwnMicroScrMean")] public string DwnMicroScrMean { get; set; }
|
||||
[JsonPropertyName("DwnMicroScrMin")] public string DwnMicroScrMin { get; set; }
|
||||
[JsonPropertyName("DwnMicroScrStdDev")] public string DwnMicroScrStdDev { get; set; }
|
||||
[JsonPropertyName("DwnScrMax")] public string DwnScrMax { get; set; }
|
||||
[JsonPropertyName("DwnScrMean")] public string DwnScrMean { get; set; }
|
||||
[JsonPropertyName("DwnScrMin")] public string DwnScrMin { get; set; }
|
||||
[JsonPropertyName("DwnScrStdDev")] public string DwnScrStdDev { get; set; }
|
||||
[JsonPropertyName("DwnSlipMax")] public string DwnSlipMax { get; set; }
|
||||
[JsonPropertyName("DwnSlipMean")] public string DwnSlipMean { get; set; }
|
||||
[JsonPropertyName("DwnSlipMin")] public string DwnSlipMin { get; set; }
|
||||
[JsonPropertyName("DwnSlipStdDev")] public string DwnSlipStdDev { get; set; }
|
||||
[JsonPropertyName("DcnAll")] public string DcnAll { get; set; }
|
||||
[JsonPropertyName("DcnArea")] public string DcnArea { get; set; }
|
||||
[JsonPropertyName("DcnAreaCount")] public string DcnAreaCount { get; set; }
|
||||
[JsonPropertyName("DcnBin1")] public string DcnBin1 { get; set; }
|
||||
[JsonPropertyName("DcnBin2")] public string DcnBin2 { get; set; }
|
||||
[JsonPropertyName("DcnBin3")] public string DcnBin3 { get; set; }
|
||||
[JsonPropertyName("DcnBin4")] public string DcnBin4 { get; set; }
|
||||
[JsonPropertyName("DcnBin5")] public string DcnBin5 { get; set; }
|
||||
[JsonPropertyName("DcnBin6")] public string DcnBin6 { get; set; }
|
||||
[JsonPropertyName("DcnBin7")] public string DcnBin7 { get; set; }
|
||||
[JsonPropertyName("DcnBin8")] public string DcnBin8 { get; set; }
|
||||
[JsonPropertyName("DcnHazeAvg")] public string DcnHazeAvg { get; set; }
|
||||
[JsonPropertyName("DcnHazeMedian")] public string DcnHazeMedian { get; set; }
|
||||
[JsonPropertyName("DcnHazeStdDev")] public string DcnHazeStdDev { get; set; }
|
||||
[JsonPropertyName("DcnLpd")] public string DcnLpd { get; set; }
|
||||
[JsonPropertyName("DcnLpdES")] public string DcnLpdES { get; set; }
|
||||
[JsonPropertyName("DcnLpdN")] public string DcnLpdN { get; set; }
|
||||
[JsonPropertyName("DcnMicroScr")] public string DcnMicroScr { get; set; }
|
||||
[JsonPropertyName("DcnScr")] public string DcnScr { get; set; }
|
||||
[JsonPropertyName("DcnSlip")] public string DcnSlip { get; set; }
|
||||
[JsonPropertyName("DnnAll")] public string DnnAll { get; set; }
|
||||
[JsonPropertyName("DnnArea")] public string DnnArea { get; set; }
|
||||
[JsonPropertyName("DnnAreaCount")] public string DnnAreaCount { get; set; }
|
||||
[JsonPropertyName("DnnBin1")] public string DnnBin1 { get; set; }
|
||||
[JsonPropertyName("DnnBin2")] public string DnnBin2 { get; set; }
|
||||
[JsonPropertyName("DnnBin3")] public string DnnBin3 { get; set; }
|
||||
[JsonPropertyName("DnnBin4")] public string DnnBin4 { get; set; }
|
||||
[JsonPropertyName("DnnBin5")] public string DnnBin5 { get; set; }
|
||||
[JsonPropertyName("DnnBin6")] public string DnnBin6 { get; set; }
|
||||
[JsonPropertyName("DnnBin7")] public string DnnBin7 { get; set; }
|
||||
[JsonPropertyName("DnnBin8")] public string DnnBin8 { get; set; }
|
||||
[JsonPropertyName("DnnHazeAvg")] public string DnnHazeAvg { get; set; }
|
||||
[JsonPropertyName("DnnHazeMedian")] public string DnnHazeMedian { get; set; }
|
||||
[JsonPropertyName("DnnHazeStdDev")] public string DnnHazeStdDev { get; set; }
|
||||
[JsonPropertyName("DnnLpd")] public string DnnLpd { get; set; }
|
||||
[JsonPropertyName("DnnLpdES")] public string DnnLpdES { get; set; }
|
||||
[JsonPropertyName("DnnLpdN")] public string DnnLpdN { get; set; }
|
||||
[JsonPropertyName("DnnMicroScr")] public string DnnMicroScr { get; set; }
|
||||
[JsonPropertyName("DnnScr")] public string DnnScr { get; set; }
|
||||
[JsonPropertyName("DnnSlip")] public string DnnSlip { get; set; }
|
||||
[JsonPropertyName("DwnAll")] public string DwnAll { get; set; }
|
||||
[JsonPropertyName("DwnArea")] public string DwnArea { get; set; }
|
||||
[JsonPropertyName("DwnAreaCount")] public string DwnAreaCount { get; set; }
|
||||
[JsonPropertyName("DwnBin1")] public string DwnBin1 { get; set; }
|
||||
[JsonPropertyName("DwnBin2")] public string DwnBin2 { get; set; }
|
||||
[JsonPropertyName("DwnBin3")] public string DwnBin3 { get; set; }
|
||||
[JsonPropertyName("DwnBin4")] public string DwnBin4 { get; set; }
|
||||
[JsonPropertyName("DwnBin5")] public string DwnBin5 { get; set; }
|
||||
[JsonPropertyName("DwnBin6")] public string DwnBin6 { get; set; }
|
||||
[JsonPropertyName("DwnBin7")] public string DwnBin7 { get; set; }
|
||||
[JsonPropertyName("DwnBin8")] public string DwnBin8 { get; set; }
|
||||
[JsonPropertyName("DwnHazeAvg")] public string DwnHazeAvg { get; set; }
|
||||
[JsonPropertyName("DwnHazeMedian")] public string DwnHazeMedian { get; set; }
|
||||
[JsonPropertyName("DwnHazeStdDev")] public string DwnHazeStdDev { get; set; }
|
||||
[JsonPropertyName("DwnLpd")] public string DwnLpd { get; set; }
|
||||
[JsonPropertyName("DwnLpdES")] public string DwnLpdES { get; set; }
|
||||
[JsonPropertyName("DwnLpdN")] public string DwnLpdN { get; set; }
|
||||
[JsonPropertyName("DwnMicroScr")] public string DwnMicroScr { get; set; }
|
||||
[JsonPropertyName("DwnScr")] public string DwnScr { get; set; }
|
||||
[JsonPropertyName("DwnSlip")] public string DwnSlip { get; set; }
|
||||
|
||||
string IDescription.GetEventDescription() => "File Has been read and parsed";
|
||||
|
||||
@ -782,6 +785,8 @@ public class Description : IDescription, Shared.Properties.IDescription
|
||||
PSN = processData.PSN,
|
||||
Reactor = processData.Reactor,
|
||||
Recipe = processData.Recipe,
|
||||
IndexOf = nameof(IndexOf),
|
||||
AttemptCounter = nameof(AttemptCounter),
|
||||
//
|
||||
Grade = detail.Grade,
|
||||
HeaderUniqueId = detail.HeaderUniqueID,
|
||||
@ -1128,6 +1133,8 @@ public class Description : IDescription, Shared.Properties.IDescription
|
||||
PSN = nameof(PSN),
|
||||
Reactor = nameof(Reactor),
|
||||
Recipe = nameof(Recipe),
|
||||
IndexOf = nameof(IndexOf),
|
||||
AttemptCounter = nameof(AttemptCounter),
|
||||
//
|
||||
Grade = nameof(Grade),
|
||||
HeaderUniqueId = nameof(HeaderUniqueId),
|
||||
@ -1444,4 +1451,16 @@ public class Description : IDescription, Shared.Properties.IDescription
|
||||
|
||||
internal static string GetDateFormat() => "MM/dd/yyyy hh:mm:ss tt";
|
||||
|
||||
}
|
||||
|
||||
[JsonSourceGenerationOptions(WriteIndented = true, NumberHandling = JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
|
||||
[JsonSerializable(typeof(Description))]
|
||||
internal partial class DescriptionSourceGenerationContext : JsonSerializerContext
|
||||
{
|
||||
}
|
||||
|
||||
[JsonSourceGenerationOptions(WriteIndented = true, NumberHandling = JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
|
||||
[JsonSerializable(typeof(Description[]))]
|
||||
internal partial class DescriptionArraySourceGenerationContext : JsonSerializerContext
|
||||
{
|
||||
}
|
||||
@ -1,76 +1,90 @@
|
||||
namespace Adaptation.FileHandlers.txt;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Adaptation.FileHandlers.txt;
|
||||
|
||||
public class Detail
|
||||
{
|
||||
|
||||
public string Grade { get; set; }
|
||||
[JsonPropertyName("Grade")] public string Grade { get; set; }
|
||||
public string HeaderUniqueID { get; set; }
|
||||
public string Side { get; set; }
|
||||
public string SrcDest { get; set; }
|
||||
[JsonPropertyName("Side")] public string Side { get; set; }
|
||||
[JsonPropertyName("SrcDest")] public string SrcDest { get; set; }
|
||||
public string UniqueID { get; set; }
|
||||
public string WaferID { get; set; }
|
||||
[JsonPropertyName("WaferID")] public string WaferID { get; set; }
|
||||
public string Data { get; set; }
|
||||
public string DcnAll { get; set; }
|
||||
public string DcnArea { get; set; }
|
||||
public string DcnAreaCount { get; set; }
|
||||
public string DcnBin1 { get; set; }
|
||||
public string DcnBin2 { get; set; }
|
||||
public string DcnBin3 { get; set; }
|
||||
public string DcnBin4 { get; set; }
|
||||
public string DcnBin5 { get; set; }
|
||||
public string DcnBin6 { get; set; }
|
||||
public string DcnBin7 { get; set; }
|
||||
public string DcnBin8 { get; set; }
|
||||
public string DcnHazeAvg { get; set; }
|
||||
public string DcnHazeMedian { get; set; }
|
||||
public string DcnHazeStdDev { get; set; }
|
||||
public string DcnLpd { get; set; }
|
||||
public string DcnLpdES { get; set; }
|
||||
public string DcnLpdN { get; set; }
|
||||
public string DcnMicroScr { get; set; }
|
||||
public string DcnScr { get; set; }
|
||||
public string DcnSlip { get; set; }
|
||||
public string DnnAll { get; set; }
|
||||
public string DnnArea { get; set; }
|
||||
public string DnnAreaCount { get; set; }
|
||||
public string DnnBin1 { get; set; }
|
||||
public string DnnBin2 { get; set; }
|
||||
public string DnnBin3 { get; set; }
|
||||
public string DnnBin4 { get; set; }
|
||||
public string DnnBin5 { get; set; }
|
||||
public string DnnBin6 { get; set; }
|
||||
public string DnnBin7 { get; set; }
|
||||
public string DnnBin8 { get; set; }
|
||||
public string DnnHazeAvg { get; set; }
|
||||
public string DnnHazeMedian { get; set; }
|
||||
public string DnnHazeStdDev { get; set; }
|
||||
public string DnnLpd { get; set; }
|
||||
public string DnnLpdES { get; set; }
|
||||
public string DnnLpdN { get; set; }
|
||||
public string DnnMicroScr { get; set; }
|
||||
public string DnnScr { get; set; }
|
||||
public string DnnSlip { get; set; }
|
||||
public string DwnAll { get; set; }
|
||||
public string DwnArea { get; set; }
|
||||
public string DwnAreaCount { get; set; }
|
||||
public string DwnBin1 { get; set; }
|
||||
public string DwnBin2 { get; set; }
|
||||
public string DwnBin3 { get; set; }
|
||||
public string DwnBin4 { get; set; }
|
||||
public string DwnBin5 { get; set; }
|
||||
public string DwnBin6 { get; set; }
|
||||
public string DwnBin7 { get; set; }
|
||||
public string DwnBin8 { get; set; }
|
||||
public string DwnHazeAvg { get; set; }
|
||||
public string DwnHazeMedian { get; set; }
|
||||
public string DwnHazeStdDev { get; set; }
|
||||
public string DwnLpd { get; set; }
|
||||
public string DwnLpdES { get; set; }
|
||||
public string DwnLpdN { get; set; }
|
||||
public string DwnMicroScr { get; set; }
|
||||
public string DwnScr { get; set; }
|
||||
public string DwnSlip { get; set; }
|
||||
[JsonPropertyName("DcnAll")] public string DcnAll { get; set; }
|
||||
[JsonPropertyName("DcnArea")] public string DcnArea { get; set; }
|
||||
[JsonPropertyName("DcnAreaCount")] public string DcnAreaCount { get; set; }
|
||||
[JsonPropertyName("DcnBin1")] public string DcnBin1 { get; set; }
|
||||
[JsonPropertyName("DcnBin2")] public string DcnBin2 { get; set; }
|
||||
[JsonPropertyName("DcnBin3")] public string DcnBin3 { get; set; }
|
||||
[JsonPropertyName("DcnBin4")] public string DcnBin4 { get; set; }
|
||||
[JsonPropertyName("DcnBin5")] public string DcnBin5 { get; set; }
|
||||
[JsonPropertyName("DcnBin6")] public string DcnBin6 { get; set; }
|
||||
[JsonPropertyName("DcnBin7")] public string DcnBin7 { get; set; }
|
||||
[JsonPropertyName("DcnBin8")] public string DcnBin8 { get; set; }
|
||||
[JsonPropertyName("DcnHazeAvg")] public string DcnHazeAvg { get; set; }
|
||||
[JsonPropertyName("DcnHazeMedian")] public string DcnHazeMedian { get; set; }
|
||||
[JsonPropertyName("DcnHazeStdDev")] public string DcnHazeStdDev { get; set; }
|
||||
[JsonPropertyName("DcnLpd")] public string DcnLpd { get; set; }
|
||||
[JsonPropertyName("DcnLpdES")] public string DcnLpdES { get; set; }
|
||||
[JsonPropertyName("DcnLpdN")] public string DcnLpdN { get; set; }
|
||||
[JsonPropertyName("DcnMicroScr")] public string DcnMicroScr { get; set; }
|
||||
[JsonPropertyName("DcnScr")] public string DcnScr { get; set; }
|
||||
[JsonPropertyName("DcnSlip")] public string DcnSlip { get; set; }
|
||||
[JsonPropertyName("DnnAll")] public string DnnAll { get; set; }
|
||||
[JsonPropertyName("DnnArea")] public string DnnArea { get; set; }
|
||||
[JsonPropertyName("DnnAreaCount")] public string DnnAreaCount { get; set; }
|
||||
[JsonPropertyName("DnnBin1")] public string DnnBin1 { get; set; }
|
||||
[JsonPropertyName("DnnBin2")] public string DnnBin2 { get; set; }
|
||||
[JsonPropertyName("DnnBin3")] public string DnnBin3 { get; set; }
|
||||
[JsonPropertyName("DnnBin4")] public string DnnBin4 { get; set; }
|
||||
[JsonPropertyName("DnnBin5")] public string DnnBin5 { get; set; }
|
||||
[JsonPropertyName("DnnBin6")] public string DnnBin6 { get; set; }
|
||||
[JsonPropertyName("DnnBin7")] public string DnnBin7 { get; set; }
|
||||
[JsonPropertyName("DnnBin8")] public string DnnBin8 { get; set; }
|
||||
[JsonPropertyName("DnnHazeAvg")] public string DnnHazeAvg { get; set; }
|
||||
[JsonPropertyName("DnnHazeMedian")] public string DnnHazeMedian { get; set; }
|
||||
[JsonPropertyName("DnnHazeStdDev")] public string DnnHazeStdDev { get; set; }
|
||||
[JsonPropertyName("DnnLpd")] public string DnnLpd { get; set; }
|
||||
[JsonPropertyName("DnnLpdES")] public string DnnLpdES { get; set; }
|
||||
[JsonPropertyName("DnnLpdN")] public string DnnLpdN { get; set; }
|
||||
[JsonPropertyName("DnnMicroScr")] public string DnnMicroScr { get; set; }
|
||||
[JsonPropertyName("DnnScr")] public string DnnScr { get; set; }
|
||||
[JsonPropertyName("DnnSlip")] public string DnnSlip { get; set; }
|
||||
[JsonPropertyName("DwnAll")] public string DwnAll { get; set; }
|
||||
[JsonPropertyName("DwnArea")] public string DwnArea { get; set; }
|
||||
[JsonPropertyName("DwnAreaCount")] public string DwnAreaCount { get; set; }
|
||||
[JsonPropertyName("DwnBin1")] public string DwnBin1 { get; set; }
|
||||
[JsonPropertyName("DwnBin2")] public string DwnBin2 { get; set; }
|
||||
[JsonPropertyName("DwnBin3")] public string DwnBin3 { get; set; }
|
||||
[JsonPropertyName("DwnBin4")] public string DwnBin4 { get; set; }
|
||||
[JsonPropertyName("DwnBin5")] public string DwnBin5 { get; set; }
|
||||
[JsonPropertyName("DwnBin6")] public string DwnBin6 { get; set; }
|
||||
[JsonPropertyName("DwnBin7")] public string DwnBin7 { get; set; }
|
||||
[JsonPropertyName("DwnBin8")] public string DwnBin8 { get; set; }
|
||||
[JsonPropertyName("DwnHazeAvg")] public string DwnHazeAvg { get; set; }
|
||||
[JsonPropertyName("DwnHazeMedian")] public string DwnHazeMedian { get; set; }
|
||||
[JsonPropertyName("DwnHazeStdDev")] public string DwnHazeStdDev { get; set; }
|
||||
[JsonPropertyName("DwnLpd")] public string DwnLpd { get; set; }
|
||||
[JsonPropertyName("DwnLpdES")] public string DwnLpdES { get; set; }
|
||||
[JsonPropertyName("DwnLpdN")] public string DwnLpdN { get; set; }
|
||||
[JsonPropertyName("DwnMicroScr")] public string DwnMicroScr { get; set; }
|
||||
[JsonPropertyName("DwnScr")] public string DwnScr { get; set; }
|
||||
[JsonPropertyName("DwnSlip")] public string DwnSlip { get; set; }
|
||||
|
||||
public Detail() => Data = "*Data*";
|
||||
|
||||
}
|
||||
|
||||
[JsonSourceGenerationOptions(WriteIndented = true, NumberHandling = JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
|
||||
[JsonSerializable(typeof(Detail))]
|
||||
internal partial class DetailSourceGenerationContext : JsonSerializerContext
|
||||
{
|
||||
}
|
||||
|
||||
[JsonSourceGenerationOptions(WriteIndented = true, NumberHandling = JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString)]
|
||||
[JsonSerializable(typeof(Detail[]))]
|
||||
internal partial class DetailArraySourceGenerationContext : JsonSerializerContext
|
||||
{
|
||||
}
|
||||
@ -1060,12 +1060,11 @@ public class ProcessData : IProcessData
|
||||
{
|
||||
List<Description> results = new();
|
||||
Description? description;
|
||||
JsonSerializerOptions jsonSerializerOptions = new() { NumberHandling = JsonNumberHandling.AllowReadingFromString | JsonNumberHandling.WriteAsString };
|
||||
foreach (JsonElement jsonElement in jsonElements)
|
||||
{
|
||||
if (jsonElement.ValueKind != JsonValueKind.Object)
|
||||
throw new Exception();
|
||||
description = JsonSerializer.Deserialize<Description>(jsonElement.ToString(), jsonSerializerOptions);
|
||||
description = JsonSerializer.Deserialize(jsonElement.ToString(), DescriptionSourceGenerationContext.Default.Description);
|
||||
if (description is null)
|
||||
continue;
|
||||
results.Add(description);
|
||||
|
||||
Reference in New Issue
Block a user