Delete Work Material

Added InfinityQSV3-GetEpiProTempVerification
Added nigth shift
This commit is contained in:
2023-11-13 09:44:37 -07:00
parent 03bd20fc8c
commit cff2e06f68
27 changed files with 419 additions and 769 deletions

View File

@ -0,0 +1,22 @@
using System.Text.Json.Serialization;
namespace OI.Metrology.Shared.DataModels;
public record InfinityQS1090FullLoad([property: JsonPropertyName("f_sgrp")] int SubGroupId,
[property: JsonPropertyName("date_time")] DateTime SubGroupIdFormated,
[property: JsonPropertyName("pr_name")] string Reactor,
[property: JsonPropertyName("pd_name")] string Part,
[property: JsonPropertyName("iq_value")] float Value,
[property: JsonPropertyName("iq_temp_offset_percent")] float TemperatureOffsetPercentage);
[JsonSourceGenerationOptions(WriteIndented = true, DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull)]
[JsonSerializable(typeof(InfinityQS1090FullLoad))]
public partial class InfinityQS1090FullLoadSourceGenerationContext : JsonSerializerContext
{
}
[JsonSourceGenerationOptions(WriteIndented = true, DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull)]
[JsonSerializable(typeof(Result<InfinityQS1090FullLoad[]>))]
public partial class InfinityQS1090FullLoadArraySourceGenerationContext : JsonSerializerContext
{
}

View File

@ -1,50 +0,0 @@
namespace OI.Metrology.Shared.DataModels;
public record WorkMaterial(string RDS_NO,
int REACTOR,
string POCKET_NO,
string ZONE,
int IN_CASS_NO,
int IN_SLOT_NO,
int OUT_CASS_NO,
int OUT_SLOT_NO,
string PS_NO,
string RECIPE_NAME,
int RECIPE_NO,
string SPEC_TYPE)
{
public static WorkMaterialV2[] Convert(List<WorkMaterial> collection)
{
List<WorkMaterialV2> results = new();
foreach (WorkMaterial item in collection)
results.Add(Map(item));
return results.ToArray();
}
public static WorkMaterialV2 Map(WorkMaterial item)
{
WorkMaterialV2 result = new(item.RDS_NO,
item.REACTOR,
item.POCKET_NO,
item.ZONE,
item.IN_CASS_NO,
item.IN_SLOT_NO,
item.OUT_CASS_NO,
item.OUT_SLOT_NO,
item.PS_NO);
return result;
}
}
public record WorkMaterialV2(string RunDataSheet,
int Reactor,
string Pocket,
string Zone,
int InCassetteNumber,
int InSlotNumber,
int OutCassetteNumber,
int OutSlotNumber,
string PSN)
{ }

43
Shared/Models/Reactor.cs Normal file
View File

@ -0,0 +1,43 @@
using System.Text.Json;
using System.Text.Json.Serialization;
namespace OI.Metrology.Shared.Models;
public record Reactor(
[property: JsonPropertyName("reactorNo")] int ReactorNo,
[property: JsonPropertyName("reactType")] string ReactType,
[property: JsonPropertyName("reactAssignment")] string ReactAssignment,
[property: JsonPropertyName("pickPlace")] bool PickPlace,
[property: JsonPropertyName("loadLockDown")] string LoadLockDown,
[property: JsonPropertyName("0311Active")] bool _0311Active,
[property: JsonPropertyName("loadedRDS")] IReadOnlyList<int> LoadedRDS,
[property: JsonPropertyName("isRunning")] bool IsRunning,
[property: JsonPropertyName("outOfProdDTM")] string OutOfProdDTM,
[property: JsonPropertyName("workOrder")] int? WorkOrder,
[property: JsonPropertyName("workOrderCustomer")] string WorkOrderCustomer,
[property: JsonPropertyName("currMode")] string CurrMode,
[property: JsonPropertyName("serviceDesc")] string ServiceDesc,
[property: JsonPropertyName("e10State")] string E10State
)
{
public override string ToString()
{
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
return result;
}
}
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Reactor))]
public partial class ReactorSourceGenerationContext : JsonSerializerContext
{
}
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Reactor[]))]
public partial class ReactorCollectionSourceGenerationContext : JsonSerializerContext
{
}

View File

@ -10,8 +10,11 @@ public interface IInfinityQSV3Controller<T>
}
static string GetRouteName() => nameof(IInfinityQSV3Controller<T>)[1..^10];
T GetCommandText(string sub_group_id, string process, string job, string part, string lot, string date_time);
T GetData(string sub_group_id);
T GetHeader(string sub_group_id);
T GetDescriptors(string sub_group_id);
T GetEpiProTempVerification(int[] night);
T GetProductDataAverageSumOfDefectsProcessMeanProcessSigma(string process, string? recipe);
T GetCommandText(string sub_group_id, string process, string job, string part, string lot, string date_time);
}

View File

@ -6,12 +6,14 @@ public interface IInfinityQSV3Repository
{
string GetCommandText(string subGroupId);
string GetCommandText(string process, string? part);
string GetEpiProTempVerification(int[] night);
string GetCommandText(InfinityQSV3 infinityQSV2);
Result<InfinityQSV3[]> GetData(string subGroupId);
Result<InfinityQSV3[]> GetHeader(string subGroupId);
string GetCommandText(string process, string? part);
string GetCommandText(List<string> eppReactorNumbers);
Result<InfinityQSDescriptorV3[]> GetDescriptors(string subGroupId);
string GetProductDataAverageSumOfDefectsProcessMeanProcessSigma(string process, string? recipe);
string GetCommandText(string? subGroupId, string? process, string? job, string? part, string? lot, string? dateTime);
Result<InfinityQSV3[]> GetData(string subGroupId);
Result<InfinityQSDescriptorV3[]> GetDescriptors(string subGroupId);
Result<InfinityQSV3[]> GetHeader(string subGroupId);
}

View File

@ -1,14 +0,0 @@
namespace OI.Metrology.Shared.Models.Stateless;
public interface IWorkMaterialController<T>
{
enum Action : int
{
Get = 0
}
static string GetRouteName() => nameof(IWorkMaterialController<T>)[1..^10];
T GetCassette(string mid);
}

View File

@ -1,12 +0,0 @@
using OI.Metrology.Shared.DataModels;
namespace OI.Metrology.Shared.Models.Stateless;
public interface IWorkMaterialRepository
{
string GetCommandText(int? workOrderNumber, int? workOrderStep, int? workOrderCassette);
Result<WorkMaterialV2[]> GetCassette(string mid);
}