details:   https://code.openbravo.com/erp/devel/pi/rev/c6d8f568ca52
changeset: 32237:c6d8f568ca52
user:      Atul Gaware <atul.gaware <at> openbravo.com>
date:      Sun May 28 09:32:38 2017 +0530
summary:   Fixes issue 36020: Column names not properly shown in Traceability 
report

Added column headers for the Movement Date, Movement Type, Movement Quantity 
Uom, Locator,
Transaction Reference, Total Quantity Uom. Incase there is Order Quantity and 
Product Uom
Additional column header next to Movement Quantity Uom is shown for Order 
Quantity Uom.

details:   https://code.openbravo.com/erp/devel/pi/rev/78820ce7d6e0
changeset: 32238:78820ce7d6e0
user:      Alvaro Ferraz <alvaro.ferraz <at> openbravo.com>
date:      Tue May 30 17:14:46 2017 +0200
summary:   Related to issue 36020: Code review improvements

Avoid to run same MInOutTraceReportsData.selectChilds query two times
(inside createHeader and processChilds methods).

details:   https://code.openbravo.com/erp/devel/pi/rev/07b97d6a3b97
changeset: 32239:07b97d6a3b97
user:      Atul Gaware <atul.gaware <at> openbravo.com>
date:      Tue May 30 16:36:10 2017 +0530
summary:   Fixes issue 36131:FundTransfer allows Rate change when preference 
not to is set

Apply read only logic to Rate field in Funds Transfer process definition based 
on
the preference Not allow to change exchange rate and amount value='Y'

diffstat:

 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/OBUIAPP_PARAMETER.xml
 |   1 +
 src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports.html                 
       |   3 +-
 src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports.java                 
       |  92 +++++++--
 src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports.xml                  
       |   3 +-
 src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports_data.xsql            
       |   2 +-
 5 files changed, 78 insertions(+), 23 deletions(-)

diffs (214 lines):

diff -r 0f858c02b0dd -r 07b97d6a3b97 
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/OBUIAPP_PARAMETER.xml
--- 
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/OBUIAPP_PARAMETER.xml
     Tue May 30 17:18:23 2017 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/OBUIAPP_PARAMETER.xml
     Tue May 30 16:36:10 2017 +0530
@@ -1841,6 +1841,7 @@
 <!--BF4F039785D24BA6B93A2494B89F0C47-->  
<OBUIAPP_PROCESS_ID><![CDATA[CC73C4845CDC487395804946EACB225F]]></OBUIAPP_PROCESS_ID>
 <!--BF4F039785D24BA6B93A2494B89F0C47-->  
<STARTINNEWLINE><![CDATA[Y]]></STARTINNEWLINE>
 <!--BF4F039785D24BA6B93A2494B89F0C47-->  
<DISPLAYLOGIC><![CDATA[(@c_currency_to_id@ ! @c_currency_from_id@) & 
@c_currency_to_id@!undefined]]></DISPLAYLOGIC>
+<!--BF4F039785D24BA6B93A2494B89F0C47-->  
<READONLYLOGIC><![CDATA[OB.PropertyStore.get('NotAllowChangeExchange')='Y']]></READONLYLOGIC>
 <!--BF4F039785D24BA6B93A2494B89F0C47-->  
<DISPLAYEDROWS><![CDATA[5]]></DISPLAYEDROWS>
 <!--BF4F039785D24BA6B93A2494B89F0C47-->  
<DISPLAYTITLE><![CDATA[Y]]></DISPLAYTITLE>
 <!--BF4F039785D24BA6B93A2494B89F0C47-->  
<ATT_SHOWINDESCRIPTION><![CDATA[N]]></ATT_SHOWINDESCRIPTION>
diff -r 0f858c02b0dd -r 07b97d6a3b97 
src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports.html
--- a/src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports.html    Tue May 
30 17:18:23 2017 +0200
+++ b/src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports.html    Tue May 
30 16:36:10 2017 +0530
@@ -13,7 +13,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) 2001-2014 Openbravo SLU
+ * All portions are Copyright (C) 2001-2017 Openbravo SLU
  * All Rights Reserved.
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -367,6 +367,7 @@
                                       </tr>
                                   </table></td>
                                 </tr><tr><td colspan="6">
