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