Browse Source

DESKTOP - additions to manufacturing screen for group functionality and visibility

Nick-PRSDigital@bitbucket.org 1 year ago
parent
commit
94a7b44699

+ 2 - 0
prs.desktop/Panels/Factory/FactoryPanel.xaml.cs

@@ -2156,6 +2156,7 @@ namespace PRSDesktop
             var distributed = packet.Get<ManufacturingPacket, bool>(c => c.Distributed);
             var packetsection = packet.Get<ManufacturingPacket, string>(c => c.StageLink.Section);
             var groupid = packet.Get<ManufacturingPacket, Guid>(c => c.SetoutLink.Group.ID);
+            var groupname = packet.Get<ManufacturingPacket, string>(c => c.SetoutLink.Group.Name);
 
             model.TemplateID = packet.Get<ManufacturingPacket, Guid>(c => c.ManufacturingTemplateLink.ID);
 
@@ -2325,6 +2326,7 @@ namespace PRSDesktop
                         .Add(x => x.SetoutLink.JobLink.JobNumber)
                         .Add(x => x.SetoutLink.JobLink.Name)
                         .Add(x => x.SetoutLink.Group.ID)
+                        .Add(x => x.SetoutLink.Group.Name)
                         .Add(x => x.DueDate)
                         .Add(x => x.SetoutLink.Location)
                         //.Add(x => x.SetoutLink.Reference)

+ 1 - 0
prs.desktop/Panels/Manufacturing/ManufacturingAllocationPanel.xaml.cs

@@ -219,6 +219,7 @@ namespace PRSDesktop
                     ? !sectionid.Equals(section) ? string.IsNullOrEmpty(pktsection) ? "" : pktsection.ToUpper().Trim() : "DISTRIB"
                     : "";
                 model.GroupID = row.Get<ManufacturingPacket, Guid>(c => c.SetoutLink.Group.ID);
+                model.GroupName = row.Get<ManufacturingPacket, string>(c => c.SetoutLink.Group.Name);
 
                 Kanbans.Add(model);
             }

+ 30 - 0
prs.desktop/Panels/Manufacturing/ManufacturingKanban.cs

@@ -1,4 +1,5 @@
 using System;
+using System.Windows;
 using System.Windows.Media.Imaging;
 using PropertyChanged;
 using Syncfusion.UI.Xaml.Kanban;
@@ -30,6 +31,35 @@ namespace PRSDesktop
         public BitmapImage IssuesImage { get; set; }
         public Guid TemplateID { get; set; }
         public Guid GroupID { get; set; }
+
+        #region Group Display Properties
+        //Automatically displays/hides the group section of a displayed packet, and sorts out things like the corner radius
+        public CornerRadius MainRadius { get; set; }
+        public CornerRadius OrderRadius { get; set; }
+        public Visibility GroupVisibility { get; set; }
+
+        private string groupname;
+        public string GroupName
+        {
+            get => groupname;
+            set
+            {
+                groupname = value;
+                if (string.IsNullOrWhiteSpace(groupname))
+                {
+                    GroupVisibility = Visibility.Collapsed;
+                    OrderRadius = new CornerRadius(5, 0, 0, 5);
+                    MainRadius = new CornerRadius(0, 5, 5, 0);
+                }
+                else
+                {
+                    GroupVisibility = Visibility.Visible;
+                    OrderRadius = new CornerRadius(5, 0, 0, 0);
+                    MainRadius = new CornerRadius(0, 5, 0, 0);
+                }
+            }
+        }
+        #endregion
     }
 }
 

+ 1 - 0
prs.desktop/Panels/Manufacturing/ManufacturingPanel.xaml.cs

@@ -726,6 +726,7 @@ namespace PRSDesktop
             columns.Add(x => x.SetoutLink.Location);
             columns.Add(x => x.SetoutLink.JobLink.ID);
             columns.Add(x => x.SetoutLink.Group.ID);
+            columns.Add(x => x.SetoutLink.Group.Name);
 
             columns.Add(x => x.OrderItem.ID);
             //columns.Add(x => x.OrderItem.ReceivedDate);

