Browse Source

fix 所有模块都开发JobAutoStart逻辑,并新增触发JobAutoStart的时候,自动令累计值归0

jiangjy 1 month ago
parent
commit
dfb1fb1f99

+ 21 - 6
Furnace/FurnaceRT/Equipments/Jobs/AutoTransfer.cs

@@ -6130,7 +6130,8 @@ namespace FurnaceRT.Equipments.Jobs
 
                                     Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountAlarm.Set(msg);
                                     pm.TriggerJobAutoStart(maintenanceItemCarrierUseFreq.AssociationProcessRecipeName, RecipeExecEntryEnum.SDWaferRangeTrigger);
-                                    LOG.Info($"{msg} Trigger {maintenanceItemCarrierUseFreq.AssociationProcessRecipeName}");
+                                    LOG.Info($"{msg} Trigger {maintenanceItemCarrierUseFreq.AssociationProcessRecipeName},auto clear CurrentValue {maintenanceItemCarrierUseFreq.LimitValue} to 0");
+                                    Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(maintenanceItemCarrierUseFreq.Item, 0);
                                     return false;
 
                                 }
@@ -6159,7 +6160,9 @@ namespace FurnaceRT.Equipments.Jobs
 
                                     Singleton<EquipmentManager>.Instance.SDWaferTypeUseTimeAlarm.Set(msg);
                                     pm.TriggerJobAutoStart(maintenanceItemWaferUserTime.AssociationProcessRecipeName, RecipeExecEntryEnum.SDWaferRangeTrigger);
-                                    LOG.Info($"{msg} Trigger {maintenanceItemWaferUserTime.AssociationProcessRecipeName}");
+                                    LOG.Info($"{msg} Trigger {maintenanceItemWaferUserTime.AssociationProcessRecipeName},auto clear CurrentValue {maintenanceItemWaferUserTime.LimitValue} to 0");
+
+                                    Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(maintenanceItemWaferUserTime.Item, 0);
                                     return false;
 
                                 }
@@ -6188,7 +6191,10 @@ namespace FurnaceRT.Equipments.Jobs
 
                                     Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessAlarm.Set(msg);
                                     pm.TriggerJobAutoStart(maintenanceItemWaferThickness.AssociationProcessRecipeName, RecipeExecEntryEnum.SDWaferRangeTrigger);
-                                    LOG.Info($"{msg} Trigger {maintenanceItemWaferThickness.AssociationProcessRecipeName}");
+                                    LOG.Info($"{msg} Trigger {maintenanceItemWaferThickness.AssociationProcessRecipeName},auto clear CurrentValue {maintenanceItemWaferThickness.LimitValue} to 0");
+
+
+                                    Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(maintenanceItemWaferThickness.Item, 0);
                                     return false;
 
                                 }
@@ -6261,7 +6267,11 @@ namespace FurnaceRT.Equipments.Jobs
                                     }
                                     Singleton<EquipmentManager>.Instance.FDWaferTypeUseCountAlarm.Set(msg);
                                     pm.TriggerJobAutoStart(maintenanceItemCarrierUseFreq.AssociationProcessRecipeName, RecipeExecEntryEnum.EDWaferRangeTrigger);
-                                    LOG.Info($"{msg} Trigger {maintenanceItemCarrierUseFreq.AssociationProcessRecipeName}");
+                                    LOG.Info($"{msg} Trigger {maintenanceItemCarrierUseFreq.AssociationProcessRecipeName},auto clear CurrentValue {maintenanceItemCarrierUseFreq.LimitValue} to 0");
+
+                           
+
+                                    Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(maintenanceItemCarrierUseFreq.Item, 0);
                                     return false;
 
                                 }
@@ -6292,7 +6302,9 @@ namespace FurnaceRT.Equipments.Jobs
 
                                     Singleton<EquipmentManager>.Instance.FDWaferTypeUseTimeAlarm.Set(msg);
                                     pm.TriggerJobAutoStart(maintenanceItemWaferUserTime.AssociationProcessRecipeName, RecipeExecEntryEnum.EDWaferRangeTrigger);
