Browse Source

添加Layout recipeName展示

jiangjy 2 weeks ago
parent
commit
cb3b2c7728

+ 24 - 14
FrameworkLocal/UIClient/CenterViews/DataLogs/ProcessHistory/BatchDetailView.xaml

@@ -40,7 +40,7 @@
         <Border Grid.Row="0" Grid.Column="0">
         <Border Grid.Row="0" Grid.Column="0">
             <Grid>
             <Grid>
                 <Grid.RowDefinitions>
                 <Grid.RowDefinitions>
-                    <RowDefinition Height="50"/>
+                    <RowDefinition Height="80"/>
                     <RowDefinition Height="*"/>
                     <RowDefinition Height="*"/>
                     <RowDefinition Height="40"/>
                     <RowDefinition Height="40"/>
                     <RowDefinition Height="40"/>
                     <RowDefinition Height="40"/>
@@ -55,20 +55,30 @@
                     <ColumnDefinition Width="0.6*"/>
                     <ColumnDefinition Width="0.6*"/>
                 </Grid.ColumnDefinitions>
                 </Grid.ColumnDefinitions>
                 <Border Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2">
                 <Border Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2">
-                    <StackPanel Orientation="Horizontal">
-                        <Border>
-                            <Button Content="Cassette Detail" Width="130" Height="40" Margin="3,2">
-                                <i:Interaction.Triggers>
-                                    <i:EventTrigger EventName="Click">
-                                        <cal:ActionMessage MethodName="CassetteDetail">
-                                        </cal:ActionMessage>
-                                    </i:EventTrigger>
-                                </i:Interaction.Triggers>
-                            </Button>
-                        </Border>
-                        <TextBlock Text="Batch Id" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6,0,10,0"/>
-                        <TextBox Text="{Binding BatchId}" FontSize="14" Width="280" Margin="3,6" IsEnabled="False"/>
+                    <StackPanel Orientation="Vertical">
+                        
+                        <StackPanel Orientation="Horizontal">
+                            <Border>
+                                <Button Content="Cassette Detail" Width="130" Height="40" Margin="3,2">
+                                    <i:Interaction.Triggers>
+                                        <i:EventTrigger EventName="Click">
+                                            <cal:ActionMessage MethodName="CassetteDetail">
+                                            </cal:ActionMessage>
+                                        </i:EventTrigger>
+                                    </i:Interaction.Triggers>
+                                </Button>
+                            </Border>
+                            <TextBlock Text="Batch Id" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6,0,10,0"/>
+                            <TextBox Text="{Binding BatchId}" FontSize="14" Width="280" Margin="3,6" IsEnabled="False"/>
+                        </StackPanel>
+
+                        <StackPanel Orientation="Horizontal">
+                       
+                            <TextBlock  FontSize="14"  Text="LayoutName:" VerticalAlignment="Center" HorizontalAlignment="Left" Margin="6,0,10,0"/>
+                            <TextBox Text="{Binding LayoutName}" FontSize="16" Width="280" Margin="3,6" IsEnabled="False"/>
+                        </StackPanel>
                     </StackPanel>
                     </StackPanel>
+              
                 </Border>
                 </Border>
                 <Border Grid.Row="1" Grid.Column="0" HorizontalAlignment="Left" Grid.ColumnSpan="2" Width="494">
                 <Border Grid.Row="1" Grid.Column="0" HorizontalAlignment="Left" Grid.ColumnSpan="2" Width="494">
                     <ListView ItemsSource="{Binding BatchDetailItems}" SelectedIndex="{Binding CassetteSelectIndex}" Margin="3,0">
                     <ListView ItemsSource="{Binding BatchDetailItems}" SelectedIndex="{Binding CassetteSelectIndex}" Margin="3,0">

+ 12 - 2
FrameworkLocal/UIClient/CenterViews/DataLogs/ProcessHistory/BatchDetailViewModel.cs

@@ -41,7 +41,16 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                 NotifyOfPropertyChange(nameof(BatchId));
                 NotifyOfPropertyChange(nameof(BatchId));
             }
             }
         }
         }
