MET08DDUPSP1TBI - v2.43.4 - MethodBaseName
This commit is contained in:
@ -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>
|
||||
|
Reference in New Issue
Block a user