| 
					
				 | 
			
			
				@@ -1,8 +1,11 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-using Aitex.Core.RT.SCCore;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using Aitex.Core.Common.DeviceData;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using Aitex.Core.RT.Log;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using Aitex.Core.RT.SCCore;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using Aitex.Core.Util;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using Caliburn.Micro;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using DocumentFormat.OpenXml.Drawing;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using FurnaceUI.Client.Dialog;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using FurnaceUI.Views.Recipes;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using MECF.Framework.Common.DataCenter;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using MECF.Framework.Common.OperationCenter;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig;
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -18,6 +21,7 @@ using System.Collections.Generic; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using System.Collections.ObjectModel;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using System.Globalization;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using System.Linq;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+using System.Reflection;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using System.Text;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using System.Threading;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 using System.Threading.Tasks;
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -140,6 +144,35 @@ namespace FurnaceUI.Views.Parameter 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public double MFC51Feedback { get; set; }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         [Subscription("PM1.MFM57.Feedback")]
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public double MFM57Feedback { get; set; }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #region WaferCharge
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private double _n2PurgeFOUPO2CheckSV = 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public double N2PurgeFOUPO2CheckSV
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            get
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return _n2PurgeFOUPO2CheckSV;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            set
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                _n2PurgeFOUPO2CheckSV = value;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                NotifyOfPropertyChange("N2PurgeFOUPO2CheckSV");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private double _n2PurgeLAO2CheckSV = 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public double N2PurgeLAO2CheckSV
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            get
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return _n2PurgeLAO2CheckSV;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            set
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                _n2PurgeLAO2CheckSV = value;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                NotifyOfPropertyChange("N2PurgeLAO2CheckSV");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        #endregion
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         protected override void OnInitialize()
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             base.OnInitialize();
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -153,6 +186,9 @@ namespace FurnaceUI.Views.Parameter 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             base.OnActivate();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             DefaultUnit = (string)QueryDataClient.Instance.Service.GetConfig($"PM1.APC.PressureUnit");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            N2PurgeFOUPO2CheckSV = (double)QueryDataClient.Instance.Service.GetConfig($"PM1.N2Purge.N2PurgeFOUPO2CheckSV");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            N2PurgeLAO2CheckSV = (double)QueryDataClient.Instance.Service.GetConfig($"PM1.N2Purge.N2PurgeLAO2CheckSV");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //GetO2ModelSpline();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //GetN2ModelSpline();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }
 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -563,6 +599,24 @@ namespace FurnaceUI.Views.Parameter 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return FindNodeByName(node, strName.Replace(strCates + ".", ""));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        public void SetConfigTextChanged(string configName, object sender, object item)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (!string.IsNullOrEmpty(configName) &&item != null && sender != null)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    string value = ((TextBox)sender).Text;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    double setValue = 0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    double.TryParse(value, out setValue);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    InvokeClient.Instance.Service.DoOperation("System.SetConfig", $"{configName}", setValue);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            catch (Exception ex)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                LOG.Info($"N2PurgeFOUPO2CheckSVTextChanged:{ex.Message}");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public void N2PurgeParaSelect(string ButtonPara)
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.GetType().GetProperty($"{ButtonPara}BackGround").SetValue(this, "#FF7DD486");
 
			 |