MET08DDUPSP1TBI - v2.43.4 - MethodBaseName

This commit is contained in:
2022-08-08 16:27:23 -07:00
parent ee67aa5403
commit 90c44cffbb
35 changed files with 1131 additions and 238 deletions

View File

@ -24,14 +24,6 @@ public class ProcessData : IProcessData
public string JobID { get; set; }
public string MesEntity { get; set; }
public string Date { get; set; }
public string Lot { get; set; }
public string Operator { get; set; }
public string PSN { get; set; }
public string RDS { get; set; }
public string Reactor { get; set; }
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; }
@ -272,6 +264,14 @@ public class ProcessData : IProcessData
public string DwnSlipMean { get; set; }
public string DwnSlipMin { get; set; }
public string DwnSlipStdDev { get; set; }
public string Employee { get; set; }
public string Lot { get; set; }
public string PSN { get; set; }
public string RDS { get; set; }
public string Reactor { get; set; }
public string Recipe { get; set; }
public string Session { get; set; }
public string UniqueID { get; set; }
List<object> Shared.Properties.IProcessData.Details => _Details;
@ -457,12 +457,79 @@ public class ProcessData : IProcessData
}
}
private void ParseHeader(ILogistics logistics, List<WaferSummaryInfo> dcnTotals, List<WaferSummaryInfo> dwnTotals, List<WaferSummaryInfo> dnnTotals)
public static Descriptor GetDescriptor(string text)
{
_I = 0;
_Data = string.Empty;
string summaryReportText = File.ReadAllText(logistics.ReportFullPath);
if (!string.IsNullOrEmpty(summaryReportText))
Descriptor result;
string lot;
string rds;
string psn;
string reactor;
string employee;
const string defaultPSN = "0000";
const string defaultReactor = "00";
const string defaultRDS = "000000";
if (text.Length is 2 or 3)
{
lot = text;
employee = text;
rds = defaultRDS;
psn = defaultPSN;
reactor = defaultReactor;
}
else
{
// Remove illegal characters \/:*?"<>| found in the Lot.
lot = Regex.Replace(text, @"[\\,\/,\:,\*,\?,\"",\<,\>,\|]", "_").Split('\r')[0].Split('\n')[0];
string[] segments = lot.Split('-');
if (segments.Length == 0)
reactor = defaultReactor;
else
reactor = segments[0];
if (segments.Length <= 1)
rds = defaultRDS;
else
rds = segments[1];
if (reactor.Length > 3)
{
rds = reactor;
reactor = defaultReactor;
}
if (segments.Length <= 2)
psn = defaultPSN;
else
psn = segments[2];
if (segments.Length <= 3)
employee = string.Empty;
else
employee = segments[3];
}
result = new(employee, lot, psn, rds, reactor);
return result;
}
private void Set(ILogistics logistics, string summaryReportText)
{
string lot;
string rds;
string psn;
string recipe;
string reactor;
string session;
string employee;
const string defaultPSN = "0000";
const string defaultReactor = "00";
const string defaultRDS = "000000";
if (string.IsNullOrEmpty(summaryReportText))
{
rds = defaultRDS;
psn = defaultPSN;
lot = string.Empty;
recipe = string.Empty;
session = string.Empty;
reactor = defaultReactor;
employee = string.Empty;
}
else
{
_Log.Debug("HeaderFile() - Beginning");
_I = 0;
@ -470,29 +537,38 @@ public class ProcessData : IProcessData
ScanPast("Long Wafer Summary");
_ = GetToEOL();
ScanPast("Session:");
string toEOL = GetToEOL(true);
string str = toEOL;
Recipe = toEOL;
Session = str;
recipe = GetToEOL(true);
session = recipe;
ScanPast("Lot ID:");
Lot = GetToEOL(true);
// Remove illegal characters \/:*?"<>| found in the Lot.
Lot = Regex.Replace(Lot, @"[\\,\/,\:,\*,\?,\"",\<,\>,\|]", "_").Split('\r')[0].Split('\n')[0];
string[] segments = Lot.Split(new char[] { '-' });
_Log.Debug("HeaderFile() - Debug A");
if (segments.Length > 1)
{
Reactor = segments[0];
RDS = segments[1];
if (segments.Length > 2)
{
PSN = segments[2];
if (segments.Length > 3)
Operator = segments[3];
}
}
lot = GetToEOL(true);
Descriptor descriptor = GetDescriptor(lot);
lot = descriptor.Lot;
psn = descriptor.PSN;
rds = descriptor.RDS;
reactor = descriptor.Reactor;
employee = descriptor.Employee;
}
Lot = lot;
PSN = psn;
RDS = rds;
Recipe = recipe;
Reactor = reactor;
Session = session;
Employee = employee;
UniqueID = string.Format("{0}_{1}_{2}", logistics.JobID, lot, Path.GetFileNameWithoutExtension(logistics.ReportFullPath));
}
private void ParseHeader(ILogistics logistics, List<WaferSummaryInfo> dcnTotals, List<WaferSummaryInfo> dwnTotals, List<WaferSummaryInfo> dnnTotals)
{
_I = 0;
_Data = string.Empty;
string summaryReportText = File.ReadAllText(logistics.ReportFullPath);
Set(logistics, summaryReportText);
if (!string.IsNullOrEmpty(summaryReportText))
{
_Log.Debug("HeaderFile() - Debug B");
_I = 0;
string[] segments;
_Data = summaryReportText;
GetWaferSummaryInfo(dcnTotals, "DCN Totals");
ScanPast("Min");
@ -784,8 +860,6 @@ public class ProcessData : IProcessData
DnnBin8StdDev = segments[19];
}
}
//UniqueID = string.Format("{0}_{1}_Summary_{2}", logistics.JobID, Lot, Date);
UniqueID = string.Format("{0}_{1}_{2}", logistics.JobID, Lot, Path.GetFileNameWithoutExtension(logistics.ReportFullPath));
}
/// <summary>