Просмотр исходного кода

Started working on fixing FactoryFloor screen

Kenric Nugteren 2 недель назад
Родитель
Сommit
e9e7dfa998

+ 11 - 1
prs.classes/Entities/Manufacturing/ManufacturingFactory/ManufacturingSection.cs

@@ -11,20 +11,30 @@ namespace Comal.Classes
         public ManufacturingFactoryLink Factory { get; set; }
 
         [TextBoxEditor]
+        [EditorSequence(1)]
         public string Name { get; set; }
 
+        [EditorSequence(2)]
+        public ActivityLink Activity { get; set; }
+
+        [EditorSequence(3)]
         public int Stations { get; set; } = 1;
 
+        [EditorSequence(4)]
         public bool Shared { get; set; } = false;
 
+        [EditorSequence(5)]
         public bool Hidden { get; set; }
 
         [NullEditor]
         public string QualityChecks { get; set; }
 
+        [EditorSequence(6)]
         public QAFormLink QAForm { get; set; }
 
-        public ActivityLink Activity { get; set; }
+        [Comment("Type of Document to show on Factory Floor, pulled from the Products on the ManufacturingPacket Components")]
+        [EditorSequence(7)]
+        public DocumentTypeLink ProductDocumentType { get; set; }
 
         [NullEditor]
         public long Sequence { get; set; }

+ 2 - 2
prs.classes/SecurityDescriptors/Manufacturing_Descriptors.cs

@@ -23,8 +23,8 @@ namespace Comal.Classes
     {
     }
 
-    [Caption("Hold or Release Manufacturing Packets")]
-    public class CanManagePacketHolds : EnabledSecurityDescriptor<ManufacturingLicense, ManufacturingPacket>
+    [Caption("Manage Packet Status")]
+    public class CanManageManufacturingPacketStatus : EnabledSecurityDescriptor<ManufacturingLicense, ManufacturingPacket>
     {
     }
 

+ 0 - 7
prs.classes/Settings/FactoryFloorLocalSettings.cs

@@ -33,11 +33,4 @@ namespace Comal.Classes
         public DateTime CurrentBatchDate { get; set; }
         public Guid CurrentBatchID { get; set; }
     }
-
-    [Obsolete("Replacing with FactoryFloorLocalSettings", false)]
-    public class FactoryFloorSettings : IUserConfigurationSettings
-    {
-        public Guid Section { get; set; }
-        public int Station { get; set; }
-    }
 }

+ 1 - 1
prs.desktop/Panels/Factory/FactoryComponentsGrid.cs