-
+        private string _layoutName;
+        public string LayoutName
+        {
+            get => _layoutName;
+            set
+            {
+                _layoutName = value;
+                NotifyOfPropertyChange(nameof(LayoutName));
+            }
+        }
         private int _productionCount;
         private int _productionCount;
         public int ProductionCount
         public int ProductionCount
         {
         {
@@ -138,12 +147,13 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
 
 
         }
         }
 
 
-        public BatchDetailViewModel(DateTime startTime, DateTime endTime, string batchId, List<string> layoutData, int iSlotCount, List<string> waferData)
+        public BatchDetailViewModel(DateTime startTime, DateTime endTime, string batchId, List<string> layoutData, int iSlotCount, List<string> waferData, string layoutName = "")
         {
         {
             StartTime = startTime;
             StartTime = startTime;
             EndTime = endTime;
             EndTime = endTime;
             BatchId = batchId;
             BatchId = batchId;
             Total = iSlotCount;
             Total = iSlotCount;
+            LayoutName = layoutName;
             for (int i = 0; i < iSlotCount; i++)
             for (int i = 0; i < iSlotCount; i++)
             {
             {
                 BoatWaferItem item = new BoatWaferItem() { Slot = i + 1, Description = $"{layoutData[i]}" };
                 BoatWaferItem item = new BoatWaferItem() { Slot = i + 1, Description = $"{layoutData[i]}" };

+ 1 - 1
FrameworkLocal/UIClient/CenterViews/DataLogs/ProcessHistory/ProcessHistoryTwoViewModel.cs

@@ -142,7 +142,7 @@ namespace MECF.Framework.UI.Client.CenterViews.DataLogs.ProcessHistory
                 List<string> layoutData = ProcessHistoryLots[ProcessHistoryLotSelectIndex].LayoutData.Split(',').ToList();
                 List<string> layoutData = ProcessHistoryLots[ProcessHistoryLotSelectIndex].LayoutData.Split(',').ToList();
                 List<string> waferData = ProcessHistoryLots[ProcessHistoryLotSelectIndex].WaferData.Split(',').ToList();
                 List<string> waferData = ProcessHistoryLots[ProcessHistoryLotSelectIndex].WaferData.Split(',').ToList();
                 var windowManager = IoC.Get<IWindowManager>();
                 var windowManager = IoC.Get<IWindowManager>();
-                BatchDetailViewModel batchDetailViewModel = new BatchDetailViewModel(startTime, endTime, batchID, layoutData, layoutData.Count, waferData);
+                BatchDetailViewModel batchDetailViewModel = new BatchDetailViewModel(startTime, endTime, batchID, layoutData, layoutData.Count, waferData, ProcessHistoryLots[ProcessHistoryLotSelectIndex].LayoutName);
                 (windowManager as WindowManager)?.ShowDialogWithTitle(batchDetailViewModel, null, "Batch Detail");
                 (windowManager as WindowManager)?.ShowDialogWithTitle(batchDetailViewModel, null, "Batch Detail");
             }
             }
             else
             else

+ 3 - 2
Furnace/FurnaceUI/Views/Operations/StatusView.xaml

@@ -132,7 +132,7 @@
                                                     HorizontalAlignment="Center"
                                                     HorizontalAlignment="Center"
                                                     VerticalAlignment="Center"
                                                     VerticalAlignment="Center"
                                                     IsEnabled="False"
                                                     IsEnabled="False"
-                                                    Text="{Binding ProcessJob1ID, Mode=OneWay}"/>
+                                                    Text="{Binding ControlJob1ID, Mode=OneWay}"/>
                                             </Border>
                                             </Border>
                                             <Border
                                             <Border
                                                 Grid.Row="1"
                                                 Grid.Row="1"
@@ -218,7 +218,8 @@
                                                     HorizontalAlignment="Center"
                                                     HorizontalAlignment="Center"
                                                     VerticalAlignment="Center"
                                                     VerticalAlignment="Center"
                                                     IsEnabled="False"
                                                     IsEnabled="False"
-                                                    Text="{Binding ProcessJob2ID, Mode=OneWay}"/>
+                                                    Text="{Binding ControlJob2ID, Mode=OneWay}"/>
+                                                
                                             </Border>
                                             </Border>
                                             <Border
                                             <Border
                                                 Grid.Row="1"
                                                 Grid.Row="1"

+ 24 - 0
Furnace/FurnaceUI/Views/Operations/StatusViewModel.cs

@@ -1001,6 +1001,30 @@ namespace FurnaceUI.Views.Operations
                 return "";
                 return "";
             }
             }
         }
         }
