From e265f7d495a4fabd0f380a4bf7f9492f69f99368 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 3 Jun 2021 15:00:17 +0000 Subject: [PATCH] --- server/AyaNova/biz/PartInventoryBiz.cs | 2 +- server/AyaNova/biz/PurchaseOrderBiz.cs | 14 +++++++------- server/AyaNova/biz/WorkOrderBiz.cs | 25 +++++++++++++++++++++---- server/AyaNova/models/PartInventory.cs | 2 +- 4 files changed, 30 insertions(+), 13 deletions(-) diff --git a/server/AyaNova/biz/PartInventoryBiz.cs b/server/AyaNova/biz/PartInventoryBiz.cs index 78845c61..5a1c33f6 100644 --- a/server/AyaNova/biz/PartInventoryBiz.cs +++ b/server/AyaNova/biz/PartInventoryBiz.cs @@ -95,7 +95,7 @@ namespace AyaNova.Biz //////////////////////////////////////////////////////////////////////////////////////////////// //CREATE (internal version) // - internal async Task CreateAsync(dtPOPartInventory newDtObject) + internal async Task CreateAsync(dtInternalPartInventory newDtObject) { try { diff --git a/server/AyaNova/biz/PurchaseOrderBiz.cs b/server/AyaNova/biz/PurchaseOrderBiz.cs index 405b4a24..ca05b267 100644 --- a/server/AyaNova/biz/PurchaseOrderBiz.cs +++ b/server/AyaNova/biz/PurchaseOrderBiz.cs @@ -413,7 +413,7 @@ namespace AyaNova.Biz foreach (var poItem in inventoryAffectingItems) { //make reversing inventory adjustment - dtPOPartInventory i = new dtPOPartInventory(); + dtInternalPartInventory i = new dtInternalPartInventory(); i.PartId = poItem.PartId; i.PartWarehouseId = poItem.PartWarehouseId; i.Quantity = poItem.QuantityReceived *= -1; @@ -444,7 +444,7 @@ namespace AyaNova.Biz foreach (var poItem in inventoryAffectingItems) { //make inventory adjustment here - dtPOPartInventory i = new dtPOPartInventory(); + dtInternalPartInventory i = new dtInternalPartInventory(); i.PartId = poItem.PartId; i.PartWarehouseId = poItem.PartWarehouseId; i.Quantity = poItem.QuantityReceived; @@ -485,7 +485,7 @@ namespace AyaNova.Biz if (oldItem.QuantityReceived > 0) { //make reversing inventory adjustment - dtPOPartInventory i = new dtPOPartInventory(); + dtInternalPartInventory i = new dtInternalPartInventory(); i.PartId = oldItem.PartId; i.PartWarehouseId = oldItem.PartWarehouseId; i.Quantity = oldItem.QuantityReceived *= -1; @@ -521,7 +521,7 @@ namespace AyaNova.Biz if (newItem.QuantityReceived > 0) { //It's a new receipt with received amounts - add to inventory - dtPOPartInventory i = new dtPOPartInventory(); + dtInternalPartInventory i = new dtInternalPartInventory(); i.PartId = newItem.PartId; i.PartWarehouseId = newItem.PartWarehouseId; i.Quantity = newItem.QuantityReceived; @@ -550,7 +550,7 @@ namespace AyaNova.Biz if (oldItem.QuantityReceived > 0) { //reverse inventory - dtPOPartInventory i = new dtPOPartInventory(); + dtInternalPartInventory i = new dtInternalPartInventory(); i.PartId = oldItem.PartId; i.PartWarehouseId = oldItem.PartWarehouseId; i.Quantity = oldItem.QuantityReceived *= -1; @@ -569,7 +569,7 @@ namespace AyaNova.Biz if (newItem.QuantityReceived > 0) { //set new inventory - dtPOPartInventory i = new dtPOPartInventory(); + dtInternalPartInventory i = new dtInternalPartInventory(); i.PartId = newItem.PartId; i.PartWarehouseId = newItem.PartWarehouseId; i.Quantity = newItem.QuantityReceived; @@ -602,7 +602,7 @@ namespace AyaNova.Biz else netChange = newItem.QuantityReceived - oldItem.QuantityReceived;//less received - dtPOPartInventory i = new dtPOPartInventory(); + dtInternalPartInventory i = new dtInternalPartInventory(); i.PartId = newItem.PartId; i.PartWarehouseId = newItem.PartWarehouseId; i.Quantity = netChange; diff --git a/server/AyaNova/biz/WorkOrderBiz.cs b/server/AyaNova/biz/WorkOrderBiz.cs index a87bb3e7..04029ff1 100644 --- a/server/AyaNova/biz/WorkOrderBiz.cs +++ b/server/AyaNova/biz/WorkOrderBiz.cs @@ -3337,16 +3337,21 @@ namespace AyaNova.Biz // if delete wo doesn't call this, it will need to + + if (AyaNova.Util.ServerGlobalBizSettings.UseInventory) { - //Get inventory object for updating - PartInventoryBiz pib = new PartInventoryBiz(ct, UserId, UserTranslationId, CurrentUserRoles); + //create debit and credit transactions as required then insert them into inventory at the bottom + List adjustmentsList = new List(); + + + //DELETED HANDLE INVENTORY / RETURN SERIALS -this was copied from purchase order just to show the requirements + //It's a new receipt with received amounts - add to inventory - dtPOPartInventory i = new dtPOPartInventory(); + dtInternalPartInventory i = new dtInternalPartInventory(); i.PartId = newItem.PartId; i.PartWarehouseId = newItem.PartWarehouseId; i.Quantity = newItem.QuantityReceived; @@ -3366,6 +3371,18 @@ this was copied from purchase order just to show the requirements + if (adjustmentsList.Count > 0) + { + PartInventoryBiz pib = new PartInventoryBiz(ct, UserId, UserTranslationId, CurrentUserRoles); + foreach (dtInternalPartInventory pi in adjustmentsList) + { + if (await pib.CreateAsync(pi) == null) + { + AddError(ApiErrorCode.API_SERVER_ERROR, "generalerror", $"Error updating inventory ({pi.Description}):{pib.GetErrorsAsString()}"); + return; + } + } + } } diff --git a/server/AyaNova/models/PartInventory.cs b/server/AyaNova/models/PartInventory.cs index e368aff3..21a95a7a 100644 --- a/server/AyaNova/models/PartInventory.cs +++ b/server/AyaNova/models/PartInventory.cs @@ -75,7 +75,7 @@ namespace AyaNova.Models }//eoc //internal purchase order version - public class dtPOPartInventory + public class dtInternalPartInventory { public long Id { get; set; }