v2.47.0 - Read to test IQS query - better date

This commit is contained in:
2022-11-30 12:45:35 -07:00
parent 68bbb18ce8
commit 4a04737d4a
13 changed files with 53 additions and 31 deletions

View File

@ -188,7 +188,7 @@ public class Description : IDescription, Shared.Properties.IDescription
ProcessJobID = logistics.ProcessJobID,
MID = logistics.MID,
//
Date = processData.Date,
Date = processData.Date.ToString(GetDateFormat()),
Employee = processData.Employee,
Lot = processData.Batch,
PSN = processData.PSN,
@ -266,4 +266,6 @@ public class Description : IDescription, Shared.Properties.IDescription
return result;
}
internal static string GetDateFormat() => "MM/dd/yyyy hh:mm:ss tt";
}

View File

@ -14,6 +14,7 @@ namespace Adaptation.FileHandlers.QS408M;
public class FileRead : Shared.FileRead, IFileRead
{
private long? _TickOffset;
private readonly string _OriginalDataBioRad;
private readonly ProcessData _LastProcessData;
@ -101,13 +102,14 @@ 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 = new(string.Empty, null, null, new List<FileInfo>());
_Logistics = new Logistics(this, reportFullPath, useSplitForMID: true);
_TickOffset ??= new FileInfo(reportFullPath).LastWriteTime.Ticks - dateTime.Ticks;
_Logistics = new Logistics(this, _TickOffset.Value, reportFullPath, useSplitForMID: true);
SetFileParameterLotIDToLogisticsMID();
if (_Logistics.FileInfo.Length < _MinFileLength)
results.Item4.Add(_Logistics.FileInfo);
else
{
IProcessData iProcessData = new ProcessData(this, _Logistics, results.Item4, _OriginalDataBioRad, lastProcessData: _LastProcessData);
IProcessData iProcessData = new ProcessData(this, _Logistics, results.Item4, _OriginalDataBioRad, lastProcessData: _LastProcessData, tickOffset: _TickOffset.Value);
if (iProcessData is not ProcessData processData)
throw new Exception(string.Concat("A) No Data - ", dateTime.Ticks));
string mid;

View File

@ -23,7 +23,7 @@ public partial class ProcessData : IProcessData
public string MesEntity { get; set; }
public string Batch { get; set; }
public string Cassette { get; set; }
public string Date { get; set; }
public DateTime Date { get; set; }
public string Employee { get; set; }
public string Layer { get; set; }
public string MeanThickness { get; set; }
@ -49,14 +49,14 @@ public partial class ProcessData : IProcessData
{
}
public ProcessData(IFileRead fileRead, Logistics logistics, List<FileInfo> fileInfoCollection, string originalDataBioRad, ProcessData lastProcessData)
public ProcessData(IFileRead fileRead, Logistics logistics, List<FileInfo> fileInfoCollection, string originalDataBioRad, ProcessData lastProcessData, long tickOffset)
{
JobID = logistics.JobID;
fileInfoCollection.Clear();
_Details = new List<object>();
MesEntity = logistics.MesEntity;
_Log = LogManager.GetLogger(typeof(ProcessData));
Parse(fileRead, logistics, fileInfoCollection, originalDataBioRad, lastProcessData);
Parse(fileRead, logistics, fileInfoCollection, originalDataBioRad, lastProcessData, tickOffset);
}
string IProcessData.GetCurrentReactor(IFileRead fileRead, Logistics logistics, Dictionary<string, string> reactors) => throw new Exception(string.Concat("See ", nameof(Parse)));
@ -232,7 +232,7 @@ public partial class ProcessData : IProcessData
}
}
internal static DateTime GetDateTime(Logistics logistics, string dateTimeText)
internal static DateTime GetDateTime(Logistics logistics, long tickOffset, string dateTimeText)
{
DateTime result;
string inputDateFormat = "ddd mmm dd HH:mm:ss yyyy";
@ -245,7 +245,7 @@ public partial class ProcessData : IProcessData
else
{
if (dateTimeParsed < logistics.DateTimeFromSequence.AddDays(1) && dateTimeParsed > logistics.DateTimeFromSequence.AddDays(-1))
result = dateTimeParsed;
result = new(dateTimeParsed.Ticks + tickOffset);
else
result = logistics.DateTimeFromSequence;
}
@ -371,16 +371,16 @@ public partial class ProcessData : IProcessData
return result;
}
private void Set(Logistics logistics, ProcessData lastProcessData, string receivedData)
private void Set(Logistics logistics, ProcessData lastProcessData, long tickOffset, string receivedData)
{
string psn;
string rds;
string date;
string zone;
string batch;
string layer;
string title;
string wafer;
DateTime date;
string recipe;
string reactor;
string cassette;
@ -390,8 +390,7 @@ public partial class ProcessData : IProcessData
string dateTimeText = GetToEOL();
if (dateTimeText.EndsWith("."))
dateTimeText = dateTimeText.Remove(dateTimeText.Length - 1, 1);
DateTime dateTime = GetDateTime(logistics, dateTimeText);
date = dateTime.ToString();
date = GetDateTime(logistics, tickOffset, dateTimeText);
ScanPast("operator:");
employee = GetBefore("batch:");
batch = GetToEOL();
@ -484,7 +483,7 @@ public partial class ProcessData : IProcessData
UniqueId = string.Concat(title, '_', wafer, '_', logistics.DateTimeFromSequence.ToString("yyyyMMddHHmmssffff"), '_', logistics.TotalSecondsSinceLastWriteTimeFromSequence);
}
private void Parse(IFileRead fileRead, Logistics logistics, List<FileInfo> fileInfoCollection, string originalDataBioRad, ProcessData lastProcessData)
private void Parse(IFileRead fileRead, Logistics logistics, List<FileInfo> fileInfoCollection, string originalDataBioRad, ProcessData lastProcessData, long tickOffset)
{
if (fileRead is null)
{ }
@ -507,7 +506,7 @@ public partial class ProcessData : IProcessData
{
_I = 0;
_Data = receivedData;
Set(logistics, lastProcessData, receivedData);
Set(logistics, lastProcessData, tickOffset, receivedData);
string token = GetToken();
int counter = 1;
while (true)