Browse Source

fix 同步bug

jiangjy 1 week ago
parent
commit
5c8b162eda

+ 5 - 3
Furnace/FurnaceUI/Views/Editors/AlarmErrorCallRecipeViewModel.cs

@@ -22,7 +22,7 @@ namespace FurnaceUI.Views.Editors
             get { return _steps; }
             set { _steps = value; this.NotifyOfPropertyChange(nameof(Steps)); }
         }
-
+        public string CallReciepType { get; set; }
 
         private ObservableCollection<ParameterTable> _selectItemTable = new ObservableCollection<ParameterTable>();
 
@@ -75,9 +75,11 @@ namespace FurnaceUI.Views.Editors
         private void LoadData()
         {
             CurrentRecipe.Clear();
-            var prefixPath = "Furnace\\alarm";
+            var prefixPath = $"Furnace\\{CallReciepType}";
             var recipes = _recipeProvider.GetXmlRecipeList(prefixPath);
-            var firstFile = RecipeSequenceTreeBuilder.BuildFileNode(prefixPath, "", false, recipes)[0].Files.FirstOrDefault();
+
+            var firstFile = RecipeSequenceTreeBuilder.GetFileNodeParameterList(prefixPath)[0].Files.FirstOrDefault(); ;
+
             if (firstFile != null)
             {
                 var recipeContent = _recipeProvider.LoadRecipe(prefixPath, firstFile.Name);

+ 2 - 0
Furnace/FurnaceUI/Views/Editors/AlarmErrorCommandViewModel.cs

@@ -139,6 +139,7 @@ namespace FurnaceUI.Views.Editors
             {
                 errorCallRecipeViewModel.IsAlarmVisibility = Visibility.Visible;
                 errorCallRecipeViewModel.ResultParameterStr = AlarmStr;
+                errorCallRecipeViewModel.CallReciepType = "alarm";
                 if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(errorCallRecipeViewModel, null, "Call Alarm Recipe"))
                 {
                     ResultParameterStr = errorCallRecipeViewModel.ResultParameterStr;
@@ -178,6 +179,7 @@ namespace FurnaceUI.Views.Editors
                 errorCallRecipeViewModel = new AlarmErrorCallRecipeViewModel();
                 errorCallRecipeViewModel.IsAlarmVisibility = Visibility.Hidden;
                 errorCallRecipeViewModel.ResultParameterStr = AbortStr;
+                errorCallRecipeViewModel.CallReciepType = "abort";
                 if ((bool)(windowManager as WindowManager)?.ShowDialogWithTitle(errorCallRecipeViewModel, null, "Call Abort Recipe"))
                 {
                     ResultParameterStr = errorCallRecipeViewModel.ResultParameterStr;

+ 1 - 1
Furnace/FurnaceUI/Views/Recipes/RecipeJobViewModel.cs

@@ -1674,7 +1674,7 @@ namespace FurnaceUI.Views.Recipes
                 return false;
 
             var windowManager = IoC.Get<IWindowManager>();
-            if (string.IsNullOrEmpty(CurrentRecipe.PrefixPath))
+            if (string.IsNullOrEmpty(CurrentFileNode.PrefixPath))
             {
                 DialogBox.ShowWarning("Please select a file first");
                 return false;

+ 12 - 0
Furnace/FurnaceUI/Views/Recipes/RecipeViewModel.cs

@@ -485,6 +485,18 @@ namespace FurnaceUI.Views.Recipes
             string recipeName = fileName.Trim();
             string description = "";
             string prefix = CurrentChamberType + "\\" + CurrentProcessType + "\\" + fileName;
+
+
+            if (CurrentFileNode != null)
+            {
+                //获取目录
+                prefix = GetPrefix(CurrentFileNode.PrefixPath, CurrentFileNode);
+            }
+            if (RecipeFileList.Find(a => a.Name == recipeName.ToLower()) != null)
+            {
+                return;
+            }
+
             if (!IsExist(recipeName.ToLower(), true))
             {
                 RecipeDataBase recipe = new RecipeDataBase();