Browse Source

1、修复了AbortJob无法选择Sequence的问题

chenkui 1 year ago
parent
commit
4359bcf776

+ 28 - 22
Venus/Venus_MainPages/ViewModels/OperationOverViewModel.cs

@@ -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)
         {

+ 6 - 5
Venus/Venus_RT/Modules/AutoCycle.cs

@@ -496,13 +496,9 @@ namespace Venus_RT.Modules
                     pj.SetState(EnumProcessJobState.Stopping);
                 }
             }
-
             _faCallback.JobStopped(cj, GetFirstProcessJob(cj));
             _dbCallback.LotFinished(cj);
-            if (_loadportControlJobDic.ContainsKey(cj.Module))
-            {
-                _loadportControlJobDic[cj.Module] = null;
-            }
+            
             return true;
         }
 
@@ -627,6 +623,11 @@ namespace Venus_RT.Modules
             }
 
             _lstControlJobs.Clear();
+            List<string> keys = _loadportControlJobDic.Keys.ToList();
+            foreach(var key in keys)
+            {
+                _loadportControlJobDic[key] = null;
+            }
             _lstProcessJobs.Clear();
             _cycleState = RState.End;
         }