MET08DDUPSP1TBI - v2.47.0 - Job - Zone

This commit is contained in:
Mike Phares 2022-10-10 20:01:34 -07:00
parent ccc2e138e5
commit 73b88fed0b
2 changed files with 48 additions and 7 deletions

View File

@ -39,6 +39,7 @@ public class Job
else else
{ {
string psn; string psn;
string zone;
int? rdsNumber; int? rdsNumber;
string epiLayer; string epiLayer;
string basicType; string basicType;
@ -61,11 +62,12 @@ public class Job
JobName = DateTime.Ticks.ToString(); JobName = DateTime.Ticks.ToString();
AutomationMode = string.Concat(DateTime.Ticks, ".", input.MesEntity); AutomationMode = string.Concat(DateTime.Ticks, ".", input.MesEntity);
if (IsValid(rdsNumber)) if (IsValid(rdsNumber))
(basicType, rdsNumber, psn, reactorNumber, epiLayer) = GetWithValidRDS(lsl2SQLConnectionString, psn, rdsNumber, reactorNumber); (basicType, rdsNumber, psn, reactorNumber, epiLayer, zone) = GetWithValidRDS(lsl2SQLConnectionString, psn, rdsNumber, reactorNumber);
else if (isWorkOrder || reactorNumber.HasValue) else if (isWorkOrder || reactorNumber.HasValue)
(basicType, rdsNumber, psn, reactorNumber, epiLayer) = Get(lsl2SQLConnectionString, reactorNumber, slotNumber, workOrderNumber, workOrderCassette); (basicType, rdsNumber, psn, reactorNumber, epiLayer, zone) = Get(lsl2SQLConnectionString, reactorNumber, slotNumber, workOrderNumber, workOrderCassette);
else else
{ {
zone = hyphen;
epiLayer = "1"; epiLayer = "1";
basicType = hyphen; basicType = hyphen;
} }
@ -76,7 +78,7 @@ public class Job
RecipeName = input.Recipe; RecipeName = input.Recipe;
StateModel = input.EquipmentType; StateModel = input.EquipmentType;
PackageName = hyphen; //WAFER_ID WaferLot PackageName = hyphen; //WAFER_ID WaferLot
ProcessSpecName = hyphen; //WAFER_POS PocketNumber ProcessSpecName = zone; //WAFER_POS PocketNumber
if (rdsNumber is null) if (rdsNumber is null)
LotName = input.MID; LotName = input.MID;
else else
@ -228,6 +230,14 @@ public class Job
Append(" , rr.recipe_name "). Append(" , rr.recipe_name ").
Append(" , rr.recipe_no "). Append(" , rr.recipe_no ").
Append(" , rr.spec_type "). Append(" , rr.spec_type ").
Append(" , ( ").
Append(" select max(wm.zone) ").
Append(" from lsl2sql.dbo.wm_in_slot_no wm ").
Append(" where wm.wo_no = rr.wo_no ").
Append(" and wm.rds_no = 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(" from lsl2sql.dbo.react_run rr ").
Append(" where rr.rds_no = ").Append(rds is null ? -1 : rds.Value).Append(' '). Append(" where rr.rds_no = ").Append(rds is null ? -1 : rds.Value).Append(' ').
Append(" union all "). Append(" union all ").
@ -240,6 +250,14 @@ public class Job
Append(" , rr.recipe_name "). Append(" , rr.recipe_name ").
Append(" , rr.recipe_no "). Append(" , rr.recipe_no ").
Append(" , rr.spec_type "). Append(" , rr.spec_type ").
Append(" , ( ").
Append(" select max(wm.zone) ").
Append(" from lsl2sql.dbo.wm_in_slot_no wm ").
Append(" where wm.wo_no = rr.wo_no ").
Append(" and wm.rds_no = 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(" from lsl2sql.dbo.react_run rr ").
Append(" where rr.rds_no = ( "). Append(" where rr.rds_no = ( ").
Append(" select max(wm.rds_no) "). Append(" select max(wm.rds_no) ").
@ -258,6 +276,14 @@ public class Job
Append(" , rr.recipe_name "). Append(" , rr.recipe_name ").
Append(" , rr.recipe_no "). Append(" , rr.recipe_no ").
Append(" , rr.spec_type "). Append(" , rr.spec_type ").
Append(" , ( ").
Append(" select max(wm.zone) ").
Append(" from lsl2sql.dbo.wm_in_slot_no wm ").
Append(" where wm.wo_no = rr.wo_no ").
Append(" and wm.rds_no = 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(" from lsl2sql.dbo.react_run rr ").
Append(" where rr.rds_no = ( "). Append(" where rr.rds_no = ( ").
Append(" select max(qa.rds_no) "). Append(" select max(qa.rds_no) ").
@ -284,9 +310,10 @@ public class Job
return result; return result;
} }
private static (string, int?, string, int?, string) Get(string lsl2SQLConnectionString, int? reactorNumber, int? slotNumber, int? workOrderNumber, int? workOrderCassette) private static (string, int?, string, int?, string, string) Get(string lsl2SQLConnectionString, int? reactorNumber, int? slotNumber, int? workOrderNumber, int? workOrderCassette)
{ {
string psn; string psn;
string zone;
int? rdsNumber; int? rdsNumber;
string basicType; string basicType;
const int zero = 0; const int zero = 0;
@ -298,6 +325,7 @@ public class Job
rdsNumber = null; rdsNumber = null;
basicType = hyphen; basicType = hyphen;
psn = string.Empty; psn = string.Empty;
zone = string.Empty;
} }
else else
{ {
@ -311,10 +339,12 @@ public class Job
rdsNumber = null; rdsNumber = null;
basicType = hyphen; basicType = hyphen;
psn = string.Empty; psn = string.Empty;
zone = string.Empty;
} }
else else
{ {
psn = runs[zero].PSN; psn = runs[zero].PSN;
zone = runs[zero].Zone;
rdsNumber = runs[zero].RdsNo; rdsNumber = runs[zero].RdsNo;
if (reactorNumber is null) if (reactorNumber is null)
reactorNumber = runs[zero].Reactor; reactorNumber = runs[zero].Reactor;
@ -328,18 +358,22 @@ public class Job
basicType = $"{loadLockSideFull} - {runs[zero].ReactorType}"; basicType = $"{loadLockSideFull} - {runs[zero].ReactorType}";
} }
} }
return new(basicType, rdsNumber, psn, reactorNumber, epiLayer); return new(basicType, rdsNumber, psn, reactorNumber, epiLayer, zone);
} }
private static (string, int?, string, int?, string) GetWithValidRDS(string lsl2SQLConnectionString, string psn, int? rdsNumber, int? reactorNumber) private static (string, int?, string, int?, string, string) GetWithValidRDS(string lsl2SQLConnectionString, string psn, int? rdsNumber, int? reactorNumber)
{ {
string zone;
string basicType; string basicType;
const int zero = 0; const int zero = 0;
string epiLayer = "1"; string epiLayer = "1";
const string hyphen = "-"; const string hyphen = "-";
string json = GetRunJson(lsl2SQLConnectionString, rdsNumber, workOrderNumber: -1, workOrderCassette: -1, slot: -1, reactor: -1); string json = GetRunJson(lsl2SQLConnectionString, rdsNumber, workOrderNumber: -1, workOrderCassette: -1, slot: -1, reactor: -1);
if (string.IsNullOrEmpty(json)) if (string.IsNullOrEmpty(json))
{
basicType = hyphen; basicType = hyphen;
zone = string.Empty;
}
else else
{ {
Run[] runs; Run[] runs;
@ -348,13 +382,17 @@ public class Job
catch (Exception) catch (Exception)
{ runs = Array.Empty<Run>(); } { runs = Array.Empty<Run>(); }
if (!runs.Any()) if (!runs.Any())
{
basicType = hyphen; basicType = hyphen;
zone = string.Empty;
}
else else
{ {
if (string.IsNullOrEmpty(psn)) if (string.IsNullOrEmpty(psn))
psn = runs[zero].PSN; psn = runs[zero].PSN;
if (reactorNumber is null) if (reactorNumber is null)
reactorNumber = runs[zero].Reactor; reactorNumber = runs[zero].Reactor;
zone = runs[zero].Zone;
string loadLockSide = runs[zero].LoadLockSide; string loadLockSide = runs[zero].LoadLockSide;
string loadLockSideFull = loadLockSide switch string loadLockSideFull = loadLockSide switch
{ {
@ -365,7 +403,7 @@ public class Job
basicType = $"{loadLockSideFull} - {runs[zero].ReactorType}"; basicType = $"{loadLockSideFull} - {runs[zero].ReactorType}";
} }
} }
return new(basicType, rdsNumber, psn, reactorNumber, epiLayer); return new(basicType, rdsNumber, psn, reactorNumber, epiLayer, zone);
} }
} }

View File

@ -77,4 +77,7 @@ public class Run
[JsonPropertyName("epi_res_targ")] [JsonPropertyName("epi_res_targ")]
public double? EpiResTarg { get; set; } public double? EpiResTarg { get; set; }
[JsonPropertyName("zone")]
public string Zone { get; set; }
} }