|
|
@@ -4,7 +4,6 @@ using InABox.Core;
|
|
|
using InABox.DynamicGrid;
|
|
|
using InABox.Wpf;
|
|
|
using InABox.WPF;
|
|
|
-using jdk.nashorn.@internal.ir;
|
|
|
using PRSDesktop.Panels.StockForecast.OrderScreen;
|
|
|
using System;
|
|
|
using System.Collections.Generic;
|
|
|
@@ -53,7 +52,7 @@ public class StockForecastItem : BaseObject
|
|
|
public void AddJobBOM(Guid jobID, double quantity)
|
|
|
{
|
|
|
var item = JobInfo.GetValueOrAdd(jobID);
|
|
|
- item.BOM = Math.Max(0.0, item.BOM + quantity);
|
|
|
+ item.BOM += quantity;
|
|
|
}
|
|
|
public void AddJobPO(Guid jobID, double quantity)
|
|
|
{
|
|
|
@@ -827,22 +826,30 @@ public class StockForecastGrid : DynamicItemsListGrid<StockForecastItem>, IDataM
|
|
|
var key = GetKey(bomItem);
|
|
|
var item = GetItem(key);
|
|
|
|
|
|
- item.JobBOM = Math.Max(0.0, item.JobBOM + bomItem.Get<JobBillOfMaterialsItem, double>(x => x.Quantity));
|
|
|
item.AddJobBOM(bomItem.Get<JobBillOfMaterialsItem, Guid>(x => x.Job.ID), bomItem.Get<JobBillOfMaterialsItem, double>(x => x.Quantity));
|
|
|
}
|
|
|
|
|
|
- // var movements = results.Get<StockMovement>();
|
|
|
- // foreach(var mvt in movements.Rows)
|
|
|
- // {
|
|
|
- // var item = GetItem(GetKey(mvt));
|
|
|
- //
|
|
|
- // item.JobBOM = Math.Max(0.0, item.JobBOM + mvt.Get<StockMovement, double>(x => x.Units));
|
|
|
- // item.AddJobBOM(mvt.Get<StockMovement, Guid>(x => x.Job.ID), mvt.Get<StockMovement, double>(x => x.Units));
|
|
|
- // }
|
|
|
+ var movements = results.Get<StockMovement>();
|
|
|
+ foreach(var mvt in movements.Rows)
|
|
|
+ {
|
|
|
+ var item = GetItem(GetKey(mvt));
|
|
|
+
|
|
|
+ item.AddJobBOM(mvt.Get<StockMovement, Guid>(x => x.Job.ID), mvt.Get<StockMovement, double>(x => x.Units));
|
|
|
+ }
|
|
|
|
|
|
_supplierProducts = results.GetArray<SupplierProduct>();
|
|
|
|
|
|
Items = items.Values.ToList();
|
|
|
+
|
|
|
+ foreach(var item in Items)
|
|
|
+ {
|
|
|
+ foreach(var (job, info) in item.JobInfo)
|
|
|
+ {
|
|
|
+ info.BOM = Math.Max(info.BOM, 0.0);
|
|
|
+ }
|
|
|
+ item.JobBOM = item.JobInfo.Sum(x => x.Value.BOM);
|
|
|
+ }
|
|
|
+
|
|
|
Items.LoadForeignProperties(columns);
|
|
|
Items.Sort((a, b) => a.Product.Code.CompareTo(b.Product.Code));
|
|
|
//Items.Sort(x => x.Product.Code);
|