浏览代码

DESKTOP - BOM notes when creating requi, stock selection page changes in preparation for factory view picking list

Nick-PRSDigital@bitbucket.org 2 年之前
父节点
当前提交
3dc43e86e3

+ 2 - 0
prs.desktop/Panels/Jobs/JobBillOfMaterialsItemsGrid.cs

@@ -50,6 +50,7 @@ namespace PRSDesktop
             HiddenColumns.Add(x => x.Style.Code);
             HiddenColumns.Add(x => x.Style.Description);
             HiddenColumns.Add(x => x.BillOfMaterials.ID);
+            HiddenColumns.Add(x => x.BillOfMaterials.Description);
             HiddenColumns.Add(x => x.Job.ID);
             HiddenColumns.Add(x => x.PurchaseOrderItem.ID);
             HiddenColumns.Add(x => x.PurchaseOrderItem.PurchaseOrderLink.PONumber);
@@ -101,6 +102,7 @@ namespace PRSDesktop
                 requiItem.Supplier.Name = BOMitem.Supplier.Name;
                 requiItem.Dimensions.CopyFrom(BOMitem.Dimensions);
                 requiItem.Job.ID = JobID;
+                requiItem.Notes = "Create from BOM " + BOMitem.BillOfMaterials.Description + " on " + DateTime.Now.ToString("hh:mm t dd-MMM-yy") + " by " + empName;
                 requiItems.Add(requiItem);
             }
             result.LoadRows(requiItems);

+ 1 - 1
prs.desktop/Panels/Products/Reservation Management/JobRequisitionHoldingsReview.xaml.cs

@@ -287,7 +287,7 @@ namespace PRSDesktop
             }
             var filteredHoldings = holdings.Where(x => x.Units > 0);
 
