UniqueId replacement for attachments
Write input PDSF in output after EOF MoveMatchingFile GetPropertyValue for MoveMatchingFiles ProcessDataStandardFormat over Tuple MoveMatchingFiles to use ProcessDataStandardFormatMapping
This commit is contained in:
parent
8235e80035
commit
e0298fb8f5
@ -221,7 +221,7 @@ public class WSRequest
|
|||||||
throw new Exception("Invalid *.pdf file count!");
|
throw new Exception("Invalid *.pdf file count!");
|
||||||
List<WS.Attachment> headerAttachments = new()
|
List<WS.Attachment> headerAttachments = new()
|
||||||
{
|
{
|
||||||
new WS.Attachment(subGroupId, headerId, headerIdDirectory, descriptions[0].HeaderUniqueId, "Data.pdf", pdfFiles[0])
|
new WS.Attachment(subGroupId, headerId, headerIdDirectory, $"{logistics.JobID}_{logistics.MID}_{logistics.DateTimeFromSequence:yyyyMMddHHmmssffff}", "Data.pdf", pdfFiles[0])
|
||||||
};
|
};
|
||||||
WS.AttachFiles(openInsightMetrologyViewerAPI, headerAttachments, dataAttachments: null);
|
WS.AttachFiles(openInsightMetrologyViewerAPI, headerAttachments, dataAttachments: null);
|
||||||
}
|
}
|
||||||
|
@ -129,6 +129,7 @@ public class FileRead : Shared.FileRead, IFileRead
|
|||||||
string destinationJobIdDirectory = Path.Combine(_JobIdProcessParentDirectory, _Logistics.JobID, directoryName);
|
string destinationJobIdDirectory = Path.Combine(_JobIdProcessParentDirectory, _Logistics.JobID, directoryName);
|
||||||
string sequenceDirectory = Path.Combine(destinationJobIdDirectory, logisticsSequence);
|
string sequenceDirectory = Path.Combine(destinationJobIdDirectory, logisticsSequence);
|
||||||
string jsonFileName = Path.Combine(sequenceDirectory, $"{Path.GetFileNameWithoutExtension(reportFullPath)}.json");
|
string jsonFileName = Path.Combine(sequenceDirectory, $"{Path.GetFileNameWithoutExtension(reportFullPath)}.json");
|
||||||
|
MoveMatchingFile(jobIdDirectory, matchDirectories[0]);
|
||||||
Directory.Move(matchDirectories[0], destinationJobIdDirectory);
|
Directory.Move(matchDirectories[0], destinationJobIdDirectory);
|
||||||
if (!Directory.Exists(sequenceDirectory))
|
if (!Directory.Exists(sequenceDirectory))
|
||||||
_ = Directory.CreateDirectory(sequenceDirectory);
|
_ = Directory.CreateDirectory(sequenceDirectory);
|
||||||
@ -136,6 +137,30 @@ public class FileRead : Shared.FileRead, IFileRead
|
|||||||
File.WriteAllText(jsonFileName, json);
|
File.WriteAllText(jsonFileName, json);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void MoveMatchingFile(string jobIdDirectory, string matchDirectory)
|
||||||
|
{
|
||||||
|
string checkFile;
|
||||||
|
string jobIdDirectoryFileName;
|
||||||
|
string matchDirectoryFileName;
|
||||||
|
string[] jobIdDirectoryFiles = Directory.GetFiles(jobIdDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||||
|
string[] matchDirectoryFiles = Directory.GetFiles(matchDirectory, "*", SearchOption.TopDirectoryOnly);
|
||||||
|
foreach (string jobIdDirectoryFile in jobIdDirectoryFiles)
|
||||||
|
{
|
||||||
|
jobIdDirectoryFileName = Path.GetFileName(jobIdDirectoryFile);
|
||||||
|
foreach (string matchDirectoryFile in matchDirectoryFiles)
|
||||||
|
{
|
||||||
|
matchDirectoryFileName = Path.GetFileName(matchDirectoryFile);
|
||||||
|
if (jobIdDirectoryFileName.StartsWith(matchDirectoryFileName))
|
||||||
|
{
|
||||||
|
checkFile = Path.Combine(matchDirectory, Path.GetFileName(matchDirectoryFile));
|
||||||
|
if (File.Exists(checkFile))
|
||||||
|
continue;
|
||||||
|
File.Move(jobIdDirectoryFile, checkFile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Tuple<string, Test[], JsonElement[], List<FileInfo>> GetExtractResult(string reportFullPath, DateTime dateTime)
|
private Tuple<string, Test[], JsonElement[], List<FileInfo>> GetExtractResult(string reportFullPath, DateTime dateTime)
|
||||||
{
|
{
|
||||||
Tuple<string, Test[], JsonElement[], List<FileInfo>> results;
|
Tuple<string, Test[], JsonElement[], List<FileInfo>> results;
|
||||||
|
@ -28,14 +28,17 @@ internal class ProcessDataStandardFormat
|
|||||||
internal ReadOnlyCollection<string> Body { get; private set; }
|
internal ReadOnlyCollection<string> Body { get; private set; }
|
||||||
internal ReadOnlyCollection<string> Columns { get; private set; }
|
internal ReadOnlyCollection<string> Columns { get; private set; }
|
||||||
internal ReadOnlyCollection<string> Logistics { get; private set; }
|
internal ReadOnlyCollection<string> Logistics { get; private set; }
|
||||||
|
internal ReadOnlyCollection<string> InputLines { get; private set; }
|
||||||
|
|
||||||
internal ProcessDataStandardFormat(ReadOnlyCollection<string> body,
|
internal ProcessDataStandardFormat(ReadOnlyCollection<string> body,
|
||||||
ReadOnlyCollection<string> columns,
|
ReadOnlyCollection<string> columns,
|
||||||
|
ReadOnlyCollection<string> inputLines,
|
||||||
ReadOnlyCollection<string> logistics,
|
ReadOnlyCollection<string> logistics,
|
||||||
long? sequence)
|
long? sequence)
|
||||||
{
|
{
|
||||||
Body = body;
|
Body = body;
|
||||||
Columns = columns;
|
Columns = columns;
|
||||||
|
InputLines = inputLines;
|
||||||
Logistics = logistics;
|
Logistics = logistics;
|
||||||
Sequence = sequence;
|
Sequence = sequence;
|
||||||
}
|
}
|
||||||
@ -53,7 +56,7 @@ internal class ProcessDataStandardFormat
|
|||||||
GetString(SearchFor.Archive, addSpaces, separator);
|
GetString(SearchFor.Archive, addSpaces, separator);
|
||||||
|
|
||||||
internal static ProcessDataStandardFormat GetEmpty() =>
|
internal static ProcessDataStandardFormat GetEmpty() =>
|
||||||
new(new(Array.Empty<string>()), new(Array.Empty<string>()), new(Array.Empty<string>()), null);
|
new(new(Array.Empty<string>()), new(Array.Empty<string>()), new(Array.Empty<string>()), new(Array.Empty<string>()), null);
|
||||||
|
|
||||||
internal static List<string> PDSFToFixedWidth(string reportFullPath)
|
internal static List<string> PDSFToFixedWidth(string reportFullPath)
|
||||||
{
|
{
|
||||||
@ -169,7 +172,7 @@ internal class ProcessDataStandardFormat
|
|||||||
{
|
{
|
||||||
for (int i = r; i < lines.Length; i++)
|
for (int i = r; i < lines.Length; i++)
|
||||||
{
|
{
|
||||||
if (lines[i].StartsWith("END_HEADER"))
|
if (!lines[i].StartsWith("LOGISTICS_") || lines[i].StartsWith("END_HEADER"))
|
||||||
break;
|
break;
|
||||||
logistics.Add(lines[i]);
|
logistics.Add(lines[i]);
|
||||||
}
|
}
|
||||||
@ -180,6 +183,7 @@ internal class ProcessDataStandardFormat
|
|||||||
logistics.Add(lines[1]);
|
logistics.Add(lines[1]);
|
||||||
result = new(body: body.AsReadOnly(),
|
result = new(body: body.AsReadOnly(),
|
||||||
columns: columns.AsReadOnly(),
|
columns: columns.AsReadOnly(),
|
||||||
|
inputLines: lines.ToList().AsReadOnly(),
|
||||||
logistics: logistics.AsReadOnly(),
|
logistics: logistics.AsReadOnly(),
|
||||||
sequence: null);
|
sequence: null);
|
||||||
return result;
|
return result;
|
||||||
@ -234,7 +238,7 @@ internal class ProcessDataStandardFormat
|
|||||||
{
|
{
|
||||||
for (int i = r; i < lines.Length; i++)
|
for (int i = r; i < lines.Length; i++)
|
||||||
{
|
{
|
||||||
if (lines[i].StartsWith("END_HEADER"))
|
if (!lines[i].StartsWith("LOGISTICS_") || lines[i].StartsWith("END_HEADER"))
|
||||||
break;
|
break;
|
||||||
logistics.Add(lines[i]);
|
logistics.Add(lines[i]);
|
||||||
}
|
}
|
||||||
@ -250,6 +254,7 @@ internal class ProcessDataStandardFormat
|
|||||||
}
|
}
|
||||||
result = new(body: body.AsReadOnly(),
|
result = new(body: body.AsReadOnly(),
|
||||||
columns: new(columns),
|
columns: new(columns),
|
||||||
|
inputLines: lines.ToList().AsReadOnly(),
|
||||||
logistics: logistics.AsReadOnly(),
|
logistics: logistics.AsReadOnly(),
|
||||||
sequence: sequence);
|
sequence: sequence);
|
||||||
return result;
|
return result;
|
||||||
@ -341,6 +346,7 @@ internal class ProcessDataStandardFormat
|
|||||||
}
|
}
|
||||||
result = new(body: new(results),
|
result = new(body: new(results),
|
||||||
columns: processDataStandardFormatMapping.OldColumnNames,
|
columns: processDataStandardFormatMapping.OldColumnNames,
|
||||||
|
inputLines: processDataStandardFormat.InputLines,
|
||||||
logistics: processDataStandardFormat.Logistics,
|
logistics: processDataStandardFormat.Logistics,
|
||||||
sequence: processDataStandardFormat.Sequence);
|
sequence: processDataStandardFormat.Sequence);
|
||||||
return result;
|
return result;
|
||||||
@ -372,6 +378,8 @@ internal class ProcessDataStandardFormat
|
|||||||
results.Add("LOGISTICS_COLUMN\tA_LOGISTICS");
|
results.Add("LOGISTICS_COLUMN\tA_LOGISTICS");
|
||||||
results.Add("LOGISTICS_COLUMN\tB_LOGISTICS");
|
results.Add("LOGISTICS_COLUMN\tB_LOGISTICS");
|
||||||
results.AddRange(processDataStandardFormat.Logistics);
|
results.AddRange(processDataStandardFormat.Logistics);
|
||||||
|
results.Add("EOF");
|
||||||
|
results.AddRange(processDataStandardFormat.InputLines.Select(l => l.Replace('\t', '|')));
|
||||||
File.WriteAllText(path, string.Join(Environment.NewLine, results));
|
File.WriteAllText(path, string.Join(Environment.NewLine, results));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user