Removed 24 hour filter for missing header
Added MesEntity to file name for OI
This commit is contained in:
2023-04-20 11:33:46 -07:00
parent 2bb9f185fd
commit 34b7d75b20
19 changed files with 589 additions and 100 deletions

View File

@ -152,20 +152,17 @@ public class FileRead : Shared.FileRead, IFileRead
string lines = GetLines(descriptions);
if (!string.IsNullOrEmpty(lines))
{
int? count;
long? subGroupId;
long breakAfter = dateTime.AddSeconds(_BreakAfterSeconds).Ticks;
long preWait = _FileConnectorConfiguration?.FileHandleWaitTime is null ? dateTime.AddMilliseconds(1234).Ticks : dateTime.AddMilliseconds(_FileConnectorConfiguration.FileHandleWaitTime.Value).Ticks;
if (string.IsNullOrEmpty(descriptions[0].Reactor) || string.IsNullOrEmpty(descriptions[0].PSN))
(subGroupId, count) = (null, null);
subGroupId = null;
else
(subGroupId, count, string _) = FromIQS.GetCommandText(_IqsConnectionString, _Logistics, descriptions[0], breakAfter, preWait);
(subGroupId, int? _, string _) = FromIQS.GetCommandText(_IqsConnectionString, _Logistics, descriptions[0], breakAfter, preWait);
if (subGroupId is null)
collection.Add(new(new ScopeInfo(tests[0], _OpenInsightFilePattern), lines));
else if (count is null)
collection.Add(new(new ScopeInfo(tests[0], $"{subGroupId.Value} {_OpenInsightFilePattern}"), lines));
else
collection.Add(new(new ScopeInfo(tests[0], $"{subGroupId.Value} E{count.Value} {_OpenInsightFilePattern}"), lines));
collection.Add(new(new ScopeInfo(tests[0], $"{subGroupId.Value} {_OpenInsightFilePattern}"), lines));
string weekOfYear = _Calendar.GetWeekOfYear(_Logistics.DateTimeFromSequence, CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString("00");
FromIQS.Save(_OpenInsightApiECDirectory, _OpenInsightApiIFXDirectory, _Logistics, reportFullPath, logistics, descriptions.First(), lines, subGroupId, weekOfYear);
}

View File

@ -328,7 +328,17 @@ public partial class ProcessData : IProcessData
string defaultLayer = string.Empty;
string defaultReactor = string.Empty;
string defaultEmployee = string.Empty;
if (string.IsNullOrEmpty(text) || (text.Length is 2 or 3 && Regex.IsMatch(text, "^[a-zA-z]{2,3}")))
if (Regex.IsMatch(text, @"^[a-zA-z][0-9]{4}$"))
{
wafer = text.ToUpper();
psn = defaultPSN;
rds = defaultRDS;
zone = defaultZone;
layer = defaultLayer;
reactor = defaultReactor;
employee = defaultEmployee;
}
else if (string.IsNullOrEmpty(text) || (text.Length is 2 or 3 && Regex.IsMatch(text, "^[a-zA-z]{2,3}")))
{
wafer = text;
employee = text;
@ -419,41 +429,38 @@ public partial class ProcessData : IProcessData
reactor = descriptor.Reactor;
if (employee != wafer)
employee = descriptor.Employee;
if (logistics.DateTimeFromSequence > DateTime.Now.AddHours(-24))
if (string.IsNullOrEmpty(lastProcessData.Wafer))
{
if (string.IsNullOrEmpty(lastProcessData.Wafer))
{
lastProcessData.Batch = JobID;
lastProcessData.Cassette = JobID;
lastProcessData.Employee = JobID;
lastProcessData.Recipe = JobID;
lastProcessData.Title = JobID;
}
lastProcessData.Wafer = wafer;
lastProcessData.Reactor = reactor;
lastProcessData.RDS = rds;
string check = "--------";
if (string.IsNullOrEmpty(batch) || batch.Contains(check))
batch = lastProcessData.Batch;
else
lastProcessData.Batch = batch;
if (string.IsNullOrEmpty(cassette) || cassette.Contains(check))
cassette = lastProcessData.Cassette;
else
lastProcessData.Cassette = cassette;
if (string.IsNullOrEmpty(employee) || employee.Contains(check))
employee = lastProcessData.Employee;
else
lastProcessData.Employee = employee;
if (string.IsNullOrEmpty(recipe) || recipe.Contains(check))
recipe = lastProcessData.Recipe;
else
lastProcessData.Recipe = recipe;
if (string.IsNullOrEmpty(title) || title.Contains(check))
title = lastProcessData.Title;
else
lastProcessData.Title = title;
lastProcessData.Batch = JobID;
lastProcessData.Cassette = JobID;
lastProcessData.Employee = JobID;
lastProcessData.Recipe = JobID;
lastProcessData.Title = JobID;
}
lastProcessData.Wafer = wafer;
lastProcessData.Reactor = reactor;
lastProcessData.RDS = rds;
string check = "--------";
if (string.IsNullOrEmpty(batch) || batch.Contains(check))
batch = lastProcessData.Batch;
else
lastProcessData.Batch = batch;
if (string.IsNullOrEmpty(cassette) || cassette.Contains(check))
cassette = lastProcessData.Cassette;
else
lastProcessData.Cassette = cassette;
if (string.IsNullOrEmpty(employee) || employee.Contains(check))
employee = lastProcessData.Employee;
else
lastProcessData.Employee = employee;
if (string.IsNullOrEmpty(recipe) || recipe.Contains(check))
recipe = lastProcessData.Recipe;
else
lastProcessData.Recipe = recipe;
if (string.IsNullOrEmpty(title) || title.Contains(check))
title = lastProcessData.Title;
else
lastProcessData.Title = title;
//fix title
StringBuilder titleFixed = new();
foreach (char c in title)