This commit is contained in:
2021-06-03 15:00:17 +00:00
parent 693aa33a3a
commit e265f7d495
4 changed files with 30 additions and 13 deletions

View File

@@ -95,7 +95,7 @@ namespace AyaNova.Biz
//////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////
//CREATE (internal version) //CREATE (internal version)
// //
internal async Task<PartInventory> CreateAsync(dtPOPartInventory newDtObject) internal async Task<PartInventory> CreateAsync(dtInternalPartInventory newDtObject)
{ {
try try
{ {

View File

@@ -413,7 +413,7 @@ namespace AyaNova.Biz
foreach (var poItem in inventoryAffectingItems) foreach (var poItem in inventoryAffectingItems)
{ {
//make reversing inventory adjustment //make reversing inventory adjustment
dtPOPartInventory i = new dtPOPartInventory(); dtInternalPartInventory i = new dtInternalPartInventory();
i.PartId = poItem.PartId; i.PartId = poItem.PartId;
i.PartWarehouseId = poItem.PartWarehouseId; i.PartWarehouseId = poItem.PartWarehouseId;
i.Quantity = poItem.QuantityReceived *= -1; i.Quantity = poItem.QuantityReceived *= -1;
@@ -444,7 +444,7 @@ namespace AyaNova.Biz
foreach (var poItem in inventoryAffectingItems) foreach (var poItem in inventoryAffectingItems)
{ {
//make inventory adjustment here //make inventory adjustment here
dtPOPartInventory i = new dtPOPartInventory(); dtInternalPartInventory i = new dtInternalPartInventory();
i.PartId = poItem.PartId; i.PartId = poItem.PartId;
i.PartWarehouseId = poItem.PartWarehouseId; i.PartWarehouseId = poItem.PartWarehouseId;
i.Quantity = poItem.QuantityReceived; i.Quantity = poItem.QuantityReceived;
@@ -485,7 +485,7 @@ namespace AyaNova.Biz
if (oldItem.QuantityReceived > 0) if (oldItem.QuantityReceived > 0)
{ {
//make reversing inventory adjustment //make reversing inventory adjustment
dtPOPartInventory i = new dtPOPartInventory(); dtInternalPartInventory i = new dtInternalPartInventory();
i.PartId = oldItem.PartId; i.PartId = oldItem.PartId;
i.PartWarehouseId = oldItem.PartWarehouseId; i.PartWarehouseId = oldItem.PartWarehouseId;
i.Quantity = oldItem.QuantityReceived *= -1; i.Quantity = oldItem.QuantityReceived *= -1;
@@ -521,7 +521,7 @@ namespace AyaNova.Biz
if (newItem.QuantityReceived > 0) if (newItem.QuantityReceived > 0)
{ {
//It's a new receipt with received amounts - add to inventory //It's a new receipt with received amounts - add to inventory
dtPOPartInventory i = new dtPOPartInventory(); dtInternalPartInventory i = new dtInternalPartInventory();
i.PartId = newItem.PartId; i.PartId = newItem.PartId;
i.PartWarehouseId = newItem.PartWarehouseId; i.PartWarehouseId = newItem.PartWarehouseId;
i.Quantity = newItem.QuantityReceived; i.Quantity = newItem.QuantityReceived;
@@ -550,7 +550,7 @@ namespace AyaNova.Biz
if (oldItem.QuantityReceived > 0) if (oldItem.QuantityReceived > 0)
{ {
//reverse inventory //reverse inventory
dtPOPartInventory i = new dtPOPartInventory(); dtInternalPartInventory i = new dtInternalPartInventory();
i.PartId = oldItem.PartId; i.PartId = oldItem.PartId;
i.PartWarehouseId = oldItem.PartWarehouseId; i.PartWarehouseId = oldItem.PartWarehouseId;
i.Quantity = oldItem.QuantityReceived *= -1; i.Quantity = oldItem.QuantityReceived *= -1;
@@ -569,7 +569,7 @@ namespace AyaNova.Biz
if (newItem.QuantityReceived > 0) if (newItem.QuantityReceived > 0)
{ {
//set new inventory //set new inventory
dtPOPartInventory i = new dtPOPartInventory(); dtInternalPartInventory i = new dtInternalPartInventory();
i.PartId = newItem.PartId; i.PartId = newItem.PartId;
i.PartWarehouseId = newItem.PartWarehouseId; i.PartWarehouseId = newItem.PartWarehouseId;
i.Quantity = newItem.QuantityReceived; i.Quantity = newItem.QuantityReceived;
@@ -602,7 +602,7 @@ namespace AyaNova.Biz
else else
netChange = newItem.QuantityReceived - oldItem.QuantityReceived;//less received netChange = newItem.QuantityReceived - oldItem.QuantityReceived;//less received
dtPOPartInventory i = new dtPOPartInventory(); dtInternalPartInventory i = new dtInternalPartInventory();
i.PartId = newItem.PartId; i.PartId = newItem.PartId;
i.PartWarehouseId = newItem.PartWarehouseId; i.PartWarehouseId = newItem.PartWarehouseId;
i.Quantity = netChange; i.Quantity = netChange;

View File

@@ -3337,16 +3337,21 @@ namespace AyaNova.Biz
// if delete wo doesn't call this, it will need to // if delete wo doesn't call this, it will need to
if (AyaNova.Util.ServerGlobalBizSettings.UseInventory) if (AyaNova.Util.ServerGlobalBizSettings.UseInventory)
{ {
//Get inventory object for updating //create debit and credit transactions as required then insert them into inventory at the bottom
PartInventoryBiz pib = new PartInventoryBiz(ct, UserId, UserTranslationId, CurrentUserRoles); List<dtInternalPartInventory> adjustmentsList = new List<dtInternalPartInventory>();
//DELETED HANDLE INVENTORY / RETURN SERIALS //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 //It's a new receipt with received amounts - add to inventory
dtPOPartInventory i = new dtPOPartInventory(); dtInternalPartInventory i = new dtInternalPartInventory();
i.PartId = newItem.PartId; i.PartId = newItem.PartId;
i.PartWarehouseId = newItem.PartWarehouseId; i.PartWarehouseId = newItem.PartWarehouseId;
i.Quantity = newItem.QuantityReceived; 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;
}
}
}
} }

View File

@@ -75,7 +75,7 @@ namespace AyaNova.Models
}//eoc }//eoc
//internal purchase order version //internal purchase order version
public class dtPOPartInventory public class dtInternalPartInventory
{ {
public long Id { get; set; } public long Id { get; set; }