ProcessDataStandardFormat
run.json descriptions.json Infineon.Mesa.PDF.Text.Stripper 4.8.0.2 MSTEST0037
This commit is contained in:
@ -1,24 +1,26 @@
|
||||
namespace Adaptation.FileHandlers.TIBCO.Transport;
|
||||
|
||||
#nullable enable
|
||||
|
||||
public class Input
|
||||
{
|
||||
|
||||
public string Area { get; }
|
||||
public string EquipmentType { get; }
|
||||
public string MID { get; }
|
||||
public string Slot { get; }
|
||||
public string MesEntity { get; }
|
||||
public string Recipe { get; }
|
||||
public string Sequence { get; }
|
||||
public string? Area { get; }
|
||||
public string? EquipmentType { get; }
|
||||
public string? MID { get; }
|
||||
public string? Slot { get; }
|
||||
public string? MesEntity { get; }
|
||||
public string? Recipe { get; }
|
||||
public string? Sequence { get; }
|
||||
|
||||
[System.Text.Json.Serialization.JsonConstructor]
|
||||
public Input(string area,
|
||||
string equipmentType,
|
||||
string mid,
|
||||
string slot,
|
||||
string mesEntity,
|
||||
string recipe,
|
||||
string sequence)
|
||||
public Input(string? area,
|
||||
string? equipmentType,
|
||||
string? mid,
|
||||
string? slot,
|
||||
string? mesEntity,
|
||||
string? recipe,
|
||||
string? sequence)
|
||||
{
|
||||
|
||||
Area = area;
|
||||
@ -30,7 +32,7 @@ public class Input
|
||||
Sequence = sequence;
|
||||
}
|
||||
|
||||
internal Input(Input input, string mid)
|
||||
internal Input(Input input, string? mid)
|
||||
{
|
||||
Area = input.Area;
|
||||
EquipmentType = input.EquipmentType;
|
||||
|
@ -174,7 +174,7 @@ public partial class Job
|
||||
|
||||
private static bool IsInvalid(int? rdsNumber) => rdsNumber is null or < 100000 or > 100000000;
|
||||
|
||||
private static (string?, string?) GetReactorAndRDS(string text, string formattedText, string[] segments)
|
||||
private static (string?, string?) GetReactorAndRDS(string? text, string formattedText, string[] segments)
|
||||
{
|
||||
string? rds;
|
||||
string? reactor;
|
||||
@ -243,10 +243,13 @@ public partial class Job
|
||||
string? reactor;
|
||||
string? employee;
|
||||
int? reactorNumber;
|
||||
string[] segments = input.MID.Split(new char[] { '-' });
|
||||
// bool hasRDS = Regex.IsMatch(input.MID, "[-]?([QP][0-9]{4,}|[0-9]{5,})[-]?");
|
||||
string formattedText = Regex.Replace(input.MID, @"[\\,\/,\:,\*,\?,\"",\<,\>,\|]", "_").Split('\r')[0].Split('\n')[0];
|
||||
(reactor, rds) = GetReactorAndRDS(input.MID, formattedText, segments);
|
||||
string mid = string.IsNullOrEmpty(input.MID) ? string.Empty : input.MID;
|
||||
if (mid.Length > 2 && mid[0] == '1' && (mid[1] == 'T' || mid[1] == 't'))
|
||||
mid = mid.Substring(2);
|
||||
mid = Regex.Replace(mid, @"[\\,\/,\:,\*,\?,\"",\<,\>,\|]", "_").Split('\r')[0].Split('\n')[0];
|
||||
string[] segments = mid.Split(new char[] { '-' });
|
||||
// bool hasRDS = Regex.IsMatch(mid, "[-]?([QP][0-9]{4,}|[0-9]{5,})[-]?");
|
||||
(reactor, rds) = GetReactorAndRDS(input.MID, mid, segments);
|
||||
if (string.IsNullOrEmpty(rds))
|
||||
rdsNumber = 0;
|
||||
else
|
||||
@ -381,8 +384,9 @@ public partial class Job
|
||||
WorkOrder workOrder;
|
||||
Task<Stream> streamTask;
|
||||
Task<HttpResponseMessage> httpResponseMessageTask;
|
||||
string mid = string.IsNullOrEmpty(input.MID) ? string.Empty : input.MID;
|
||||
JsonSerializerOptions jsonSerializerOptions = new() { PropertyNameCaseInsensitive = true };
|
||||
int? reactor = !int.TryParse(input.MID.Substring(0, 2), out int reactorNumber) ? null : reactorNumber;
|
||||
int? reactor = mid.Length < 2 || !int.TryParse(mid.Substring(0, 2), out int reactorNumber) ? null : reactorNumber;
|
||||
httpResponseMessageTask = httpClient.GetAsync($"{httpClient.BaseAddress}/reactors/{reactor}");
|
||||
httpResponseMessageTask.Wait();
|
||||
if (httpResponseMessageTask.Result.StatusCode != System.Net.HttpStatusCode.OK)
|
||||
@ -450,7 +454,8 @@ public partial class Job
|
||||
int? rds;
|
||||
long sequence = 0;
|
||||
WorkOrder workOrder;
|
||||
int? reactor = !int.TryParse(input.MID.Substring(0, 2), out int reactorNumber) ? null : reactorNumber;
|
||||
string mid = string.IsNullOrEmpty(input.MID) ? string.Empty : input.MID;
|
||||
int? reactor = mid.Length < 2 || !int.TryParse(mid.Substring(0, 2), out int reactorNumber) ? null : reactorNumber;
|
||||
bool parsed = !string.IsNullOrEmpty(input.Sequence) && long.TryParse(input.Sequence, out sequence);
|
||||
List<string> files;
|
||||
if (!parsed || string.IsNullOrEmpty(input.MID))
|
||||
@ -505,80 +510,85 @@ public partial class Job
|
||||
|
||||
private static string GetCommandText(int? rds, int? workOrderNumber, int? workOrderCassette, int? slot, int? reactor)
|
||||
{ // cSpell:disable
|
||||
StringBuilder result = new();
|
||||
_ = result.Append(" select ").
|
||||
Append(" rr.rds_no ").
|
||||
Append(" , rr.reactor ").
|
||||
Append(" , rr.ps_no ").
|
||||
Append(" , rr.load_lock_side ").
|
||||
Append(" , rr.reactor_type ").
|
||||
Append(" , rr.recipe_name ").
|
||||
Append(" , rr.recipe_no ").
|
||||
Append(" , rr.spec_type ").
|
||||
Append(" , ( ").
|
||||
Append(" select max(wm.zone) ").
|
||||
Append(" from lsl2sql.dbo.wm_out_slot wm ").
|
||||
Append(" where wm.wo_no = rr.wo_no ").
|
||||
Append(" and wm.rds = rr.rds_no ").
|
||||
Append(" and wm.in_cass_no = ").Append(workOrderCassette is null ? -1 : workOrderCassette.Value).Append(' ').
|
||||
Append(" and wm.slot_no = ").Append(slot is null ? -1 : slot.Value).Append(' ').
|
||||
Append(" ) zone ").
|
||||
Append(" from lsl2sql.dbo.react_run rr ").
|
||||
Append(" where rr.rds_no = ").Append(rds is null ? -1 : rds.Value).Append(' ').
|
||||
Append(" union all ").
|
||||
Append(" select ").
|
||||
Append(" rr.rds_no ").
|
||||
Append(" , rr.reactor ").
|
||||
Append(" , rr.ps_no ").
|
||||
Append(" , rr.load_lock_side ").
|
||||
Append(" , rr.reactor_type ").
|
||||
Append(" , rr.recipe_name ").
|
||||
Append(" , rr.recipe_no ").
|
||||
Append(" , rr.spec_type ").
|
||||
Append(" , ( ").
|
||||
Append(" select max(wm.zone) ").
|
||||
Append(" from lsl2sql.dbo.wm_out_slot wm ").
|
||||
Append(" where wm.wo_no = rr.wo_no ").
|
||||
Append(" and wm.rds = rr.rds_no ").
|
||||
Append(" and wm.in_cass_no = ").Append(workOrderCassette is null ? -1 : workOrderCassette.Value).Append(' ').
|
||||
Append(" and wm.slot_no = ").Append(slot is null ? -1 : slot.Value).Append(' ').
|
||||
Append(" ) zone ").
|
||||
Append(" from lsl2sql.dbo.react_run rr ").
|
||||
Append(" where rr.rds_no = ( ").
|
||||
Append(" select max(wm.rds) ").
|
||||
Append(" from lsl2sql.dbo.wm_out_slot wm ").
|
||||
Append(" where wm.wo_no = ").Append(workOrderNumber is null ? -1 : workOrderNumber.Value).Append(' ').
|
||||
Append(" and wm.in_cass_no = ").Append(workOrderCassette is null ? -1 : workOrderCassette.Value).Append(' ').
|
||||
Append(" and wm.slot_no = ").Append(slot is null ? -1 : slot.Value).Append(' ').
|
||||
Append(" ) ").
|
||||
Append(" union all ").
|
||||
Append(" select ").
|
||||
Append(" rr.rds_no ").
|
||||
Append(" , rr.reactor ").
|
||||
Append(" , rr.ps_no ").
|
||||
Append(" , rr.load_lock_side ").
|
||||
Append(" , rr.reactor_type ").
|
||||
Append(" , rr.recipe_name ").
|
||||
Append(" , rr.recipe_no ").
|
||||
Append(" , rr.spec_type ").
|
||||
Append(" , ( ").
|
||||
Append(" select max(wm.zone) ").
|
||||
Append(" from lsl2sql.dbo.wm_out_slot wm ").
|
||||
Append(" where wm.wo_no = rr.wo_no ").
|
||||
Append(" and wm.rds = rr.rds_no ").
|
||||
Append(" and wm.in_cass_no = ").Append(workOrderCassette is null ? -1 : workOrderCassette.Value).Append(' ').
|
||||
Append(" and wm.slot_no = ").Append(slot is null ? -1 : slot.Value).Append(' ').
|
||||
Append(" ) zone ").
|
||||
Append(" from lsl2sql.dbo.react_run rr ").
|
||||
Append(" where rr.rds_no = ( ").
|
||||
Append(" select max(qa.rds_no) ").
|
||||
Append(" from lsl2sql.dbo.react_run qa ").
|
||||
Append(" where qa.load_sig != '' ").
|
||||
Append(" and qa.load_sig_dtm > '2023-05-01 00:00:00.000' ").
|
||||
Append(" and qa.reactor = ").Append(reactor is null ? -1 : reactor.Value).Append(' ').
|
||||
Append(" ) ").
|
||||
Append(" for json path ");
|
||||
return result.ToString();
|
||||
List<string> results = new();
|
||||
int rdsValue = rds is null ? -1 : rds.Value;
|
||||
int slotValue = slot is null ? -1 : slot.Value;
|
||||
int reactorValue = reactor is null ? -1 : reactor.Value;
|
||||
int workOrderNumberValue = workOrderNumber is null ? -1 : workOrderNumber.Value;
|
||||
int workOrderCassetteValue = workOrderCassette is null ? -1 : workOrderCassette.Value;
|
||||
results.Add(" select ");
|
||||
results.Add(" rr.rds_no ");
|
||||
results.Add(" , rr.reactor ");
|
||||
results.Add(" , rr.ps_no ");
|
||||
results.Add(" , rr.load_lock_side ");
|
||||
results.Add(" , rr.reactor_type ");
|
||||
results.Add(" , rr.recipe_name ");
|
||||
results.Add(" , rr.recipe_no ");
|
||||
results.Add(" , rr.spec_type ");
|
||||
results.Add(" , ( ");
|
||||
results.Add(" select max(wm.zone) ");
|
||||
results.Add(" from lsl2sql.dbo.wm_out_slot wm ");
|
||||
results.Add(" where wm.wo_no = rr.wo_no ");
|
||||
results.Add(" and wm.rds = rr.rds_no ");
|
||||
results.Add($" and wm.in_cass_no = {workOrderCassetteValue}");
|
||||
results.Add($" and wm.slot_no = {slotValue}");
|
||||
results.Add(" ) zone ");
|
||||
results.Add(" from lsl2sql.dbo.react_run rr ");
|
||||
results.Add($" where rr.rds_no = {rdsValue}");
|
||||
results.Add(" union all ");
|
||||
results.Add(" select ");
|
||||
results.Add(" rr.rds_no ");
|
||||
results.Add(" , rr.reactor ");
|
||||
results.Add(" , rr.ps_no ");
|
||||
results.Add(" , rr.load_lock_side ");
|
||||
results.Add(" , rr.reactor_type ");
|
||||
results.Add(" , rr.recipe_name ");
|
||||
results.Add(" , rr.recipe_no ");
|
||||
results.Add(" , rr.spec_type ");
|
||||
results.Add(" , ( ");
|
||||
results.Add(" select max(wm.zone) ");
|
||||
results.Add(" from lsl2sql.dbo.wm_out_slot wm ");
|
||||
results.Add(" where wm.wo_no = rr.wo_no ");
|
||||
results.Add(" and wm.rds = rr.rds_no ");
|
||||
results.Add($" and wm.in_cass_no = {workOrderCassetteValue}");
|
||||
results.Add($" and wm.slot_no = {slotValue}");
|
||||
results.Add(" ) zone ");
|
||||
results.Add(" from lsl2sql.dbo.react_run rr ");
|
||||
results.Add(" where rr.rds_no = ( ");
|
||||
results.Add(" select max(wm.rds) ");
|
||||
results.Add(" from lsl2sql.dbo.wm_out_slot wm ");
|
||||
results.Add($" where wm.wo_no = {workOrderNumberValue}");
|
||||
results.Add($" and wm.in_cass_no = {workOrderCassetteValue}");
|
||||
results.Add($" and wm.slot_no = {slotValue}");
|
||||
results.Add(" ) ");
|
||||
results.Add(" union all ");
|
||||
results.Add(" select ");
|
||||
results.Add(" rr.rds_no ");
|
||||
results.Add(" , rr.reactor ");
|
||||
results.Add(" , rr.ps_no ");
|
||||
results.Add(" , rr.load_lock_side ");
|
||||
results.Add(" , rr.reactor_type ");
|
||||
results.Add(" , rr.recipe_name ");
|
||||
results.Add(" , rr.recipe_no ");
|
||||
results.Add(" , rr.spec_type ");
|
||||
results.Add(" , ( ");
|
||||
results.Add(" select max(wm.zone) ");
|
||||
results.Add(" from lsl2sql.dbo.wm_out_slot wm ");
|
||||
results.Add(" where wm.wo_no = rr.wo_no ");
|
||||
results.Add(" and wm.rds = rr.rds_no ");
|
||||
results.Add($" and wm.in_cass_no = {workOrderCassetteValue}");
|
||||
results.Add($" and wm.slot_no = {slotValue}");
|
||||
results.Add(" ) zone ");
|
||||
results.Add(" from lsl2sql.dbo.react_run rr ");
|
||||
results.Add(" where rr.rds_no = ( ");
|
||||
results.Add(" select max(qa.rds_no) ");
|
||||
results.Add(" from lsl2sql.dbo.react_run qa ");
|
||||
results.Add(" where qa.load_sig != '' ");
|
||||
results.Add(" and qa.load_sig_dtm > '2023-05-01 00:00:00.000' ");
|
||||
results.Add($" and qa.reactor = {reactorValue}");
|
||||
results.Add(" ) ");
|
||||
results.Add(" for json path ");
|
||||
return string.Join(Environment.NewLine, results);
|
||||
} // cSpell:restore
|
||||
|
||||
private static CommonB Get(string lsl2SQLConnectionString, string layer, string psn, int? reactorNumber, int? slotNumber, int? workOrderNumber, int? workOrderCassette, string zone)
|
||||
|
Reference in New Issue
Block a user