@@ -67,7 +67,7 @@ public class FactoryComponentsGrid : DynamicDataGrid<ManufacturingPacketComponen
     public override DynamicGridColumns GenerateColumns()
     {
         var result = new DynamicGridColumns();
-        result.Add<ManufacturingPacketComponent>(x=>x.Product.Code, 100);
+        result.Add<ManufacturingPacketComponent>(x => x.Product.Code, 100);
         result.Add<ManufacturingPacketComponent>(x => x.Product.Name, 0);
         result.Add<ManufacturingPacketComponent>(x => x.Dimensions.UnitSize, 70);
         result.Add<ManufacturingPacketComponent>(x => x.Quantity, 60);

+ 36 - 169
prs.desktop/Panels/Factory/FactoryPanel.xaml

@@ -8,6 +8,8 @@
              xmlns:themes="clr-namespace:InABox.WPF.Themes;assembly=InABox.Wpf"
              xmlns:syncfusion="http://schemas.syncfusion.com/wpf"
              xmlns:prsDesktop="clr-namespace:PRSDesktop"
+             xmlns:behaviors="http://schemas.microsoft.com/xaml/behaviors"
+             xmlns:wpf="clr-namespace:InABox.WPF;assembly=InABox.Wpf"
              xmlns:dynamicGrid="clr-namespace:InABox.DynamicGrid;assembly=InABox.Wpf">
     <UserControl.Resources>
         <Style x:Key="UnselectedButton" TargetType="Button">
@@ -96,24 +98,17 @@
                       VerticalContentAlignment="Center" Padding="5" />
         </Grid>
         
-        <syncfusion:SfTextBoxExt
-            x:Name="Search"
-            Grid.Row="1"
-            BorderThickness="0.75"
-            BorderBrush="Gray"
-            Background="LightYellow"
-            HorizontalContentAlignment="Left"
-            VerticalContentAlignment="Center"
-            Margin="0,4,0,0"
-            KeyUp="Search_KeyUp">
-            <syncfusion:SfTextBoxExt.Watermark>
-                <Label 
-                    Content="Search" 
-                    HorizontalAlignment="Left" 
-                    VerticalAlignment="Center" 
-                    Opacity="0.5"/>
-            </syncfusion:SfTextBoxExt.Watermark>
-        </syncfusion:SfTextBoxExt>
+        <TextBox x:Name="Search"
+                 Grid.Row="1"
+                 BorderThickness="0.75" BorderBrush="Gray"
+                 Background="LightYellow"
+                 HorizontalContentAlignment="Left" VerticalContentAlignment="Center"
+                 Margin="0,4,0,0"
+                 KeyUp="Search_KeyUp">
+            <behaviors:Interaction.Behaviors>
+                <wpf:TextBoxPlaceholderBehaviour Text="Search"/>
+            </behaviors:Interaction.Behaviors>
+        </TextBox>
         
         <ListBox x:Name="Kanban" Grid.Row="2" Grid.RowSpan="2" Grid.Column="0" VirtualizingPanel.IsVirtualizing="True"
                  VirtualizingPanel.VirtualizationMode="Recycling" HorizontalContentAlignment="Stretch"
@@ -133,7 +128,8 @@
 
                         <Border Grid.Row="0" Grid.Column="0" BorderBrush="Gray" BorderThickness="0.75,0.75,0,0.75"
                                 CornerRadius="{Binding LeftSectionRadius}" Margin="0,2,0,0" Background="{Binding SharedColor}"
-                                Tag="{Binding}" MouseLeftButtonDown="CardSelected">
+                                Tag="{Binding}" MouseLeftButtonDown="CardSelected"
+                                ContextMenuOpening="Border_ContextMenuOpening">
                             <Grid Margin="2,5,0,5">
 
                                 <Grid.ColumnDefinitions>
@@ -157,51 +153,12 @@
                                 <Image Grid.Row="2" VerticalAlignment="Center" MaxHeight="20" MaxWidth="20"
                                        Source="{Binding IssuesImage}" />
                             </Grid>
-
-                            <Border.ContextMenu>
-                                <ContextMenu x:Name="PacketMenu" Opened="PacketMenu_Opened" Tag="{Binding}">
-                                    <MenuItem x:Name="SetCurrent" Header="Add to Current Workload" Tag="{Binding}"
-                                              Click="SetCurrent_Click" />
-                                    <MenuItem x:Name="SetPending" Header="Remove from Current Workload" Tag="{Binding}"
-                                              Click="SetPending_Click" />
-                                    <Separator x:Name="ActionSeparator" />
-                                    <MenuItem x:Name="SetTrolley" Header="Assign To / Edit Trolley(s)" Tag="{Binding}"
-                                              Click="SetTrolleyClick" />
-                                    <MenuItem x:Name="ClearTrolley" Header="Clear From Trolley(s)" Tag="{Binding}"
-                                              Click="ClearTrolleyClick" />
-                                    <Separator x:Name="TrolleySeparator" />
-                                    <MenuItem x:Name="SetPriority" Header="Flag As Priority" Tag="{Binding}"
-                                              Click="SetPriority_Click" />
-                                    <MenuItem x:Name="ClearPriority" Header="Clear Priority Flag" Tag="{Binding}"
-                                              Click="ClearPriority_Click" />
-                                    <MenuItem x:Name="EditIssues" Header="View/Update Issues" Tag="{Binding}"
-                                              Click="EditIssues_Click" />
-                                    <MenuItem x:Name="SetHold" Header="Put Packet on Hold" Tag="{Binding}"
-                                              Click="SetHold_Click" />
-                                    <MenuItem x:Name="ClearHold" Header="Release Packet from Hold" Tag="{Binding}"
-                                              Click="ClearHold_Click" />
-                                    <MenuItem x:Name="SetDistributed" Header="Mark Packet as Distributed"
-                                              Tag="{Binding}" Click="SetDistributed_Click" />
-                                    <MenuItem x:Name="ClearDistributed" Header="Clear Distributed Flag" Tag="{Binding}"
-                                              Click="ClearDistributed_Click" />
-                                    <Separator x:Name="DistributedSeparator" />
-                                    <MenuItem x:Name="SetShared" Header="Share with All Stations" Tag="{Binding}"
-                                              Click="SetShared_Click" />
-                                    <MenuItem x:Name="ClearShared" Header="Clear Shared Flag" Tag="{Binding}"
-                                              Click="ClearShared_Click" />
-                                    <MenuItem x:Name="MovePacket" Header="Move Packet to Station" Tag="{Binding}" />
-                                    <Separator/>
-                                    <MenuItem x:Name="RequestMaterials" Header="Request Materials" Tag="{Binding}"
-                                              Click="RequestMaterials_Click" />
-                                </ContextMenu>
-                            </Border.ContextMenu>
-
-
                         </Border>
 
                         <Border Grid.Row="0" Grid.Column="1" BorderBrush="Gray" BorderThickness="0,0.75,0,0.75"
                                 Margin="0,2,0,0" Background="{Binding ColorKey}" Tag="{Binding}"
-                                MouseLeftButtonDown="CardSelected">
+                                MouseLeftButtonDown="CardSelected"
+                                ContextMenuOpening="Border_ContextMenuOpening">
                             <Grid Margin="5">
 
                                 <Grid.ColumnDefinitions>
@@ -227,50 +184,12 @@
                                 <TextBlock Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" VerticalAlignment="Bottom"
                                            HorizontalAlignment="Left" Text="{Binding Path=JobName}" />
                             </Grid>
-
-                            <Border.ContextMenu>
-                                <ContextMenu x:Name="PacketMenu1" Opened="PacketMenu_Opened" Tag="{Binding}">
-                                    <MenuItem x:Name="SetCurrent1" Header="Add to Current Workload" Tag="{Binding}"
-                                              Click="SetCurrent_Click" />
-                                    <MenuItem x:Name="SetPending1" Header="Remove from Current Workload"
-                                              Tag="{Binding}" Click="SetPending_Click" />
-                                    <Separator x:Name="ActionSeparator1" />
-                                    <MenuItem x:Name="SetTrolley1" Header="Assign To / Edit Trolley(s)" Tag="{Binding}"
-                                              Click="SetTrolleyClick" />
-                                    <MenuItem x:Name="ClearTrolley1" Header="Clear From Trolley(s)" Tag="{Binding}"
-                                              Click="ClearTrolleyClick" />
-                                    <Separator x:Name="TrolleySeparator1" />
-                                    <MenuItem x:Name="SetPriority1" Header="Flag As Priority" Tag="{Binding}"
-                                              Click="SetPriority_Click" />
-                                    <MenuItem x:Name="ClearPriority1" Header="Clear Priority Flag" Tag="{Binding}"
-                                              Click="ClearPriority_Click" />
-                                    <MenuItem x:Name="EditIssues1" Header="View/Update Issues" Tag="{Binding}"
-                                              Click="EditIssues_Click" />
-                                    <MenuItem x:Name="SetHold1" Header="Put Packet on Hold" Tag="{Binding}"
-                                              Click="SetHold_Click" />
-                                    <MenuItem x:Name="ClearHold1" Header="Release Packet from Hold" Tag="{Binding}"
-                                              Click="ClearHold_Click" />
-                                    <MenuItem x:Name="SetDistributed1" Header="Mark Packet as Distributed"
-                                              Tag="{Binding}" Click="SetDistributed_Click" />
-                                    <MenuItem x:Name="ClearDistributed1" Header="Clear Distributed Flag"
-                                              Tag="{Binding}" Click="ClearDistributed_Click" />
-                                    <Separator x:Name="DistributedSeparator1" />
-                                    <MenuItem x:Name="SetShared1" Header="Share with All Stations" Tag="{Binding}"
-                                              Click="SetShared_Click" />
-                                    <MenuItem x:Name="ClearShared1" Header="Clear Shared Flag" Tag="{Binding}"
-                                              Click="ClearShared_Click" />
-                                    <MenuItem x:Name="MovePacket1" Header="Move Packet to Station" Tag="{Binding}" />
-                                    <Separator/>
-                                    <MenuItem x:Name="RequestMaterials1" Header="Request Materials" Tag="{Binding}"
-                                              Click="RequestMaterials_Click" />
-                                </ContextMenu>
-                            </Border.ContextMenu>
-
                         </Border>
 
                         <Border Grid.Row="0" Grid.Column="2" BorderBrush="Gray" BorderThickness="0,0.75,0.75,0.75"
                                 CornerRadius="0,5,5,0" Margin="0,2,0,0" Background="{Binding SelectedColor}"
-                                Tag="{Binding}" MouseLeftButtonDown="CardSelected">
+                                Tag="{Binding}" MouseLeftButtonDown="CardSelected"
+                                ContextMenuOpening="Border_ContextMenuOpening">
                             <Grid Margin="5">
                                 <Grid.ColumnDefinitions>
                                     <ColumnDefinition Width="*" />
@@ -293,62 +212,16 @@
                                            HorizontalAlignment="Center" Text="{Binding Path=Status}" FontWeight="Bold"
                                            FontSize="12" />
                             </Grid>
-
-                            <Border.ContextMenu>
-                                <ContextMenu x:Name="PacketMenu2" Opened="PacketMenu_Opened" Tag="{Binding}">
-                                    <MenuItem x:Name="SetCurrent2" Header="Add to Current Workload" Tag="{Binding}"
-                                              Click="SetCurrent_Click" />
-                                    <MenuItem x:Name="SetPending2" Header="Remove from Current Workload"
-                                              Tag="{Binding}" Click="SetPending_Click" />
-                                    <Separator x:Name="ActionSeparator2" />
-                                    <MenuItem x:Name="SetTrolley2" Header="Assign To / Edit Trolley(s)" Tag="{Binding}"
-                                              Click="SetTrolleyClick" />
-                                    <MenuItem x:Name="ClearTrolley2" Header="Clear From Trolley(s)" Tag="{Binding}"
-                                              Click="ClearTrolleyClick" />
-                                    <Separator x:Name="TrolleySeparator2" />
-                                    <MenuItem x:Name="SetPriority2" Header="Flag As Priority" Tag="{Binding}"
-                                              Click="SetPriority_Click" />
-                                    <MenuItem x:Name="ClearPriority2" Header="Clear Priority Flag" Tag="{Binding}"
-                                              Click="ClearPriority_Click" />
-                                    <MenuItem x:Name="EditIssues2" Header="View/Update Issues" Tag="{Binding}"
-                                              Click="EditIssues_Click" />
-                                    <MenuItem x:Name="SetHold2" Header="Put Packet on Hold" Tag="{Binding}"
-                                              Click="SetHold_Click" />
-                                    <MenuItem x:Name="ClearHold2" Header="Release Packet from Hold" Tag="{Binding}"
-                                              Click="ClearHold_Click" />
-                                    <MenuItem x:Name="SetDistributed2" Header="Mark Packet as Distributed"
-                                              Tag="{Binding}" Click="SetDistributed_Click" />
-                                    <MenuItem x:Name="ClearDistributed2" Header="Clear Distributed Flag"
-                                              Tag="{Binding}" Click="ClearDistributed_Click" />
-                                    <Separator x:Name="DistributedSeparator2" />
-                                    <MenuItem x:Name="SetShared2" Header="Share with All Stations" Tag="{Binding}"
-                                              Click="SetShared_Click" />
-                                    <MenuItem x:Name="ClearShared2" Header="Clear Shared Flag" Tag="{Binding}"
-                                              Click="ClearShared_Click" />
-                                    <MenuItem x:Name="MovePacket2" Header="Move Packet to Station" Tag="{Binding}" />
-                                </ContextMenu>
-                            </Border.ContextMenu>
                         </Border>
                     </Grid>
                 </DataTemplate>
             </ListBox.ItemTemplate>
         </ListBox>
 
-
-        <!--<Button Grid.Row="2" Grid.Column="0" x:Name="ToggleViewButton" Tag="All" Content="Incoming Packets" Margin="0,5,0,0" Click="ToggleViewButton_Click"/>-->
-
-        <Grid x:Name="PdfViewerGrid" Grid.Row="0" Grid.RowSpan="3" Grid.Column="1">
-            <Grid.RowDefinitions>
-                <RowDefinition Height="30" />
-                <RowDefinition Height="*" />
-            </Grid.RowDefinitions>
-
-            <StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal" x:Name="ButtonStack" Margin="5,0,0,0" />
-
-            <ContentControl x:Name="Editor" Margin="5,4,0,0" Grid.Column="0" Grid.Row="1" Grid.RowSpan="2" />
-
-        </Grid>
-
+        <dynamicGrid:DynamicTabControl x:Name="PdfViewerTab"
+                                       Grid.Row="0" Grid.RowSpan="3" Grid.Column="1"
+                                       TabStripHeight="30"
+                                       SelectionChanged="PdfViewerTab_SelectionChanged"/>
 
         <Grid Grid.Row="3" Grid.Column="1" x:Name="ButtonGrid">
             <Grid.RowDefinitions>
@@ -409,24 +282,18 @@
                         <RowDefinition Height="*"/>
                         <RowDefinition Height="50"/>
                     </Grid.RowDefinitions>
-                    
-                    <syncfusion:SfTextBoxExt
-                        x:Name="_packSearch"
-                        Grid.Row="0"
-                        BorderThickness="0.75"
-                        BorderBrush="Gray"
-                        Background="LightYellow"
-                        HorizontalContentAlignment="Left"
-                        VerticalContentAlignment="Center"
-                        TextChanged="_packSearch_OnTextChanged">
-                        <syncfusion:SfTextBoxExt.Watermark>
-                            <Label 
-                                Content="Search" 
-                                HorizontalAlignment="Left" 
-                                VerticalAlignment="Center" 
-                                Opacity="0.5"/>
-                        </syncfusion:SfTextBoxExt.Watermark>
-                    </syncfusion:SfTextBoxExt>
+
+                    <TextBox x:Name="_packSearch"
+                             Grid.Row="0"
+                             BorderThickness="0.75" BorderBrush="Gray"
+                             Background="LightYellow"
+                             HorizontalContentAlignment="Left"
+                             VerticalContentAlignment="Center"
+                             TextChanged="_packSearch_OnTextChanged">
+                        <behaviors:Interaction.Behaviors>
+                            <wpf:TextBoxPlaceholderBehaviour Text="Search"/>
+                        </behaviors:Interaction.Behaviors>
+                    </TextBox>
                     
                     <prsDesktop:FactoryPackGrid
                         x:Name="_packGrid"
@@ -457,7 +324,7 @@
                             BorderThickness="0.75"
                             Width="100"
                             Click="_addPack_OnClick">
-                            <TextBlock TextWrapping="WrapWithOverflow" Text = "Retrieve From Warehouse" TextAlignment="Center" />
+                            <TextBlock TextWrapping="WrapWithOverflow" Text="Retrieve From Warehouse" TextAlignment="Center" />
                         </Button>
                         
                         <Button

Разница между файлами не показана из-за своего большого размера
+ 436 - 568
prs.desktop/Panels/Factory/FactoryPanel.xaml.cs


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

@@ -33,6 +33,17 @@ namespace PRSDesktop
         public Guid TemplateID { get; set; }
         public Guid GroupID { get; set; }
 
+        private Guid _packetID;
+        public Guid PacketID
+        {
+            get => _packetID;
+            set
+            {
+                _packetID = value;
+                ID = value.ToString();
+            }
+        }
+
         #region Group Display Properties
         //Automatically displays/hides the group section of a displayed packet, and sorts out things like the corner radius
         public CornerRadius MainSectionRadius { get; set; }

+ 1 - 1
prs.desktop/Panels/Manufacturing/ManufacturingPanelColumn.xaml.cs

@@ -268,7 +268,7 @@ namespace PRSDesktop
                         flags.Add("DISTRIB");
 
 
-                    model.ID = id.ToString();
+                    model.PacketID = id;
 
                     var sTitle = string.Format("{0}{1}", quantity != barcodeqty ? string.Format("{0} x ", quantity) : "",
                         packet.Title);

+ 1 - 1
prs.stores/DeliveryItemStore.cs

@@ -15,7 +15,7 @@ namespace Comal.Stores
         {
             base.BeforeSave(entity);
 
-            if (!string.IsNullOrWhiteSpace(entity.SetoutLink.Number) & (entity.Sequence > 0))
+            if (!string.IsNullOrWhiteSpace(entity.SetoutLink.Number) && (entity.Sequence > 0))
                 entity.Barcode = string.Format("{0}-{1:D3}", entity.SetoutLink.Number, entity.Sequence);
         }
 

Некоторые файлы не были показаны из-за большого количества измененных файлов