| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369 | 
							- using MECF.Framework.Common.DataCenter;
 
- using MECF.Framework.UI.Client.CenterViews.Editors.Recipe;
 
- using MECF.Framework.UI.Client.CenterViews.Editors.Sequence;
 
- using OpenSEMI.ClientBase;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Collections.ObjectModel;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Threading.Tasks;
 
- using System.Windows;
 
- using FurnaceUI.Models;
 
- using FurnaceUI.Views.Recipes;
 
- using ProcessTypeFileItem = MECF.Framework.UI.Client.CenterViews.Editors.Recipe.ProcessTypeFileItem;
 
- namespace FurnaceUI.Views.Editors
 
- {
 
-     public class RecipeAlarmActionSubViewModel : FurnaceUIViewModelBase
 
-     {
 
-         public ObservableCollection<FileNode> FileListByProcessType { get; set; }
 
-         public ObservableCollection<string> ChamberType { get; set; }
 
-         public int ChamberTypeIndexSelection { get; set; }
 
-         private RecipeProvider _recipeProvider = new RecipeProvider();
 
-         private ObservableCollection<Step> _stepList = new ObservableCollection<Step>();
 
-         
 
-         public ObservableCollection<Step> StepList
 
-             {
 
-             get => _stepList;
 
-             set
 
-             {
 
-                 _stepList = value;
 
-                 NotifyOfPropertyChange("StepList");
 
-             }
 
-         }
 
-         private int _alarmTableNo;
 
-         public int AlarmTableNo
 
-         {
 
-             get => _alarmTableNo;
 
-             set
 
-             {
 
-                 _alarmTableNo = value;
 
-                 NotifyOfPropertyChange("AlarmTableNo");
 
-             }
 
-         }
 
-         private int _alarmGroupNo;
 
-         public int AlarmGroupNo
 
-         {
 
-             get => _alarmGroupNo;
 
-             set
 
-             {
 
-                 _alarmGroupNo = value;
 
-                 NotifyOfPropertyChange("AlarmGroupNo");
 
-             }
 
-         }
 
-         private string _alarmType;
 
-         public string AlarmType
 
-         {
 
-             get => _alarmType;
 
-             set
 
-             {
 
-                 _alarmType = value;
 
-                 NotifyOfPropertyChange("AlarmType");
 
-             }
 
-         }
 
-         private string _alarmDetails;
 
-         public string AlarmDetails
 
-         {
 
-             get => _alarmDetails;
 
-             set
 
-             {
 
-                 _alarmDetails = value;
 
-                 NotifyOfPropertyChange("AlarmDetails");
 
-             }
 
-         }
 
-         private Visibility _abortRecipeVisibility;
 
-         public Visibility AbortRecipeVisibility
 
-         {
 
-             get => _abortRecipeVisibility;
 
-             set
 
-             {
 
-                 _abortRecipeVisibility = value;
 
-                 NotifyOfPropertyChange("AbortRecipeVisibility");
 
-             }
 
-         }
 
-         private Visibility _jumpStepVisibility;
 
-         public Visibility JumpStepVisibility
 
-         {
 
-             get => _jumpStepVisibility;
 
-             set
 
-             {
 
-                 _jumpStepVisibility = value;
 
-                 NotifyOfPropertyChange("JumpStepVisibility");
 
-             }
 
-         }
 
-         public string CurrentStepName { get; set; }
 
-         public string SelectedStepName { get; set; }
 
-         public string AbortRecipeName { get; set; }
 
-         private bool _isCheckJumpAbortRecipe;
 
-         public bool IsCheckJumpAbortRecipe
 
-         {
 
-             get => _isCheckJumpAbortRecipe;
 
-             set
 
-             {
 
-                 _isCheckJumpAbortRecipe = value;
 
-                 NotifyOfPropertyChange(nameof(IsCheckJumpAbortRecipe));
 
-             }
 
-         }
 
-         private bool _isCheckJumpStep;
 
-         public bool IsCheckJumpStep
 
-         {
 
-             get => _isCheckJumpStep;
 
-             set
 
-             {
 
-                 _isCheckJumpStep = value;
 
-                 NotifyOfPropertyChange(nameof(IsCheckJumpStep));
 
-             }
 
-         }
 
-         private bool _isCheckJumpStepCancelLoop;
 
-         public bool IsCheckJumpStepCancelLoop
 
-         {
 
-             get => _isCheckJumpStepCancelLoop;
 
-             set
 
-             {
 
-                 _isCheckJumpStepCancelLoop = value;
 
-                 NotifyOfPropertyChange(nameof(IsCheckJumpStepCancelLoop));
 
-             }
 
-         }
 
-         private bool _isCheckAbort;
 
-         public bool IsCheckAbort
 
-         {
 
-             get => _isCheckAbort;
 
-             set
 
-             {
 
-                 _isCheckAbort = value;
 
-                 NotifyOfPropertyChange(nameof(IsCheckAbort));
 
-             }
 
-         }
 
-         private bool _isCheckHold;
 
-         public bool IsCheckHold
 
-         {
 
-             get => _isCheckHold;
 
-             set
 
-             {
 
-                 _isCheckHold = value;
 
-                 NotifyOfPropertyChange(nameof(IsCheckHold));
 
-             }
 
-         }
 
-         private bool _isCheckIgnoreAlarm;
 
-         public bool IsCheckIgnoreAlarm
 
-         {
 
-             get => _isCheckIgnoreAlarm;
 
-             set
 
-             {
 
-                 _isCheckIgnoreAlarm = value;
 
-                 NotifyOfPropertyChange(nameof(IsCheckIgnoreAlarm));
 
-             }
 
-         }
 
-         protected override void OnInitialize()
 
-         {
 
-             base.OnInitialize();
 
-             
 
-         }
 
-         private void ShowControl(string alarmType)
 
-         {
 
-             AbortRecipeVisibility = Visibility.Hidden;
 
-             JumpStepVisibility = Visibility.Hidden;
 
-             switch (alarmType)
 
-             {
 
-                 case "Jump Abort Recipe":
 
-                     AbortRecipeVisibility = Visibility.Visible;
 
-                     break;
 
-                 case "Jump Step":
 
-                     JumpStepVisibility = Visibility.Visible;
 
-                     break;
 
-                 case "Jump Step(Cancel Call Loop)":
 
-                     JumpStepVisibility = Visibility.Visible;
 
-                     break;
 
-                 case "Abort":
 
-                     break;
 
-                 case "Hold":
 
-                     break;
 
-                 case "Ignore Alarm":
 
-                     break;
 
-                 default:
 
-                     break;
 
-             }
 
-         }
 
-         public void SelectStep(object step)
 
-         {
 
-             if (step is Step)
 
-             {
 
-                 if (AlarmType == "Jump Step")
 
-                 {
 
-                     AlarmDetails = $"Jump Step/{((Step)step).Name}";
 
-                     SelectedStepName = ((Step)step).Name;
 
-                 }
 
-                 else if (AlarmType == "Jump Step(Cancel Call Loop)")
 
-                 {
 
-                     AlarmDetails = $"Jump Step(Cancel Call Loop)/{((Step)step).Name}";
 
-                     SelectedStepName = ((Step)step).Name;
 
-                 }
 
-             }
 
-             
 
-         }
 
-         public void TreeSelectChanged(object abortRecipeName)
 
-         {
 
-             if (abortRecipeName is FileNode)
 
-             {
 
-                 AlarmDetails = $"Abort Recipe/{((FileNode)abortRecipeName).Name}";
 
-                 AbortRecipeName = ((FileNode)abortRecipeName).Name;
 
-             }
 
-             
 
-         }
 
-         public void SelectAlarmGroupCommand(string alarmType)
 
-         {
 
-             AlarmType = alarmType;
 
-             switch (alarmType)
 
-             {
 
-                 case "Jump Abort Recipe":
 
-                     AlarmDetails = @"Abort Recipe/";
 
-                     break;
 
-                 case "Jump Step":
 
-                     AlarmDetails = @"Jump Step/";
 
-                     break;
 
-                 case "Jump Step(Cancel Call Loop)":
 
-                     AlarmDetails = @"Jump Step(Cancel Call Loop)/";
 
-                     break;
 
-                 case "Abort":
 
-                     AlarmDetails = "";
 
-                     break;
 
-                 case "Hold":
 
-                     AlarmDetails = "";
 
-                     break;
 
-                 case "Ignore Alarm":
 
-                     AlarmDetails = "";
 
-                     break;
 
-                 default:
 
-                     break;
 
-             }
 
-             SelectedStepName = "";
 
-             AbortRecipeName = "";
 
-             ShowControl(alarmType);
 
-         }
 
-         protected override void OnViewLoaded(object view)
 
-         {
 
-             base.OnViewLoaded(view);
 
-             GetAbortRecipeFileList();
 
-             switch (AlarmType)
 
-             {
 
-                 case "Jump Abort Recipe":
 
-                     IsCheckJumpAbortRecipe = true;
 
-                     break;
 
-                 case "Jump Step":
 
-                     IsCheckJumpStep = true;
 
-                     break;
 
-                 case "Jump Step(Cancel Call Loop)":
 
-                     IsCheckJumpStepCancelLoop = true;
 
-                     break;
 
-                 case "Abort":
 
-                     IsCheckAbort = true;
 
-                     break;
 
-                 case "Hold":
 
-                     IsCheckHold = true;
 
-                     break;
 
-                 case "Ignore Alarm":
 
-                     IsCheckIgnoreAlarm = true;
 
-                     break;
 
-                 default:
 
-                     IsCheckIgnoreAlarm = true;
 
-                     break;
 
-             }
 
-             ShowControl(AlarmType);
 
-         }
 
-         private void GetAbortRecipeFileList()
 
-         {
 
-             var processType = "Abort";
 
-             var chamberType = QueryDataClient.Instance.Service.GetConfig("System.Recipe.SupportedChamberType");
 
-             if (chamberType == null)
 
-             {
 
-                 ChamberType = new ObservableCollection<string>() { "Default" };
 
-             }
 
-             else
 
-             {
 
-                 ChamberType = new ObservableCollection<string>(((string)(chamberType)).Split(','));
 
-             }
 
-             ChamberTypeIndexSelection = 0;
 
-             ObservableCollection<ProcessTypeFileItem> typeFileList = new ObservableCollection<ProcessTypeFileItem>();
 
-             string[] recipeProcessType = ((string)processType).Split(',');
 
-             for (int i = 0; i < recipeProcessType.Length; i++)
 
-             {
 
-                 var prefix = $"{ChamberType[ChamberTypeIndexSelection]}\\{recipeProcessType[i]}";
 
-                 var recipes = _recipeProvider.GetXmlRecipeList(prefix);
 
-                 FileListByProcessType = RecipeSequenceTreeBuilder.BuildFileNode(prefix, "", false, recipes)[0].Files;
 
-             }
 
-         }
 
-         public void SaveCmd()
 
-         {
 
-             if (AlarmType == "Jump Step" || AlarmType == "Jump Step(Cancel Call Loop)")
 
-             {
 
-                 if (string.IsNullOrEmpty(SelectedStepName))
 
-                 {
 
-                     DialogBox.ShowWarning("Jump Step is empty!");
 
-                     return;
 
-                 }
 
-                 if (SelectedStepName == CurrentStepName)
 
-                 {
 
-                     DialogBox.ShowWarning($"Jump Step cannot be the same as {CurrentStepName}!");
 
-                     return;
 
-                 }
 
-             }
 
-             if (AlarmType == "Jump Abort Recipe")
 
-             {
 
-                 if (string.IsNullOrEmpty(AbortRecipeName))
 
-                 {
 
-                     DialogBox.ShowWarning("Abort Recipe Name is empty!");
 
-                     return;
 
-                 }
 
-             }
 
-             ((Window)GetView()).DialogResult = true;
 
-         }
 
-         public void CloseCmd()
 
-         {
 
-             ((Window)GetView()).DialogResult = false;
 
-         }
 
-     }
 
- }
 
 
  |