|
@@ -756,44 +756,17 @@ namespace EfemDualSchedulerLib
|
|
|
{
|
|
|
reason = "";
|
|
|
ModuleName[] moduleNames = ModuleHelper.GetCassetteByVce(mod);
|
|
|
- for(int i=0;i<modules.Length;i++)
|
|
|
+ for (int i = 0; i < modules.Length; i++)
|
|
|
{
|
|
|
- for (int i = 0; i < 25; i++)
|
|
|
+ for (int j = 0; j < 25; j++)
|
|
|
{
|
|
|
- bool leftHasWafer = WaferManager.Instance.CheckHasWafer(moduleNames[0], i);
|
|
|
- }
|
|
|
- for(int i=0;i<25;i++)
|
|
|
- {
|
|
|
- bool leftHasWafer = WaferManager.Instance.CheckHasWafer(moduleNames[0], i);
|
|
|
- bool rightHasWafer = WaferManager.Instance.CheckHasWafer(moduleNames[1], i);
|
|
|
- if (!leftHasWafer &&!string.IsNullOrEmpty(slotSequence[0][i]))
|
|
|
- {
|
|
|
- reason = $"job wafer: {modules[0]} slot {i + 1} not in the carrier";
|
|
|
- return false;
|
|
|
- }
|
|
|
- if (!rightHasWafer && !string.IsNullOrEmpty(slotSequence[1][i]))
|
|
|
- {
|
|
|
- reason = $"job wafer: {modules[1]} slot {i + 1} not in the carrier";
|
|
|
- return false;
|
|
|
- }
|
|
|
- if (modules.Length==1)
|
|
|
- {
|
|
|
- if (leftHasWafer == rightHasWafer)
|
|
|
- {
|
|
|
- reason = "Left Casste and Right casste wafer status are matched";
|
|
|
- return false;
|
|
|
- }
|
|
|
- else if (modules[0].EndsWith("L")&&!leftHasWafer)
|
|
|
- {
|
|
|
- reason = $"job wafer: slot {i + 1} not in the carrier";
|
|
|
- return false;
|
|
|
- }
|
|
|
- else if (modules[0].EndsWith("R")&&!rightHasWafer)
|
|
|
- {
|
|
|
- reason = $"job wafer: slot {i + 1} not in the carrier";
|
|
|
- return false;
|
|
|
- }
|
|
|
- }
|
|
|
+ bool hasWafer = WaferManager.Instance.CheckHasWafer(moduleNames[0], j);
|
|
|
+ if(!hasWafer && !string.IsNullOrEmpty(slotSequence[i][j]))
|
|
|
+ {
|
|
|
+ reason = $"job wafer: {modules[0]} slot {j + 1} not in the carrier";
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
return true;
|
|
|
}
|