MET08DDUPSP1TBI - v2.47.0 - Job - Zone
This commit is contained in:
parent
ccc2e138e5
commit
73b88fed0b
@ -39,6 +39,7 @@ public class Job
|
||||
else
|
||||
{
|
||||
string psn;
|
||||
string zone;
|
||||
int? rdsNumber;
|
||||
string epiLayer;
|
||||
string basicType;
|
||||
@ -61,11 +62,12 @@ public class Job
|
||||
JobName = DateTime.Ticks.ToString();
|
||||
AutomationMode = string.Concat(DateTime.Ticks, ".", input.MesEntity);
|
||||
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)
|
||||
(basicType, rdsNumber, psn, reactorNumber, epiLayer) = Get(lsl2SQLConnectionString, reactorNumber, slotNumber, workOrderNumber, workOrderCassette);
|
||||
(basicType, rdsNumber, psn, reactorNumber, epiLayer, zone) = Get(lsl2SQLConnectionString, reactorNumber, slotNumber, workOrderNumber, workOrderCassette);
|
||||
else
|
||||
{
|
||||
zone = hyphen;
|
||||
epiLayer = "1";
|
||||
basicType = hyphen;
|
||||
}
|
||||
@ -76,7 +78,7 @@ public class Job
|
||||
RecipeName = input.Recipe;
|
||||
StateModel = input.EquipmentType;
|
||||
PackageName = hyphen; //WAFER_ID WaferLot
|
||||
ProcessSpecName = hyphen; //WAFER_POS PocketNumber
|
||||
ProcessSpecName = zone; //WAFER_POS PocketNumber
|
||||
if (rdsNumber is null)
|
||||
LotName = input.MID;
|
||||
else
|
||||
@ -228,6 +230,14 @@ public class Job
|
||||
Append(" , rr.recipe_name ").
|
||||
Append(" , rr.recipe_no ").
|
||||
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(" where rr.rds_no = ").Append(rds is null ? -1 : rds.Value).Append(' ').
|
||||
Append(" union all ").
|
||||
@ -240,6 +250,14 @@ public class Job
|
||||
Append(" , rr.recipe_name ").
|
||||
Append(" , rr.recipe_no ").
|
||||
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(" where rr.rds_no = ( ").
|
||||
Append(" select max(wm.rds_no) ").
|
||||
@ -258,6 +276,14 @@ public class Job
|
||||
Append(" , rr.recipe_name ").
|
||||
Append(" , rr.recipe_no ").
|
||||
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(" where rr.rds_no = ( ").
|
||||
Append(" select max(qa.rds_no) ").
|
||||
@ -284,9 +310,10 @@ public class Job
|
||||
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 zone;
|
||||
int? rdsNumber;
|
||||
string basicType;
|
||||
const int zero = 0;
|
||||
@ -298,6 +325,7 @@ public class Job
|
||||
rdsNumber = null;
|
||||
basicType = hyphen;
|
||||
psn = string.Empty;
|
||||
zone = string.Empty;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -311,10 +339,12 @@ public class Job
|
||||
rdsNumber = null;
|
||||
basicType = hyphen;
|
||||
psn = string.Empty;
|
||||
zone = string.Empty;
|
||||
}
|
||||
else
|
||||
{
|
||||
psn = runs[zero].PSN;
|
||||
zone = runs[zero].Zone;
|
||||
rdsNumber = runs[zero].RdsNo;
|
||||
if (reactorNumber is null)
|
||||
reactorNumber = runs[zero].Reactor;
|
||||
@ -328,18 +358,22 @@ public class Job
|
||||
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;
|
||||
const int zero = 0;
|
||||
string epiLayer = "1";
|
||||
const string hyphen = "-";
|
||||
string json = GetRunJson(lsl2SQLConnectionString, rdsNumber, workOrderNumber: -1, workOrderCassette: -1, slot: -1, reactor: -1);
|
||||
if (string.IsNullOrEmpty(json))
|
||||
{
|
||||
basicType = hyphen;
|
||||
zone = string.Empty;
|
||||
}
|
||||
else
|
||||
{
|
||||
Run[] runs;
|
||||
@ -348,13 +382,17 @@ public class Job
|
||||
catch (Exception)
|
||||
{ runs = Array.Empty<Run>(); }
|
||||
if (!runs.Any())
|
||||
{
|
||||
basicType = hyphen;
|
||||
zone = string.Empty;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (string.IsNullOrEmpty(psn))
|
||||
psn = runs[zero].PSN;
|
||||
if (reactorNumber is null)
|
||||
reactorNumber = runs[zero].Reactor;
|
||||
zone = runs[zero].Zone;
|
||||
string loadLockSide = runs[zero].LoadLockSide;
|
||||
string loadLockSideFull = loadLockSide switch
|
||||
{
|
||||
@ -365,7 +403,7 @@ public class Job
|
||||
basicType = $"{loadLockSideFull} - {runs[zero].ReactorType}";
|
||||
}
|
||||
}
|
||||
return new(basicType, rdsNumber, psn, reactorNumber, epiLayer);
|
||||
return new(basicType, rdsNumber, psn, reactorNumber, epiLayer, zone);
|
||||
}
|
||||
|
||||
}
|
@ -77,4 +77,7 @@ public class Run
|
||||
[JsonPropertyName("epi_res_targ")]
|
||||
public double? EpiResTarg { get; set; }
|
||||
|
||||
[JsonPropertyName("zone")]
|
||||
public string Zone { get; set; }
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user