-                                    LOG.Info($"{msg} Trigger {maintenanceItemWaferUserTime.AssociationProcessRecipeName}");
+                                    LOG.Info($"{msg} Trigger {maintenanceItemWaferUserTime.AssociationProcessRecipeName},auto clear CurrentValue {maintenanceItemWaferUserTime.LimitValue} to 0");
+
+                                    Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(maintenanceItemWaferUserTime.Item, 0);
                                     return false;
 
                                 }
@@ -6318,7 +6330,10 @@ namespace FurnaceRT.Equipments.Jobs
                                     }
                                     Singleton<EquipmentManager>.Instance.FDWaferTypeThicknessAlarm.Set(msg);
                                     pm.TriggerJobAutoStart(maintenanceItemWaferThickness.AssociationProcessRecipeName, RecipeExecEntryEnum.EDWaferRangeTrigger);
-                                    LOG.Info($"{msg} Trigger {maintenanceItemWaferThickness.AssociationProcessRecipeName}");
+                                    LOG.Info($"{msg} Trigger {maintenanceItemWaferThickness.AssociationProcessRecipeName},auto clear CurrentValue {maintenanceItemWaferThickness.LimitValue} to 0");
+
+
+                                    Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(maintenanceItemWaferThickness.Item, 0);
                                     return false;
 
                                 }

+ 39 - 5
Furnace/FurnaceRT/Equipments/PMs/PMScheduleMaintenance.cs

@@ -347,9 +347,10 @@ namespace FurnaceRT.Equipments.PMs
                         }
                         else
                         {
-                            LOG.Info($"{message} Trigger {item.AssociationProcessRecipeName}");
+                            LOG.Info($"{message} Trigger {item.AssociationProcessRecipeName} ,auto clear CurrentValue {item.LimitValue} to 0");
                             RecipeExecEntryEnumValue = RecipeExecEntryEnum.RecipeStepRangeTrigger;
                             CheckToPostMessage((int)MSG.RunOtherRecipe, item.AssociationProcessRecipeName, "Process");
+                            Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(item.Item, 0);
                         }
 
                     }
@@ -394,12 +395,27 @@ namespace FurnaceRT.Equipments.PMs
             if (isWarning)
                 Singleton<EquipmentManager>.Instance.ReatorStepRunTimeWarning.Set(message);
 
+        
             if (isAlarm)
             {
                 Singleton<EquipmentManager>.Instance.ReatorStepRunTimeAlarm.Set(message);
+                if (command == MaintenanceProcessingCommandEnum.JobAutoStart)
+                {
+                    if (string.IsNullOrEmpty(item.AssociationProcessRecipeName))
+                    {
+                        Singleton<EquipmentManager>.Instance.ReatorStepRunTimeAlarm.Set(message);
+                    }
+                    else
+                    {
+                        LOG.Info($"{message} Trigger {item.AssociationProcessRecipeName} ,auto clear CurrentValue {item.LimitValue} to 0");
+                        RecipeExecEntryEnumValue = RecipeExecEntryEnum.RecipeStepRangeTrigger;
+                        CheckToPostMessage((int)MSG.RunOtherRecipe, item.AssociationProcessRecipeName, "Process");
+                        Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(item.Item, 0);
+                    }
+                }
                 isPause = true;
+                return;
             }
-
         }
 
         /// <summary>
@@ -432,7 +448,22 @@ namespace FurnaceRT.Equipments.PMs
             if (isAlarm)
             {
                 Singleton<EquipmentManager>.Instance.ReatorStepRunFreqAlarm.Set(message);
+                if (command == MaintenanceProcessingCommandEnum.JobAutoStart)
+                {
+                    if (string.IsNullOrEmpty(item.AssociationProcessRecipeName))
+                    {
+                        Singleton<EquipmentManager>.Instance.ReatorStepRunFreqAlarm.Set(message);
+                    }
+                    else
+                    {
+                        LOG.Info($"{message} Trigger {item.AssociationProcessRecipeName} ,auto clear CurrentValue {item.LimitValue} to 0");
+                        RecipeExecEntryEnumValue = RecipeExecEntryEnum.RecipeStepRangeTrigger;
+                        CheckToPostMessage((int)MSG.RunOtherRecipe, item.AssociationProcessRecipeName, "Process");
+                        Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(item.Item, 0);
+                    }
+                }
                 isPause = true;
+                return;
             }
 
         }
