details: https://code.openbravo.com/erp/devel/main/rev/c29ffbf0c8ed changeset: 31690:c29ffbf0c8ed user: Víctor Martínez Romanos <victor.martinez <at> openbravo.com> date: Wed Mar 08 12:50:21 2017 +0100 summary: Fixed bug 33581: slow defaults retrieval in add payment
The FIN_Payment table didn't have an index on the c_bpartner_id column, thus forcing a sequencial scan in any query run over this table. Added an index on the c_bpartner_id column to fix that problem. This index should fix most of the cases, however when for example a concrete business partner has an important percentage of the records in that table, the previous index would be useless, and the db might decide to run a seq. scan. To control this scenario we have extended the previous index with a function to distinguish credit payments (generated credit != used credit). This way we could filter by the credit records for the business partner directly using the index. Note that the function obequals is declared in the prescript because it must be defined as IMMUTABLE/DETERMINISTIC and this syntaxis is not supported yet by the DBSM. The AdvPaymentMngtDao.getCustomerPaymentsWithCredit() has been rewritten to take advantage of the new index. details: https://code.openbravo.com/erp/devel/main/rev/1549a54a672f changeset: 31691:1549a54a672f user: Mark <markmm82 <at> gmail.com> date: Wed Mar 15 09:49:13 2017 -0400 summary: Backed out changeset: 498699b38a5d details: https://code.openbravo.com/erp/devel/main/rev/8281d757d8ba changeset: 31692:8281d757d8ba user: Alvaro Ferraz <alvaro.ferraz <at> openbravo.com> date: Wed Mar 15 14:36:31 2017 +0100 summary: Fixes issue 35486: Net Amount not properly rounded in ERP with PostgreSQL Problem was in following calculation: Net Amount = Gross Amount * (Gross Amount / (Gross Amount + Tax Amount)). In case Gross Amount = 357.99 and Tax Amount = 71.598, Net Amount = 357.99 * (357.99 / (357.99 + 71.598)) = 298.325. It was correct in Oracle as it retrieves 298.325 but it was failing in PostgreSQL as it retrieves 298.3249999999999999988067: SELECT 357.99 * (357.99 / (357.99 + 71.598)) FROM dual; If we do multiplication before division, we avoid this problem and both PostgreSQL and Oracle retrieves the correct result (298.325): SELECT (357.99 * 357.99) / (357.99 + 71.598) FROM dual; details: https://code.openbravo.com/erp/devel/main/rev/bb77b1e335cb changeset: 31693:bb77b1e335cb user: Alvaro Ferraz <alvaro.ferraz <at> openbravo.com> date: Wed Mar 15 14:54:07 2017 +0100 summary: Related to issue 35486: Add some automated tests details: https://code.openbravo.com/erp/devel/main/rev/c43a242ff8f6 changeset: 31694:c43a242ff8f6 user: Pablo Lujan <pablo.lujan <at> openbravo.com> date: Wed Mar 15 17:34:41 2017 +0100 summary: Fixes issue 35535 and related to issue 29414: Updated browser supported/recommended list for PR17Q2 * Chrome. Supported 56, Recommended 57 or higher. * Firefox. Supported 45, Recommended 52 or higher. * Internet Explorer. Supported 9, Recommended 11 or higher. * EdgeHTML (MS Edge). Supported 12, Recommended 13 or higher. * Safari. Supported 8, Recommended 9 or higher. details: https://code.openbravo.com/erp/devel/main/rev/2e6e168839f9 changeset: 31695:2e6e168839f9 user: RM packaging bot <staff.rm <at> openbravo.com> date: Wed Mar 15 19:16:54 2017 +0000 summary: CI: merge back from main details: https://code.openbravo.com/erp/devel/main/rev/3b8cc6900226 changeset: 31696:3b8cc6900226 user: Asier Lostalé <asier.lostale <at> openbravo.com> date: Thu Mar 16 10:24:21 2017 +0100 summary: fixed bug 35537: 0 concurrent users is seen in About popup for unlimited users In this case now Unlimited is displayed instead details: https://code.openbravo.com/erp/devel/main/rev/41ab6f71c85b changeset: 31697:41ab6f71c85b user: RM packaging bot <staff.rm <at> openbravo.com> date: Thu Mar 16 15:19:41 2017 +0000 summary: CI: update AD_MODULE to version 31696 diffstat: modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 4 +- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java | 47 +++- modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_TransactionProcess.java | 20 +- modules/org.openbravo.apachejdbcconnectionpool/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.apachejdbcconnectionpool/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 8 +- modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 6 +- modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.client.myob/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 4 +- modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.client.querylist/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.client.widgets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.financial.paymentreport/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.reports.ordersawaitingdelivery/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.service.datasource/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 10 +- modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.service.integration.google/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 4 +- modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.service.integration.openid/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.service.json/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.userinterface.selector/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 12 +- modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.userinterface.skin.250to300Comp/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.userinterface.smartclient/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 6 +- modules/org.openbravo.utility.cleanup.log/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.utility.cleanup.log/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 2 +- modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.v3.datasets/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 6 +- modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.v3.framework/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 24 +- modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE.xml | 2 +- modules/org.openbravo.v3/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml | 22 +- src-db/database/model/excludeFilter.xml | 1 + src-db/database/model/functions/C_GET_NET_AMOUNT_FROM_GROSS.xml | 3 +- src-db/database/model/functions/C_GET_NET_PRICE_FROM_GROSS.xml | 5 +- src-db/database/model/prescript-Oracle.sql | 35 +++ src-db/database/model/prescript-PostgreSql.sql | 37 +++ src-db/database/model/tables/FIN_PAYMENT.xml | 4 + src-db/database/sourcedata/AD_MODULE.xml | 4 +- src-test/src/org/openbravo/test/taxes/TaxesTest.java | 24 ++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData161.java | 80 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData162.java | 80 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData163.java | 80 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData164.java | 80 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData165.java | 80 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData166.java | 80 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData167.java | 80 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData168.java | 80 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData169.java | 81 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData170.java | 81 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData171.java | 81 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData172.java | 81 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData173.java | 81 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData174.java | 81 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData175.java | 81 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData176.java | 81 ++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData177.java | 93 ++++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData178.java | 93 ++++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData179.java | 93 ++++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData180.java | 93 ++++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData181.java | 93 ++++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData182.java | 93 ++++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData183.java | 93 ++++++++++ src-test/src/org/openbravo/test/taxes/data/TaxesTestData184.java | 93 ++++++++++ src/org/openbravo/erpCommon/obps/ActivationKey.java | 8 +- src/org/openbravo/erpCommon/security/Login.html | 8 +- 80 files changed, 2272 insertions(+), 128 deletions(-) diffs (truncated from 3418 to 300 lines): diff -r a62a7a94d7ee -r 41ab6f71c85b modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml --- a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml Wed Mar 15 14:08:12 2017 +0100 +++ b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE.xml Thu Mar 16 15:19:41 2017 +0000 @@ -6,7 +6,7 @@ <!--A918E3331C404B889D69AA9BFAFB23AC--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--A918E3331C404B889D69AA9BFAFB23AC--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--A918E3331C404B889D69AA9BFAFB23AC--> <NAME><![CDATA[Advanced Payables and Receivables Mngmt]]></NAME> -<!--A918E3331C404B889D69AA9BFAFB23AC--> <VERSION><![CDATA[3.0.31055]]></VERSION> +<!--A918E3331C404B889D69AA9BFAFB23AC--> <VERSION><![CDATA[3.0.31696]]></VERSION> <!--A918E3331C404B889D69AA9BFAFB23AC--> <DESCRIPTION><![CDATA[Managing your finances with an ERP does not have to be difficult. Enjoy a radically improved user experience that combines the power of an enterprise grade financial application with the simplicity and ease of a web 2.0 personal accounting service.]]></DESCRIPTION> <!--A918E3331C404B889D69AA9BFAFB23AC--> <HELP><![CDATA[Advanced Payables and Receivables Management simplifies and automates the business processes around the management of financial accounts, from the receipt and issue of payment, to the reconciliation of those events with bank statements. If you would like to help shape this module you are welcome to take part in the forum discussions or register feature requests or issues in the corresponding (Forum and Bug Tracking) sections in the Advanced Payables and Receivable project in the OB Forge.]]></HELP> diff -r a62a7a94d7ee -r 41ab6f71c85b modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml --- a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Wed Mar 15 14:08:12 2017 +0100 +++ b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Thu Mar 16 15:19:41 2017 +0000 @@ -7,7 +7,7 @@ <!--89326AE95DAD449D85DFAB2C5B1C6683--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--89326AE95DAD449D85DFAB2C5B1C6683--> <AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID> <!--89326AE95DAD449D85DFAB2C5B1C6683--> <AD_DEPENDENT_MODULE_ID><![CDATA[5EB4F15C80684ACA904756BDC12ADBE5]]></AD_DEPENDENT_MODULE_ID> -<!--89326AE95DAD449D85DFAB2C5B1C6683--> <STARTVERSION><![CDATA[2.1.31055]]></STARTVERSION> +<!--89326AE95DAD449D85DFAB2C5B1C6683--> <STARTVERSION><![CDATA[2.1.31696]]></STARTVERSION> <!--89326AE95DAD449D85DFAB2C5B1C6683--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--89326AE95DAD449D85DFAB2C5B1C6683--> <DEPENDANT_MODULE_NAME><![CDATA[User Interface Selector]]></DEPENDANT_MODULE_NAME> <!--89326AE95DAD449D85DFAB2C5B1C6683--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> @@ -21,7 +21,7 @@ <!--B97FC854C6DD41E692161585645A900F--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--B97FC854C6DD41E692161585645A900F--> <AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID> <!--B97FC854C6DD41E692161585645A900F--> <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID> -<!--B97FC854C6DD41E692161585645A900F--> <STARTVERSION><![CDATA[3.0.31055]]></STARTVERSION> +<!--B97FC854C6DD41E692161585645A900F--> <STARTVERSION><![CDATA[3.0.31696]]></STARTVERSION> <!--B97FC854C6DD41E692161585645A900F--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--B97FC854C6DD41E692161585645A900F--> <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME> <!--B97FC854C6DD41E692161585645A900F--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> diff -r a62a7a94d7ee -r 41ab6f71c85b modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java --- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java Wed Mar 15 14:08:12 2017 +0100 +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java Thu Mar 16 15:19:41 2017 +0000 @@ -11,7 +11,7 @@ * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo SLU - * All portions are Copyright (C) 2010-2016 Openbravo SLU + * All portions are Copyright (C) 2010-2017 Openbravo SLU * All Rights Reserved. * Contributor(s): Enterprise Intelligence Systems (http://www.eintel.com.au). ************************************************************************* @@ -23,11 +23,15 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; +import java.util.HashMap; import java.util.Iterator; import java.util.List; +import java.util.Map; import java.util.Set; import org.apache.commons.lang.StringUtils; +import org.hibernate.Query; +import org.hibernate.Session; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.Projections; @@ -1970,24 +1974,41 @@ try { OBContext.setAdminMode(true); - OBCriteria<FIN_Payment> obcPayment = OBDal.getInstance().createCriteria(FIN_Payment.class); - obcPayment.add(Restrictions.eq(FIN_Payment.PROPERTY_BUSINESSPARTNER, bp)); - obcPayment.add(Restrictions.eq(FIN_Payment.PROPERTY_RECEIPT, isReceipt)); - obcPayment.add(Restrictions.ne(FIN_Payment.PROPERTY_GENERATEDCREDIT, BigDecimal.ZERO)); - obcPayment.add(Restrictions.neProperty(FIN_Payment.PROPERTY_GENERATEDCREDIT, - FIN_Payment.PROPERTY_USEDCREDIT)); + final Organization legalEntity = FIN_Utility.getLegalEntityOrg(org); Set<String> orgIds = OBContext.getOBContext().getOrganizationStructureProvider() .getChildTree(legalEntity.getId(), true); - obcPayment.add(Restrictions.in("organization.id", orgIds)); + + final Map<String, Object> params = new HashMap<String, Object>(); + + final StringBuffer hql = new StringBuffer("select p "); + hql.append(" from " + FIN_Payment.ENTITY_NAME + " as p "); + hql.append(" where p." + FIN_Payment.PROPERTY_BUSINESSPARTNER + ".id = :bpartnerId "); + hql.append(" and p." + FIN_Payment.PROPERTY_RECEIPT + " = :isReceipt "); + hql.append(" and p." + FIN_Payment.PROPERTY_ORGANIZATION + ".id in (:orgIds) "); + hql.append(" and obequals(p." + FIN_Payment.PROPERTY_GENERATEDCREDIT + ", p." + + FIN_Payment.PROPERTY_USEDCREDIT + ") = 'N' "); + hql.append(" and p." + FIN_Payment.PROPERTY_GENERATEDCREDIT + " <> 0 "); if (currency != null) { - obcPayment.add(Restrictions.eq(FIN_Payment.PROPERTY_CURRENCY, currency)); + hql.append(" and p." + FIN_Payment.PROPERTY_CURRENCY + ".id = :currencyId"); + params.put("currencyId", currency.getId()); } - obcPayment.addOrderBy(FIN_Payment.PROPERTY_PAYMENTDATE, true); - obcPayment.addOrderBy(FIN_Payment.PROPERTY_DOCUMENTNO, true); - List<FIN_Payment> paymentList = new ArrayList<FIN_Payment>(); - for (FIN_Payment fp : obcPayment.list()) { + hql.append(" order by p." + FIN_Payment.PROPERTY_PAYMENTDATE + " asc, "); + hql.append(" p." + FIN_Payment.PROPERTY_DOCUMENTNO + " asc "); + + params.put("bpartnerId", bp.getId()); + params.put("isReceipt", isReceipt); + params.put("orgIds", orgIds); + + final Session session = OBDal.getInstance().getSession(); + final Query query = session.createQuery(hql.toString()); + query.setProperties(params); + + @SuppressWarnings("unchecked") + final List<FIN_Payment> queryList = query.list(); + final List<FIN_Payment> paymentList = new ArrayList<FIN_Payment>(); + for (FIN_Payment fp : queryList) { if ((FIN_Utility.seqnumberpaymentstatus(fp.getStatus())) >= (FIN_Utility .seqnumberpaymentstatus(FIN_Utility.invoicePaymentStatus(fp)))) { paymentList.add(fp); diff -r a62a7a94d7ee -r 41ab6f71c85b modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_TransactionProcess.java --- a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_TransactionProcess.java Wed Mar 15 14:08:12 2017 +0100 +++ b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_TransactionProcess.java Thu Mar 16 15:19:41 2017 +0000 @@ -11,7 +11,7 @@ * under the License. * The Original Code is Openbravo ERP. * The Initial Developer of the Original Code is Openbravo SLU - * All portions are Copyright (C) 2010-2017 Openbravo SLU + * All portions are Copyright (C) 2010-2016 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************* @@ -22,9 +22,6 @@ import java.util.List; import org.apache.commons.lang.StringUtils; -import org.hibernate.LockOptions; -import org.hibernate.Query; -import org.hibernate.Session; import org.hibernate.criterion.Restrictions; import org.openbravo.advpaymentmngt.APRM_FinaccTransactionV; import org.openbravo.advpaymentmngt.dao.AdvPaymentMngtDao; @@ -116,7 +113,7 @@ throw new OBException(msg); } - final FIN_FinancialAccount financialAccount = lockFinAccount(transaction.getAccount()); + final FIN_FinancialAccount financialAccount = transaction.getAccount(); financialAccount.setCurrentBalance(financialAccount.getCurrentBalance().add( transaction.getDepositAmount().subtract(transaction.getPaymentAmount()))); transaction.setProcessed(true); @@ -221,7 +218,7 @@ OBContext.restorePreviousMode(); } transaction.setProcessed(false); - final FIN_FinancialAccount financialAccount = lockFinAccount(transaction.getAccount()); + final FIN_FinancialAccount financialAccount = transaction.getAccount(); financialAccount.setCurrentBalance(financialAccount.getCurrentBalance() .subtract(transaction.getDepositAmount()).add(transaction.getPaymentAmount())); OBDal.getInstance().save(financialAccount); @@ -369,15 +366,4 @@ return confirmation; } - private static FIN_FinancialAccount lockFinAccount(FIN_FinancialAccount account) { - StringBuilder queryStr = new StringBuilder("select a from FIN_Financial_Account a where id = :id"); - final Session session = OBDal.getInstance().getSession(); - final Query query = session.createQuery(queryStr.toString()); - query.setParameter("id", account.getId()); - query.setMaxResults(1); - query.setLockOptions(LockOptions.UPGRADE); - OBDal.getInstance().getSession().evict(account); - return (FIN_FinancialAccount) query.uniqueResult(); - } - } diff -r a62a7a94d7ee -r 41ab6f71c85b modules/org.openbravo.apachejdbcconnectionpool/src-db/database/sourcedata/AD_MODULE.xml --- a/modules/org.openbravo.apachejdbcconnectionpool/src-db/database/sourcedata/AD_MODULE.xml Wed Mar 15 14:08:12 2017 +0100 +++ b/modules/org.openbravo.apachejdbcconnectionpool/src-db/database/sourcedata/AD_MODULE.xml Thu Mar 16 15:19:41 2017 +0000 @@ -6,7 +6,7 @@ <!--8A098711BB324335A19833286BDB093D--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--8A098711BB324335A19833286BDB093D--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--8A098711BB324335A19833286BDB093D--> <NAME><![CDATA[Apache External Connection Pool]]></NAME> -<!--8A098711BB324335A19833286BDB093D--> <VERSION><![CDATA[1.0.31055]]></VERSION> +<!--8A098711BB324335A19833286BDB093D--> <VERSION><![CDATA[1.0.31696]]></VERSION> <!--8A098711BB324335A19833286BDB093D--> <DESCRIPTION><![CDATA[Apache External Connection Pool]]></DESCRIPTION> <!--8A098711BB324335A19833286BDB093D--> <HELP><![CDATA[This module implements the Apache JDBC Connection Pool (http://wiki.openbravo.com/wiki/Modules:Apache_JDBC_Connection_Pool).]]></HELP> <!--8A098711BB324335A19833286BDB093D--> <TYPE><![CDATA[M]]></TYPE> diff -r a62a7a94d7ee -r 41ab6f71c85b modules/org.openbravo.apachejdbcconnectionpool/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml --- a/modules/org.openbravo.apachejdbcconnectionpool/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Wed Mar 15 14:08:12 2017 +0100 +++ b/modules/org.openbravo.apachejdbcconnectionpool/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Thu Mar 16 15:19:41 2017 +0000 @@ -7,7 +7,7 @@ <!--1467C397BC5F4999A5606F39CD6FF8A4--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--1467C397BC5F4999A5606F39CD6FF8A4--> <AD_MODULE_ID><![CDATA[8A098711BB324335A19833286BDB093D]]></AD_MODULE_ID> <!--1467C397BC5F4999A5606F39CD6FF8A4--> <AD_DEPENDENT_MODULE_ID><![CDATA[7E48CDD73B7E493A8BED4F7253E7C989]]></AD_DEPENDENT_MODULE_ID> -<!--1467C397BC5F4999A5606F39CD6FF8A4--> <STARTVERSION><![CDATA[2.1.31055]]></STARTVERSION> +<!--1467C397BC5F4999A5606F39CD6FF8A4--> <STARTVERSION><![CDATA[2.1.31696]]></STARTVERSION> <!--1467C397BC5F4999A5606F39CD6FF8A4--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--1467C397BC5F4999A5606F39CD6FF8A4--> <DEPENDANT_MODULE_NAME><![CDATA[Openbravo 3.0 Framework]]></DEPENDANT_MODULE_NAME> <!--1467C397BC5F4999A5606F39CD6FF8A4--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> diff -r a62a7a94d7ee -r 41ab6f71c85b modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml --- a/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml Wed Mar 15 14:08:12 2017 +0100 +++ b/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE.xml Thu Mar 16 15:19:41 2017 +0000 @@ -6,7 +6,7 @@ <!--C70732EA90A14EC0916078B85CC33D2D--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--C70732EA90A14EC0916078B85CC33D2D--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--C70732EA90A14EC0916078B85CC33D2D--> <NAME><![CDATA[JBoss Weld]]></NAME> -<!--C70732EA90A14EC0916078B85CC33D2D--> <VERSION><![CDATA[1.1.31055]]></VERSION> +<!--C70732EA90A14EC0916078B85CC33D2D--> <VERSION><![CDATA[1.1.31696]]></VERSION> <!--C70732EA90A14EC0916078B85CC33D2D--> <DESCRIPTION><![CDATA[JBoss Weld]]></DESCRIPTION> <!--C70732EA90A14EC0916078B85CC33D2D--> <HELP><![CDATA[Provides the JBoss Weld framework: Java Contexts and Dependency Injection for the Java EE platform (CDI). For more information see http://seamframework.org/Weld]]></HELP> <!--C70732EA90A14EC0916078B85CC33D2D--> <URL><![CDATA[http://forge.openbravo.com/projects/weld]]></URL> diff -r a62a7a94d7ee -r 41ab6f71c85b modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml --- a/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Wed Mar 15 14:08:12 2017 +0100 +++ b/modules/org.openbravo.base.weld/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Thu Mar 16 15:19:41 2017 +0000 @@ -7,7 +7,7 @@ <!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <AD_MODULE_ID><![CDATA[C70732EA90A14EC0916078B85CC33D2D]]></AD_MODULE_ID> <!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID> -<!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <STARTVERSION><![CDATA[3.0.31055]]></STARTVERSION> +<!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <STARTVERSION><![CDATA[3.0.31696]]></STARTVERSION> <!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <DEPENDANT_MODULE_NAME><![CDATA[Core]]></DEPENDANT_MODULE_NAME> <!--8BDE81545C1A43EAAC4BA3C5ED754DC8--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> diff -r a62a7a94d7ee -r 41ab6f71c85b modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml --- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml Wed Mar 15 14:08:12 2017 +0100 +++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE.xml Thu Mar 16 15:19:41 2017 +0000 @@ -6,7 +6,7 @@ <!--9BA0836A3CD74EE4AB48753A47211BCC--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--9BA0836A3CD74EE4AB48753A47211BCC--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--9BA0836A3CD74EE4AB48753A47211BCC--> <NAME><![CDATA[User Interface Application]]></NAME> -<!--9BA0836A3CD74EE4AB48753A47211BCC--> <VERSION><![CDATA[2.1.31055]]></VERSION> +<!--9BA0836A3CD74EE4AB48753A47211BCC--> <VERSION><![CDATA[2.1.31696]]></VERSION> <!--9BA0836A3CD74EE4AB48753A47211BCC--> <DESCRIPTION><![CDATA[Provides the main application components for the openbravo user interface]]></DESCRIPTION> <!--9BA0836A3CD74EE4AB48753A47211BCC--> <HELP><![CDATA[Provides the main application components for the openbravo user interface. The main layout incorporates a navigation bar and a main view area.]]></HELP> <!--9BA0836A3CD74EE4AB48753A47211BCC--> <URL><![CDATA[http://forge.openbravo.com/projects/clientapplication]]></URL> diff -r a62a7a94d7ee -r 41ab6f71c85b modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml --- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Wed Mar 15 14:08:12 2017 +0100 +++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Thu Mar 16 15:19:41 2017 +0000 @@ -7,7 +7,7 @@ <!--15D7CE8D95D043189162DBABA54A1F61--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--15D7CE8D95D043189162DBABA54A1F61--> <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID> <!--15D7CE8D95D043189162DBABA54A1F61--> <AD_DEPENDENT_MODULE_ID><![CDATA[A44B9BA75C354D8FB2E3F7D6EB6BFDC4]]></AD_DEPENDENT_MODULE_ID> -<!--15D7CE8D95D043189162DBABA54A1F61--> <STARTVERSION><![CDATA[2.1.31055]]></STARTVERSION> +<!--15D7CE8D95D043189162DBABA54A1F61--> <STARTVERSION><![CDATA[2.1.31696]]></STARTVERSION> <!--15D7CE8D95D043189162DBABA54A1F61--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--15D7CE8D95D043189162DBABA54A1F61--> <DEPENDANT_MODULE_NAME><![CDATA[JSON Datasource]]></DEPENDANT_MODULE_NAME> <!--15D7CE8D95D043189162DBABA54A1F61--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> @@ -21,7 +21,7 @@ <!--60A170212F36499D83B8AD38D01F46B3--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--60A170212F36499D83B8AD38D01F46B3--> <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID> <!--60A170212F36499D83B8AD38D01F46B3--> <AD_DEPENDENT_MODULE_ID><![CDATA[4B828F4D03264080AA1D2057B13F613C]]></AD_DEPENDENT_MODULE_ID> -<!--60A170212F36499D83B8AD38D01F46B3--> <STARTVERSION><![CDATA[2.1.31055]]></STARTVERSION> +<!--60A170212F36499D83B8AD38D01F46B3--> <STARTVERSION><![CDATA[2.1.31696]]></STARTVERSION> <!--60A170212F36499D83B8AD38D01F46B3--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--60A170212F36499D83B8AD38D01F46B3--> <DEPENDANT_MODULE_NAME><![CDATA[User Interface Client Kernel]]></DEPENDANT_MODULE_NAME> <!--60A170212F36499D83B8AD38D01F46B3--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> @@ -35,7 +35,7 @@ <!--824D60CB352E4099B1D8C903CA139DAE--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--824D60CB352E4099B1D8C903CA139DAE--> <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID> <!--824D60CB352E4099B1D8C903CA139DAE--> <AD_DEPENDENT_MODULE_ID><![CDATA[0]]></AD_DEPENDENT_MODULE_ID> -<!--824D60CB352E4099B1D8C903CA139DAE--> <STARTVERSION><![CDATA[3.0.31055]]></STARTVERSION> +<!--824D60CB352E4099B1D8C903CA139DAE--> <STARTVERSION><![CDATA[3.0.31696]]></STARTVERSION> <!--824D60CB352E4099B1D8C903CA139DAE--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--824D60CB352E4099B1D8C903CA139DAE--> <DEPENDANT_MODULE_NAME><![CDATA[core]]></DEPENDANT_MODULE_NAME> <!--824D60CB352E4099B1D8C903CA139DAE--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> @@ -49,7 +49,7 @@ <!--E8FD820AFE3D4FE08C02FC47769026AD--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--E8FD820AFE3D4FE08C02FC47769026AD--> <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID> <!--E8FD820AFE3D4FE08C02FC47769026AD--> <AD_DEPENDENT_MODULE_ID><![CDATA[EC356CEE3D46416CA1EBEEB9AB82EDB9]]></AD_DEPENDENT_MODULE_ID> -<!--E8FD820AFE3D4FE08C02FC47769026AD--> <STARTVERSION><![CDATA[8.1.31055]]></STARTVERSION> +<!--E8FD820AFE3D4FE08C02FC47769026AD--> <STARTVERSION><![CDATA[8.1.31696]]></STARTVERSION> <!--E8FD820AFE3D4FE08C02FC47769026AD--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--E8FD820AFE3D4FE08C02FC47769026AD--> <DEPENDANT_MODULE_NAME><![CDATA[Smartclient]]></DEPENDANT_MODULE_NAME> <!--E8FD820AFE3D4FE08C02FC47769026AD--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> diff -r a62a7a94d7ee -r 41ab6f71c85b modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml --- a/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml Wed Mar 15 14:08:12 2017 +0100 +++ b/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE.xml Thu Mar 16 15:19:41 2017 +0000 @@ -6,7 +6,7 @@ <!--D393BE6F22BB44B7B728259B34FC795A--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--D393BE6F22BB44B7B728259B34FC795A--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--D393BE6F22BB44B7B728259B34FC795A--> <NAME><![CDATA[HTML Widget]]></NAME> -<!--D393BE6F22BB44B7B728259B34FC795A--> <VERSION><![CDATA[1.0.31055]]></VERSION> +<!--D393BE6F22BB44B7B728259B34FC795A--> <VERSION><![CDATA[1.0.31696]]></VERSION> <!--D393BE6F22BB44B7B728259B34FC795A--> <DESCRIPTION><![CDATA[Provides the HTML Widget superclass that allows to create widget classes that embed the html code.]]></DESCRIPTION> <!--D393BE6F22BB44B7B728259B34FC795A--> <HELP><![CDATA[With this module you can define your own widget classes just setting up your own html code or the html code provided by third parties.]]></HELP> <!--D393BE6F22BB44B7B728259B34FC795A--> <URL><![CDATA[http://forge.openbravo.com/projects/htmlwidget]]></URL> diff -r a62a7a94d7ee -r 41ab6f71c85b modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml --- a/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Wed Mar 15 14:08:12 2017 +0100 +++ b/modules/org.openbravo.client.htmlwidget/src-db/database/sourcedata/AD_MODULE_DEPENDENCY.xml Thu Mar 16 15:19:41 2017 +0000 @@ -7,7 +7,7 @@ <!--DCE798FBC5B648F7A3C81A6941720A57--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> <!--DCE798FBC5B648F7A3C81A6941720A57--> <AD_MODULE_ID><![CDATA[D393BE6F22BB44B7B728259B34FC795A]]></AD_MODULE_ID> <!--DCE798FBC5B648F7A3C81A6941720A57--> <AD_DEPENDENT_MODULE_ID><![CDATA[2758CD25B2704AF6BBAD10365FC82C06]]></AD_DEPENDENT_MODULE_ID> -<!--DCE798FBC5B648F7A3C81A6941720A57--> <STARTVERSION><![CDATA[2.1.31055]]></STARTVERSION> +<!--DCE798FBC5B648F7A3C81A6941720A57--> <STARTVERSION><![CDATA[2.1.31696]]></STARTVERSION> <!--DCE798FBC5B648F7A3C81A6941720A57--> <ISINCLUDED><![CDATA[N]]></ISINCLUDED> <!--DCE798FBC5B648F7A3C81A6941720A57--> <DEPENDANT_MODULE_NAME><![CDATA[My Openbravo Tab]]></DEPENDANT_MODULE_NAME> <!--DCE798FBC5B648F7A3C81A6941720A57--> <DEPENDENCY_ENFORCEMENT><![CDATA[MAJOR]]></DEPENDENCY_ENFORCEMENT> diff -r a62a7a94d7ee -r 41ab6f71c85b modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE.xml --- a/modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE.xml Wed Mar 15 14:08:12 2017 +0100 +++ b/modules/org.openbravo.client.kernel/src-db/database/sourcedata/AD_MODULE.xml Thu Mar 16 15:19:41 2017 +0000 @@ -6,7 +6,7 @@ <!--4B828F4D03264080AA1D2057B13F613C--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> <!--4B828F4D03264080AA1D2057B13F613C--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Openbravo-commits mailing list Openbravo-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbravo-commits