|
@@ -559,7 +559,7 @@ namespace Venus_MainPages.ViewModels
|
|
|
private void OnStop(object obj)
|
|
|
{
|
|
|
var info = obj as WaferAssociationInfo;
|
|
|
- InvokeClient.Instance.Service.DoOperation("System.PauseJob", info.JobID);
|
|
|
+ InvokeClient.Instance.Service.DoOperation("System.StopJob", info.JobID);
|
|
|
LOG.Info("System,Pause Job");
|
|
|
}
|
|
|
private void OnAbort(object obj)
|
|
@@ -754,20 +754,11 @@ namespace Venus_MainPages.ViewModels
|
|
|
EFEMBladeBWafer = ModuleManager.ModuleInfos["EfemRobot"].WaferManager.Wafers[1];
|
|
|
Aligner1Wafer = ModuleManager.ModuleInfos["Aligner1"].WaferManager.Wafers[0];
|
|
|
ControlJobInfo lp1Cj = CommonFunction.GetValue<ControlJobInfo>(RtDataValues, "LP1.CurrentControlJob");
|
|
|
- if(lp1Cj!=null)
|
|
|
- {
|
|
|
- UPdateWaferAssociation(LP1WaferAssociation, lp1Cj);
|
|
|
- }
|
|
|
+ UPdateWaferAssociation(LP1WaferAssociation, lp1Cj);
|
|
|
ControlJobInfo lp2Cj = CommonFunction.GetValue<ControlJobInfo>(RtDataValues, "LP2.CurrentControlJob");
|
|
|
- if (lp2Cj != null)
|
|
|
- {
|
|
|
- UPdateWaferAssociation(LP2WaferAssociation, lp2Cj);
|
|
|
- }
|
|
|
+ UPdateWaferAssociation(LP2WaferAssociation, lp2Cj);
|
|
|
ControlJobInfo lp3Cj = CommonFunction.GetValue<ControlJobInfo>(RtDataValues, "LP3.CurrentControlJob");
|
|
|
- if (lp3Cj != null)
|
|
|
- {
|
|
|
- UPdateWaferAssociation(LP3WaferAssociation, lp3Cj);
|
|
|
- }
|
|
|
+ UPdateWaferAssociation(LP3WaferAssociation, lp3Cj);
|
|
|
}
|
|
|
|
|
|
RobotMoveInfo = (RobotMoveInfo)QueryDataClient.Instance.Service.GetData("TM.RobotMoveAction");
|
|
@@ -791,19 +782,34 @@ namespace Venus_MainPages.ViewModels
|
|
|
/// <param name="cjInfo"></param>
|
|
|
private void UPdateWaferAssociation(WaferAssociationInfo info,ControlJobInfo cjInfo)
|
|
|
{
|
|
|
- info.LotId = cjInfo.Name;
|
|
|
- info.JobID = cjInfo.Name;
|
|
|
- info.JobStatus = cjInfo.State.ToString();
|
|
|
- if (cjInfo.LotWafers != null)
|
|
|
+ if (cjInfo != null)
|
|
|
+ {
|
|
|
+ info.LotId = cjInfo.Name;
|
|
|
+ info.JobID = cjInfo.Name;
|
|
|
+ info.JobStatus = cjInfo.State.ToString();
|
|
|
+ if (cjInfo.LotWafers != null&&cjInfo.State!=EnumControlJobState.Completed)
|
|
|
+ {
|
|
|
+ for (int i = 0; i < cjInfo.LotWafers.Count; i++)
|
|
|
+ {
|
|
|
+ int index = Math.Abs(24 - cjInfo.LotWafers[i].Slot);
|
|
|
+ info.ModuleData.WaferManager.Wafers[index].SequenceName = cjInfo.LotWafers[i].SequenceName;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ info.PreCleanRecipeName = cjInfo.PreJobClean;
|
|
|
+ info.PostCleanRecipeName = cjInfo.PostJobClean;
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
- for (int i = 0; i < cjInfo.LotWafers.Count; i++)
|
|
|
+ if (!string.IsNullOrEmpty(info.JobID))
|
|
|
{
|
|
|
- int index =Math.Abs(24-cjInfo.LotWafers[i].Slot);
|
|
|
- info.ModuleData.WaferManager.Wafers[index].SequenceName = cjInfo.LotWafers[i].SequenceName;
|
|
|
+ info.LotId = "";
|
|
|
+ info.JobID = "";
|
|
|
+ info.JobStatus = "";
|
|
|
+ info.PreCleanRecipeName = "";
|
|
|
+ info.PostCleanRecipeName = "";
|
|
|
+ AssociateSequence(info, false);
|
|
|
}
|
|
|
}
|
|
|
- info.PreCleanRecipeName = cjInfo.PreJobClean;
|
|
|
- info.PostCleanRecipeName = cjInfo.PostJobClean;
|
|
|
}
|
|
|
private async void RobotMoveInfoChanged(RobotMoveInfo oldValue, RobotMoveInfo newValue)
|
|
|
{
|