- Updated Detail class to include JsonSourceGenerationOptions and JsonSerializable attributes for source generation. - Modified ProcessData class to utilize source generation context for Description deserialization. - Renamed RowSourceGenerationContext to QS408MRowSourceGenerationContext for clarity. - Updated Run class to use QS408MRunSourceGenerationContext for serialization. - Enhanced Description class with source generation attributes. - Refactored FileRead class to use source generation context for Description deserialization. - Added new methods in ProcessDataStandardFormat for JSON element array extraction. - Introduced new PDSF file handler classes: Body, Constant, FileRead, Footer, Header, Row, Run, and Site. - Implemented logic for parsing and handling PDSF data structures. - Added unit tests for PDSF processing to ensure functionality.
63 lines
1.6 KiB
C#
63 lines
1.6 KiB
C#
using System.Text.Json.Serialization;
|
|
|
|
namespace Adaptation.FileHandlers.QS408M;
|
|
|
|
#nullable enable
|
|
|
|
internal class Row
|
|
{
|
|
|
|
public Row(Run run, int i)
|
|
{
|
|
Index = i;
|
|
//
|
|
Title = run.Header.Title;
|
|
Recipe = run.Header.Recipe;
|
|
DateTime = run.Header.DateTime;
|
|
Operator = run.Header.Operator;
|
|
Batch = run.Header.Batch;
|
|
Cassette = run.Header.Cassette;
|
|
UsedLast = run.Header.UsedLast;
|
|
Wafer = run.Header.Wafer;
|
|
//
|
|
Position = run.Sites[i].Position;
|
|
Thickness = run.Sites[i].Thickness;
|
|
//
|
|
WaferMeanThickness = run.Body.WaferMeanThickness;
|
|
StdDev = run.Body.StdDev;
|
|
PassFail = run.Body.PassFail;
|
|
//
|
|
Line = run.Footer.Line;
|
|
RadialVariationThickness = run.Footer.RadialVariationThickness;
|
|
Slot = run.Footer.Slot;
|
|
}
|
|
|
|
public int Index { get; }
|
|
//
|
|
public string Title { get; }
|
|
public string Recipe { get; }
|
|
public string DateTime { get; }
|
|
public string Operator { get; }
|
|
public string Batch { get; }
|
|
public string Cassette { get; }
|
|
public bool UsedLast { get; }
|
|
public string Wafer { get; }
|
|
//
|
|
public string Position { get; }
|
|
public string Thickness { get; }
|
|
//
|
|
public string WaferMeanThickness { get; }
|
|
public string StdDev { get; }
|
|
public string PassFail { get; }
|
|
//
|
|
public string Line { get; }
|
|
public string RadialVariationThickness { get; }
|
|
public string Slot { get; }
|
|
|
|
}
|
|
|
|
[JsonSourceGenerationOptions(WriteIndented = true)]
|
|
[JsonSerializable(typeof(Row))]
|
|
internal partial class QS408MRowSourceGenerationContext : JsonSerializerContext
|
|
{
|
|
} |