|
@@ -383,6 +383,11 @@ namespace Venus_RT.Modules
|
|
|
return Status == ModuleStatus.Idle && (_runingWaferTask.Key == Guid.Empty || _runingWaferTask.Value.Count == 0) && _pendingWaferTasks.Count == 0;
|
|
|
}
|
|
|
|
|
|
+ public bool IsRecipeJobDone(RecipeJobType job)
|
|
|
+ {
|
|
|
+ return (_runingWaferTask.Key == Guid.Empty || !_runingWaferTask.Value.ToList().Exists(kv => kv.Key == job)) && (_pendingWaferTasks.Count == 0 || !_pendingWaferTasks.ToList().Exists(kv => kv.Value.Count > 0 && kv.Value.ToList().Exists(kvv => kvv.Key == job)));
|
|
|
+ }
|
|
|
+
|
|
|
public override void ResetTask()
|
|
|
{
|
|
|
base.ResetTask();
|
|
@@ -1867,8 +1872,8 @@ namespace Venus_RT.Modules
|
|
|
var pms = GetWaitPreCleanPMsByCtrlJob(cj);
|
|
|
foreach (var pm in pms)
|
|
|
{
|
|
|
- var pmTask = _dictModuleTask[pm] as PMTask;
|
|
|
- if (pmTask.Scheduler.IsOnline && !pmTask.IsPreJobCleanDone())
|
|
|
+ var pmTask = _dictModuleTask[pm] as VenusPMTask;
|
|
|
+ if (pmTask.Scheduler.IsOnline && !pmTask.IsRecipeJobDone(VenusPMTask.RecipeJobType.PreClean))
|
|
|
return false;
|
|
|
}
|
|
|
|
|
@@ -1880,8 +1885,8 @@ namespace Venus_RT.Modules
|
|
|
var pms = GetWaitPreCleanPMsByCtrlJob(cj);
|
|
|
foreach (var pm in pms)
|
|
|
{
|
|
|
- var pmTask = _dictModuleTask[pm] as PMTask;
|
|
|
- if (pmTask.Scheduler.IsOnline && !pmTask.IsPostJobCleanDone())
|
|
|
+ var pmTask = _dictModuleTask[pm] as VenusPMTask;
|
|
|
+ if (pmTask.Scheduler.IsOnline && !pmTask.IsRecipeJobDone(VenusPMTask.RecipeJobType.PostClean))
|
|
|
return false;
|
|
|
}
|
|
|
|