details:   https://code.openbravo.com/erp/devel/pi/rev/6c9f1be432ef
changeset: 29356:6c9f1be432ef
user:      Alvaro Ferraz <alvaro.ferraz <at> openbravo.com>
date:      Tue Apr 26 13:45:34 2016 +0200
summary:   Related to issue 32510: Code review improvements

Do left join to inv.businessPartner also if financial account has been selected.
Use StringUtils to avoid NPE.

diffstat:

 
modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportDao.java
 |  34 +++++----
 1 files changed, 20 insertions(+), 14 deletions(-)

diffs (69 lines):

diff -r 5df88a3c4cd1 -r 6c9f1be432ef 
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 Apr 25 18:48:59 2016 +0200
+++ 
b/modules/org.openbravo.financial.paymentreport/src/org/openbravo/financial/paymentreport/erpCommon/ad_reports/PaymentReportDao.java
        Tue Apr 26 13:45:34 2016 +0200
@@ -30,6 +30,7 @@
 import java.util.Set;
 import java.util.Vector;
 
+import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.time.DateUtils;
 import org.apache.log4j.Logger;
 import org.hibernate.LockOptions;
@@ -268,25 +269,34 @@
       hsqlScript.append(" left join fpd.finPayment as pay");
       hsqlScript.append(" left join fpsd.invoicePaymentSchedule as invps");
       hsqlScript.append(" left join invps.invoice as inv");
-      if (strGroupCrit.equalsIgnoreCase("INS_CURRENCY") || 
strOrdCrit.contains("INS_CURRENCY")) {
+      if (StringUtils.equalsIgnoreCase(strGroupCrit, "INS_CURRENCY")
+          || StringUtils.contains(strOrdCrit, "INS_CURRENCY")) {
         hsqlScript.append(" left join pay.currency as paycur");
         hsqlScript.append(" left join inv.currency as invcur");
       }
-      if (strGroupCrit.equalsIgnoreCase("Project") || 
strOrdCrit.contains("Project")) {
+      if (StringUtils.equalsIgnoreCase(strGroupCrit, "Project")
+          || StringUtils.contains(strOrdCrit, "Project")) {
         hsqlScript.append(" left join pay.project as paypro");
         hsqlScript.append(" left join inv.project as invpro");
       }
-      if (strGroupCrit.equalsIgnoreCase("APRM_FATS_BPARTNER")
-          || strOrdCrit.contains("APRM_FATS_BPARTNER")
-          || strGroupCrit.equalsIgnoreCase("FINPR_BPartner_Category")
-          || strOrdCrit.contains("FINPR_BPartner_Category")) {
+      if (StringUtils.equalsIgnoreCase(strGroupCrit, "APRM_FATS_BPARTNER")
+          || StringUtils.contains(strOrdCrit, "APRM_FATS_BPARTNER")
+          || StringUtils.equalsIgnoreCase(strGroupCrit, 
"FINPR_BPartner_Category")
+          || StringUtils.contains(strOrdCrit, "FINPR_BPartner_Category")
+          || (StringUtils.isNotEmpty(strcBPGroupIdIN) && 
(StringUtils.equals(strcNoBusinessPartner,
+              "include") || StringUtils.equals(strcNoBusinessPartner, 
"exclude")))) {
         hsqlScript.append(" left join pay.businessPartner as paybp");
         hsqlScript.append(" left join inv.businessPartner as invbp");
-        if (strGroupCrit.equalsIgnoreCase("FINPR_BPartner_Category")
-            || strOrdCrit.contains("FINPR_BPartner_Category")) {
+        if (StringUtils.equalsIgnoreCase(strGroupCrit, 
"FINPR_BPartner_Category")
+            || StringUtils.contains(strOrdCrit, "FINPR_BPartner_Category")
+            || (StringUtils.isNotEmpty(strcBPGroupIdIN) && (StringUtils.equals(
+                strcNoBusinessPartner, "include") || 
StringUtils.equals(strcNoBusinessPartner,
+                "exclude")))) {
           hsqlScript.append(" left join paybp.businessPartnerCategory as 
paybpc");
           hsqlScript.append(" left join invbp.businessPartnerCategory as 
invbpc");
         }
+      } else if (StringUtils.isNotEmpty(strFinancialAccountId)) {
+        hsqlScript.append(" left join inv.businessPartner as invbp");
       }
       hsqlScript.append(" where (fpd is not null or invps is not null)");
       hsqlScript.append(" and fpsd.organization.id in ");
@@ -745,12 +755,8 @@
         if (i % 100 == 0) {
           OBDal.getInstance().getSession().clear();
         }
-        OBDal
-            .getInstance()
-            .getSession()
-            .buildLockRequest(LockOptions.NONE)
-            .lock(FIN_PaymentScheduleDetail.ENTITY_NAME,
-                fpsd);
+        OBDal.getInstance().getSession().buildLockRequest(LockOptions.NONE)
+            .lock(FIN_PaymentScheduleDetail.ENTITY_NAME, fpsd);
 
         // search for fin_finacc_transaction for this payment
         FIN_FinaccTransaction trx = null;

------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Openbravo-commits mailing list
Openbravo-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to