+                                    <div id="fieldHTMLHeader" 
class="DataGrid_Header_Table">xx</div>
                                     <div id="fieldHTML" 
class="TableDetailRowEven">xx</div>
                                 </td></tr>
                               </table>
diff -r 0f858c02b0dd -r 07b97d6a3b97 
src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports.java
--- a/src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports.java    Tue May 
30 17:18:23 2017 +0200
+++ b/src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports.java    Tue May 
30 16:36:10 2017 +0530
@@ -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) 2001-2014 Openbravo SLU 
+ * All portions are Copyright (C) 2001-2017 Openbravo SLU 
  * All Rights Reserved. 
  * Contributor(s):  ______________________________________.
  ************************************************************************
@@ -30,6 +30,7 @@
 
 import org.apache.commons.lang.ArrayUtils;
 import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang.StringUtils;
 import org.openbravo.base.secureApp.HttpSecureAppServlet;
 import org.openbravo.base.secureApp.VariablesSecureApp;
 import org.openbravo.erpCommon.businessUtility.WindowTabs;
@@ -178,9 +179,20 @@
       return localData;
     }
     for (int i = 0; i < localData.length; i++) {
-      localData[i].html = processChilds(vars, 
localData[i].mAttributesetinstanceId,
-          localData[i].mProductId, localData[i].mLocatorId, strIn, true, 
strmProductIdGlobal,
-          calculated, count);
+      MInOutTraceReportsData[] dataChild = 
MInOutTraceReportsData.selectChilds(this, vars
+          .getLanguage(), localData[i].mAttributesetinstanceId, 
localData[i].mProductId,
+          localData[i].mLocatorId, strIn.equals("Y") ? "plusQty" : "minusQty",
+          strIn.equals("N") ? "minusQty" : "plusQty");
+      if (dataChild == null || dataChild.length == 0) {
+        localData[i].htmlHeader = "";
+        localData[i].html = "";
+      } else {
+        localData[i].htmlHeader = createHeader(vars, dataChild);
+        localData[i].html = processChilds(vars, dataChild, 
localData[i].mAttributesetinstanceId,
+            localData[i].mProductId, localData[i].mLocatorId, strIn, true, 
strmProductIdGlobal,
+            calculated, count);
+      }
+
       if ("".equals(localData[i].html)) {
         // Delete localData[i] from array
         localData = (MInOutTraceReportsData[]) 
ArrayUtils.removeElement(localData, localData[i]);
@@ -190,6 +202,39 @@
     return localData;
   }
 
+  private String createHeader(VariablesSecureApp vars, 
MInOutTraceReportsData[] dataChild)
+      throws ServletException {
+    boolean hasSecUom = false;
+    for (int i = 0; i < dataChild.length; i++) {
+      if (StringUtils.isNotEmpty(dataChild[i].quantityorder)) {
+        hasSecUom = true;
+        break;
+      }
+    }
+    StringBuffer strHtmlHeader = new StringBuffer();
+    strHtmlHeader.append(insertHeaderHtml(false, "0"));
+    strHtmlHeader.append("<tr style=\"background: #CFDDE8\">");
+    strHtmlHeader.append("<td >\n");
+    strHtmlHeader
+        .append("<table class=\"DataGrid_Header_Table\" border=\"0\" 
cellspacing=0 cellpadding=0 width=\"100%\">");
+    strHtmlHeader.append("  <tr>");
+    strHtmlHeader.append("    <th class=\"DataGrid_Header_Cell\" 
width=\"70\">Date</th>");
+    strHtmlHeader.append("    <th class=\"DataGrid_Header_Cell\" 
width=\"100\">Movement Type</th>");
+    strHtmlHeader.append("    <th class=\"DataGrid_Header_Cell\" 
width=\"100\">Locator</th>");
+    strHtmlHeader.append("    <th class=\"DataGrid_Header_Cell\" 
width=\"90\">Movement Qty</th>");
+    if (hasSecUom) {
+      strHtmlHeader.append("    <th class=\"DataGrid_Header_Cell\" 
width=\"90\">Order Qty</th>\n");
+    }
+    strHtmlHeader.append("    <th class=\"DataGrid_Header_Cell\">Transaction 
Reference</th>");
+    strHtmlHeader.append("</tr></table>");
+    strHtmlHeader.append("</td>");
+    strHtmlHeader.append("<th class=\"DataGrid_Header_Cell\">Total Qty\n");
+    strHtmlHeader.append("</th>\n");
+    strHtmlHeader.append("  </tr>");
+    strHtmlHeader.append(insertHeaderHtml(true, ""));
+    return strHtmlHeader.toString();
+  }
+
   private String insertTabHtml(boolean border) {
     return "    <td width=\"20px\" class=\"DataGrid_Body_Cell\""
         + (border ? " style=\"border-bottom: 0px !important;\""
@@ -223,10 +268,10 @@
     return resultado.toString();
   }
 
-  private String processChilds(VariablesSecureApp vars, String 
mAttributesetinstanceId,
-      String mProductId, String mLocatorId, String strIn, boolean colorbg2,
-      String strmProductIdGlobal, Hashtable<String, Integer> calculated, 
Vector<Integer> count)
-      throws ServletException {
+  private String processChilds(VariablesSecureApp vars, 
MInOutTraceReportsData[] dataChild,
+      String mAttributesetinstanceId, String mProductId, String mLocatorId, 
String strIn,
+      boolean colorbg2, String strmProductIdGlobal, Hashtable<String, Integer> 
calculated,
+      Vector<Integer> count) throws ServletException {
     BigDecimal total = BigDecimal.ZERO;
     BigDecimal totalPedido = BigDecimal.ZERO;
     StringBuffer strHtml = new StringBuffer();
@@ -241,12 +286,7 @@
 
     if (log4j.isDebugEnabled())
       log4j.debug("****** Hashtable.add: " + strCalculated);
-    MInOutTraceReportsData[] dataChild = 
MInOutTraceReportsData.selectChilds(this, vars
-        .getLanguage(), mAttributesetinstanceId, mProductId, mLocatorId,
-        strIn.equals("Y") ? "plusQty" : "minusQty", strIn.equals("N") ? 
"minusQty" : "plusQty");
-    if (dataChild == null || dataChild.length == 0) {
-      return "";
-    }
+
     boolean colorbg = true;
 
     strHtml.append(insertHeaderHtml(false, "0"));
@@ -358,9 +398,15 @@
                   + calculated.get(strCalculate));
             Integer isnull = calculated.get(strCalculate);
             if (isnull == null) {
-              String strPartial = processChilds(vars, 
dataProduction[j].mAttributesetinstanceId,
-                  dataProduction[j].mProductId, dataProduction[j].mLocatorId, 
strIn, !colorbg,
-                  strmProductIdGlobal, calculated, count);
+              MInOutTraceReportsData[] data = 
MInOutTraceReportsData.selectChilds(this, vars
+                  .getLanguage(), dataProduction[j].mAttributesetinstanceId,
+                  dataProduction[j].mProductId, dataProduction[j].mLocatorId,
+                  strIn.equals("Y") ? "plusQty" : "minusQty", 
strIn.equals("N") ? "minusQty"
+                      : "plusQty");
+              String strPartial = data == null || data.length == 0 ? "" : 
processChilds(vars, data,
+                  dataProduction[j].mAttributesetinstanceId, 
dataProduction[j].mProductId,
+                  dataProduction[j].mLocatorId, strIn, !colorbg, 
strmProductIdGlobal, calculated,
+                  count);
               if (!strPartial.equals("")) {
                 strHtml.append("  <tr style=\"background: ")
                     .append((colorbg ? "#CCCCCC" : "#AAAAAA")).append("\">\n");
@@ -437,9 +483,15 @@
                 log4j.debug("******** Movement, hashtable calculated: "
                     + calculated.get(strCalculate));
               if (calculated.get(strCalculate) == null) {
-                strPartial = processChilds(vars, 
dataMovement[j].mAttributesetinstanceId,
-                    dataMovement[j].mProductId, dataMovement[j].mLocatorId, 
strIn, !colorbg,
-                    strmProductIdGlobal, calculated, count);
+                MInOutTraceReportsData[] data = 
MInOutTraceReportsData.selectChilds(this, vars
+                    .getLanguage(), dataMovement[j].mAttributesetinstanceId,
+                    dataMovement[j].mProductId, dataMovement[j].mLocatorId,
+                    strIn.equals("Y") ? "plusQty" : "minusQty", 
strIn.equals("N") ? "minusQty"
+                        : "plusQty");
+                strPartial = data == null || data.length == 0 ? "" : 
processChilds(vars, data,
+                    dataMovement[j].mAttributesetinstanceId, 
dataMovement[j].mProductId,
+                    dataMovement[j].mLocatorId, strIn, !colorbg, 
strmProductIdGlobal, calculated,
+                    count);
               }
             }
             if (!strPartial.equals("")) {
diff -r 0f858c02b0dd -r 07b97d6a3b97 
src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports.xml
--- a/src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports.xml     Tue May 
30 17:18:23 2017 +0200
+++ b/src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports.xml     Tue May 
30 16:36:10 2017 +0530
@@ -12,7 +12,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) 2001-2014 Openbravo SLU 
+* All portions are Copyright (C) 2001-2017 Openbravo SLU 
 * All Rights Reserved. 
 * Contributor(s):  ______________________________________.
 ************************************************************************
@@ -48,6 +48,7 @@
     <FIELD id="fieldProductName" replaceCharacters="html">productName</FIELD>
     <FIELD id="fieldAttributeName" 
replaceCharacters="html">attributeName</FIELD>
     <FIELD id="fieldLocatorName" replaceCharacters="html">locatorName</FIELD>
+    <FIELD id="fieldHTMLHeader">htmlHeader</FIELD>
     <FIELD id="fieldHTML">html</FIELD>
 
     <SECTION id="sectionDetail"/>
diff -r 0f858c02b0dd -r 07b97d6a3b97 
src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports_data.xsql
--- a/src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports_data.xsql       
Tue May 30 17:18:23 2017 +0200
+++ b/src/org/openbravo/erpCommon/ad_reports/MInOutTraceReports_data.xsql       
Tue May 30 16:36:10 2017 +0530
@@ -34,7 +34,7 @@
           '' AS html, ''  AS ID, '' AS MOVEMENTTYPE, '' AS MOVEMENTDATE, '' AS 
MOVEMENTQTY, '' AS M_INVENTORYLINE_ID, '' AS M_MOVEMENTLINE_ID,
           '' AS M_INOUTLINE_ID, '' AS M_PRODUCTIONLINE_ID, '' AS 
C_PROJECTISSUE_ID, '' AS M_PRODUCT_UOM_ID, '' AS QUANTITYORDER, '' AS C_UOM_ID,
           '' AS MOVEMENTTYPE_NAME, '' AS PRODUCT_UOM_NAME, '' AS UOM_NAME, '' 
AS VENDOR_NAME, '' AS NAME, '' AS INVENTORY_NAME, '' AS MOVEMENT_NAME,
-          '' AS INOUT_NAME, '' AS PRODUCTION_NAME
+          '' AS INOUT_NAME, '' AS PRODUCTION_NAME, '' AS html_header
       FROM M_TRANSACTION t
       WHERE 1=1
       AND t.AD_ORG_ID IN ('1')

------------------------------------------------------------------------------
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

Reply via email to