+        public string ControlJob1ID
+        {
+            get
+            {
+                if (LocalControlJobs == null || LocalControlJobs.Count == 0)
+                    return "";
+
+                var cj = LocalControlJobs[0];
+
+                return cj.Name;
+            }
+        }
+        public string ControlJob2ID
+        {
+            get
+            {
+                if (LocalControlJobs == null || LocalControlJobs.Count <= 1)
+                    return "";
+
+                var cj = LocalControlJobs[1];
+
+                return cj.Name;
+            }
+        }
         public string ProcessJob1ID
         public string ProcessJob1ID
         {
         {
             get
             get

+ 9 - 0
Furnace/FurnaceUI/Views/Status/ControlJobStatusView.xaml

@@ -691,6 +691,7 @@
         <Grid Grid.Column="1" Margin="2">
         <Grid Grid.Column="1" Margin="2">
             <Grid.RowDefinitions>
             <Grid.RowDefinitions>
                 <RowDefinition Height="80"/>
                 <RowDefinition Height="80"/>
+                <RowDefinition Height="80"/>
                 <RowDefinition Height="*"/>
                 <RowDefinition Height="*"/>
             </Grid.RowDefinitions>
             </Grid.RowDefinitions>
             <Grid>
             <Grid>
@@ -701,6 +702,7 @@
                 <Grid.RowDefinitions>
                 <Grid.RowDefinitions>
                     <RowDefinition  ></RowDefinition>
                     <RowDefinition  ></RowDefinition>
                     <RowDefinition  ></RowDefinition>
                     <RowDefinition  ></RowDefinition>
+                    <RowDefinition  ></RowDefinition>
                 </Grid.RowDefinitions>
                 </Grid.RowDefinitions>
                 <Border BorderBrush="Black" BorderThickness="1"  >
                 <Border BorderBrush="Black" BorderThickness="1"  >
                     <TextBlock  Text="CJID" VerticalAlignment="Center" TextAlignment="Center" FontSize="16" />
                     <TextBlock  Text="CJID" VerticalAlignment="Center" TextAlignment="Center" FontSize="16" />
@@ -708,12 +710,19 @@
                 <Border Grid.Row="1" BorderBrush="Black" BorderThickness="1,0,1,1"  >
                 <Border Grid.Row="1" BorderBrush="Black" BorderThickness="1,0,1,1"  >
                     <TextBlock  Text="Start Mode" VerticalAlignment="Center" TextAlignment="Center" FontSize="16" />
                     <TextBlock  Text="Start Mode" VerticalAlignment="Center" TextAlignment="Center" FontSize="16" />
                 </Border>
                 </Border>
+                <Border Grid.Row="2" BorderBrush="Black" BorderThickness="1,0,1,1"  >
+                    <TextBlock  Text="LayoutName" VerticalAlignment="Center" TextAlignment="Center" FontSize="16" />
+                </Border>
+
                 <Border Grid.Column="1" BorderBrush="Black" BorderThickness="0,1,1,1"  >
                 <Border Grid.Column="1" BorderBrush="Black" BorderThickness="0,1,1,1"  >
                     <TextBlock  Text="{Binding SelectedControlJobsObjtID}" VerticalAlignment="Center" TextAlignment="Center" FontSize="16" />
                     <TextBlock  Text="{Binding SelectedControlJobsObjtID}" VerticalAlignment="Center" TextAlignment="Center" FontSize="16" />
                 </Border>
                 </Border>
                 <Border Grid.Row="1" Grid.Column="1"  BorderBrush="Black" BorderThickness="0,0,1,1"  >
                 <Border Grid.Row="1" Grid.Column="1"  BorderBrush="Black" BorderThickness="0,0,1,1"  >
                     <TextBlock  Text="{Binding SelectedControlJobsState}" VerticalAlignment="Center" TextAlignment="Center" FontSize="16" />
                     <TextBlock  Text="{Binding SelectedControlJobsState}" VerticalAlignment="Center" TextAlignment="Center" FontSize="16" />
                 </Border>
                 </Border>
+                <Border Grid.Row="2" Grid.Column="1"  BorderBrush="Black" BorderThickness="0,0,1,1"  >
+                    <TextBlock  Text="{Binding SelectedControlJobsLayoutName}" VerticalAlignment="Center" TextAlignment="Center" FontSize="16" />
+                </Border>
             </Grid>
             </Grid>
             <!--<StackPanel Orientation="Horizontal" Margin="0,2,0,0">
             <!--<StackPanel Orientation="Horizontal" Margin="0,2,0,0">
                         <Label Content="CJID"  Width="120" Margin="1,1,0,0"  Background="{DynamicResource ThirdLevelElement_BG}" />
                         <Label Content="CJID"  Width="120" Margin="1,1,0,0"  Background="{DynamicResource ThirdLevelElement_BG}" />

+ 20 - 3
Furnace/FurnaceUI/Views/Status/ControlJobStatusViewModel.cs

@@ -38,6 +38,12 @@ namespace FurnaceUI.Views.Status
         [Subscription("Rt.Status")]
         [Subscription("Rt.Status")]
         public string RtStatus { get; set; }
         public string RtStatus { get; set; }
         public ICommand ControlJobsCommand { get; set; }
         public ICommand ControlJobsCommand { get; set; }
+        [Subscription("Scheduler.ProcessJobList")]
+        public List<ProcessJobInfo> LocalProcessJobs
+        {
+            get;
+            set;
+        }
 
 
         [Subscription("Scheduler.ControlJobList")]
         [Subscription("Scheduler.ControlJobList")]
         public List<ControlJobInfo> ControlJobs
         public List<ControlJobInfo> ControlJobs
@@ -65,6 +71,17 @@ namespace FurnaceUI.Views.Status
                 return SelectedControlJob != null ? SelectedControlJob.Name : "";
                 return SelectedControlJob != null ? SelectedControlJob.Name : "";
             }
             }
         }
         }
