details: /erp/devel/pi/rev/dff773cd5937
changeset: 11821:dff773cd5937
user: Ioritz Cia <ioritz.cia <at> openbravo.com>
date: Mon May 02 11:58:06 2011 +0200
summary: Fixes issue 15623: The ordering options of payment report do not
order well.
diffstat:
modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReport.java
| 10 +-
modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportDao.java
| 424 ++-------
2 files changed, 128 insertions(+), 306 deletions(-)
diffs (truncated from 698 to 300 lines):
diff -r aeb491794d7e -r dff773cd5937
modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReport.java
---
a/modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReport.java
Mon May 02 11:57:58 2011 +0200
+++
b/modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReport.java
Mon May 02 11:58:06 2011 +0200
@@ -68,9 +68,10 @@
"PaymentReport|DueDateFrom");
String strDueDateTo = vars
.getRequestGlobalVariable("inpDueDateTo", "PaymentReport|DueDateTo");
- String strAmountFrom = vars.getRequestGlobalVariable("inpAmountFrom",
+ String strAmountFrom =
vars.getNumericRequestGlobalVariable("inpAmountFrom",
"PaymentReport|AmountFrom");
- String strAmountTo = vars.getRequestGlobalVariable("inpAmountTo",
"PaymentReport|AmountTo");
+ String strAmountTo = vars.getNumericRequestGlobalVariable("inpAmountTo",
+ "PaymentReport|AmountTo");
String strDocumentDateFrom =
vars.getRequestGlobalVariable("inpDocumentDateFrom",
"PaymentReport|DocumentDateFrom");
String strDocumentDateTo =
vars.getRequestGlobalVariable("inpDocumentDateTo",
@@ -114,9 +115,10 @@
"PaymentReport|DueDateFrom");
String strDueDateTo = vars
.getRequestGlobalVariable("inpDueDateTo", "PaymentReport|DueDateTo");
- String strAmountFrom = vars.getRequestGlobalVariable("inpAmountFrom",
+ String strAmountFrom =
vars.getNumericRequestGlobalVariable("inpAmountFrom",
"PaymentReport|AmountFrom");
- String strAmountTo = vars.getRequestGlobalVariable("inpAmountTo",
"PaymentReport|AmountTo");
+ String strAmountTo = vars.getNumericRequestGlobalVariable("inpAmountTo",
+ "PaymentReport|AmountTo");
String strDocumentDateFrom =
vars.getRequestGlobalVariable("inpDocumentDateFrom",
"PaymentReport|DocumentDateFrom");
String strDocumentDateTo =
vars.getRequestGlobalVariable("inpDocumentDateTo",
diff -r aeb491794d7e -r dff773cd5937
modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportDao.java
---
a/modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportDao.java
Mon May 02 11:57:58 2011 +0200
+++
b/modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportDao.java
Mon May 02 11:58:06 2011 +0200
@@ -47,6 +47,7 @@
import org.openbravo.model.ad.ui.Tab;
import org.openbravo.model.ad.ui.Window;
import org.openbravo.model.common.businesspartner.BusinessPartner;
+import org.openbravo.model.common.businesspartner.Category;
import org.openbravo.model.common.currency.ConversionRate;
import org.openbravo.model.common.currency.Currency;
import org.openbravo.model.common.invoice.Invoice;
@@ -54,6 +55,7 @@
import org.openbravo.model.financialmgmt.payment.FIN_PaymentDetail;
import org.openbravo.model.financialmgmt.payment.FIN_PaymentSchedule;
import org.openbravo.model.financialmgmt.payment.FIN_PaymentScheduleDetail;
+import org.openbravo.model.project.Project;
import org.openbravo.utils.Replace;
public class PaymentReportDao {
@@ -93,18 +95,18 @@
try {
hsqlScript.append(" as fpsd ");
- hsqlScript.append(" left outer join fpsd.paymentDetails.finPayment ");
- hsqlScript.append(" left outer join fpsd.invoicePaymentSchedule ");
- hsqlScript.append(" left outer join fpsd.invoicePaymentSchedule.invoice
");
- hsqlScript
- .append(" left outer join
fpsd.paymentDetails.finPayment.businessPartner.businessPartnerCategory a");
- hsqlScript
- .append(" left outer join
fpsd.invoicePaymentSchedule.invoice.businessPartner.businessPartnerCategory b");
+ hsqlScript.append(" left outer join fpsd.paymentDetails.finPayment pay");
+ hsqlScript.append(" left outer join
pay.businessPartner.businessPartnerCategory paybpc");
+ hsqlScript.append(" left outer join fpsd.invoicePaymentSchedule invps");
+ hsqlScript.append(" left outer join invps.invoice inv");
+ hsqlScript.append(" left outer join
inv.businessPartner.businessPartnerCategory invbpc");
+ hsqlScript.append(" left outer join
fpsd.paymentDetails.finPayment.currency paycur");
+ hsqlScript.append(" left outer join
fpsd.invoicePaymentSchedule.invoice.currency invcur");
+ hsqlScript.append(" left outer join pay.project paypro");
+ hsqlScript.append(" left outer join inv.project invpro");
hsqlScript.append(" where (fpsd.");
hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_PAYMENTDETAILS);
- hsqlScript.append(" is not null or fpsd.");
-
hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_INVOICEPAYMENTSCHEDULE);
- hsqlScript.append(" is not null ");
+ hsqlScript.append(" is not null or invps is not null ");
hsqlScript.append(") ");
// organization + include sub-organization
@@ -135,17 +137,13 @@
// due date from - due date to
if (!strDueDateFrom.isEmpty()) {
- hsqlScript.append(" and fpsd.");
-
hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_INVOICEPAYMENTSCHEDULE);
- hsqlScript.append(".");
+ hsqlScript.append(" and invps.");
hsqlScript.append(FIN_PaymentSchedule.PROPERTY_DUEDATE);
hsqlScript.append(" > ?");
parameters.add(FIN_Utility.getDate(strDueDateFrom));
}
if (!strDueDateTo.isEmpty()) {
- hsqlScript.append(" and fpsd.");
-
hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_INVOICEPAYMENTSCHEDULE);
- hsqlScript.append(".");
+ hsqlScript.append(" and invps.");
hsqlScript.append(FIN_PaymentSchedule.PROPERTY_DUEDATE);
hsqlScript.append(" < ?");
parameters.add(FIN_Utility.getDate(strDueDateTo));
@@ -153,65 +151,35 @@
// amount from - amount to
if (!strAmountFrom.isEmpty()) {
- hsqlScript.append(" and coalesce(fpsd.");
- hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_PAYMENTDETAILS);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentDetail.PROPERTY_FINPAYMENT);
- hsqlScript.append(".");
+ hsqlScript.append(" and coalesce(pay.");
hsqlScript.append(FIN_Payment.PROPERTY_AMOUNT);
- hsqlScript.append(", fpsd.");
-
hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_INVOICEPAYMENTSCHEDULE);
- hsqlScript.append(".");
+ hsqlScript.append(", invps.");
hsqlScript.append(FIN_PaymentSchedule.PROPERTY_AMOUNT);
- hsqlScript.append(") > '");
+ hsqlScript.append(") > ");
hsqlScript.append(strAmountFrom);
- hsqlScript.append("'");
}
if (!strAmountTo.isEmpty()) {
- hsqlScript.append(" and coalesce(fpsd.");
- hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_PAYMENTDETAILS);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentDetail.PROPERTY_FINPAYMENT);
- hsqlScript.append(".");
+ hsqlScript.append(" and coalesce(pay.");
hsqlScript.append(FIN_Payment.PROPERTY_AMOUNT);
- hsqlScript.append(", fpsd.");
-
hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_INVOICEPAYMENTSCHEDULE);
- hsqlScript.append(".");
+ hsqlScript.append(", invps.");
hsqlScript.append(FIN_PaymentSchedule.PROPERTY_AMOUNT);
- hsqlScript.append(") < '");
+ hsqlScript.append(") < ");
hsqlScript.append(strAmountTo);
- hsqlScript.append("'");
}
// document date from - document date to
if (!strDocumentDateFrom.isEmpty()) {
- hsqlScript.append(" and coalesce(fpsd.");
- hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_PAYMENTDETAILS);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentDetail.PROPERTY_FINPAYMENT);
- hsqlScript.append(".");
+ hsqlScript.append(" and coalesce(pay.");
hsqlScript.append(FIN_Payment.PROPERTY_PAYMENTDATE);
- hsqlScript.append(", fpsd.");
-
hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_INVOICEPAYMENTSCHEDULE);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentSchedule.PROPERTY_INVOICE);
- hsqlScript.append(".");
+ hsqlScript.append(", inv.");
hsqlScript.append(Invoice.PROPERTY_INVOICEDATE);
hsqlScript.append(") > ?");
parameters.add(FIN_Utility.getDate(strDocumentDateFrom));
}
if (!strDocumentDateTo.isEmpty()) {
- hsqlScript.append(" and coalesce(fpsd.");
- hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_PAYMENTDETAILS);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentDetail.PROPERTY_FINPAYMENT);
- hsqlScript.append(".");
+ hsqlScript.append(" and coalesce(pay.");
hsqlScript.append(FIN_Payment.PROPERTY_PAYMENTDATE);
- hsqlScript.append(", fpsd.");
-
hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_INVOICEPAYMENTSCHEDULE);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentSchedule.PROPERTY_INVOICE);
- hsqlScript.append(".");
+ hsqlScript.append(", inv.");
hsqlScript.append(Invoice.PROPERTY_INVOICEDATE);
hsqlScript.append(") < ?");
parameters.add(FIN_Utility.getDate(strDocumentDateTo));
@@ -219,17 +187,9 @@
// business partner
if (!strcBPartnerIdIN.isEmpty()) {
- hsqlScript.append(" and coalesce(fpsd.");
- hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_PAYMENTDETAILS);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentDetail.PROPERTY_FINPAYMENT);
- hsqlScript.append(".");
+ hsqlScript.append(" and coalesce(pay.");
hsqlScript.append(FIN_Payment.PROPERTY_BUSINESSPARTNER);
- hsqlScript.append(", fpsd.");
-
hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_INVOICEPAYMENTSCHEDULE);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentSchedule.PROPERTY_INVOICE);
- hsqlScript.append(".");
+ hsqlScript.append(", inv.");
hsqlScript.append(Invoice.PROPERTY_BUSINESSPARTNER);
hsqlScript.append(") in ");
hsqlScript.append(strcBPartnerIdIN);
@@ -237,40 +197,16 @@
// business partner category
if (!strcBPGroupIdIN.isEmpty()) {
- hsqlScript.append(" and coalesce(fpsd.");
- hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_PAYMENTDETAILS);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentDetail.PROPERTY_FINPAYMENT);
- hsqlScript.append(".");
- hsqlScript.append(FIN_Payment.PROPERTY_BUSINESSPARTNER);
- hsqlScript.append(".");
- hsqlScript.append(BusinessPartner.PROPERTY_BUSINESSPARTNERCATEGORY);
- hsqlScript.append(", fpsd.");
-
hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_INVOICEPAYMENTSCHEDULE);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentSchedule.PROPERTY_INVOICE);
- hsqlScript.append(".");
- hsqlScript.append(Invoice.PROPERTY_BUSINESSPARTNER);
- hsqlScript.append(".");
- hsqlScript.append(BusinessPartner.PROPERTY_BUSINESSPARTNERCATEGORY);
- hsqlScript.append(") = '");
+ hsqlScript.append(" and coalesce(paybpc, invbpc) = '");
hsqlScript.append(strcBPGroupIdIN);
hsqlScript.append("'");
}
// project
if (!strcProjectIdIN.isEmpty()) {
- hsqlScript.append(" and coalesce(fpsd.");
- hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_PAYMENTDETAILS);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentDetail.PROPERTY_FINPAYMENT);
- hsqlScript.append(".");
+ hsqlScript.append(" and coalesce(pay.");
hsqlScript.append(FIN_Payment.PROPERTY_PROJECT);
- hsqlScript.append(", fpsd.");
-
hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_INVOICEPAYMENTSCHEDULE);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentSchedule.PROPERTY_INVOICE);
- hsqlScript.append(".");
+ hsqlScript.append(", inv.");
hsqlScript.append(Invoice.PROPERTY_PROJECT);
hsqlScript.append(") in ");
hsqlScript.append(strcProjectIdIN);
@@ -278,11 +214,7 @@
// status
if (!strfinPaymSt.isEmpty() && !strfinPaymSt.equalsIgnoreCase("('')")) {
- hsqlScript.append(" and (fpsd.");
- hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_PAYMENTDETAILS);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentDetail.PROPERTY_FINPAYMENT);
- hsqlScript.append(".");
+ hsqlScript.append(" and (pay.");
hsqlScript.append(FIN_Payment.PROPERTY_STATUS);
hsqlScript.append(" in ");
hsqlScript.append(strfinPaymSt);
@@ -297,17 +229,9 @@
// payment method
if (!strPaymentMethodId.isEmpty()) {
- hsqlScript.append(" and coalesce(fpsd.");
- hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_PAYMENTDETAILS);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentDetail.PROPERTY_FINPAYMENT);
- hsqlScript.append(".");
+ hsqlScript.append(" and coalesce(pay.");
hsqlScript.append(FIN_Payment.PROPERTY_PAYMENTMETHOD);
- hsqlScript.append(", fpsd.");
-
hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_INVOICEPAYMENTSCHEDULE);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentSchedule.PROPERTY_INVOICE);
- hsqlScript.append(".");
+ hsqlScript.append(", inv.");
hsqlScript.append(Invoice.PROPERTY_PAYMENTMETHOD);
hsqlScript.append(") = '");
hsqlScript.append(strPaymentMethodId);
@@ -316,66 +240,37 @@
// financial account
if (!strFinancialAccountId.isEmpty()) {
- hsqlScript.append(" and (fpsd.");
- hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_PAYMENTDETAILS);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentDetail.PROPERTY_FINPAYMENT);
- hsqlScript.append(" is not null and fpsd.");
- hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_PAYMENTDETAILS);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentDetail.PROPERTY_FINPAYMENT);
- hsqlScript.append(".");
+ hsqlScript.append(" and (pay is not null and pay.");
hsqlScript.append(FIN_Payment.PROPERTY_ACCOUNT);
- hsqlScript.append(" = '");
+ hsqlScript.append(".id = '");
hsqlScript.append(strFinancialAccountId);
- hsqlScript.append("' or ((fpsd.");
-
hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_INVOICEPAYMENTSCHEDULE);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentSchedule.PROPERTY_INVOICE);
- hsqlScript.append(".");
+ hsqlScript.append("' or ((inv.");
hsqlScript.append(Invoice.PROPERTY_SALESTRANSACTION);
- hsqlScript.append(" = 'Y' and fpsd.");
-
hsqlScript.append(FIN_PaymentScheduleDetail.PROPERTY_INVOICEPAYMENTSCHEDULE);
- hsqlScript.append(".");
- hsqlScript.append(FIN_PaymentSchedule.PROPERTY_INVOICE);
- hsqlScript.append(".");
------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network
management toolset available today. Delivers lowest initial
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits