details: https://code.openbravo.com/erp/devel/pi/rev/37941a0223cf changeset: 31522:37941a0223cf user: Víctor Martínez Romanos <victor.martinez <at> openbravo.com> date: Tue Feb 14 14:44:17 2017 +0100 summary: Fixed bug 35203: performance problem in DocInvoice with cashvat functionality
Solution based on patch supplied by MAL. Added three new columns to C_INVOICETAX_CASHVAT_V view: c_invoice_id, c_tax_id and isprepayment. Note that this won't create a performance issue, since the correspondent tables are already included in the view. Redesign HQL query in CashVATUtil.calculatePrepaidPercentageForCashVATTax() method to use those new columns avoiding slow joins to external tables. After the change the query for this method just uses the C_InvoiceTax_CashVAT_V view without joining with other tables thus improving the performance. diffstat: src-db/database/model/views/C_INVOICETAX_CASHVAT_V.xml | 2 +- src-db/database/sourcedata/AD_COLUMN.xml | 115 +++++++++++++++++ src/org/openbravo/erpCommon/utility/CashVATUtil.java | 19 +- 3 files changed, 124 insertions(+), 12 deletions(-) diffs (192 lines): diff -r ba3c7b06f4cb -r 37941a0223cf src-db/database/model/views/C_INVOICETAX_CASHVAT_V.xml --- a/src-db/database/model/views/C_INVOICETAX_CASHVAT_V.xml Tue Feb 14 14:20:26 2017 +0100 +++ b/src-db/database/model/views/C_INVOICETAX_CASHVAT_V.xml Tue Feb 14 14:44:17 2017 +0100 @@ -1,4 +1,4 @@ <?xml version="1.0"?> <database name="VIEW C_INVOICETAX_CASHVAT_V"> - <view name="C_INVOICETAX_CASHVAT_V"><![CDATA[SELECT itcv.c_invoicetax_cashvat_id AS c_invoicetax_cashvat_v_id, itcv.ad_client_id, itcv.ad_org_id, itcv.created, itcv.createdby, itcv.updated, itcv.updatedby, itcv.isactive, fp.paymentdate, itcv.percentage, itcv.taxamt, itcv.taxbaseamt, COALESCE(fpsd.iscanceled, 'N') AS iscanceled, fp.fin_payment_id, fpd.fin_payment_detail_id, fp.isreceipt, fp.c_bpartner_id, fp.fin_paymentmethod_id, fp.status, fp.amount, fp.c_currency_id, itcv.c_invoicetax_id, itcv.ismanualsettlement FROM c_invoicetax_cashvat itcv LEFT JOIN c_invoicetax it ON it.c_invoicetax_id = itcv.c_invoicetax_id LEFT JOIN fin_payment_detail fpd ON fpd.fin_payment_detail_id = itcv.fin_payment_detail_id LEFT JOIN fin_payment fp ON fp.fin_payment_id = fpd.fin_payment_id LEFT JOIN fin_payment_scheduledetail fpsd ON fpd.fin_payment_detail_id = fpsd.fin_payment_detail_id LEFT JOIN fin_payment_schedule fpsi ON fpsi.fin_payment_schedule_id = fpsd.fin_payment_schedule_invoice WHERE itcv.ismanualsettlement = 'N' AND fpsi.c_invoice_id = it.c_invoice_id OR itcv.ismanualsettlement = 'Y']]></view> + <view name="C_INVOICETAX_CASHVAT_V"><![CDATA[SELECT itcv.c_invoicetax_cashvat_id AS c_invoicetax_cashvat_v_id, itcv.ad_client_id, itcv.ad_org_id, itcv.created, itcv.createdby, itcv.updated, itcv.updatedby, itcv.isactive, fp.paymentdate, itcv.percentage, itcv.taxamt, itcv.taxbaseamt, COALESCE(fpsd.iscanceled, 'N') AS iscanceled, fp.fin_payment_id, fpd.fin_payment_detail_id, fp.isreceipt, fp.c_bpartner_id, fp.fin_paymentmethod_id, fp.status, fp.amount, fp.c_currency_id, itcv.c_invoicetax_id, itcv.ismanualsettlement, it.c_invoice_id, it.c_tax_id, fpd.isprepayment FROM c_invoicetax_cashvat itcv LEFT JOIN c_invoicetax it ON it.c_invoicetax_id = itcv.c_invoicetax_id LEFT JOIN fin_payment_detail fpd ON fpd.fin_payment_detail_id = itcv.fin_payment_detail_id LEFT JOIN fin_payment fp ON fp.fin_payment_id = fpd.fin_payment_id LEFT JOIN fin_payment_scheduledetail fpsd ON fpd.fin_payment_detail_id = fpsd.fin_payment_detail_id LEFT JOIN fin_payment_schedule fpsi ON fpsi.fin_payment_schedule_id = fpsd.fin_payment_schedule_invoice WHERE itcv.ismanualsettlement = 'N' AND fpsi.c_invoice_id = it.c_invoice_id OR itcv.ismanualsettlement = 'Y']]></view> </database> diff -r ba3c7b06f4cb -r 37941a0223cf src-db/database/sourcedata/AD_COLUMN.xml --- a/src-db/database/sourcedata/AD_COLUMN.xml Tue Feb 14 14:20:26 2017 +0100 +++ b/src-db/database/sourcedata/AD_COLUMN.xml Tue Feb 14 14:44:17 2017 +0100 @@ -257560,6 +257560,44 @@ <!--31A70D5921994990B17329ECB16314A0--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--31A70D5921994990B17329ECB16314A0--></AD_COLUMN> +<!--31B9D2FEEEAE4C2FAC945529513D115D--><AD_COLUMN> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <AD_COLUMN_ID><![CDATA[31B9D2FEEEAE4C2FAC945529513D115D]]></AD_COLUMN_ID> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <NAME><![CDATA[isPrepayment]]></NAME> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <DESCRIPTION><![CDATA[Indicates that the payment is a prepayment]]></DESCRIPTION> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <HELP><![CDATA[When the payment is created against order it is considered to be a prepayment]]></HELP> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <COLUMNNAME><![CDATA[Isprepayment]]></COLUMNNAME> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <AD_TABLE_ID><![CDATA[468BC822115146B8B67E82F671F570B3]]></AD_TABLE_ID> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ISKEY><![CDATA[N]]></ISKEY> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <SEQNO><![CDATA[270]]></SEQNO> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <AD_ELEMENT_ID><![CDATA[8055D7355E4FEA87E040007F01001969]]></AD_ELEMENT_ID> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <POSITION><![CDATA[26]]></POSITION> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--31B9D2FEEEAE4C2FAC945529513D115D--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--31B9D2FEEEAE4C2FAC945529513D115D--></AD_COLUMN> + <!--31CEE3F2AE9A439B9F4A49B93FFE9758--><AD_COLUMN> <!--31CEE3F2AE9A439B9F4A49B93FFE9758--> <AD_COLUMN_ID><![CDATA[31CEE3F2AE9A439B9F4A49B93FFE9758]]></AD_COLUMN_ID> <!--31CEE3F2AE9A439B9F4A49B93FFE9758--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -336778,6 +336816,44 @@ <!--A269590856C443468BEA02704D3AB1DA--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--A269590856C443468BEA02704D3AB1DA--></AD_COLUMN> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--><AD_COLUMN> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <AD_COLUMN_ID><![CDATA[A2921A7F2FC346EB8F11CE54AC4CAC87]]></AD_COLUMN_ID> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <NAME><![CDATA[Tax]]></NAME> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <DESCRIPTION><![CDATA[The percentage of money requested by the government for this specified product or transaction.]]></DESCRIPTION> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <HELP><![CDATA[The Tax indicates the type of tax for this document line.]]></HELP> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <COLUMNNAME><![CDATA[C_Tax_ID]]></COLUMNNAME> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <AD_TABLE_ID><![CDATA[468BC822115146B8B67E82F671F570B3]]></AD_TABLE_ID> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ISKEY><![CDATA[N]]></ISKEY> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <SEQNO><![CDATA[260]]></SEQNO> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <AD_ELEMENT_ID><![CDATA[213]]></AD_ELEMENT_ID> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <POSITION><![CDATA[25]]></POSITION> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--A2921A7F2FC346EB8F11CE54AC4CAC87--></AD_COLUMN> + <!--A299657C67C841EBB8E51AFB606EE4EF--><AD_COLUMN> <!--A299657C67C841EBB8E51AFB606EE4EF--> <AD_COLUMN_ID><![CDATA[A299657C67C841EBB8E51AFB606EE4EF]]></AD_COLUMN_ID> <!--A299657C67C841EBB8E51AFB606EE4EF--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -349044,6 +349120,44 @@ <!--B99B30BC8FDB4137AA3DBAB7D2CF0F2B--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> <!--B99B30BC8FDB4137AA3DBAB7D2CF0F2B--></AD_COLUMN> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--><AD_COLUMN> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <AD_COLUMN_ID><![CDATA[B9CF022F66984C6CA7C6CED8B01EF1E7]]></AD_COLUMN_ID> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ISACTIVE><![CDATA[Y]]></ISACTIVE> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <NAME><![CDATA[Invoice]]></NAME> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <DESCRIPTION><![CDATA[A document listing products, quantities and prices, payment terms, etc.]]></DESCRIPTION> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <HELP><![CDATA[The Invoice ID uniquely identifies an Invoice Document.]]></HELP> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <COLUMNNAME><![CDATA[C_Invoice_ID]]></COLUMNNAME> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <AD_TABLE_ID><![CDATA[468BC822115146B8B67E82F671F570B3]]></AD_TABLE_ID> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <AD_REFERENCE_ID><![CDATA[19]]></AD_REFERENCE_ID> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <FIELDLENGTH><![CDATA[32]]></FIELDLENGTH> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ISKEY><![CDATA[N]]></ISKEY> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ISPARENT><![CDATA[N]]></ISPARENT> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <SEQNO><![CDATA[250]]></SEQNO> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <AD_ELEMENT_ID><![CDATA[1008]]></AD_ELEMENT_ID> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <POSITION><![CDATA[24]]></POSITION> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK> +<!--B9CF022F66984C6CA7C6CED8B01EF1E7--></AD_COLUMN> + <!--B9CF105C680D4E568EC68F05F8522446--><AD_COLUMN> <!--B9CF105C680D4E568EC68F05F8522446--> <AD_COLUMN_ID><![CDATA[B9CF105C680D4E568EC68F05F8522446]]></AD_COLUMN_ID> <!--B9CF105C680D4E568EC68F05F8522446--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID> @@ -373691,6 +373805,7 @@ <!--E9C75CC455C44F1A9D39878102D1DDE5--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE> <!--E9C75CC455C44F1A9D39878102D1DDE5--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS> <!--E9C75CC455C44F1A9D39878102D1DDE5--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID> +<!--E9C75CC455C44F1A9D39878102D1DDE5--> <POSITION><![CDATA[23]]></POSITION> <!--E9C75CC455C44F1A9D39878102D1DDE5--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT> <!--E9C75CC455C44F1A9D39878102D1DDE5--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE> <!--E9C75CC455C44F1A9D39878102D1DDE5--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW> diff -r ba3c7b06f4cb -r 37941a0223cf src/org/openbravo/erpCommon/utility/CashVATUtil.java --- a/src/org/openbravo/erpCommon/utility/CashVATUtil.java Tue Feb 14 14:20:26 2017 +0100 +++ b/src/org/openbravo/erpCommon/utility/CashVATUtil.java Tue Feb 14 14:44:17 2017 +0100 @@ -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) 2013-2016 Openbravo SLU + * All portions are Copyright (C) 2013-2017 Openbravo SLU * All Rights Reserved. * Contributor(s): ______________________________________. ************************************************************************ @@ -397,17 +397,14 @@ final StringBuffer hql = new StringBuffer(); hql.append(" select coalesce(sum(" + InvoiceTaxCashVAT_V.PROPERTY_PERCENTAGE + "), 0) "); hql.append(" from " + InvoiceTaxCashVAT_V.ENTITY_NAME); - hql.append(" where " + InvoiceTaxCashVAT_V.PROPERTY_INVOICETAX + "." - + InvoiceTax.PROPERTY_TAX + "." + TaxRate.PROPERTY_ID + " = :taxId "); - hql.append(" and " + InvoiceTaxCashVAT_V.PROPERTY_INVOICETAX + "." - + InvoiceTax.PROPERTY_INVOICE + "." + Invoice.PROPERTY_ID + " = :invoiceId "); + hql.append(" where " + InvoiceTaxCashVAT_V.PROPERTY_TAX + "." + TaxRate.PROPERTY_ID + + " = :taxId "); + hql.append(" and " + InvoiceTaxCashVAT_V.PROPERTY_INVOICE + "." + Invoice.PROPERTY_ID + + " = :invoiceId "); hql.append(" and " + InvoiceTaxCashVAT_V.PROPERTY_CANCELED + " = false "); - hql.append(" and " + InvoiceTaxCashVAT_V.PROPERTY_PAYMENTDETAILS + "." - + FIN_PaymentDetail.PROPERTY_ISPREPAYMENT + " = true "); - hql.append(" group by " + InvoiceTaxCashVAT_V.PROPERTY_INVOICETAX + "." - + InvoiceTax.PROPERTY_TAX + "." + TaxRate.PROPERTY_ID + ", " - + InvoiceTaxCashVAT_V.PROPERTY_INVOICETAX + "." + InvoiceTax.PROPERTY_INVOICE + "." - + Invoice.PROPERTY_ID); + hql.append(" and " + InvoiceTaxCashVAT_V.PROPERTY_ISPREPAYMENT + " = true "); + hql.append(" group by " + InvoiceTaxCashVAT_V.PROPERTY_TAX + "." + TaxRate.PROPERTY_ID + ", " + + InvoiceTaxCashVAT_V.PROPERTY_INVOICE + "." + Invoice.PROPERTY_ID); final Session session = OBDal.getInstance().getSession(); final Query query = session.createQuery(hql.toString()); ------------------------------------------------------------------------------ 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