+        public string SelectedControlJobsLayoutName
+        {
+            get
+            {
+                if (LocalProcessJobs != null)
+                {
+                    return LocalProcessJobs.Where(a => a.ControlJobName == SelectedControlJobsObjtID).FirstOrDefault().LayoutRecipe;
+                }
+                return SelectedControlJob != null ? SelectedControlJob.Name : "";
+            }
+        }
         public string SelectedControlJobsState
         public string SelectedControlJobsState
         {
         {
             get
             get
@@ -80,7 +97,7 @@ namespace FurnaceUI.Views.Status
         {
         {
             get
             get
             {
             {
-                if (!IsPermission||SelectedControlJob == null)
+                if (!IsPermission || SelectedControlJob == null)
                     return false;
                     return false;
 
 
                 return SelectedControlJob.State?.ToString() == "Executing";
                 return SelectedControlJob.State?.ToString() == "Executing";
@@ -119,7 +136,7 @@ namespace FurnaceUI.Views.Status
         }
         }
         public bool IsEnableInitialize
         public bool IsEnableInitialize
         {
         {
-            get { return IsPermission&&(RtStatus == "Init" || RtStatus == "Idle") && AllInitializeEnable; }
+            get { return IsPermission && (RtStatus == "Init" || RtStatus == "Idle") && AllInitializeEnable; }
         }
         }
         public bool IsEnableStop
         public bool IsEnableStop
         {
         {
@@ -358,7 +375,7 @@ namespace FurnaceUI.Views.Status
                 return;
                 return;
             }
             }
 
 
-          
+
             var param = new object[] { SelectedControlJobsObjtID };
             var param = new object[] { SelectedControlJobsObjtID };
             InvokeClient.Instance.Service.DoOperation("System.AbortJob", param);
             InvokeClient.Instance.Service.DoOperation("System.AbortJob", param);
         }
         }