-            var page = new JobRequisitionStockSelectionPage(
+            var page = new StockSelectionPage(
                 filteredHoldings,
                 Item,
                 new Job { ID = model.JobID, Name = model.JobName, JobNumber = model.JobNumber },

+ 1 - 1
prs.desktop/Panels/Products/Reservation Management/JobRequisitionStockSelectionPage.xaml → prs.desktop/Panels/Products/Reservation Management/StockSelectionPage.xaml

@@ -1,4 +1,4 @@
-<wpf:ThemableWindow x:Class="PRSDesktop.JobRequisitionStockSelectionPage"
+<wpf:ThemableWindow x:Class="PRSDesktop.StockSelectionPage"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

+ 25 - 16
prs.desktop/Panels/Products/Reservation Management/JobRequisitionStockSelectionPage.xaml.cs → prs.desktop/Panels/Products/Reservation Management/StockSelectionPage.xaml.cs

@@ -18,23 +18,32 @@ namespace PRSDesktop
     /// <summary>
     /// Interaction logic for JobRequisitionStockSelectionPage.xaml
     /// </summary>
-    public partial class JobRequisitionStockSelectionPage : ThemableWindow
+    public partial class StockSelectionPage : ThemableWindow
     {
-        ObservableCollection<JobRequistionStockSelectionViewModel> ViewModels = new ObservableCollection<JobRequistionStockSelectionViewModel>();
+        ObservableCollection<StockSelectionViewModel> ViewModels = new ObservableCollection<StockSelectionViewModel>();
         JobRequisitionItem Item = new JobRequisitionItem();
         public Guid EmpID { get; set; }
         public Guid IssuingJobID { get; set; }
         public bool Allocated = false;
-        public JobRequisitionStockSelectionPage(IEnumerable<StockHolding> holdings, JobRequisitionItem item, Job issuingJob, bool requisitioned = false)
+        PageMode _mode;
+
+        enum PageMode 
+        {
+            Reservation,
+            Picking
+        }
+        public StockSelectionPage(IEnumerable<StockHolding> holdings, JobRequisitionItem item, Job issuingJob, bool requisitioned = false)
         {
             InitializeComponent();
 
+            _mode = PageMode.Reservation;
+
             Item = item;
             IssuingJobID = issuingJob.ID;
             jobLbl.Text = "Taking stock from Job: " + issuingJob.Name + " (" + issuingJob.JobNumber + ")";
             foreach (var holding in holdings)
             {
-                ViewModels.Add(new JobRequistionStockSelectionViewModel
+                ViewModels.Add(new StockSelectionViewModel
                 {
                     Location = holding.Location.Description,
                     Area = holding.Location.Area.Description,
@@ -77,7 +86,7 @@ namespace PRSDesktop
             DialogResult = true;
         }
 
-        private void CreateStockMovements(JobRequistionStockSelectionViewModel model)
+        private void CreateStockMovements(StockSelectionViewModel model)
         {
             StockMovementBatch batch = new StockMovementBatch();
             batch.TimeStamp = DateTime.Now;
@@ -97,7 +106,7 @@ namespace PRSDesktop
             new Client<StockMovement>().Save(new StockMovement[] { issuing, receiving }, "Created from Reservation Management Screen");
         }
 
-        private StockMovement CreateBaseMovement(JobRequistionStockSelectionViewModel model, Guid batchid)
+        private StockMovement CreateBaseMovement(StockSelectionViewModel model, Guid batchid)
         {
             StockMovement mvt = new StockMovement();
             mvt.Style.ID = model.Holding.Style.ID;
@@ -128,12 +137,12 @@ namespace PRSDesktop
 
                 else
                 {
-                    var holdingUnits = (box.DataContext as JobRequistionStockSelectionViewModel).Holding.Units;
+                    var holdingUnits = (box.DataContext as StockSelectionViewModel).Holding.Units;
 
                     if (holdingUnits >= value && value >= 0)
-                        (box.DataContext as JobRequistionStockSelectionViewModel).ChosenUnits = value;
+                        (box.DataContext as StockSelectionViewModel).ChosenUnits = value;
                     else
-                        (box.DataContext as JobRequistionStockSelectionViewModel).ChosenUnits = holdingUnits;
+                        (box.DataContext as StockSelectionViewModel).ChosenUnits = holdingUnits;
 
                 }
 
@@ -142,13 +151,13 @@ namespace PRSDesktop
 
         private void All_Clicked(object sender, RoutedEventArgs e)
         {
-            var holdingUnits = ((sender as Button).DataContext as JobRequistionStockSelectionViewModel).Holding.Units;
-            ((sender as Button).DataContext as JobRequistionStockSelectionViewModel).ChosenUnits = holdingUnits;
+            var holdingUnits = ((sender as Button).DataContext as StockSelectionViewModel).Holding.Units;
+            ((sender as Button).DataContext as StockSelectionViewModel).ChosenUnits = holdingUnits;
         }
 
         private void Minus_Click(object sender, RoutedEventArgs e)
         {
-            var model = (sender as Button).DataContext as JobRequistionStockSelectionViewModel;
+            var model = (sender as Button).DataContext as StockSelectionViewModel;
 
             if (model.ChosenUnits > 0)
                 model.ChosenUnits--;
@@ -156,8 +165,8 @@ namespace PRSDesktop
 
         private void Plus_Click(object sender, RoutedEventArgs e)
         {
-            var holdingUnits = ((sender as Button).DataContext as JobRequistionStockSelectionViewModel).Holding.Units;
-            var model = (sender as Button).DataContext as JobRequistionStockSelectionViewModel;
+            var holdingUnits = ((sender as Button).DataContext as StockSelectionViewModel).Holding.Units;
+            var model = (sender as Button).DataContext as StockSelectionViewModel;
             if (model.ChosenUnits < holdingUnits)
                 model.ChosenUnits++;
         }
@@ -194,7 +203,7 @@ namespace PRSDesktop
         }
     }
 
-    public class JobRequistionStockSelectionViewModel : INotifyPropertyChanged
+    public class StockSelectionViewModel : INotifyPropertyChanged
     {
         public event PropertyChangedEventHandler? PropertyChanged;
         public string Location { get; set; }
@@ -214,7 +223,7 @@ namespace PRSDesktop
         }
         public StockHolding Holding { get; set; }
 
-        public JobRequistionStockSelectionViewModel()
+        public StockSelectionViewModel()
         {
             Location = "";
             Area = "";