details:   https://code.openbravo.com/erp/devel/pi/rev/0435d6d78784
changeset: 35700:0435d6d78784
user:      Sandra Huguet <sandra.huguet <at> openbravo.com>
date:      Wed Apr 24 13:20:11 2019 +0200
summary:   Fixed issue 40670 Fix query to compare organization with 
corresponding id.

Fix query to compare organization with corresponding id instead of the
business object.

Fix wrong filter date, period.getEndingDate() is used and the correct
one is period.getStartingDate().

details:   https://code.openbravo.com/erp/devel/pi/rev/1fbbfb4e42f7
changeset: 35701:1fbbfb4e42f7
user:      Nono Carballo <nonofce <at> gmail.com>
date:      Wed Apr 24 13:21:07 2019 +0200
summary:   Fixes issue 40623: Considers date in filter

When retrieving the date for aggregate report, date set in filter is also
considered.

diffstat:

 src/org/openbravo/erpCommon/ad_reports/ReportValuationStock.java      |   2 +-
 src/org/openbravo/erpCommon/ad_reports/ReportValuationStock_data.xsql |   2 +
 src/org/openbravo/materialmgmt/ResetValuedStockAggregated.java        |  14 
+++++-----
 3 files changed, 10 insertions(+), 8 deletions(-)

diffs (85 lines):

diff -r 0bd36b5d697b -r 1fbbfb4e42f7 
src/org/openbravo/erpCommon/ad_reports/ReportValuationStock.java
--- a/src/org/openbravo/erpCommon/ad_reports/ReportValuationStock.java  Wed Apr 
24 10:21:28 2019 +0200
+++ b/src/org/openbravo/erpCommon/ad_reports/ReportValuationStock.java  Wed Apr 
24 13:21:07 2019 +0200
@@ -196,7 +196,7 @@
       String strDateNext = DateTimeData.nDaysAfter(readOnlyCP, strDate, "1");
       String strMaxAggDate = 
ReportValuationStockData.selectMaxAggregatedDate(readOnlyCP,
           OBDal.getReadOnlyInstance().get(Organization.class, 
strLegalEntity).getClient().getId(),
-          orgIds);
+          strDate, orgIds);
       if (StringUtils.isEmpty(strMaxAggDate)) {
         DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
         Date maxAggDate = formatter.parse("01-01-0000");
diff -r 0bd36b5d697b -r 1fbbfb4e42f7 
src/org/openbravo/erpCommon/ad_reports/ReportValuationStock_data.xsql
--- a/src/org/openbravo/erpCommon/ad_reports/ReportValuationStock_data.xsql     
Wed Apr 24 10:21:28 2019 +0200
+++ b/src/org/openbravo/erpCommon/ad_reports/ReportValuationStock_data.xsql     
Wed Apr 24 13:21:07 2019 +0200
@@ -506,10 +506,12 @@
        SELECT MAX(dateto)
        FROM m_valued_stock_agg agg
        WHERE ad_client_id = ?
+       AND dateto < to_date(?)
        AND ad_org_id IN ('1')
       ]]>
     </Sql>
     <Parameter name="adClient"/>
+    <Parameter name="dateFilter"/>
     <Parameter name="organization" type="replace" optional="true" after="AND 
ad_org_id IN (" text="'1'"/>
   </SqlMethod>
   
diff -r 0bd36b5d697b -r 1fbbfb4e42f7 
src/org/openbravo/materialmgmt/ResetValuedStockAggregated.java
--- a/src/org/openbravo/materialmgmt/ResetValuedStockAggregated.java    Wed Apr 
24 10:21:28 2019 +0200
+++ b/src/org/openbravo/materialmgmt/ResetValuedStockAggregated.java    Wed Apr 
24 13:21:07 2019 +0200
@@ -220,7 +220,7 @@
 
     OBQuery<CostingRule> query = OBDal.getInstance()
         .createQuery(CostingRule.class, where.toString());
-    query.setNamedParameter("org", legalEntity);
+    query.setNamedParameter("org", legalEntity.getId());
     query.setNamedParameter("startingDate", startingDate);
     query.setNamedParameter("endingDate", endingDate);
 
@@ -238,9 +238,9 @@
 
     OBQuery<CostingRule> query = OBDal.getInstance()
         .createQuery(CostingRule.class, where.toString());
-    query.setNamedParameter("org", legalEntity);
+    query.setNamedParameter("org", legalEntity.getId());
     query.setNamedParameter("endingDate", period.getEndingDate());
-    query.setNamedParameter("startingDate", period.getEndingDate());
+    query.setNamedParameter("startingDate", period.getStartingDate());
 
     return !query.list().isEmpty();
   }
@@ -261,7 +261,7 @@
 
     StringBuffer where = new StringBuffer();
     where.append(" as p");
-    where.append(" where p.organization in (:org)");
+    where.append(" where p.organization.id in (:org)");
     where.append(" and p.periodType = 'S'");
     where.append(" and p.endingDate <= :endDate");
     where.append(" and p.endingDate <= :firstNotClosedPeriodStartingDate");
@@ -269,7 +269,7 @@
     where.append(" order by p.endingDate asc");
 
     OBQuery<Period> query = OBDal.getInstance().createQuery(Period.class, 
where.toString());
-    query.setNamedParameter("org", legalEntity);
+    query.setNamedParameter("org", legalEntity.getId());
     query.setNamedParameter("endDate", endDate);
     query.setNamedParameter("firstNotClosedPeriodStartingDate", 
firstNotClosedPeriodStartingDate);
     query.setNamedParameter("lastAggregatedPeriodDateTo", 
lastAggregatedPeriodDateTo);
@@ -336,12 +336,12 @@
     select.append("                 from FinancialMgmtPeriodControl pc");
     select.append("                 where pc.period = p)");
     select.append("       )");
-    select.append(" and p.organization in (:org)");
+    select.append(" and p.organization.id in (:org)");
 
     Query<Date> trxQry = OBDal.getInstance()
         .getSession()
         .createQuery(select.toString(), Date.class);
-    trxQry.setParameter("org", legalEntity);
+    trxQry.setParameter("org", legalEntity.getId());
     trxQry.setMaxResults(1);
 
     try {


_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to