MET08DDUPSP1TBI - v2.47.0 - Job - Zone
This commit is contained in:
parent
ccc2e138e5
commit
73b88fed0b
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -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; }
|
||||||
|
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user