From 74e344785715553cfef071ee597be5f305197118 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Thu, 23 Jul 2015 09:24:58 -0500 Subject: [PATCH] IDEMPIERE-2629 M_StorageOnHand Qty and Total M_Transaction Qty did not match / integrate peer review from hengsin --- org.adempiere.base/src/org/compiere/model/MProductionLine.java | 3 --- org.adempiere.base/src/org/compiere/model/MStorageOnHand.java | 2 +- .../src/org/compiere/model/MStorageReservation.java | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/MProductionLine.java b/org.adempiere.base/src/org/compiere/model/MProductionLine.java index c99d7324a9..959490faf6 100644 --- a/org.adempiere.base/src/org/compiere/model/MProductionLine.java +++ b/org.adempiere.base/src/org/compiere/model/MProductionLine.java @@ -121,7 +121,6 @@ public class MProductionLine extends X_M_ProductionLine { MStorageOnHand storage = MStorageOnHand.getCreate(getCtx(), getM_Locator_ID(), getM_Product_ID(), asi.get_ID(),dateMPolicy, get_TrxName()); storage.addQtyOnHand(getMovementQty()); - storage.load(storage.get_TrxName()); if (log.isLoggable(Level.FINE))log.log(Level.FINE, "Created finished goods line " + getLine()); return errorString.toString(); @@ -180,7 +179,6 @@ public class MProductionLine extends X_M_ProductionLine { } DB.getDatabase().forUpdate(storages[sl], 120); storages[sl].addQtyOnHand(lineQty.negate()); - storages[sl].load(storages[sl].get_TrxName()); qtyToMove = qtyToMove.subtract(lineQty); if (log.isLoggable(Level.FINE))log.log(Level.FINE, getLine() + " Qty moved = " + lineQty + ", Remaining = " + qtyToMove ); } @@ -239,7 +237,6 @@ public class MProductionLine extends X_M_ProductionLine { if (log.isLoggable(Level.FINE))log.log(Level.FINE, "Saved transaction for " + toString()); } storage.addQtyOnHand(lineQty.negate()); - storage.load(storage.get_TrxName()); qtyToMove = qtyToMove.subtract(lineQty); if (log.isLoggable(Level.FINE))log.log(Level.FINE, getLine() + " Qty moved = " + lineQty + ", Remaining = " + qtyToMove ); } diff --git a/org.adempiere.base/src/org/compiere/model/MStorageOnHand.java b/org.adempiere.base/src/org/compiere/model/MStorageOnHand.java index 14bb46a74e..128dd5a274 100644 --- a/org.adempiere.base/src/org/compiere/model/MStorageOnHand.java +++ b/org.adempiere.base/src/org/compiere/model/MStorageOnHand.java @@ -737,7 +737,6 @@ public class MStorageOnHand extends X_M_StorageOnHand } storage.addQtyOnHand(diffQtyOnHand); - storage.load(storage.get_TrxName()); if (storage.getQtyOnHand().signum() == -1) { if (MWarehouse.get(Env.getCtx(), M_Warehouse_ID).isDisallowNegativeInv()) { throw new AdempiereException(Msg.getMsg(ctx, "NegativeInventoryDisallowed")); @@ -760,6 +759,7 @@ public class MStorageOnHand extends X_M_StorageOnHand DB.executeUpdateEx(sql, new Object[] {addition, Env.getAD_User_ID(Env.getCtx()), getM_Product_ID(), getM_Locator_ID(), getM_AttributeSetInstance_ID(), getDateMaterialPolicy()}, get_TrxName()); + load(get_TrxName()); } /************************************************************************** diff --git a/org.adempiere.base/src/org/compiere/model/MStorageReservation.java b/org.adempiere.base/src/org/compiere/model/MStorageReservation.java index 2155a2ac17..1683487e83 100644 --- a/org.adempiere.base/src/org/compiere/model/MStorageReservation.java +++ b/org.adempiere.base/src/org/compiere/model/MStorageReservation.java @@ -249,7 +249,6 @@ public class MStorageReservation extends X_M_StorageReservation { } storage.addQty(diffQty); - storage.load(storage.get_TrxName()); if (s_log.isLoggable(Level.FINE)) { StringBuilder diffText = new StringBuilder("(Qty=").append(diffQty).append(") -> ").append(storage.toString()); s_log.fine(diffText.toString()); @@ -267,6 +266,7 @@ public class MStorageReservation extends X_M_StorageReservation { DB.executeUpdateEx(sql, new Object[] {addition, Env.getAD_User_ID(Env.getCtx()), getM_Product_ID(), getM_Warehouse_ID(), getM_AttributeSetInstance_ID(), isSOTrx()}, get_TrxName()); + load(get_TrxName()); } /**