details: https://code.openbravo.com/erp/devel/main/rev/8e9e91f3320c changeset: 25063:8e9e91f3320c user: Unai Martirena <unai.martirena <at> openbravo.com> date: Tue Oct 21 13:55:05 2014 +0200 summary: Fixes issue 27853: Manual Cost Correction Cost adjustments are not properly created
details: https://code.openbravo.com/erp/devel/main/rev/e326ab4ac682 changeset: 25064:e326ab4ac682 user: Unai Martirena <unai.martirena <at> openbravo.com> date: Thu Oct 23 16:57:58 2014 +0200 summary: Related to Issue 27853: Not any more wrong records created in Costing tab Changed the filter by Id in CostAdjustmentUtils.getStockOnTransactionDate(), CostAdjustmentUtils.getValuedStockOnTransactionDate() and AverageCostAdjustment.getRelatedTransactions(). diffstat: src/org/openbravo/costing/AverageCostAdjustment.java | 9 +++++++-- src/org/openbravo/costing/CostAdjustmentUtils.java | 18 +++++++++++++----- src/org/openbravo/costing/CostingBackground.java | 1 + 3 files changed, 21 insertions(+), 7 deletions(-) diffs (93 lines): diff -r 918a300ee3ae -r e326ab4ac682 src/org/openbravo/costing/AverageCostAdjustment.java --- a/src/org/openbravo/costing/AverageCostAdjustment.java Mon Oct 27 11:34:20 2014 +0100 +++ b/src/org/openbravo/costing/AverageCostAdjustment.java Thu Oct 23 16:57:58 2014 +0200 @@ -465,8 +465,11 @@ wh.append(" trxtype." + CostAdjustmentUtils.propADListPriority + " > :trxtypeprio"); wh.append(" or ("); wh.append(" trxtype." + CostAdjustmentUtils.propADListPriority + " = :trxtypeprio"); - wh.append(" and trx." + MaterialTransaction.PROPERTY_MOVEMENTQUANTITY + " <= :trxqty"); - wh.append(" ))))"); + wh.append(" and trx." + MaterialTransaction.PROPERTY_MOVEMENTQUANTITY + " < :trxqty"); + wh.append(" or ("); + wh.append(" trx." + MaterialTransaction.PROPERTY_MOVEMENTQUANTITY + " = :trxqty"); + wh.append(" and trx." + MaterialTransaction.PROPERTY_ID + " > :trxid"); + wh.append(" )))))"); wh.append(" and trx.id != :trxid"); wh.append(" ))))"); wh.append(" and org.id in (:orgs)"); @@ -486,6 +489,7 @@ wh.append(" trx." + MaterialTransaction.PROPERTY_TRANSACTIONPROCESSDATE); wh.append(" , trxtype." + CostAdjustmentUtils.propADListPriority); wh.append(" , trx." + MaterialTransaction.PROPERTY_MOVEMENTQUANTITY + " desc"); + wh.append(" , trx." + MaterialTransaction.PROPERTY_ID); OBQuery<MaterialTransaction> trxQry = OBDal.getInstance().createQuery( MaterialTransaction.class, wh.toString()); @@ -607,6 +611,7 @@ where.append(" trx." + MaterialTransaction.PROPERTY_TRANSACTIONPROCESSDATE + " desc "); where.append(" , trxtype." + CostAdjustmentUtils.propADListPriority + " desc "); where.append(" , trx." + MaterialTransaction.PROPERTY_MOVEMENTQUANTITY); + where.append(" , trx." + MaterialTransaction.PROPERTY_ID); OBQuery<Costing> qryCost = OBDal.getInstance().createQuery(Costing.class, where.toString()); qryCost.setNamedParameter("refid", CostAdjustmentUtils.MovementTypeRefID); diff -r 918a300ee3ae -r e326ab4ac682 src/org/openbravo/costing/CostAdjustmentUtils.java --- a/src/org/openbravo/costing/CostAdjustmentUtils.java Mon Oct 27 11:34:20 2014 +0100 +++ b/src/org/openbravo/costing/CostAdjustmentUtils.java Thu Oct 23 16:57:58 2014 +0200 @@ -381,9 +381,12 @@ select.append(" trxtype." + propADListPriority + " < :trxtypeprio"); select.append(" or ("); select.append(" trxtype." + propADListPriority + " = :trxtypeprio"); - select.append(" and trx." + MaterialTransaction.PROPERTY_MOVEMENTQUANTITY - + " >= :trxqty"); - select.append(" )))"); + select + .append(" and trx." + MaterialTransaction.PROPERTY_MOVEMENTQUANTITY + " > :trxqty"); + select.append(" or ("); + select.append(" trx." + MaterialTransaction.PROPERTY_MOVEMENTQUANTITY + " = :trxqty"); + select.append(" and trx." + MaterialTransaction.PROPERTY_ID + " <= :trxid"); + select.append(" ))))"); select.append(" )))))"); if (costDimensions.get(CostDimension.Warehouse) != null) { select.append(" and locator." + Locator.PROPERTY_WAREHOUSE + ".id = :warehouse"); @@ -396,6 +399,7 @@ trxQry.setParameter("trxdate", trx.getTransactionProcessDate()); trxQry.setParameter("trxtypeprio", getTrxTypePrio(trx.getMovementType())); trxQry.setParameter("trxqty", trx.getMovementQuantity()); + trxQry.setParameter("trxid", trx.getId()); CostingRule costingRule = CostingUtils.getCostDimensionRule(costorg, trx.getTransactionProcessDate()); if (costingRule.isBackdatedTransactionsFixed()) { @@ -620,8 +624,11 @@ select.append(" trxtype." + propADListPriority + " < :trxtypeprio"); select.append(" or ("); select.append(" trxtype." + propADListPriority + " = :trxtypeprio"); - select.append(" and trx." + MaterialTransaction.PROPERTY_MOVEMENTQUANTITY + " >= :trxqty"); - select.append(" ))))"); + select.append(" and trx." + MaterialTransaction.PROPERTY_MOVEMENTQUANTITY + " > :trxqty"); + select.append(" or ("); + select.append(" trx." + MaterialTransaction.PROPERTY_MOVEMENTQUANTITY + " = :trxqty"); + select.append(" and trx." + MaterialTransaction.PROPERTY_ID + " <= :trxid"); + select.append(" )))))"); select.append(" )))"); if (costDimensions.get(CostDimension.Warehouse) != null) { @@ -644,6 +651,7 @@ } trxQry.setParameter("trxtypeprio", getTrxTypePrio(trx.getMovementType())); trxQry.setParameter("trxqty", trx.getMovementQuantity()); + trxQry.setParameter("trxid", trx.getId()); CostingRule costingRule = CostingUtils.getCostDimensionRule(costorg, trx.getTransactionProcessDate()); if (costingRule.isBackdatedTransactionsFixed()) { diff -r 918a300ee3ae -r e326ab4ac682 src/org/openbravo/costing/CostingBackground.java --- a/src/org/openbravo/costing/CostingBackground.java Mon Oct 27 11:34:20 2014 +0100 +++ b/src/org/openbravo/costing/CostingBackground.java Thu Oct 23 16:57:58 2014 +0200 @@ -186,6 +186,7 @@ where.append(" , trx." + MaterialTransaction.PROPERTY_MOVEMENTTYPE + " desc "); } else { where.append(" , trx." + MaterialTransaction.PROPERTY_MOVEMENTTYPE); + where.append(" , trx." + MaterialTransaction.PROPERTY_ID); } OBQuery<MaterialTransaction> trxQry = OBDal.getInstance().createQuery( MaterialTransaction.class, where.toString()); ------------------------------------------------------------------------------ _______________________________________________ Openbravo-commits mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openbravo-commits