@@ -483,9 +514,10 @@ namespace FurnaceRT.Equipments.PMs
                     }
                     else
                     {
-                        LOG.Info($"{message} Trigger {item.AssociationProcessRecipeName}");
+                        LOG.Info($"{message} Trigger {item.AssociationProcessRecipeName} ,auto clear CurrentValue {item.LimitValue} to 0");
                         RecipeExecEntryEnumValue = RecipeExecEntryEnum.RecipeRangeTrigger;
                         CheckToPostMessage((int)MSG.RunOtherRecipe, item.AssociationProcessRecipeName, "Process");
+                        Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(item.Item, 0);
                     }
                 }
                 isPause = true;
@@ -533,9 +565,10 @@ namespace FurnaceRT.Equipments.PMs
                     }
                     else
                     {
-                        LOG.Info($"{message} Trigger {item.AssociationProcessRecipeName}");
+                        LOG.Info($"{message} Trigger {item.AssociationProcessRecipeName} ,auto clear CurrentValue {item.LimitValue} to 0");
                         RecipeExecEntryEnumValue = RecipeExecEntryEnum.BoatRecipeRangeTrigger;
                         CheckToPostMessage((int)MSG.RunOtherRecipe, item.AssociationProcessRecipeName, "Process");
+                        Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(item.Item, 0);
                     }
 
                 }
@@ -583,9 +616,10 @@ namespace FurnaceRT.Equipments.PMs
                     }
                     else
                     {
-                        LOG.Info($"{message} Trigger {item.AssociationProcessRecipeName}");
+                        LOG.Info($"{message} Trigger {item.AssociationProcessRecipeName} ,auto clear CurrentValue {item.LimitValue} to 0");
                         RecipeExecEntryEnumValue = RecipeExecEntryEnum.RecipeRangeTrigger;
                         CheckToPostMessage((int)MSG.RunOtherRecipe, item.AssociationProcessRecipeName, "Process");
+                        Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(item.Item, 0);
                     }
 
                 }

+ 26 - 6
Furnace/FurnaceRT/Equipments/PMs/RecipeExecutions/PreProcess.cs

@@ -148,7 +148,11 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
 
                                             Singleton<EquipmentManager>.Instance.SDWaferTypeUseCountAlarm.Set(msg);
                                             pm.TriggerJobAutoStart(maintenanceItemCarrierUseFreq.AssociationProcessRecipeName, RecipeExecEntryEnum.SDWaferRangeTrigger);
-                                            LOG.Info($"{msg} Trigger {maintenanceItemCarrierUseFreq.AssociationProcessRecipeName}");
+                                            LOG.Info($"{msg} Trigger {maintenanceItemCarrierUseFreq.AssociationProcessRecipeName},auto clear CurrentValue {maintenanceItemCarrierUseFreq.LimitValue} to 0");
+
+
+
+                                            Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(maintenanceItemCarrierUseFreq.Item, 0);
                                             return Result.FAIL;
 
                                         }
@@ -177,7 +181,12 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
 
                                             Singleton<EquipmentManager>.Instance.SDWaferTypeUseTimeAlarm.Set(msg);
                                             pm.TriggerJobAutoStart(maintenanceItemWaferUserTime.AssociationProcessRecipeName, RecipeExecEntryEnum.SDWaferRangeTrigger);
-                                            LOG.Info($"{msg} Trigger {maintenanceItemWaferUserTime.AssociationProcessRecipeName}");
+                                            LOG.Info($"{msg} Trigger {maintenanceItemWaferUserTime.AssociationProcessRecipeName},auto clear CurrentValue {maintenanceItemWaferUserTime.LimitValue} to 0");
+
+
+
+
+                                            Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(maintenanceItemWaferUserTime.Item, 0);
                                             return Result.FAIL;
 
                                         }
