KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openbravo > erpCommon > ad_reports > MInOutTraceReports


1 /*
2  *************************************************************************
3  * The contents of this file are subject to the Openbravo Public License
4  * Version 1.0 (the "License"), being the Mozilla Public License
5  * Version 1.1 with a permitted attribution clause; you may not use this
6  * file except in compliance with the License. You may obtain a copy of
7  * the License at http://www.openbravo.com/legal/license.html
8  * Software distributed under the License is distributed on an "AS IS"
9  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
10  * License for the specific language governing rights and limitations
11  * under the License.
12  * The Original Code is Openbravo ERP.
13  * The Initial Developer of the Original Code is Openbravo SL
14  * All portions are Copyright (C) 2001-2006 Openbravo SL
15  * All Rights Reserved.
16  * Contributor(s): ______________________________________.
17  ************************************************************************
18  */

19 package org.openbravo.erpCommon.ad_reports;
20
21 import org.openbravo.erpCommon.utility.*;
22 import org.openbravo.erpCommon.businessUtility.WindowTabs;
23 import org.openbravo.base.secureApp.HttpSecureAppServlet;
24 import org.openbravo.base.secureApp.VariablesSecureApp;
25 import org.openbravo.xmlEngine.XmlDocument;
26 import java.io.*;
27 import javax.servlet.*;
28 import javax.servlet.http.*;
29
30 import java.math.BigDecimal JavaDoc;
31 import java.util.Hashtable JavaDoc;
32
33 import org.openbravo.erpCommon.ad_combos.AttributeSetInstanceComboData;
34
35 public class MInOutTraceReports extends HttpSecureAppServlet {
36
37   static final BigDecimal JavaDoc ZERO = new BigDecimal JavaDoc(0.0);
38   private String JavaDoc strmProductIdGlobal = "";
39   private String JavaDoc strmAttributesetinstanceIdGlobal = "";
40   private Hashtable JavaDoc calculated = new Hashtable JavaDoc();
41
42   int count = 0;
43
44   public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException {
45     VariablesSecureApp vars = new VariablesSecureApp(request);
46
47     if (!Utility.hasProcessAccess(this, vars, "", "RptM_InOutTraceReports")) {
48       bdError(response, "AccessTableNoView", vars.getLanguage());
49       return;
50     }
51
52     if (vars.commandIn("DEFAULT")) {
53       strmProductIdGlobal = vars.getGlobalVariable("inpmProductId", "MInOutTraceReports|M_Product_Id", "");
54       strmAttributesetinstanceIdGlobal = vars.getGlobalVariable("inpmAttributeSetInstanceId", "MInOutTraceReports|M_AttributeSetInstance_Id", "");
55       String JavaDoc strIn = vars.getGlobalVariable("inpInOut", "MInOutTraceReports|in", "Y");
56       printPageDataSheet(response, vars, strIn);
57     } else if (vars.commandIn("FIND")) {
58       strmProductIdGlobal = vars.getRequestGlobalVariable("inpmProductId", "MInOutTraceReports|M_Product_Id");
59       strmAttributesetinstanceIdGlobal = vars.getRequestGlobalVariable("inpmAttributeSetInstanceId", "MInOutTraceReports|M_AttributeSetInstance_Id");
60       String JavaDoc strIn = vars.getStringParameter("inpInOut").equals("")?"N":vars.getStringParameter("inpInOut");
61       printPageDataHtml(response, vars, strIn);
62     } else if (vars.commandIn("INVERSE")) {
63       strmProductIdGlobal = vars.getRequiredStringParameter("inpmProductId2");
64       strmAttributesetinstanceIdGlobal = vars.getRequiredStringParameter("inpmAttributeSetInstanceId2");
65       String JavaDoc strIn = vars.getRequiredStringParameter("inpIn2");
66       if ( strIn.equals("")) strIn="N";
67       vars.setSessionValue("MInOutTraceReports|in", strIn);
68       printPageDataHtml(response, vars, strIn);
69     } else pageError(response);
70   }
71
72   void printPageDataHtml(HttpServletResponse response, VariablesSecureApp vars, String JavaDoc strIn) throws IOException, ServletException {
73     if (log4j.isDebugEnabled()) log4j.debug("Output: dataSheet");
74     XmlDocument xmlDocument = xmlEngine.readXmlTemplate("/org/openbravo/erpCommon/ad_reports/MInOutTraceReportsEdit").createXmlDocument();
75     MInOutTraceReportsData[] data=null;
76     calculated.clear();
77     if (strmProductIdGlobal.equals("")) {
78       data = new MInOutTraceReportsData[0];
79     } else {
80       data = MInOutTraceReportsData.select(this, strmProductIdGlobal, strmAttributesetinstanceIdGlobal);
81     }
82     
83     xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n");
84     xmlDocument.setParameter("paramLanguage", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";");
85     
86     xmlDocument.setData("structure1", processData(vars, data, strIn));
87     if (log4j.isDebugEnabled()) log4j.debug("****FIN: "/* + ((data!=null && data.length>0)?data[0].html:"")*/);
88
89     
90     response.setContentType("text/html; charset=UTF-8");
91     PrintWriter out = response.getWriter();
92     out.println(xmlDocument.print());
93     out.close();
94   }
95   
96   void printPageDataSheet(HttpServletResponse response, VariablesSecureApp vars, String JavaDoc strIn) throws IOException, ServletException {
97     if (log4j.isDebugEnabled()) log4j.debug("Output: dataSheet");
98     XmlDocument xmlDocument = xmlEngine.readXmlTemplate("/org/openbravo/erpCommon/ad_reports/MInOutTraceReports").createXmlDocument();
99  
100
101     xmlDocument.setParameter("calendar", vars.getLanguage());
102     xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n");
103     xmlDocument.setParameter("mProduct", strmProductIdGlobal);
104     xmlDocument.setParameter("parameterM_ATTRIBUTESETINSTANCE_ID", strmAttributesetinstanceIdGlobal);
105     xmlDocument.setData("reportM_ATTRIBUTESETINSTANCE_ID","liststructure",AttributeSetInstanceComboData.select(this, vars.getLanguage(), strmProductIdGlobal, Utility.getContext(this, vars, "#User_Client", "MInOutTraceReports"), Utility.getContext(this, vars, "#User_Org", "MInOutTraceReports")));
106     xmlDocument.setParameter("productDescription", MInOutTraceReportsData.selectMproduct(this, strmProductIdGlobal));
107     xmlDocument.setParameter("paramLanguage", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";");
108     xmlDocument.setParameter("in", strIn);
109     xmlDocument.setParameter("out", strIn);
110     
111     if (log4j.isDebugEnabled()) log4j.debug("****FIN: "/* + ((data!=null && data.length>0)?data[0].html:"")*/);
112
113     ToolBar toolbar = new ToolBar(this, vars.getLanguage(), "MInOutTraceReports", false, "", "", "",false, "ad_reports", strReplaceWith, false, true);
114     toolbar.prepareSimpleToolBarTemplate();
115     xmlDocument.setParameter("toolbar", toolbar.toString());
116     try {
117       KeyMap key = new KeyMap(this, vars, "MInOutTraceReports.html");
118       xmlDocument.setParameter("keyMap", key.getReportKeyMaps());
119     } catch (Exception JavaDoc ex) {
120       throw new ServletException(ex);
121     }
122     try {
123       WindowTabs tabs = new WindowTabs(this, vars, "org.openbravo.erpCommon.ad_reports.MInOutTraceReports");
124       xmlDocument.setParameter("parentTabContainer", tabs.parentTabs());
125       xmlDocument.setParameter("mainTabContainer", tabs.mainTabs());
126       xmlDocument.setParameter("childTabContainer", tabs.childTabs());
127       xmlDocument.setParameter("theme", vars.getTheme());
128       NavigationBar nav = new NavigationBar(this, vars.getLanguage(), "MInOutTraceReports.html", classInfo.id, classInfo.type, strReplaceWith, tabs.breadcrumb());
129       xmlDocument.setParameter("navigationBar", nav.toString());
130       LeftTabsBar lBar = new LeftTabsBar(this, vars.getLanguage(), "MInOutTraceReports.html", strReplaceWith);
131       xmlDocument.setParameter("leftTabs", lBar.manualTemplate());
132     } catch (Exception JavaDoc ex) {
133       throw new ServletException(ex);
134     }
135     {
136       OBError myMessage = vars.getMessage("MInOutTraceReports");
137       vars.removeMessage("MInOutTraceReports");
138       if (myMessage!=null) {
139         xmlDocument.setParameter("messageType", myMessage.getType());
140         xmlDocument.setParameter("messageTitle", myMessage.getTitle());
141         xmlDocument.setParameter("messageMessage", myMessage.getMessage());
142       }
143     }
144
145     response.setContentType("text/html; charset=UTF-8");
146     PrintWriter out = response.getWriter();
147     out.println(xmlDocument.print());
148     out.close();
149   }
150   
151   /*void printPageDataSheet(HttpServletResponse response, VariablesSecureApp vars, String strIn) throws IOException, ServletException {
152     if (log4j.isDebugEnabled()) log4j.debug("Output: dataSheet");
153     XmlDocument xmlDocument = xmlEngine.readXmlTemplate("/org/openbravo/erpCommon/ad_reports/MInOutTraceReports").createXmlDocument();
154     MInOutTraceReportsData[] data=null;
155     calculated.clear();
156     if (strmProductIdGlobal.equals("")) {
157       data = new MInOutTraceReportsData[0];
158     } else {
159       data = MInOutTraceReportsData.select(this, strmProductIdGlobal, strmAttributesetinstanceIdGlobal);
160     }
161     xmlDocument.setParameter("calendar", vars.getLanguage());
162     xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n");
163     xmlDocument.setParameter("mProduct", strmProductIdGlobal);
164     xmlDocument.setParameter("parameterM_ATTRIBUTESETINSTANCE_ID", strmAttributesetinstanceIdGlobal);
165     xmlDocument.setData("reportM_ATTRIBUTESETINSTANCE_ID","liststructure",AttributeSetInstanceComboData.select(this, vars.getLanguage(), strmProductIdGlobal, Utility.getContext(this, vars, "#User_Client", "MInOutTraceReports"), Utility.getContext(this, vars, "#User_Org", "MInOutTraceReports")));
166     xmlDocument.setParameter("productDescription", MInOutTraceReportsData.selectMproduct(this, strmProductIdGlobal));
167     xmlDocument.setParameter("paramLanguage", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";");
168     xmlDocument.setParameter("paramIn", strIn);
169     xmlDocument.setData("structure1", processData(vars, data, strIn));
170     
171
172     ToolBar toolbar = new ToolBar(this, vars.getLanguage(), "MInOutTraceReports", false, "", "", "",false, "ad_reports", strReplaceWith, false, true);
173     toolbar.prepareSimpleToolBarTemplate();
174     xmlDocument.setParameter("toolbar", toolbar.toString());
175     try {
176       KeyMap key = new KeyMap(this, vars, "MInOutTraceReports.html");
177       xmlDocument.setParameter("keyMap", key.getReportKeyMaps());
178     } catch (Exception ex) {
179       throw new ServletException(ex);
180     }
181     try {
182       WindowTabs tabs = new WindowTabs(this, vars, "org.openbravo.erpCommon.ad_reports.MInOutTraceReports");
183       xmlDocument.setParameter("parentTabContainer", tabs.parentTabs());
184       xmlDocument.setParameter("mainTabContainer", tabs.mainTabs());
185       xmlDocument.setParameter("childTabContainer", tabs.childTabs());
186       xmlDocument.setParameter("theme", vars.getTheme());
187       NavigationBar nav = new NavigationBar(this, vars.getLanguage(), "MInOutTraceReports.html", classInfo.id, classInfo.type, strReplaceWith, tabs.breadcrumb());
188       xmlDocument.setParameter("navigationBar", nav.toString());
189       LeftTabsBar lBar = new LeftTabsBar(this, vars.getLanguage(), "MInOutTraceReports.html", strReplaceWith);
190       xmlDocument.setParameter("leftTabs", lBar.manualTemplate());
191     } catch (Exception ex) {
192       throw new ServletException(ex);
193     }
194     {
195       OBError myMessage = vars.getMessage("MInOutTraceReports");
196       vars.removeMessage("MInOutTraceReports");
197       if (myMessage!=null) {
198         xmlDocument.setParameter("messageType", myMessage.getType());
199         xmlDocument.setParameter("messageTitle", myMessage.getTitle());
200         xmlDocument.setParameter("messageMessage", myMessage.getMessage());
201       }
202     }
203
204     response.setContentType("text/html; charset=UTF-8");
205     PrintWriter out = response.getWriter();
206     out.println(xmlDocument.print());
207     out.close();
208   }*/

209
210   private MInOutTraceReportsData[] processData(VariablesSecureApp vars, MInOutTraceReportsData[] data, String JavaDoc strIn) throws ServletException {
211     if (data==null || data.length==0) return data;
212     for (int i=0;i<data.length;i++) {
213       data[i].html = processChilds(vars, data[i].mAttributesetinstanceId, data[i].mProductId, data[i].mLocatorId, strIn);
214     }
215     return data;
216   }
217
218   private String JavaDoc insertTabHtml() {
219     return " <td width=\"20px\" >&nbsp;</td>\n";
220   }
221
222   private String JavaDoc insertHeaderHtml(boolean isClose, String JavaDoc border) {
223     if (!isClose) return "<table border=\"" + border + "\" cellspacing=0 cellpadding=0 width=\"100%\" class=\"TraceTable\">\n";
224     else return "</table>\n";
225   }
226
227   private String JavaDoc insertTotal(String JavaDoc strTotal, String JavaDoc strUnit, String JavaDoc strTotalPedido, String JavaDoc strUnitPedido) {
228     BigDecimal JavaDoc total, totalPedido;
229     total = new BigDecimal JavaDoc(strTotal);
230     totalPedido = (!strTotalPedido.equals("")?new BigDecimal JavaDoc(strTotalPedido):ZERO);
231     total = total.setScale(2, BigDecimal.ROUND_HALF_UP);
232     totalPedido = totalPedido.setScale(2, BigDecimal.ROUND_HALF_UP);
233     StringBuffer JavaDoc resultado = new StringBuffer JavaDoc();
234     resultado.append("<td class=\"TraceQty\" width=\"80px\">\n");
235     resultado.append(total.toString()).append(" ").append(strUnit);
236     resultado.append("</td>\n");
237     if (totalPedido.intValue()!=0) {
238       resultado.append("<td class=\"TraceQtyOrder\" width=\"80px\">\n");
239       resultado.append(totalPedido.toString()).append(" ").append(strUnitPedido);
240       resultado.append("</td>\n");
241     }
242     return resultado.toString();
243   }
244
245   private String JavaDoc processChilds(VariablesSecureApp vars, String JavaDoc mAttributesetinstanceId, String JavaDoc mProductId, String JavaDoc mLocatorId, String JavaDoc strIn) throws ServletException {
246     Double JavaDoc total = 0.0, totalPedido = 0.0;
247     StringBuffer JavaDoc strHtml = new StringBuffer JavaDoc();
248     count +=1;
249     String JavaDoc strCalculated = mProductId + "&" + mAttributesetinstanceId + "&" + mLocatorId;
250     calculated.put(strCalculated, new Integer JavaDoc(count));
251     if (log4j.isDebugEnabled()) log4j.debug("****** Hashtable.add: " + strCalculated);
252     MInOutTraceReportsData[] dataChild = MInOutTraceReportsData.selectChilds(this, vars.getLanguage(), mAttributesetinstanceId, mProductId, mLocatorId, strIn.equals("Y")?"plusQty":"minusQty", strIn.equals("N")?"minusQty":"plusQty");
253     if (dataChild == null || dataChild.length==0) return "";
254
255     strHtml.append(insertHeaderHtml(false, "0"));
256     for (int i=0;i<dataChild.length;i++) {
257
258       if (dataChild[i].movementtype.equalsIgnoreCase("W+")) {
259         strHtml.append("<tr class=\"rojoOscuro\">");
260       } else if (dataChild[i].movementtype.equalsIgnoreCase("W-")) {
261         strHtml.append("<tr class=\"rojoOscuro\">");
262       } else if (dataChild[i].movementtype.equalsIgnoreCase("C+")) {
263         strHtml.append("<tr class=\"rojoClaro\">");
264       } else if (dataChild[i].movementtype.equalsIgnoreCase("C-")) {
265         strHtml.append("<tr class=\"rojoClaro\">");
266       } else if (dataChild[i].movementtype.equalsIgnoreCase("V+")) {
267         strHtml.append("<tr class=\"rojoClaro\">");
268       } else if (dataChild[i].movementtype.equalsIgnoreCase("V-")) {
269         strHtml.append("<tr class=\"rojoClaro\">");
270       } else if (dataChild[i].movementtype.equalsIgnoreCase("I+")) {
271         strHtml.append("<tr class=\"naranjaOscuro\">");
272       } else if (dataChild[i].movementtype.equalsIgnoreCase("I-")) {
273         strHtml.append("<tr class=\"naranjaOscuro\">");
274       } else if (dataChild[i].movementtype.equalsIgnoreCase("M+")) {
275         strHtml.append("<tr class=\"amarillo\">");
276       } else if (dataChild[i].movementtype.equalsIgnoreCase("M-")) {
277         strHtml.append("<tr class=\"amarillo\">");
278       } else if (dataChild[i].movementtype.equalsIgnoreCase("P+")) {
279         strHtml.append("<tr class=\"naranjaClaro\">");
280       } else if (dataChild[i].movementtype.equalsIgnoreCase("P-")) {
281         strHtml.append("<tr class=\"naranjaClaro\">");
282       } else strHtml.append("<tr class=\"amarillo\">");
283
284
285       strHtml.append("<td class=\"TraceTDSubTable\">\n");
286       strHtml.append(getData(dataChild[i], "TraceSubTable"));
287       strHtml.append("</td>");
288       total += Double.valueOf(dataChild[i].movementqty).doubleValue();
289       totalPedido += (!dataChild[i].quantityorder.equals("")?Double.valueOf(dataChild[i].quantityorder).doubleValue():0.0);
290       strHtml.append(insertTotal(Double.toString(total), dataChild[i].uomName, Double.toString(totalPedido), dataChild[i].productUomName));
291       strHtml.append(" </tr>\n");
292       if (log4j.isDebugEnabled()) log4j.debug("****** New line, qty: " + dataChild[i].movementqty + " " + getData(dataChild[i], "TraceSubTable"));
293       strHtml.append(processExternalChilds(vars, dataChild[i], strIn));
294     }
295     strHtml.append(insertHeaderHtml(true, ""));
296     return strHtml.toString();
297   }
298
299   private String JavaDoc processExternalChilds(VariablesSecureApp vars, MInOutTraceReportsData dataChild, String JavaDoc strIn) throws ServletException {
300     StringBuffer JavaDoc strHtml = new StringBuffer JavaDoc();
301     Double JavaDoc movementQty = Double.valueOf(dataChild.movementqty).doubleValue();
302     //if (log4j.isDebugEnabled()) log4j.debug("****PROCESSING EXTERNAL 1: " + movementQty.toString() + " and strIn: " + strIn);
303
if (strIn.equals("Y")) movementQty = movementQty * (-1);
304     if (log4j.isDebugEnabled()) log4j.debug("****PROCESSING EXTERNAL 2: " + movementQty.toString() + " and movementType:" + dataChild.movementtype);
305
306     if (dataChild.movementtype.startsWith("P") && movementQty > 0) {
307       String JavaDoc strNewId = dataChild.mProductionlineId;
308       MInOutTraceReportsData[] dataProduction;
309       if (log4j.isDebugEnabled()) log4j.debug("****PROCESSING PRODUCTIONLINE: " + strNewId + " " + strIn);
310       if (strIn.equals("Y")) {
311         dataProduction = MInOutTraceReportsData.selectProductionOut(this, vars.getLanguage(), strNewId);
312       } else {
313         dataProduction = MInOutTraceReportsData.selectProductionIn(this, vars.getLanguage(), strNewId);
314       }
315       if (dataProduction!=null && dataProduction.length>0) {
316         strHtml.append(" <tr>\n");
317         // strHtml.append(insertTabHtml());
318
strHtml.append(" <td colspan=\"3\">\n");
319         strHtml.append(insertHeaderHtml(false, "1"));
320         for (int j=0;j<dataProduction.length;j++) {
321           strHtml.append(" <tr>\n");
322           strHtml.append(insertTabHtml());
323           strHtml.append(" <td >\n");
324
325           String JavaDoc resultado2 = "";
326           strHtml.append("<table border=\"0\" cellspacing=0 cellpadding=0 width=\"100%\">\n");
327           strHtml.append(" <tr>\n");
328           strHtml.append(" <td class=\"TraceDate\" width=\"70\">").append(dataProduction[j].movementdate).append("</td>\n");
329           strHtml.append(" <td class=\"TraceMovementType\" width=\"100\">").append(dataProduction[j].movementtypeName).append("</td>\n");
330           strHtml.append(" <td class=\"TraceLocator\" width=\"100\">").append(dataProduction[j].locatorName).append("</td>\n");
331           strHtml.append(" <td class=\"TraceQty\" width=\"90\">").append(dataProduction[j].movementqty).append("&nbsp;").append(dataProduction[j].uomName).append("</td>\n");
332           strHtml.append(" <td class=\"TraceQtyOrder\" width=\"90\">").append(dataProduction[j].quantityorder).append("&nbsp;").append(dataProduction[j].productUomName).append("</td>\n");
333           resultado2 = dataProduction[j].productName;
334           strHtml.append(" <td class=\"TraceDescription\"><a HREF=\"#\" onclick=\"submitCommandForm('INVERSE', true, null, 'RptM_InOutTraceReports.html?inpmProductId2=" +dataProduction[j].mProductId+"&inpmAttributeSetInstanceId2="+dataProduction[j].mAttributesetinstanceId+"&inpIn2="+(strIn.equals("Y")?"N":"Y")+ "', '_self');return true;\">");
335           if (!resultado2.equals("")) strHtml.append(resultado2);
336           strHtml.append("&nbsp;</a></td>\n");
337           resultado2 = dataProduction[j].attributeName;
338           strHtml.append(" <td class=\"TraceDescription\" width=\"120\">");
339           if (!resultado2.equals("")) strHtml.append(resultado2);
340           strHtml.append("&nbsp;</td>\n");
341           strHtml.append("</tr></table>");
342
343           strHtml.append(" </td></tr>\n");
344           if (!dataProduction[j].mAttributesetinstanceId.equals("0")) {
345             String JavaDoc strCalculate = dataProduction[j].mProductId + "&" + dataProduction[j].mAttributesetinstanceId + "&" + dataProduction[j].mLocatorId;
346             if (log4j.isDebugEnabled()) log4j.debug("******** Hashtable.production: " + strCalculate);
347             if (log4j.isDebugEnabled()) log4j.debug("******** Production, hashtable calculated: " + calculated.get(strCalculate));
348             Integer JavaDoc isnull = (Integer JavaDoc)calculated.get(strCalculate);
349             if (isnull == null){
350               String JavaDoc strPartial = processChilds(vars, dataProduction[j].mAttributesetinstanceId, dataProduction[j].mProductId, dataProduction[j].mLocatorId, strIn);
351               if (!strPartial.equals("")) {
352                 strHtml.append(" <tr>\n");
353                 strHtml.append(insertTabHtml());
354                 strHtml.append(" <td>\n");
355                 strHtml.append(strPartial);
356                 strHtml.append(" </td>\n");
357                 strHtml.append(" </tr>\n");
358               }
359             }
360           }
361         }
362         strHtml.append(insertHeaderHtml(true, ""));
363         strHtml.append("</td></tr>\n");
364       }
365     }
366
367     if (dataChild.movementtype.startsWith("M") && movementQty > 0) {
368       String JavaDoc strNewId = dataChild.mMovementlineId;
369       MInOutTraceReportsData[] dataMovement;
370       if (log4j.isDebugEnabled()) log4j.debug("****PROCESSING MOVEMENTLINE: " + strNewId + " " + strIn);
371       // if (strIn.equals("Y")) {
372
dataMovement = MInOutTraceReportsData.selectMovement(this, vars.getLanguage(),strIn.equals("Y")?"M+":"M-", strNewId);
373       // } else {
374
// dataProduction = MInOutTraceReportsData.selectProductionIn(this, vars.getLanguage(),'M-', strNewId);
375
// }
376
if (dataMovement!=null && dataMovement.length>0) {
377         strHtml.append(" <tr>\n");
378         // strHtml.append(insertTabHtml());
379
strHtml.append(" <td colspan=\"3\">\n");
380         strHtml.append(insertHeaderHtml(false, "1"));
381         for (int j=0;j<dataMovement.length;j++) {
382           strHtml.append(" <tr>\n");
383           strHtml.append(insertTabHtml());
384           strHtml.append(" <td >\n");
385
386           String JavaDoc resultado2 = "";
387           strHtml.append("<table border=\"0\" cellspacing=0 cellpadding=0 width=\"100%\">\n");
388           strHtml.append(" <tr>\n");
389           strHtml.append(" <td class=\"TraceDate\" width=\"70\">").append(dataMovement[j].movementdate).append("</td>\n");
390           strHtml.append(" <td class=\"TraceMovementType\" width=\"100\">").append(dataMovement[j].movementtypeName).append("</td>\n");
391           strHtml.append(" <td class=\"TraceLocator\" width=\"100\">").append(dataMovement[j].locatorName).append("</td>\n");
392           strHtml.append(" <td class=\"TraceQty\" width=\"90\">").append(dataMovement[j].movementqty).append("&nbsp;").append(dataMovement[j].uomName).append("</td>\n");
393           strHtml.append(" <td class=\"TraceQtyOrder\" width=\"90\">").append(dataMovement[j].quantityorder).append("&nbsp;").append(dataMovement[j].productUomName).append("</td>\n");
394           resultado2 = dataMovement[j].productName;
395           strHtml.append(" <td class=\"TraceDescription\">");
396           if (!resultado2.equals("")) strHtml.append(resultado2);
397           strHtml.append("&nbsp;</td>\n");
398           resultado2 = dataMovement[j].attributeName;
399           strHtml.append(" <td class=\"TraceDescription\" width=\"120\">");
400           if (!resultado2.equals("")) strHtml.append(resultado2);
401           strHtml.append("&nbsp;</td>\n");
402           strHtml.append("</tr></table>");
403
404           // strHtml.append(getData(dataProduction[j], "Bordes"));
405
strHtml.append(" </td></tr>\n");
406           if (!dataMovement[j].mAttributesetinstanceId.equals("0")) {
407             String JavaDoc strPartial = "";
408             if (!dataMovement[j].mProductId.equals(strmProductIdGlobal)) {
409               if (log4j.isDebugEnabled()) log4j.debug("******** hashtable.production: Prod: " + dataMovement[j].mProductId + " Attr " + dataMovement[j].mAttributesetinstanceId + " Loc: " + dataMovement[j].mLocatorId);
410               String JavaDoc strCalculate = dataMovement[j].mProductId + "&" + dataMovement[j].mAttributesetinstanceId + "&" + dataMovement[j].mLocatorId;
411               if (log4j.isDebugEnabled()) log4j.debug("******** Movement, hashtable calculated: " + calculated.get(strCalculate));
412               Integer JavaDoc isnull = (Integer JavaDoc)calculated.get(strCalculate);
413               if (calculated.get(strCalculate) == null){
414                 strPartial = processChilds(vars, dataMovement[j].mAttributesetinstanceId, dataMovement[j].mProductId, dataMovement[j].mLocatorId, strIn);
415               }
416             }
417             if (!strPartial.equals("")) {
418               strHtml.append(" <tr>\n");
419               strHtml.append(insertTabHtml());
420               strHtml.append(" <td>\n");
421               strHtml.append(strPartial);
422               strHtml.append(" </td>\n");
423               strHtml.append(" </tr>\n");
424             }
425           }
426         }
427         strHtml.append(insertHeaderHtml(true, ""));
428         strHtml.append("</td></tr>\n");
429       }
430     }
431     return strHtml.toString();
432   }
433
434
435   private String JavaDoc getData(MInOutTraceReportsData data, String JavaDoc strClassName) throws ServletException {
436     StringBuffer JavaDoc resultado = new StringBuffer JavaDoc();
437     String JavaDoc resultado2 = "";
438     resultado.append("<table border=\"0\" cellspacing=0 cellpadding=0 width=\"100%\" class=\"").append(strClassName).append("\">\n");
439     resultado.append(" <tr>\n");
440     resultado.append(" <td class=\"TraceDate\" width=\"70\">").append(data.movementdate).append("</td>\n");
441     resultado.append(" <td class=\"TraceMovementType\" width=\"100\">").append(data.movementtypeName).append("</td>\n");
442     resultado.append(" <td class=\"TraceLocator\" width=\"100\">").append(data.locatorName).append("</td>\n");
443     resultado.append(" <td class=\"TraceQty\" width=\"90\">").append(data.movementqty).append("&nbsp;").append(data.uomName).append("</td>\n");
444     if (!data.quantityorder.equals("")) {
445       resultado.append(" <td class=\"TraceQtyOrder\" width=\"90\">").append(data.quantityorder).append("&nbsp;").append(data.productUomName).append("</td>\n");
446     }
447     if (data.movementtype.equalsIgnoreCase("W+")) {
448       //resultado2 = data.productionName;
449
} else if (data.movementtype.equalsIgnoreCase("W-")) {
450       //resultado2 = data.productionName;
451
} else if (data.movementtype.equalsIgnoreCase("C+")) {
452       resultado2 = data.vendorName;
453     } else if (data.movementtype.equalsIgnoreCase("C-")) {
454       resultado2 = data.vendorName;
455     } else if (data.movementtype.equalsIgnoreCase("V+")) {
456       resultado2 = data.vendorName;
457     } else if (data.movementtype.equalsIgnoreCase("V-")) {
458       resultado2 = data.vendorName;
459     } else if (data.movementtype.equalsIgnoreCase("I+")) {
460       resultado2 = data.inventoryName;
461     } else if (data.movementtype.equalsIgnoreCase("I-")) {
462       resultado2 = data.inventoryName;
463     } else if (data.movementtype.equalsIgnoreCase("M+")) {
464       resultado2 = data.movementName;
465     } else if (data.movementtype.equalsIgnoreCase("M-")) {
466       resultado2 = data.movementName;
467     } else if (data.movementtype.equalsIgnoreCase("P+")) {
468       resultado2 = data.productionName;
469     } else if (data.movementtype.equalsIgnoreCase("P-")) {
470       resultado2 = data.productionName;
471     } else resultado2 = data.name;
472
473     resultado.append(" <td class=\"TraceDescription\">");
474     if (!resultado2.equals("")) resultado.append(resultado2);
475     resultado.append("&nbsp;</td>\n");
476     resultado.append("</tr></table>");
477     return resultado.toString();
478   }
479
480
481   public String JavaDoc getServletInfo() {
482     return "Servlet MInOutTraceReports. This Servlet was made by Fernando Iriazabal";
483   } // end of getServletInfo() method
484
}
485
486
Popular Tags