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

Reply via email to