@@ -206,7 +215,9 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
 
                                             Singleton<EquipmentManager>.Instance.SDWaferTypeThicknessAlarm.Set(msg);
                                             pm.TriggerJobAutoStart(maintenanceItemWaferThickness.AssociationProcessRecipeName, RecipeExecEntryEnum.SDWaferRangeTrigger);
-                                            LOG.Info($"{msg} Trigger {maintenanceItemWaferThickness.AssociationProcessRecipeName}");
+                                            LOG.Info($"{msg} Trigger {maintenanceItemWaferThickness.AssociationProcessRecipeName},auto clear CurrentValue {maintenanceItemWaferThickness.LimitValue} to 0");
+
+                                            Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(maintenanceItemWaferThickness.Item, 0);
                                             return Result.FAIL;
 
                                         }
@@ -279,7 +290,10 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                             }
                                             Singleton<EquipmentManager>.Instance.FDWaferTypeUseCountAlarm.Set(msg);
                                             pm.TriggerJobAutoStart(maintenanceItemCarrierUseFreq.AssociationProcessRecipeName, RecipeExecEntryEnum.EDWaferRangeTrigger);
-                                            LOG.Info($"{msg} Trigger {maintenanceItemCarrierUseFreq.AssociationProcessRecipeName}");
+                                            LOG.Info($"{msg} Trigger {maintenanceItemCarrierUseFreq.AssociationProcessRecipeName},auto clear CurrentValue {maintenanceItemCarrierUseFreq.LimitValue} to 0");
+
+
+                                            Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(maintenanceItemCarrierUseFreq.Item, 0);
                                             return Result.FAIL;
 
                                         }
@@ -310,7 +324,11 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
 
                                             Singleton<EquipmentManager>.Instance.FDWaferTypeUseTimeAlarm.Set(msg);
                                             pm.TriggerJobAutoStart(maintenanceItemWaferUserTime.AssociationProcessRecipeName, RecipeExecEntryEnum.EDWaferRangeTrigger);
-                                            LOG.Info($"{msg} Trigger {maintenanceItemWaferUserTime.AssociationProcessRecipeName}");
+                                            LOG.Info($"{msg} Trigger {maintenanceItemWaferUserTime.AssociationProcessRecipeName},auto clear CurrentValue {maintenanceItemWaferUserTime.LimitValue} to 0");
+
+
+
+                                            Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(maintenanceItemWaferUserTime.Item, 0);
                                             return Result.FAIL;
 
                                         }
@@ -336,7 +354,9 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                             }
                                             Singleton<EquipmentManager>.Instance.FDWaferTypeThicknessAlarm.Set(msg);
                                             pm.TriggerJobAutoStart(maintenanceItemWaferThickness.AssociationProcessRecipeName, RecipeExecEntryEnum.EDWaferRangeTrigger);
-                                            LOG.Info($"{msg} Trigger {maintenanceItemWaferThickness.AssociationProcessRecipeName}");
+                                            LOG.Info($"{msg} Trigger {maintenanceItemWaferThickness.AssociationProcessRecipeName},auto clear CurrentValue {maintenanceItemWaferThickness.LimitValue} to 0");
+
+                                            Singleton<ScheduleMaintenanceDataManager>.Instance.SetValue(maintenanceItemWaferThickness.Item, 0);
                                             return Result.FAIL;
 
                                         }

+ 0 - 1
Furnace/FurnaceUI/Views/Scheduled/ScheduledMaintenanceMonitorViewModel.cs

@@ -233,7 +233,6 @@ namespace FurnaceUI.Views.Editors
                 {
                     SelectStepIdName = $":{(string)QueryDataClient.Instance.Service.GetConfig($"PM1.RecipeEditParameter.StepName.{EditModel.AdditionInformationDisplay}")}";
                 }
-                MaintenanceProcessingList.Remove(MaintenanceProcessingCommandEnum.JobAutoStart.ToString());
             }
             if (isReator && EditModel.ReactorsType == ReactorsEnum.StepThickness)
             {