1 19 20 package org.openbravo.erpCommon.ad_reports; 21 22 import org.openbravo.erpCommon.utility.*; 23 import org.openbravo.erpCommon.businessUtility.WindowTabs; 24 import org.openbravo.erpCommon.businessUtility.Tree; 25 import org.openbravo.erpCommon.businessUtility.TreeData; 26 import org.openbravo.base.secureApp.HttpSecureAppServlet; 27 import org.openbravo.base.secureApp.VariablesSecureApp; 28 import org.openbravo.xmlEngine.XmlDocument; 29 import java.io.*; 30 import java.util.*; 31 import javax.servlet.*; 32 import javax.servlet.http.*; 33 34 import org.openbravo.utils.Replace; 35 import org.openbravo.erpCommon.ad_combos.OrganizationComboData; 36 37 38 import org.openbravo.erpCommon.utility.DateTimeData; 39 40 public class ReportRefundSalesDimensionalAnalyses extends HttpSecureAppServlet { 41 42 43 public void init (ServletConfig config) { 44 super.init(config); 45 boolHist = false; 46 } 47 48 public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { 49 VariablesSecureApp vars = new VariablesSecureApp(request); 50 51 if (!Utility.hasProcessAccess(this, vars, "", "RV_ReportRefundSalesDimensionalAnalyses")) { 52 bdError(response, "AccessTableNoView", vars.getLanguage()); 53 return; 54 } 55 56 if (vars.commandIn("DEFAULT", "DEFAULT_COMPARATIVE")){ 57 String strDateFrom = vars.getGlobalVariable("inpDateFrom", "ReportRefundSalesDimensionalAnalyses|dateFrom", ""); 58 String strDateTo = vars.getGlobalVariable("inpDateTo", "ReportRefundSalesDimensionalAnalyses|dateTo", ""); 59 String strDateFromRef = vars.getGlobalVariable("inpDateFromRef", "ReportRefundSalesDimensionalAnalyses|dateFromRef", ""); 60 String strDateToRef = vars.getGlobalVariable("inpDateToRef", "ReportRefundSalesDimensionalAnalyses|dateToRef", ""); 61 String strPartnerGroup = vars.getGlobalVariable("inpPartnerGroup", "ReportRefundSalesDimensionalAnalyses|partnerGroup", ""); 62 String strcBpartnerId = vars.getInGlobalVariable("inpcBPartnerId_IN", "ReportRefundSalesDimensionalAnalyses|partner", ""); 63 String strProductCategory = vars.getGlobalVariable("inpProductCategory", "ReportRefundSalesDimensionalAnalyses|productCategory", ""); 64 String strmProductId = vars.getInGlobalVariable("inpmProductId_IN", "ReportRefundSalesDimensionalAnalyses|product", ""); 65 String strNotShown = vars.getInGlobalVariable("inpNotShown", "ReportRefundSalesDimensionalAnalyses|notShown", ""); 66 String strShown = vars.getInGlobalVariable("inpShown", "ReportRefundSalesDimensionalAnalyses|shown", ""); 67 String strOrg = vars.getGlobalVariable("inpOrg", "ReportRefundSalesDimensionalAnalyses|org", "0"); 68 String strsalesrepId = vars.getGlobalVariable("inpSalesrepId", "ReportRefundSalesDimensionalAnalyses|salesrep", ""); 69 String strmWarehouseId = vars.getGlobalVariable("inpmWarehouseId", "ReportRefundSalesDimensionalAnalyses|warehouseId", ""); 70 String strOrder = vars.getGlobalVariable("inpOrder","ReportRefundSalesDimensionalAnalyses|order","Normal"); 71 String strMayor = vars.getGlobalVariable("inpMayor", "ReportRefundSalesDimensionalAnalyses|mayor", ""); 72 String strMenor = vars.getGlobalVariable("inpMenor", "ReportRefundSalesDimensionalAnalyses|menor", ""); 73 String strRatioMayor = vars.getGlobalVariable("inpRatioMayor", "ReportRefundSalesDimensionalAnalyses|ratioMayor", ""); 74 String strRatioMenor = vars.getGlobalVariable("inpRatioMenor", "ReportRefundSalesDimensionalAnalyses|ratioMenor", ""); 75 String strComparative = ""; 76 if (vars.commandIn("DEFAULT_COMPARATIVE")) strComparative = vars.getRequestGlobalVariable("inpComparative", "ReportRefundSalesDimensionalAnalyses|comparative"); 77 else strComparative = vars.getGlobalVariable("inpComparative", "ReportRefundSalesDimensionalAnalyses|comparative", "N"); 78 printPageDataSheet(response, vars, strComparative, strDateFrom, strDateTo, strPartnerGroup, strcBpartnerId, strProductCategory, strmProductId, strNotShown, strShown, strDateFromRef, strDateToRef, strOrg, strsalesrepId, strmWarehouseId, strOrder, strMayor, strMenor, strRatioMayor, strRatioMenor); 79 }else if (vars.commandIn("EDIT_HTML", "EDIT_HTML_COMPARATIVE")) { 80 String strDateFrom = vars.getRequestGlobalVariable("inpDateFrom", "ReportRefundSalesDimensionalAnalyses|dateFrom"); 81 String strDateTo = vars.getRequestGlobalVariable("inpDateTo", "ReportRefundSalesDimensionalAnalyses|dateTo"); 82 String strDateFromRef = vars.getRequestGlobalVariable("inpDateFromRef", "ReportRefundSalesDimensionalAnalyses|dateFromRef"); 83 String strDateToRef = vars.getRequestGlobalVariable("inpDateToRef", "ReportRefundSalesDimensionalAnalyses|dateToRef"); 84 String strPartnerGroup = vars.getRequestGlobalVariable("inpPartnerGroup", "ReportRefundSalesDimensionalAnalyses|partnerGroup"); 85 String strcBpartnerId = vars.getRequestInGlobalVariable("inpcBPartnerId_IN", "ReportRefundSalesDimensionalAnalyses|partner"); 86 String strProductCategory = vars.getRequestGlobalVariable("inpProductCategory", "ReportRefundSalesDimensionalAnalyses|productCategory"); 87 String strmProductId = vars.getRequestInGlobalVariable("inpmProductId_IN", "ReportRefundSalesDimensionalAnalyses|product"); 88 String strNotShown = vars.getInStringParameter("inpNotShown"); 89 String strShown = vars.getInStringParameter("inpShown"); 90 String strOrg = vars.getGlobalVariable("inpOrg", "ReportRefundSalesDimensionalAnalyses|org", "0"); 91 String strsalesrepId = vars.getRequestGlobalVariable("inpSalesrepId", "ReportRefundSalesDimensionalAnalyses|salesrep"); 92 String strmWarehouseId = vars.getRequestGlobalVariable("inpmWarehouseId", "ReportRefundSalesDimensionalAnalyses|warehouseId"); 93 String strOrder = vars.getRequestGlobalVariable("inpOrder","ReportRefundSalesDimensionalAnalyses|order"); 94 String strMayor = vars.getStringParameter("inpMayor", ""); 95 String strMenor = vars.getStringParameter("inpMenor", ""); 96 String strRatioMayor = vars.getStringParameter("inpRatioMayor", ""); 97 String strRatioMenor = vars.getStringParameter("inpRatioMenor", ""); 98 String strComparative = vars.getStringParameter("inpComparative", "N"); 99 printPageHtml(response, vars, strComparative, strDateFrom, strDateTo, strPartnerGroup, strcBpartnerId, strProductCategory, strmProductId, strNotShown, strShown, strDateFromRef, strDateToRef, strOrg, strsalesrepId, strmWarehouseId, strOrder, strMayor, strMenor, strRatioMayor, strRatioMenor); 100 } else pageErrorPopUp(response); 101 } 102 103 void printPageDataSheet(HttpServletResponse response, VariablesSecureApp vars, String strComparative, String strDateFrom, String strDateTo, String strPartnerGroup, String strcBpartnerId, String strProductCategory, String strmProductId, String strNotShown, String strShown, String strDateFromRef, String strDateToRef, String strOrg, String strsalesrepId, String strmWarehouseId, String strOrder, String strMayor, String strMenor, String strRatioMayor, String strRatioMenor) throws IOException, ServletException { 104 if (log4j.isDebugEnabled()) log4j.debug("Output: dataSheet"); 105 String discard[]={"selEliminarHeader1"}; 106 String strCommand = "EDIT_PDF"; 107 if (strComparative.equals("Y")) { 108 discard[0] = "selEliminarHeader2"; 109 strCommand = "EDIT_PDF_COMPARATIVE"; 110 } 111 XmlDocument xmlDocument=null; 112 xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_reports/ReportRefundSalesDimensionalAnalysesFilter", discard).createXmlDocument(); 113 114 ToolBar toolbar = new ToolBar(this, vars.getLanguage(), "ReportRefundSalesDimensionalAnalysesFilter", false, "", "", "",false, "ad_reports", strReplaceWith, false, true); 115 toolbar.prepareSimpleToolBarTemplate(); 116 xmlDocument.setParameter("toolbar", toolbar.toString()); 117 118 try { 119 KeyMap key = new KeyMap(this, vars, "ReportRefundSalesDimensionalAnalyses.html"); 120 xmlDocument.setParameter("keyMap", key.getReportKeyMaps()); 121 } catch (Exception ex) { 122 throw new ServletException(ex); 123 } 124 try { 125 WindowTabs tabs = new WindowTabs(this, vars, "org.openbravo.erpCommon.ad_reports.ReportRefundSalesDimensionalAnalyses"); 126 xmlDocument.setParameter("parentTabContainer", tabs.parentTabs()); 127 xmlDocument.setParameter("mainTabContainer", tabs.mainTabs()); 128 xmlDocument.setParameter("childTabContainer", tabs.childTabs()); 129 xmlDocument.setParameter("theme", vars.getTheme()); 130 NavigationBar nav = new NavigationBar(this, vars.getLanguage(), "ReportRefundSalesDimensionalAnalyses.html", classInfo.id, classInfo.type, strReplaceWith, tabs.breadcrumb()); 131 xmlDocument.setParameter("navigationBar", nav.toString()); 132 LeftTabsBar lBar = new LeftTabsBar(this, vars.getLanguage(), "ReportRefundSalesDimensionalAnalyses.html", strReplaceWith); 133 xmlDocument.setParameter("leftTabs", lBar.manualTemplate()); 134 } catch (Exception ex) { 135 throw new ServletException(ex); 136 } 137 { 138 OBError myMessage = vars.getMessage("ReportRefundSalesDimensionalAnalyses"); 139 vars.removeMessage("ReportRefundSalesDimensionalAnalyses"); 140 if (myMessage!=null) { 141 xmlDocument.setParameter("messageType", myMessage.getType()); 142 xmlDocument.setParameter("messageTitle", myMessage.getTitle()); 143 xmlDocument.setParameter("messageMessage", myMessage.getMessage()); 144 } 145 } 146 147 xmlDocument.setParameter("calendar", vars.getLanguage().substring(0,2)); 148 xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";"); 149 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 150 xmlDocument.setParameter("dateFrom", strDateFrom); 151 xmlDocument.setParameter("dateFromdisplayFormat", vars.getSessionValue("#AD_SqlDateFormat")); 152 xmlDocument.setParameter("dateFromsaveFormat", vars.getSessionValue("#AD_SqlDateFormat")); 153 xmlDocument.setParameter("dateTo", strDateTo); 154 xmlDocument.setParameter("dateTodisplayFormat", vars.getSessionValue("#AD_SqlDateFormat")); 155 xmlDocument.setParameter("dateTosaveFormat", vars.getSessionValue("#AD_SqlDateFormat")); 156 xmlDocument.setParameter("dateFromRef", strDateFromRef); 157 xmlDocument.setParameter("dateFromRefdisplayFormat", vars.getSessionValue("#AD_SqlDateFormat")); 158 xmlDocument.setParameter("dateFromRefsaveFormat", vars.getSessionValue("#AD_SqlDateFormat")); 159 xmlDocument.setParameter("dateToRef", strDateToRef); 160 xmlDocument.setParameter("dateToRefdisplayFormat", vars.getSessionValue("#AD_SqlDateFormat")); 161 xmlDocument.setParameter("dateToRefsaveFormat", vars.getSessionValue("#AD_SqlDateFormat")); 162 xmlDocument.setParameter("cBpGroupId", strPartnerGroup); 163 xmlDocument.setParameter("mProductCategoryId", strProductCategory); 164 xmlDocument.setParameter("adOrgId", strOrg); 165 xmlDocument.setParameter("salesRepId", strsalesrepId); 166 xmlDocument.setParameter("mWarehouseId", strmWarehouseId); 167 xmlDocument.setParameter("normal", strOrder); 168 xmlDocument.setParameter("amountasc", strOrder); 169 xmlDocument.setParameter("amountdesc", strOrder); 170 xmlDocument.setParameter("ratioasc", strOrder); 171 xmlDocument.setParameter("ratiodesc", strOrder); 172 xmlDocument.setParameter("mayor", strMayor); 173 xmlDocument.setParameter("menor", strMenor); 174 xmlDocument.setParameter("ratioMayor", strRatioMayor); 175 xmlDocument.setParameter("ratioMenor", strRatioMenor); 176 xmlDocument.setParameter("comparative", strComparative); 177 xmlDocument.setParameter("command", strCommand); 178 try { 179 ComboTableData comboTableData = new ComboTableData(vars, this, "TABLEDIR", "C_BP_Group_ID", "", "", Utility.getContext(this, vars, "#User_Org", "ReportRefundSalesDimensionalAnalyses"), Utility.getContext(this, vars, "#User_Client", "ReportRefundSalesDimensionalAnalyses"), 0); 180 Utility.fillSQLParameters(this, vars, null, comboTableData, "ReportRefundSalesDimensionalAnalyses", strPartnerGroup); 181 xmlDocument.setData("reportC_BP_GROUPID","liststructure", comboTableData.select(false)); 182 comboTableData = null; 183 } catch (Exception ex) { 184 throw new ServletException(ex); 185 } 186 187 188 try { 189 ComboTableData comboTableData = new ComboTableData(vars, this, "TABLEDIR", "M_Product_Category_ID", "", "", Utility.getContext(this, vars, "#User_Org", "ReportRefundSalesDimensionalAnalyses"), Utility.getContext(this, vars, "#User_Client", "ReportRefundSalesDimensionalAnalyses"), 0); 190 Utility.fillSQLParameters(this, vars, null, comboTableData, "ReportRefundSalesDimensionalAnalyses", strProductCategory); 191 xmlDocument.setData("reportM_PRODUCT_CATEGORYID","liststructure", comboTableData.select(false)); 192 comboTableData = null; 193 } catch (Exception ex) { 194 throw new ServletException(ex); 195 } 196 197 xmlDocument.setData("reportAD_ORGID", "liststructure", OrganizationComboData.selectCombo(this, vars.getRole())); 198 try { 199 ComboTableData comboTableData = new ComboTableData(vars, this, "TABLE", "SalesRep_ID", "AD_User SalesRep", "", Utility.getContext(this, vars, "#User_Org", "ReportRefundSalesDimensionalAnalyses"), Utility.getContext(this, vars, "#User_Client", "ReportRefundSalesDimensionalAnalyses"), 0); 200 Utility.fillSQLParameters(this, vars, null, comboTableData, "ReportRefundSalesDimensionalAnalyses", strsalesrepId); 201 xmlDocument.setData("reportSalesRep_ID","liststructure", comboTableData.select(false)); 202 comboTableData = null; 203 } catch (Exception ex) { 204 throw new ServletException(ex); 205 } 206 207 xmlDocument.setData("reportCBPartnerId_IN", "liststructure", ReportRefundSalesDimensionalAnalysesData.selectBpartner(this, Utility.getContext(this, vars, "#User_Org", ""), Utility.getContext(this, vars, "#User_Client", ""), strcBpartnerId)); 208 xmlDocument.setData("reportMProductId_IN", "liststructure", ReportRefundSalesDimensionalAnalysesData.selectMproduct(this, Utility.getContext(this, vars, "#User_Org", ""), Utility.getContext(this, vars, "#User_Client", ""), strmProductId)); 209 try { 210 ComboTableData comboTableData = new ComboTableData(vars, this, "TABLEDIR", "M_Warehouse_ID", "", "", Utility.getContext(this, vars, "#User_Org", "ReportSalesDimensionalAnalyze"), Utility.getContext(this, vars, "#User_Client", "ReportSalesDimensionalAnalyze"), 0); 211 Utility.fillSQLParameters(this, vars, null, comboTableData, "ReportSalesDimensionalAnalyze", strmWarehouseId); 212 xmlDocument.setData("reportM_WAREHOUSEID","liststructure", comboTableData.select(false)); 213 comboTableData = null; 214 } catch (Exception ex) { 215 throw new ServletException(ex); 216 } 217 218 219 220 221 if (vars.getLanguage().equals("en_US")) { 222 xmlDocument.setData("structure1", ReportRefundSalesDimensionalAnalysesData.selectNotShown(this, strShown)); 223 xmlDocument.setData("structure2", strShown.equals("")?new ReportRefundSalesDimensionalAnalysesData[0]:ReportRefundSalesDimensionalAnalysesData.selectShown(this, strShown)); 224 } else { 225 xmlDocument.setData("structure1", ReportRefundSalesDimensionalAnalysesData.selectNotShownTrl(this,vars.getLanguage(), strShown)); 226 xmlDocument.setData("structure2", strShown.equals("")?new ReportRefundSalesDimensionalAnalysesData[0]:ReportRefundSalesDimensionalAnalysesData.selectShownTrl(this,vars.getLanguage(),strShown)); 227 } 228 229 response.setContentType("text/html; charset=UTF-8"); 230 PrintWriter out = response.getWriter(); 231 out.println(xmlDocument.print()); 232 out.close(); 233 } 234 235 void printPageHtml(HttpServletResponse response, VariablesSecureApp vars, String strComparative, String strDateFrom, String strDateTo, String strPartnerGroup, String strcBpartnerId, String strProductCategory, String strmProductId, String strNotShown, String strShown, String strDateFromRef, String strDateToRef, String strOrg, String strsalesrepId, String strmWarehouseId, String strOrder, String strMayor, String strMenor, String strRatioMayor, String strRatioMenor) throws IOException, ServletException{ 236 if (log4j.isDebugEnabled()) log4j.debug("Output: print html"); 237 XmlDocument xmlDocument=null; 238 String strOrderby = ""; 239 String [] discard = {"", "", "", "", "","",""}; 240 String [] discard1={"selEliminarBody1", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard", "discard"}; 241 if (strComparative.equals("Y")) discard1[0] = "selEliminarBody2"; 242 String strTitle = ""; 243 strTitle = Utility.messageBD(this, "From", vars.getLanguage()) + " "+strDateFrom+" " + Utility.messageBD(this, "To", vars.getLanguage()) + " "+strDateTo; 244 if (!strPartnerGroup.equals("")) strTitle = strTitle + ", " + Utility.messageBD(this, "ForBPartnerGroup", vars.getLanguage()) + " "+ReportRefundSalesDimensionalAnalysesData.selectBpgroup(this, strPartnerGroup); 245 if (!strProductCategory.equals("")) strTitle = strTitle+", " + Utility.messageBD(this, "ProductCategory", vars.getLanguage()) + " "+ReportRefundSalesDimensionalAnalysesData.selectProductCategory(this, strProductCategory); 246 if (!strsalesrepId.equals("")) strTitle = strTitle+", " + Utility.messageBD(this, "TheSalesRep", vars.getLanguage()) + " "+ReportRefundSalesDimensionalAnalysesData.selectSalesrep(this, strsalesrepId); 247 if (!strmWarehouseId.equals("")) strTitle = strTitle+" " + Utility.messageBD(this, "And", vars.getLanguage()) + " " + Utility.messageBD(this, "TheWarehouse", vars.getLanguage()) + " "+ReportRefundSalesDimensionalAnalysesData.selectMwarehouse(this, strmWarehouseId); 248 249 ReportRefundSalesDimensionalAnalysesData[] data = null; 250 String [] strShownArray = {"", "", "", "", "", "", ""}; 251 if (strShown.startsWith("(")) strShown = strShown.substring(1, strShown.length()-1); 252 if (!strShown.equals("")) { 253 strShown = Replace.replace(strShown, "'", ""); 254 strShown = Replace.replace(strShown, " ", ""); 255 StringTokenizer st = new StringTokenizer(strShown, ",", false); 256 int intContador = 0; 257 while (st.hasMoreTokens()){ 258 strShownArray[intContador] = st.nextToken(); 259 intContador++; 260 } 261 262 } 263 String [] strTextShow = {"", "", "", "", "","",""}; 264 int intDiscard = 0; 265 int intAuxDiscard = -1; 266 for (int i = 0; i<7; i++){ 267 if (strShownArray[i].equals("1")) { 268 strTextShow[i] = "C_BP_GROUP.NAME"; 269 intDiscard++; 270 } 271 else if (strShownArray[i].equals("2")) { 272 strTextShow[i] = "AD_COLUMN_IDENTIFIER(to_char('C_Bpartner'), to_char( C_BPARTNER.C_BPARTNER_ID), to_char( 'es_ES'))"; 273 intDiscard++; 274 } 275 else if (strShownArray[i].equals("3")) { 276 strTextShow[i] = "M_PRODUCT_CATEGORY.NAME"; 277 intDiscard++; 278 } 279 else if (strShownArray[i].equals("4")) { 280 strTextShow[i] = "AD_COLUMN_IDENTIFIER(to_char('M_Product'), to_char( M_PRODUCT.M_PRODUCT_ID), to_char( 'es_ES'))"; 281 intAuxDiscard = i; 282 } 283 else if (strShownArray[i].equals("5")) { 284 strTextShow[i] = "C_ORDER.DOCUMENTNO"; 285 intDiscard++; 286 } 287 else if (strShownArray[i].equals("6")) { 288 strTextShow[i] = "AD_USER.FIRSTNAME||' '||' '||AD_USER.LASTNAME"; 289 intDiscard++; 290 } 291 else if (strShownArray[i].equals("7")) { 292 strTextShow[i] = "M_WAREHOUSE.NAME"; 293 intDiscard++; 294 } 295 else { 296 strTextShow[i] = "''"; 297 discard[i] = "display:none;"; 298 } 299 } 300 if (intDiscard != 0){ 301 int k=1; 302 strOrderby = " ORDER BY NIVEL"+k+","; 303 while (k<intDiscard){ 304 strOrderby = strOrderby+"NIVEL"+k+","; 305 k++; 306 } 307 if (k==1){ 308 if (strOrder.equals("Normal")){ 309 strOrderby = " ORDER BY NIVEL"+k; 310 } else if (strOrder.equals("Amountasc")){ 311 strOrderby = " ORDER BY LINENETAMT ASC"; 312 } else if (strOrder.equals("Amountdesc")){ 313 strOrderby = " ORDER BY LINENETAMT DESC"; 314 } else if (strOrder.equals("Ratioasc")){ 315 strOrderby = " ORDER BY RATIO ASC"; 316 } else if (strOrder.equals("Ratiodesc")){ 317 strOrderby = " ORDER BY RATIO DESC"; 318 }else{ 319 strOrderby = "1"; 320 } 321 } else{ 322 if (strOrder.equals("Normal")){ 323 strOrderby += "NIVEL"+k; 324 } else if (strOrder.equals("Amountasc")){ 325 strOrderby += "LINENETAMT ASC"; 326 } else if (strOrder.equals("Amountdesc")){ 327 strOrderby += "LINENETAMT DESC"; 328 } else if (strOrder.equals("Ratioasc")){ 329 strOrderby += "RATIO ASC"; 330 } else if (strOrder.equals("Ratiodesc")){ 331 strOrderby += "RATIO DESC"; 332 } else{ 333 strOrderby = "1"; 334 } 335 } 336 337 } else{ 338 strOrderby = " ORDER BY 1"; 339 } 340 String strHaving = ""; 341 if (!strMayor.equals("") && !strMenor.equals("")) {strHaving = " HAVING SUM(LINENETAMT) > "+strMayor+" AND SUM(LINENETAMT) < "+strMenor;} 342 else if (!strMayor.equals("") && strMenor.equals("")) {strHaving = " HAVING SUM(LINENETAMT) > "+strMayor;} 343 else if (strMayor.equals("") && !strMenor.equals("")) {strHaving = " HAVING SUM(LINENETAMT) < "+strMenor;} 344 else{} 345 if (strHaving.equals("")){ 346 if (!strRatioMayor.equals("") && !strRatioMenor.equals("")) {strHaving = " HAVING DIVIDE(SUM(REFUNDAMT), (SUM(LINENETAMT)+SUM(REFUNDAMT)))*100 > "+strRatioMayor+" AND DIVIDE(SUM(REFUNDAMT), (SUM(LINENETAMT)+SUM(REFUNDAMT)))*100 < "+strRatioMenor;} 347 else if (!strRatioMayor.equals("") && strRatioMenor.equals("")) {strHaving = " HAVING DIVIDE(SUM(REFUNDAMT), (SUM(LINENETAMT)+SUM(REFUNDAMT)))*100 > "+strRatioMayor;} 348 else if (strRatioMayor.equals("") && !strRatioMenor.equals("")) {strHaving = " HAVING DIVIDE(SUM(REFUNDAMT), (SUM(LINENETAMT)+SUM(REFUNDAMT)))*100 < "+strRatioMenor;} 349 else{} 350 } else { 351 if (!strRatioMayor.equals("") && !strRatioMenor.equals("")) {strHaving = " AND DIVIDE(SUM(REFUNDAMT), (SUM(LINENETAMT)+SUM(REFUNDAMT)))*100 > "+strRatioMayor+" AND DIVIDE(SUM(REFUNDAMT), (SUM(LINENETAMT)+SUM(REFUNDAMT)))*100 < "+strRatioMenor;} 352 else if (!strRatioMayor.equals("") && strRatioMenor.equals("")) {strHaving = " AND DIVIDE(SUM(REFUNDAMT), (SUM(LINENETAMT)+SUM(REFUNDAMT)))*100 > "+strRatioMayor;} 353 else if (strRatioMayor.equals("") && !strRatioMenor.equals("")) {strHaving = " AND DIVIDE(SUM(REFUNDAMT), (SUM(LINENETAMT)+SUM(REFUNDAMT)))*100 < "+strRatioMenor;} 354 else{} 355 } 356 strOrderby = strHaving + strOrderby; 357 if (strComparative.equals("Y")){ 358 data = ReportRefundSalesDimensionalAnalysesData.select(this, strTextShow[0], strTextShow[1], strTextShow[2], strTextShow[3], strTextShow[4], strTextShow[5], strTextShow[6], Tree.getMembers(this, TreeData.getTreeOrg(this, vars.getClient()), strOrg), Utility.getContext(this, vars, "#User_Client", "ReportRefundInvoiceCustomerDimensionalAnalyses"), strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), strPartnerGroup, strcBpartnerId, strProductCategory, strmProductId, strsalesrepId, strmWarehouseId, strDateFromRef, DateTimeData.nDaysAfter(this, strDateToRef,"1"), strOrderby); 359 } else { 360 data = ReportRefundSalesDimensionalAnalysesData.selectNoComparative(this, strTextShow[0], strTextShow[1], strTextShow[2], strTextShow[3], strTextShow[4], strTextShow[5], strTextShow[6], Tree.getMembers(this, TreeData.getTreeOrg(this, vars.getClient()), strOrg), Utility.getContext(this, vars, "#User_Client", "ReportRefundInvoiceCustomerDimensionalAnalyses"), strDateFrom, DateTimeData.nDaysAfter(this, strDateTo,"1"), strPartnerGroup, strcBpartnerId, strProductCategory, strmProductId, strsalesrepId, strmWarehouseId, strOrderby); 361 } 362 363 if (data.length == 0 || data == null){ 364 data = ReportRefundSalesDimensionalAnalysesData.set(); 366 } else { 367 int contador = intDiscard; 368 if (intAuxDiscard != -1) contador = intAuxDiscard; 369 int k = 1; 370 if (strComparative.equals("Y")){ 371 for (int j = contador; j>0; j--){ 372 discard1[k] = "fieldTotalQtyNivel"+String.valueOf(j); 373 discard1[k+12] = "fieldTotalRefundQtyNivel"+String.valueOf(j); 374 discard1[k+24] = "fieldUomsymbol"+String.valueOf(j); 375 discard1[k+6] = "fieldTotalRefQtyNivel"+String.valueOf(j); 376 discard1[k+18] = "fieldTotalRefRefundQtyNivel"+String.valueOf(j); 377 k++; 378 } 379 } else { 380 for (int j = contador; j>0; j--){ 381 discard1[k] = "fieldNoncomparativeTotalQtyNivel"+String.valueOf(j); 382 discard1[k+10] = "fieldNoncomparativeTotalRefundQtyNivel"+String.valueOf(j); 383 discard1[k+20] = "fieldNoncomparativeUomsymbol"+String.valueOf(j); 384 k++; 385 } 386 } 387 388 } 389 xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_reports/ReportRefundSalesDimensionalAnalysesEdition", discard1).createXmlDocument(); 390 391 xmlDocument.setParameter("eliminar2", discard[1]); 392 xmlDocument.setParameter("eliminar3", discard[2]); 393 xmlDocument.setParameter("eliminar4", discard[3]); 394 xmlDocument.setParameter("eliminar5", discard[4]); 395 xmlDocument.setParameter("eliminar6", discard[5]); 396 xmlDocument.setParameter("eliminar7", discard[6]); 397 xmlDocument.setParameter("title", strTitle); 398 xmlDocument.setParameter("constante", "100"); 399 if (strComparative.equals("Y")){ 400 xmlDocument.setData("structure1", data); 401 } else { 402 xmlDocument.setData("structure2", data); 403 } 404 response.setContentType("text/html; charset=UTF-8"); 405 PrintWriter out = response.getWriter(); 406 out.println(xmlDocument.print()); 407 out.close(); 408 } 409 410 public String getServletInfo() { 411 return "Servlet ReportRefundSalesDimensionalAnalyses. This Servlet was made by Jon AlegrÃa"; 412 } } 414 415 | Popular Tags |