Browse Source

1.process abort更新数据库步次结束时间
2.解决process过程abort,数据导出问题:数据点时间范围大于recipe结束时间

huangping 1 month ago
parent
commit
b019571b67

+ 2 - 1
FrameworkLocal/UIClient/CenterViews/DataLogs/ProcessHistory/ProcessDetailViewModel.cs

@@ -409,7 +409,8 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                             string stepName = item["step_name"].ToString();
                             if (StartTime > DateTime.MinValue && EndTime > DateTime.MinValue)
                             {
-                                if (EndTime < StartTime.AddSeconds(stepTime))
+                                var time = StartTime.AddSeconds(stepTime);
+                                if (EndTime < time && time < ProcessDataLotList[0].ProcessEndTime)//解决process过程abort,数据导出。
                                 {
                                     EndTime = StartTime.AddSeconds(stepTime);
                                 }

+ 2 - 1
FrameworkLocal/UIClient/CenterViews/DataLogs/ProcessHistory/ProcessExportAllViewModel.cs

@@ -390,7 +390,8 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                             {
 
                                 //Annotations.Add(VerLine(Media.Brushes.AliceBlue, StartTime, Media.Brushes.Blue, $"{stepNo}"));
-                                if (EndTime < StartTime.AddSeconds(stepTime))
+                                var time = StartTime.AddSeconds(stepTime);
+                                if (EndTime < time && time < ProcessDataLotList[0].ProcessEndTime)//解决process过程abort,数据导出问题:数据点时间范围大于recipe结束时间。
                                 {
                                     EndTime = StartTime.AddSeconds(stepTime);
                                 }

+ 2 - 0
Furnace/FurnaceRT/Equipments/PMs/RecipeExecutions/Process.cs

@@ -1119,6 +1119,8 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
             CurrentSubRecipeLoopCount = 0;
 
             _state = RecipeRunningState.RecipeCompleted;//暂时这么做
+            //更新步次结束时间
+            _dbCallback.RecipeStepEnd(PMModule.RecipeRunningInfo.InnerId.ToString(), IsSubReciep? _currentSubRecipeStepNumber + 1: _currentStepNumber, _fdc.DataList, SC.GetStringValue("PM1.TempCorrection"), SC.GetStringValue("PM1.Heater.PID"));            
             return;//暂时这么做
 
             //_totalElpasedTime = 0;