MET08DDUPSP1TBI - v2.43.4 - MethodBaseName
This commit is contained in:
@ -16,6 +16,7 @@ internal partial class Main
|
||||
private static object _IfxTransport;
|
||||
private static string _CellInstanceName;
|
||||
private static string _LSL2SQLConnectionString;
|
||||
private static string _TibcoParameterSubjectPrefix;
|
||||
private static FileConnectorConfiguration _FileConnectorConfiguration;
|
||||
|
||||
internal static void Initialize(ISMTP smtp, string cellInstanceName, FileConnectorConfiguration fileConnectorConfiguration, string lsl2SQLConnectionString)
|
||||
@ -23,6 +24,7 @@ internal partial class Main
|
||||
_SMTP = smtp;
|
||||
_IfxTransport = null;
|
||||
_CellInstanceName = cellInstanceName;
|
||||
_TibcoParameterSubjectPrefix = string.Empty;
|
||||
_LSL2SQLConnectionString = lsl2SQLConnectionString;
|
||||
_FileConnectorConfiguration = fileConnectorConfiguration;
|
||||
}
|
||||
@ -37,6 +39,7 @@ internal partial class Main
|
||||
}
|
||||
if (setIfxTransport)
|
||||
{
|
||||
_TibcoParameterSubjectPrefix = tibcoParameterSubjectPrefix;
|
||||
results.Add(string.Concat("IfxTransport Subject: ", tibcoParameterSubject));
|
||||
IfxDoc ifxDoc = new();
|
||||
ifxDoc.Add(IfxConst.SUBJECT_PREFIX, tibcoParameterSubjectPrefix);
|
||||
@ -176,8 +179,8 @@ internal partial class Main
|
||||
{ envelopeDocument.SaveAsXml(fileName); }
|
||||
catch (Exception) { }
|
||||
}
|
||||
if (!subject.EndsWith("GETJOBS"))
|
||||
throw new Exception();
|
||||
if (!subject.Contains(_TibcoParameterSubjectPrefix))
|
||||
throw new Exception("Invalid Subject");
|
||||
mid = GetJobsMID(envelopeDocument);
|
||||
Job job = new(_LSL2SQLConnectionString, mid);
|
||||
if (job.IsAreaSi)
|
||||
|
@ -777,7 +777,7 @@ public class Description : IDescription, Shared.Properties.IDescription
|
||||
MID = logistics.MID,
|
||||
//
|
||||
Date = processData.Date,
|
||||
Employee = processData.Operator,
|
||||
Employee = processData.Employee,
|
||||
Lot = processData.Lot,
|
||||
PSN = processData.PSN,
|
||||
Reactor = processData.Reactor,
|
||||
|
21
Adaptation/FileHandlers/txt/Descriptor.cs
Normal file
21
Adaptation/FileHandlers/txt/Descriptor.cs
Normal file
@ -0,0 +1,21 @@
|
||||
namespace Adaptation.FileHandlers.txt;
|
||||
|
||||
public class Descriptor
|
||||
{
|
||||
|
||||
public string Employee { get; private set; }
|
||||
public string Lot { get; private set; }
|
||||
public string PSN { get; private set; }
|
||||
public string RDS { get; private set; }
|
||||
public string Reactor { get; private set; }
|
||||
|
||||
public Descriptor(string employee, string lot, string psn, string rds, string reactor)
|
||||
{
|
||||
Employee = employee;
|
||||
Lot = lot;
|
||||
PSN = psn;
|
||||
RDS = rds;
|
||||
Reactor = reactor;
|
||||
}
|
||||
|
||||
}
|
@ -105,8 +105,14 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
IProcessData iProcessData = new ProcessData(this, _Logistics, results.Item4);
|
||||
if (iProcessData is not ProcessData processData)
|
||||
throw new Exception(string.Concat("A) No Data - ", dateTime.Ticks));
|
||||
string mid = string.Concat(processData.Reactor, "-", processData.RDS, "-", processData.PSN);
|
||||
mid = Regex.Replace(mid, @"[\\,\/,\:,\*,\?,\"",\<,\>,\|]", "_").Split('\r')[0].Split('\n')[0];
|
||||
string mid;
|
||||
if (!string.IsNullOrEmpty(processData.Employee) && string.IsNullOrEmpty(processData.Reactor) && string.IsNullOrEmpty(processData.RDS) && string.IsNullOrEmpty(processData.PSN))
|
||||
mid = processData.Employee;
|
||||
else
|
||||
{
|
||||
mid = string.Concat(processData.Reactor, "-", processData.RDS, "-", processData.PSN);
|
||||
mid = Regex.Replace(mid, @"[\\,\/,\:,\*,\?,\"",\<,\>,\|]", "_").Split('\r')[0].Split('\n')[0];
|
||||
}
|
||||
SetFileParameterLotID(mid);
|
||||
_Logistics.Update(mid, processData.Reactor);
|
||||
if (!iProcessData.Details.Any())
|
||||
|
@ -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