Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
94f8e0dd8d | |||
cde0b47356 |
8
Adaptation/.vscode/launch.json
vendored
8
Adaptation/.vscode/launch.json
vendored
@ -4,13 +4,7 @@
|
||||
"name": ".NET Core Attach",
|
||||
"type": "coreclr",
|
||||
"request": "attach",
|
||||
"processId": 24012
|
||||
},
|
||||
{
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"name": "node Launch Current Opened File",
|
||||
"program": "${file}"
|
||||
"processId": 11620
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -268,7 +268,7 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
}
|
||||
}
|
||||
|
||||
private static ReadOnlyCollection<Pre> GetPreCollection(int numberLength, string parentDirectory, ReadOnlyCollection<string> matchingFiles, bool mesEntityMatchesProcess)
|
||||
private static ReadOnlyCollection<Pre> GetPreCollection(int numberLength, string parentDirectory, ReadOnlyCollection<string> matchingFiles)
|
||||
{
|
||||
List<Pre> results = new();
|
||||
Pre pre;
|
||||
@ -277,8 +277,6 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
foreach (string matchingFile in matchingFiles)
|
||||
{
|
||||
checkFile = $"{matchingFile[0]}{matchingFile.Substring(parentDirectoryLength + numberLength + 1)}";
|
||||
if (mesEntityMatchesProcess)
|
||||
checkFile = checkFile.Replace("MET08THFTIRSTRATUS", "MET08THFTIRQS408M");
|
||||
pre = new(matchingFile, checkFile);
|
||||
results.Add(pre);
|
||||
}
|
||||
@ -368,10 +366,7 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
{ CreatePointerFile(numberLength, parentParentDirectory, matchingFiles); }
|
||||
catch (Exception) { }
|
||||
}
|
||||
JsonElement[] jsonElements = ProcessDataStandardFormat.GetArray(processDataStandardFormat);
|
||||
List<Stratus.Description> descriptions = Stratus.ProcessData.GetDescriptions(jsonElements);
|
||||
bool mesEntityMatchesProcess = descriptions.Count > 0 && descriptions[0].MesEntity == descriptions[0].Reactor;
|
||||
ReadOnlyCollection<Pre> preCollection = GetPreCollection(numberLength, parentParentDirectory, matchingFiles, mesEntityMatchesProcess);
|
||||
ReadOnlyCollection<Pre> preCollection = GetPreCollection(numberLength, parentParentDirectory, matchingFiles);
|
||||
ReadOnlyCollection<PreWith> preWithCollection = GetPreWithCollection(preCollection);
|
||||
MoveCollection(dateTime, processDataStandardFormat, preWithCollection);
|
||||
return results;
|
||||
|
@ -9,7 +9,6 @@ using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
|
||||
namespace Adaptation.FileHandlers.OpenInsight;
|
||||
@ -18,7 +17,6 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
{
|
||||
|
||||
private readonly string _IqsConnectionString;
|
||||
private readonly string _OpenInsightFilePattern;
|
||||
private readonly string _OpenInsightApiECDirectory;
|
||||
|
||||
public FileRead(ISMTP smtp, Dictionary<string, string> fileParameter, string cellInstanceName, int? connectionCount, string cellInstanceConnectionName, FileConnectorConfiguration fileConnectorConfiguration, string equipmentTypeName, string parameterizedModelObjectDefinitionType, IList<ModelObjectParameterDefinition> modelObjectParameters, string equipmentDictionaryName, Dictionary<string, List<long>> dummyRuns, Dictionary<long, List<WS.Results>> staticRuns, bool useCyclicalForDescription, bool isEAFHosted) :
|
||||
@ -34,7 +32,6 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
if (!_IsDuplicator)
|
||||
throw new Exception(cellInstanceConnectionName);
|
||||
_IqsConnectionString = GetPropertyValue(cellInstanceConnectionName, modelObjectParameters, "IQS.ConnectionString");
|
||||
_OpenInsightFilePattern = GetPropertyValue(cellInstanceConnectionName, modelObjectParameters, "OpenInsight.FilePattern");
|
||||
_OpenInsightApiECDirectory = GetPropertyValue(cellInstanceConnectionName, modelObjectParameters, "OpenInsight.Api.EC.Directory");
|
||||
}
|
||||
|
||||
@ -113,31 +110,9 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
return results;
|
||||
}
|
||||
|
||||
private static string GetLines(Logistics logistics, List<Stratus.Description> descriptions)
|
||||
{
|
||||
StringBuilder results = new();
|
||||
char del = '\t';
|
||||
Stratus.Description x = descriptions[0];
|
||||
_ = results.Append("Stratus_").Append(logistics.MID).Append('_').Append(logistics.DateTimeFromSequence.ToString("yyyyMMddhhmmssfff")).Append(del).
|
||||
Append(x.Date).Append(del).
|
||||
Append(logistics.JobID).Append(del).
|
||||
Append("FQA Thickness").Append(del).
|
||||
Append(x.Employee).Append(del).
|
||||
Append(x.Recipe).Append(del).
|
||||
Append(x.Reactor).Append(del).
|
||||
Append(x.RDS).Append(del).
|
||||
Append(x.PSN).Append(del).
|
||||
Append(x.Lot).Append(del).
|
||||
Append(x.Cassette).Append(del).
|
||||
Append(x.MeanThickness);
|
||||
for (int i = 0; i < descriptions.Count; i++)
|
||||
_ = results.Append(del).Append(descriptions[i].Slot).
|
||||
Append(del).Append(descriptions[i].Mean);
|
||||
return results.ToString();
|
||||
}
|
||||
|
||||
private void SaveOpenInsightFile(string reportFullPath, DateTime dateTime, ProcessDataStandardFormat processDataStandardFormat, List<Stratus.Description> descriptions, Test[] tests)
|
||||
{
|
||||
string duplicateFile;
|
||||
bool isDummyRun = false;
|
||||
List<(Shared.Properties.IScopeInfo, string)> collection = new();
|
||||
string duplicateDirectory = Path.Combine(_FileConnectorConfiguration.SourceFileLocation, _CellInstanceName);
|
||||
@ -153,36 +128,37 @@ public class FileRead : Shared.FileRead, IFileRead
|
||||
if (!Directory.Exists(duplicateDirectory))
|
||||
_ = Directory.CreateDirectory(duplicateDirectory);
|
||||
}
|
||||
string duplicateFile = Path.Combine(duplicateDirectory, Path.GetFileName(reportFullPath));
|
||||
if (descriptions.Count != 0 && tests.Length != 0)
|
||||
if (descriptions.Count == 0 || tests.Length == 0)
|
||||
duplicateFile = Path.Combine(duplicateDirectory, Path.GetFileName(reportFullPath));
|
||||
else
|
||||
{
|
||||
string lines = GetLines(_Logistics, descriptions);
|
||||
if (!string.IsNullOrEmpty(lines))
|
||||
long? subgroupId;
|
||||
string fileName = Path.GetFileName(reportFullPath);
|
||||
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 = null;
|
||||
else
|
||||
(subgroupId, int? _, string _) = FromIQS.GetCommandText(_IqsConnectionString, _Logistics, descriptions[0], breakAfter, preWait);
|
||||
if (_StaticRuns.TryGetValue(_Logistics.Sequence, out List<WS.Results> wsResults))
|
||||
{
|
||||
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 = null;
|
||||
else
|
||||
(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
|
||||
collection.Add(new(new ScopeInfo(tests[0], $"{subgroupId.Value} {_OpenInsightFilePattern}"), lines));
|
||||
if (_StaticRuns.TryGetValue(_Logistics.Sequence, out List<WS.Results> wsResults))
|
||||
{
|
||||
if (wsResults is null || wsResults.Count != 1)
|
||||
throw new NullReferenceException($"{nameof(wsResults)} {wsResults?.Count} != 1 {_Logistics.Sequence}!");
|
||||
lock (_StaticRuns)
|
||||
wsResults[0] = WS.Results.Get(wsResults[0], subgroupId);
|
||||
}
|
||||
string weekOfYear = _Calendar.GetWeekOfYear(_Logistics.DateTimeFromSequence, CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString("00");
|
||||
FromIQS.Save(_OpenInsightApiECDirectory, _Logistics, reportFullPath, processDataStandardFormat, descriptions.First(), lines, subgroupId, weekOfYear);
|
||||
if (wsResults is null || wsResults.Count != 1)
|
||||
throw new NullReferenceException($"{nameof(wsResults)} {wsResults?.Count} != 1 {_Logistics.Sequence}!");
|
||||
lock (_StaticRuns)
|
||||
wsResults[0] = WS.Results.Get(wsResults[0], subgroupId);
|
||||
}
|
||||
if (!fileName.StartsWith("Viewer"))
|
||||
duplicateFile = Path.Combine(duplicateDirectory, $"{subgroupId} {fileName}".TrimStart());
|
||||
else
|
||||
duplicateFile = Path.Combine(duplicateDirectory, $"{$"Viewer {subgroupId}".TrimEnd()} {fileName.Replace("Viewer", string.Empty)}");
|
||||
string weekOfYear = _Calendar.GetWeekOfYear(_Logistics.DateTimeFromSequence, CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString("00");
|
||||
FromIQS.Save(_OpenInsightApiECDirectory, _Logistics, reportFullPath, processDataStandardFormat, descriptions.First(), subgroupId, weekOfYear);
|
||||
}
|
||||
if (_IsEAFHosted && _FileConnectorConfiguration.FileScanningIntervalInSeconds > 0)
|
||||
{
|
||||
File.Copy(reportFullPath, duplicateFile, overwrite: true);
|
||||
WaitForFileConsumption(dateTime, descriptions, isDummyRun, successDirectory, duplicateDirectory, collection, duplicateFile);
|
||||
}
|
||||
}
|
||||
|
||||
private Tuple<string, Test[], JsonElement[], List<FileInfo>> GetExtractResult(string reportFullPath, DateTime dateTime)
|
||||
|
@ -376,7 +376,7 @@ public class FromIQS
|
||||
return result;
|
||||
}
|
||||
|
||||
internal static void Save(string openInsightApiECDirectory, Logistics logistics, string reportFullPath, ProcessDataStandardFormat processDataStandardFormat, Stratus.Description description, string lines, long? subGroupId, string weekOfYear)
|
||||
internal static void Save(string openInsightApiECDirectory, Logistics logistics, string reportFullPath, ProcessDataStandardFormat processDataStandardFormat, Stratus.Description description, long? subGroupId, string weekOfYear)
|
||||
{
|
||||
string checkFile;
|
||||
string fileName = Path.GetFileName(reportFullPath);
|
||||
@ -390,15 +390,9 @@ public class FromIQS
|
||||
checkFile = Path.Combine(ecDirectory, fileName);
|
||||
if (ecExists && !File.Exists(checkFile))
|
||||
File.Copy(reportFullPath, checkFile);
|
||||
checkFile = Path.Combine(ecDirectory, $"{logistics.DateTimeFromSequence.Ticks}.txt");
|
||||
if (ecExists && !File.Exists(checkFile))
|
||||
File.WriteAllText(checkFile, lines);
|
||||
checkFile = Path.Combine(ecDirectory, $"{logistics.DateTimeFromSequence.Ticks}.json");
|
||||
if (ecExists && !File.Exists(checkFile))
|
||||
File.WriteAllText(checkFile, json);
|
||||
checkFile = Path.Combine(ecDirectory, $"{logistics.DateTimeFromSequence.Ticks}.lbl");
|
||||
if (ecExists && !File.Exists(checkFile))
|
||||
File.WriteAllText(checkFile, processDataStandardFormat.Body[processDataStandardFormat.Body.Count - 1]);
|
||||
}
|
||||
|
||||
private static string GetCommandText(string[] iqsCopyValues)
|
||||
|
@ -30,7 +30,7 @@ public class BIORAD4
|
||||
[TestMethod]
|
||||
public void Production__v2_59_0__BIORAD4__txt() => _BIORAD4.Production__v2_59_0__BIORAD4__txt();
|
||||
|
||||
#if DEBUG
|
||||
#if ALWAYS
|
||||
[Ignore]
|
||||
#endif
|
||||
[TestMethod]
|
||||
@ -46,7 +46,7 @@ public class BIORAD4
|
||||
Shared.AdaptationTesting.UpdatePassDirectory(variables[2]);
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
#if !DEBUG
|
||||
[Ignore]
|
||||
#endif
|
||||
[TestMethod]
|
||||
@ -62,7 +62,7 @@ public class BIORAD4
|
||||
Shared.AdaptationTesting.UpdatePassDirectory(variables[2]);
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
#if !DEBUG
|
||||
[Ignore]
|
||||
#endif
|
||||
[TestMethod]
|
||||
@ -78,7 +78,7 @@ public class BIORAD4
|
||||
Shared.AdaptationTesting.UpdatePassDirectory(variables[2]);
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
#if !DEBUG
|
||||
[Ignore]
|
||||
#endif
|
||||
[TestMethod]
|
||||
@ -94,7 +94,7 @@ public class BIORAD4
|
||||
Shared.AdaptationTesting.UpdatePassDirectory(variables[2]);
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
#if !DEBUG
|
||||
[Ignore]
|
||||
#endif
|
||||
[TestMethod]
|
||||
|
@ -37,7 +37,7 @@ public class BIORAD5
|
||||
[TestMethod]
|
||||
public void Production__v2_59_0__BIORAD5__txt() => _BIORAD5.Production__v2_59_0__BIORAD5__txt();
|
||||
|
||||
#if DEBUG
|
||||
#if !DEBUG
|
||||
[Ignore]
|
||||
#endif
|
||||
[TestMethod]
|
||||
@ -60,7 +60,7 @@ public class BIORAD5
|
||||
[TestMethod]
|
||||
public void Production__v2_59_0__BIORAD5__Stratus() => _BIORAD5.Production__v2_59_0__BIORAD5__Stratus();
|
||||
|
||||
#if DEBUG
|
||||
#if !DEBUG
|
||||
[Ignore]
|
||||
#endif
|
||||
[TestMethod]
|
||||
|
@ -30,7 +30,7 @@ public class BIORAD4
|
||||
[TestMethod]
|
||||
public void Production__v2_60_0__BIORAD4__txt() => _BIORAD4.Production__v2_60_0__BIORAD4__txt();
|
||||
|
||||
#if DEBUG
|
||||
#if ALWAYS
|
||||
[Ignore]
|
||||
#endif
|
||||
[TestMethod]
|
||||
@ -46,7 +46,7 @@ public class BIORAD4
|
||||
Shared.AdaptationTesting.UpdatePassDirectory(variables[2]);
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
#if !DEBUG
|
||||
[Ignore]
|
||||
#endif
|
||||
[TestMethod]
|
||||
@ -62,7 +62,7 @@ public class BIORAD4
|
||||
Shared.AdaptationTesting.UpdatePassDirectory(variables[2]);
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
#if !DEBUG
|
||||
[Ignore]
|
||||
#endif
|
||||
[TestMethod]
|
||||
@ -78,7 +78,7 @@ public class BIORAD4
|
||||
Shared.AdaptationTesting.UpdatePassDirectory(variables[2]);
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
#if !DEBUG
|
||||
[Ignore]
|
||||
#endif
|
||||
[TestMethod]
|
||||
@ -94,7 +94,7 @@ public class BIORAD4
|
||||
Shared.AdaptationTesting.UpdatePassDirectory(variables[2]);
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
#if !DEBUG
|
||||
[Ignore]
|
||||
#endif
|
||||
[TestMethod]
|
||||
|
@ -37,7 +37,7 @@ public class BIORAD5
|
||||
[TestMethod]
|
||||
public void Production__v2_60_0__BIORAD5__txt() => _BIORAD5.Production__v2_60_0__BIORAD5__txt();
|
||||
|
||||
#if DEBUG
|
||||
#if !DEBUG
|
||||
[Ignore]
|
||||
#endif
|
||||
[TestMethod]
|
||||
@ -60,7 +60,7 @@ public class BIORAD5
|
||||
[TestMethod]
|
||||
public void Production__v2_60_0__BIORAD5__Stratus() => _BIORAD5.Production__v2_60_0__BIORAD5__Stratus();
|
||||
|
||||
#if DEBUG
|
||||
#if !DEBUG
|
||||
[Ignore]
|
||||
#endif
|
||||
[TestMethod]
|
||||
|
Reference in New Issue
Block a user