Issuing of stock should ignore storage with onhand <= 0 - ID: 2545020
http://sourceforge.net/tracker2/index.php?func=detail&aid=2545020&group_id=176962&atid=879332 Fix MA when the on hand for s ASI is zero
This commit is contained in:
parent
70ffc39a38
commit
d20b7677e3
|
@ -1695,10 +1695,11 @@ public class MInOut extends X_M_InOut implements DocAction
|
|||
String MMPolicy = product.getMMPolicy();
|
||||
Timestamp minGuaranteeDate = getMovementDate();
|
||||
MStorage[] storages = MStorage.getWarehouse(getCtx(), getM_Warehouse_ID(), line.getM_Product_ID(), line.getM_AttributeSetInstance_ID(),
|
||||
minGuaranteeDate, MClient.MMPOLICY_FiFo.equals(MMPolicy), true, line.getM_Locator_ID(), get_TrxName());
|
||||
minGuaranteeDate, MClient.MMPOLICY_FiFo.equals(MMPolicy), false, line.getM_Locator_ID(), get_TrxName());
|
||||
BigDecimal qtyToDeliver = line.getMovementQty();
|
||||
for (MStorage storage: storages)
|
||||
{
|
||||
|
||||
if (storage.getQtyOnHand().compareTo(qtyToDeliver) >= 0)
|
||||
{
|
||||
MInOutLineMA ma = new MInOutLineMA (line,
|
||||
|
@ -1709,6 +1710,7 @@ public class MInOut extends X_M_InOut implements DocAction
|
|||
throw new IllegalStateException("Error try create ASI Reservation");
|
||||
}
|
||||
qtyToDeliver = Env.ZERO;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -596,7 +596,7 @@ public class MInventory extends X_M_Inventory implements DocAction
|
|||
{
|
||||
String MMPolicy = product.getMMPolicy();
|
||||
MStorage[] storages = MStorage.getWarehouse(getCtx(), getM_Warehouse_ID(), line.getM_Product_ID(), 0,
|
||||
null, MClient.MMPOLICY_FiFo.equals(MMPolicy), true, line.getM_Locator_ID(), get_TrxName());
|
||||
null, MClient.MMPOLICY_FiFo.equals(MMPolicy), false, line.getM_Locator_ID(), get_TrxName());
|
||||
BigDecimal qtyToDeliver = qtyDiff.negate();
|
||||
|
||||
for (MStorage storage: storages)
|
||||
|
@ -612,7 +612,7 @@ public class MInventory extends X_M_Inventory implements DocAction
|
|||
}
|
||||
qtyToDeliver = Env.ZERO;
|
||||
log.fine( ma + ", QtyToDeliver=" + qtyToDeliver);
|
||||
//return;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -665,7 +665,7 @@ public class MMovement extends X_M_Movement implements DocAction
|
|||
MProduct product = MProduct.get(getCtx(), line.getM_Product_ID());
|
||||
String MMPolicy = product.getMMPolicy();
|
||||
MStorage[] storages = MStorage.getWarehouse(getCtx(), 0, line.getM_Product_ID(), 0,
|
||||
null, MClient.MMPOLICY_FiFo.equals(MMPolicy), true, line.getM_Locator_ID(), get_TrxName());
|
||||
null, MClient.MMPOLICY_FiFo.equals(MMPolicy), false, line.getM_Locator_ID(), get_TrxName());
|
||||
|
||||
BigDecimal qtyToDeliver = line.getMovementQty();
|
||||
|
||||
|
@ -682,7 +682,7 @@ public class MMovement extends X_M_Movement implements DocAction
|
|||
}
|
||||
qtyToDeliver = Env.ZERO;
|
||||
log.fine( ma + ", QtyToDeliver=" + qtyToDeliver);
|
||||
//return;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -332,8 +332,11 @@ public class MStorage extends X_M_Storage
|
|||
}
|
||||
rs = pstmt.executeQuery();
|
||||
while (rs.next())
|
||||
{
|
||||
if(rs.getBigDecimal(11).signum() != 0)
|
||||
list.add (new MStorage (ctx, rs, trxName));
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
s_log.log(Level.SEVERE, sql, e);
|
||||
|
|
|
@ -542,7 +542,7 @@ public class InOutGenerate extends SvrProcess
|
|||
{
|
||||
m_lastStorages = MStorage.getWarehouse(getCtx(),
|
||||
M_Warehouse_ID, M_Product_ID, M_AttributeSetInstance_ID,
|
||||
minGuaranteeDate, FiFo, true, 0 , get_TrxName());
|
||||
minGuaranteeDate, FiFo, false, 0 , get_TrxName());
|
||||
m_map.put(m_lastPP, m_lastStorages);
|
||||
}
|
||||
return m_lastStorages;
|
||||
|
|
Loading…
Reference in New Issue