+ 16 - 3
prs.desktop/Panels/Manufacturing/ManufacturingPanelColumn.xaml

@@ -18,12 +18,16 @@
 
         <DataTemplate x:Key="FullManufacturingPanel">
             <Grid Margin="0,1,0,1">
+                <Grid.RowDefinitions>
+                    <RowDefinition Height="auto"/>
+                    <RowDefinition Height="auto"/>
+                </Grid.RowDefinitions>
                 <Grid.ColumnDefinitions>
                     <ColumnDefinition Width="Auto" />
                     <ColumnDefinition Width="*" />
                 </Grid.ColumnDefinitions>
 
-                <Border Grid.Column="0" BorderBrush="Gray" BorderThickness="0.75,0.75,0,0.75" CornerRadius="5,0,0,5"
+                <Border Grid.Column="0" Grid.Row="0" BorderBrush="Gray" BorderThickness="0.75,0.75,0,0.75" CornerRadius="{Binding OrderRadius}"
                         Background="{Binding OrderColor}" Tag="{Binding}"
                         MouseLeftButtonDown="Border_MouseLeftButtonDown" ToolTip="{Binding Issues}">
                     <DockPanel>
@@ -40,7 +44,7 @@
                     </DockPanel>
                 </Border>
 
-                <Border Grid.Column="1" BorderBrush="Gray" BorderThickness="0,0.75,0.75,0.75" CornerRadius="0,5,5,0"
+                <Border Grid.Column="1" Grid.Row="0" BorderBrush="Gray" BorderThickness="0,0.75,0.75,0.75" CornerRadius="{Binding MainRadius}"
                         Background="{Binding ColorKey}" Tag="{Binding}"
                         MouseLeftButtonDown="Border_MouseLeftButtonDown" ToolTip="{Binding Issues}">
                     <Grid Margin="3">
@@ -101,6 +105,15 @@
                     </Grid>
                 </Border>
 
+                <Border  Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" BorderBrush="Gray" BorderThickness="0.75,0,0.75,0.75" CornerRadius="0,0,5,5"
+                        Background="Yellow" Tag="{Binding}" Visibility="{Binding GroupVisibility}">
+                    <DockPanel>
+                        <Label DockPanel.Dock="Top" Content="{Binding GroupName}" HorizontalContentAlignment="Left" FontWeight="DemiBold"
+                               Margin="3, -3, -3, -3">
+                        </Label>
+                    </DockPanel>
+                </Border>
+
                 <Grid.ContextMenu>
                     <ContextMenu x:Name="PacketMenu" Opened="PacketMenu_Opened" Tag="{Binding}">
 
@@ -109,7 +122,7 @@
                         <Separator x:Name="ViewSetoutSeparator" />
 
                         <MenuItem x:Name="IssueSetout" Header="Issue Item" Click="IssueSetout_Click" Tag="{Binding}" />
-                        <MenuItem x:Name="IssueGroup" Header="Issue Cutting Group" Click="IssueGroup_Click" Tag="{Binding}" />
+                        <MenuItem x:Name="IssueGroup" Header="Issue Optimization Group" Click="IssueGroup_Click" Tag="{Binding}" />
                         <MenuItem x:Name="ProgressSetout" Header="Progress Item" Click="ProgressSetout_Click"
                                   Tag="{Binding}" />
                         <MenuItem x:Name="SplitSetout" Header="Split Manufacturing" Click="SplitSetout_Click"

+ 2 - 0
prs.desktop/Panels/Manufacturing/ManufacturingPanelColumn.xaml.cs

@@ -225,6 +225,7 @@ namespace PRSDesktop
                 var templatecode = Data.Templates.FirstOrDefault(x => x.ID.Equals(templateid))?.Code;
 
                 var groupid = packet.SetoutLink.Group.ID;
+                var groupname = packet.SetoutLink.Group.Name;
 
                 if (bOK)
                 {
@@ -344,6 +345,7 @@ namespace PRSDesktop
                     model.Template = templatecode;
 
                     model.GroupID = groupid;
+                    model.GroupName = groupname;
 
 
                     if (!stageValid || stageid.Equals(Guid.Empty) || stageid.Equals(CoreUtils.FullGuid))