| 
															
																@@ -449,6 +449,7 @@ namespace FurnaceRT.Equipments.PMs 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     var maintenanceItemSDWaferThickness = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.SDWaferThickness.ToString());
 
															 | 
															
															 | 
															
																                     var maintenanceItemSDWaferThickness = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.SDWaferThickness.ToString());
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     var maintenanceItemSDWaferUserTime = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.SDWaferUserTime.ToString());
 
															 | 
															
															 | 
															
																                     var maintenanceItemSDWaferUserTime = ScheduleMaintenanceDataManager.Instance.GetItem(MaintenanceItemEnum.SDWaferUserTime.ToString());
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     int SDCountWarning = (int)maintenanceItemSDCarrierUseFreq.StartValue;
 
															 | 
															
															 | 
															
																                     int SDCountWarning = (int)maintenanceItemSDCarrierUseFreq.StartValue;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     int SDCountAlarm = (int)maintenanceItemSDCarrierUseFreq.LimitValue;
 
															 | 
															
															 | 
															
																                     int SDCountAlarm = (int)maintenanceItemSDCarrierUseFreq.LimitValue;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     bool IsEnableSDWaferUseCountWarning = SDCountWarning > 0;
 
															 | 
															
															 | 
															
																                     bool IsEnableSDWaferUseCountWarning = SDCountWarning > 0;
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -484,13 +485,17 @@ namespace FurnaceRT.Equipments.PMs 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     if (wafer.WaferType == WaferType.SD && IsEnableSDWaferUseCountWarning && wafer.UseCount >= SDCountAlarm)
 
															 | 
															
															 | 
															
																                     if (wafer.WaferType == WaferType.SD && IsEnableSDWaferUseCountWarning && wafer.UseCount >= SDCountAlarm)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     {
 
															 | 
															
															 | 
															
																                     {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-                        pm.MaintenanceProcessingCommandExec(maintenanceItemSDCarrierUseFreq, new AlarmReportItem(Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountAlarm.Set, $"more than {SDCountAlarm} 次"));
 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                        if (maintenanceItemSDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.None.ToString())
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                            return true;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                        pm.MaintenanceProcessingCommandExec(maintenanceItemSDCarrierUseFreq, new AlarmReportItem(Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountAlarm.Set, $"more than {SDCountAlarm} 次"));
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                         return false;
 
															 | 
															
															 | 
															
																                         return false;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     }
 
															 | 
															
															 | 
															
																                     }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     if (wafer.WaferType == WaferType.SD && IsEnableSDWaferUseTimeWarning && wafer.UseTime >= SDTimeAlarm)
 
															 | 
															
															 | 
															
																                     if (wafer.WaferType == WaferType.SD && IsEnableSDWaferUseTimeWarning && wafer.UseTime >= SDTimeAlarm)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     {
 
															 | 
															
															 | 
															
																                     {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                        if (maintenanceItemSDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.None.ToString())
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                            return true;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                         DateTimeUtil.ConvertSecondsToHoursAndMinutes(SDTimeAlarm, out var hours, out var minutes);
 
															 | 
															
															 | 
															
																                         DateTimeUtil.ConvertSecondsToHoursAndMinutes(SDTimeAlarm, out var hours, out var minutes);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                         pm.MaintenanceProcessingCommandExec(maintenanceItemSDWaferUserTime, new AlarmReportItem(Singleton<EquipmentManager>.Instance.SDWaferTypeUseTimeAlarm.Set, $"more than {hours} hour {minutes}"));
 
															 | 
															
															 | 
															
																                         pm.MaintenanceProcessingCommandExec(maintenanceItemSDWaferUserTime, new AlarmReportItem(Singleton<EquipmentManager>.Instance.SDWaferTypeUseTimeAlarm.Set, $"more than {hours} hour {minutes}"));
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -500,6 +505,9 @@ namespace FurnaceRT.Equipments.PMs 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     if (wafer.WaferType == WaferType.SD && IsEnableSDWaferThicknessWarning && wafer.UseThick >= SDThicknessAlarm)
 
															 | 
															
															 | 
															
																                     if (wafer.WaferType == WaferType.SD && IsEnableSDWaferThicknessWarning && wafer.UseThick >= SDThicknessAlarm)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     {
 
															 | 
															
															 | 
															
																                     {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                        if (maintenanceItemSDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.None.ToString())
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                            return true;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                         pm.MaintenanceProcessingCommandExec(maintenanceItemSDWaferThickness, new AlarmReportItem(Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessAlarm.Set, $"more than {SDThicknessAlarm} nm"));
 
															 | 
															
															 | 
															
																                         pm.MaintenanceProcessingCommandExec(maintenanceItemSDWaferThickness, new AlarmReportItem(Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessAlarm.Set, $"more than {SDThicknessAlarm} nm"));
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                         return false;
 
															 | 
															
															 | 
															
																                         return false;
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -549,12 +557,19 @@ namespace FurnaceRT.Equipments.PMs 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     if (wafer.WaferType == WaferType.ED && IsEnableEDWaferUseCountWarning && wafer.UseCount >= EDCountAlarm)
 
															 | 
															
															 | 
															
																                     if (wafer.WaferType == WaferType.ED && IsEnableEDWaferUseCountWarning && wafer.UseCount >= EDCountAlarm)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     {
 
															 | 
															
															 | 
															
																                     {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                        if (maintenanceItemEDCarrierUseFreq.MaintenanceProcessing == MaintenanceProcessingCommandEnum.None.ToString())
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                            return true;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                         pm.MaintenanceProcessingCommandExec(maintenanceItemEDCarrierUseFreq, new AlarmReportItem(Singleton<EquipmentManager>.Instance.EDWaferTypeUseCountAlarm.Set, $"more than {EDCountAlarm} 次"));
 
															 | 
															
															 | 
															
																                         pm.MaintenanceProcessingCommandExec(maintenanceItemEDCarrierUseFreq, new AlarmReportItem(Singleton<EquipmentManager>.Instance.EDWaferTypeUseCountAlarm.Set, $"more than {EDCountAlarm} 次"));
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                         return false;
 
															 | 
															
															 | 
															
																                         return false;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     }
 
															 | 
															
															 | 
															
																                     }
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     if (wafer.WaferType == WaferType.ED && IsEnableEDWaferUseTimeWarning && wafer.UseTime >= EDTimeAlarm)
 
															 | 
															
															 | 
															
																                     if (wafer.WaferType == WaferType.ED && IsEnableEDWaferUseTimeWarning && wafer.UseTime >= EDTimeAlarm)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     {
 
															 | 
															
															 | 
															
																                     {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                        if (maintenanceItemEDWaferUserTime.MaintenanceProcessing == MaintenanceProcessingCommandEnum.None.ToString())
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                            return true;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                         DateTimeUtil.ConvertSecondsToHoursAndMinutes(EDTimeAlarm, out var hours, out var minutes);
 
															 | 
															
															 | 
															
																                         DateTimeUtil.ConvertSecondsToHoursAndMinutes(EDTimeAlarm, out var hours, out var minutes);
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                         pm.MaintenanceProcessingCommandExec(maintenanceItemEDWaferUserTime, new AlarmReportItem(Singleton<EquipmentManager>.Instance.EDWaferTypeUseTimeAlarm.Set, $"more than {hours} hour {minutes}"));
 
															 | 
															
															 | 
															
																                         pm.MaintenanceProcessingCommandExec(maintenanceItemEDWaferUserTime, new AlarmReportItem(Singleton<EquipmentManager>.Instance.EDWaferTypeUseTimeAlarm.Set, $"more than {hours} hour {minutes}"));
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                         return false;
 
															 | 
															
															 | 
															
																                         return false;
 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -562,6 +577,10 @@ namespace FurnaceRT.Equipments.PMs 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
 
															 | 
															
															 | 
															
																 
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     if (wafer.WaferType == WaferType.ED && IsEnableEDWaferThicknessWarning && wafer.UseThick >= EDThicknessAlarm)
 
															 | 
															
															 | 
															
																                     if (wafer.WaferType == WaferType.ED && IsEnableEDWaferThicknessWarning && wafer.UseThick >= EDThicknessAlarm)
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     {
 
															 | 
															
															 | 
															
																                     {
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                        if (maintenanceItemEDWaferThickness.MaintenanceProcessing == MaintenanceProcessingCommandEnum.None.ToString())
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+                            return true;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                         pm.MaintenanceProcessingCommandExec(maintenanceItemEDWaferThickness, new AlarmReportItem(Singleton<EquipmentManager>.Instance.EDWaferTypeThicknessAlarm.Set, $"more than {EDThicknessAlarm} nm"));
 
															 | 
															
															 | 
															
																                         pm.MaintenanceProcessingCommandExec(maintenanceItemEDWaferThickness, new AlarmReportItem(Singleton<EquipmentManager>.Instance.EDWaferTypeThicknessAlarm.Set, $"more than {EDThicknessAlarm} nm"));
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                         return false;
 
															 | 
															
															 | 
															
																                         return false;
 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                     }
 
															 | 
															
															 | 
															
																                     }
 
															 |