KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openbravo > erpCommon > ad_process > ChangeOrderOrg


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_process;
20
21 import java.io.*;
22 import java.util.*;
23 import javax.servlet.*;
24 import javax.servlet.http.*;
25 import org.openbravo.base.secureApp.HttpSecureAppServlet;
26 import org.openbravo.base.secureApp.VariablesSecureApp;
27 import org.openbravo.erpCommon.ad_combos.*;
28 import org.openbravo.erpCommon.businessUtility.WindowTabs;
29 import org.openbravo.erpCommon.utility.*;
30 import org.openbravo.utils.Replace;
31 import org.openbravo.xmlEngine.XmlDocument;
32
33
34 // imports for transactions
35
import java.sql.Connection JavaDoc;
36
37 public class ChangeOrderOrg extends HttpSecureAppServlet {
38
39   public void init (ServletConfig config) {
40     super.init(config);
41     boolHist = false;
42   }
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, "", "C_Order_Reset")) {
48       bdError(response, "AccessTableNoView", vars.getLanguage());
49       return;
50     }
51
52     if (vars.commandIn("DEFAULT")) {
53       String JavaDoc strBPartner = vars.getGlobalVariable("inpcBpartnerId", "ChangeOrderOrg.cBpartnerId", "");
54       String JavaDoc strOrg = vars.getGlobalVariable("inpadOrgId", "ChangeOrderOrg.adOrgId", "");
55       String JavaDoc strShipperpath = vars.getGlobalVariable("inpadShipperpathId", "ChangeOrderOrg.adShipperpathId", "");
56       String JavaDoc strForcedOrg = vars.getGlobalVariable("inpadForcedOrgId", "ChangeOrderOrg.adForcedOrgId", "");
57       String JavaDoc strPayment = vars.getGlobalVariable("inppaymentrule", "ChangeOrderOrg.paymentrule", "");
58       /*String strNewOrg = vars.getGlobalVariable("inpadOrgIdNew", "ChangeOrderOrg.adOrgIdNew", "");
59       String strTax = vars.getGlobalVariable("inpcTaxId", "ChangeOrderOrg.cTaxId", "");*/

60       printPage(response, vars, strBPartner, strOrg, strForcedOrg, "", strPayment, "", "");
61     } else if (vars.commandIn("FIND")) {
62       String JavaDoc strBPartner = vars.getRequestGlobalVariable("inpcBpartnerId", "ChangeOrderOrg.cBpartnerId");
63       String JavaDoc strOrg = vars.getRequestGlobalVariable("inpadOrgId", "ChangeOrderOrg.adOrgId");
64       String JavaDoc strShipperpath = vars.getRequestGlobalVariable("inpadShipperpathId", "ChangeOrderOrg.adShipperpathId");
65       String JavaDoc strForcedOrg = vars.getRequestGlobalVariable("inpadForcedOrgId", "ChangeOrderOrg.adForcedOrgId");
66       String JavaDoc strPayment = vars.getRequestGlobalVariable("inppaymentrule", "ChangeOrderOrg.paymentrule");
67       String JavaDoc strNewOrg = vars.getStringParameter("inpadOrgIdNew");
68       String JavaDoc strTax = vars.getStringParameter("inpcTaxId");
69       printPage(response, vars, strBPartner, strOrg, strForcedOrg, strShipperpath, strPayment, strNewOrg, strTax);
70     } else if (vars.commandIn("SAVE")) {
71       String JavaDoc strNewOrg = vars.getRequiredStringParameter("inpadOrgIdNew");
72       String JavaDoc strTax = vars.getStringParameter("inpcTaxId");
73       String JavaDoc strOrder = vars.getRequiredInParameter("inpcOrderId");
74       String JavaDoc strMessage = processSave(vars, strOrder, strNewOrg, strTax);
75       if (!strMessage.equals("")) vars.setSessionValue("ChangeOrderOrg.message", strMessage);
76       response.sendRedirect(strDireccion + request.getServletPath());
77     } else pageErrorPopUp(response);
78   }
79
80   String JavaDoc processSave(VariablesSecureApp vars, String JavaDoc strOrder, String JavaDoc strNewOrg, String JavaDoc strTax) {
81     if (log4j.isDebugEnabled()) log4j.debug("Save: ChangeOrderOrg ");
82     if (strOrder.equals("")) return "";
83     Connection JavaDoc conn = null;
84     try {
85       conn = this.getTransactionConnection();
86       if (strOrder.startsWith("(")) strOrder = strOrder.substring(1, strOrder.length()-1);
87       if (!strOrder.equals("")) {
88         strOrder = Replace.replace(strOrder, "'", "");
89         StringTokenizer st = new StringTokenizer(strOrder, ",", false);
90         while (st.hasMoreTokens()) {
91           String JavaDoc strOrderId = st.nextToken();
92           String JavaDoc StrDocBaseType = ChangeOrderOrgData.selectDocbasetype(this, strOrderId);
93           String JavaDoc StrDocSubTypeSo = ChangeOrderOrgData.selectDocsubtypeso(this, strOrderId);
94           String JavaDoc StrDocTypeID = ChangeOrderOrgData.selectDoctypeneworg(this, StrDocBaseType, StrDocSubTypeSo, strNewOrg);
95           String JavaDoc StrExistsShipment = ChangeOrderOrgData.selectExistsShipment(this, strOrderId);
96           if (ChangeOrderOrgData.checkRestrictions(conn, this, strOrderId)) {
97             releaseRollbackConnection(conn);
98             log4j.warn("The order is incorrect");
99             return Utility.messageBD(this, "ProcessRunError", vars.getLanguage());
100           }
101           boolean shouldDelete = ChangeOrderOrgData.shouldDeleteCashLine(conn, this, strOrderId);
102           ChangeOrderOrgData.resetOrder(conn, this, strOrderId);
103           ChangeOrderOrgData.updateDocAction(conn, this, vars.getUser(), strOrderId);
104           String JavaDoc pinstance = SequenceIdData.getSequence(this, "AD_PInstance", vars.getClient());
105           ChangeOrderOrgData.insertPInstance(conn, this, pinstance, "104", strOrderId, vars.getUser(), vars.getClient(), vars.getOrg());
106           ChangeOrderOrgData.processOrder(conn, this, pinstance);
107           ChangeOrderOrgData.updateLines(conn, this, strTax, vars.getUser(), strNewOrg, strOrderId);
108           ChangeOrderOrgData.update(conn, this, vars.getUser(), strNewOrg, StrDocTypeID, StrDocTypeID, strOrderId);
109             if (!StrExistsShipment.equals("0")) {
110                 int i=0;
111                 ChangeOrderOrgData[] shipmentsData = ChangeOrderOrgData.selectShipment(this, strOrderId);
112                 for (i=0;i<shipmentsData.length;i++) {
113                 ChangeOrderOrgData.updateProcessed(conn, this, vars.getUser(), shipmentsData[i].mInoutId);
114                 String JavaDoc StrDocTypeIDShipment = ChangeOrderOrgData.cDocttypeshipment(this, StrDocTypeID);
115                 String JavaDoc DocumentnoShipment = Utility.getDocumentNo(this, vars, "169", "M_Inout", StrDocTypeIDShipment, StrDocTypeIDShipment, false, true);
116                 ChangeOrderOrgData.updateShipment(conn, this, vars.getUser(), DocumentnoShipment, StrDocTypeIDShipment, strNewOrg, shipmentsData[i].mInoutId);
117                 ChangeOrderOrgData.updateShipmentlines(conn, this, vars.getUser(), strNewOrg, shipmentsData[i].mInoutId);
118                 ChangeOrderOrgData.updateMtransaction(conn, this, strNewOrg, vars.getUser(), shipmentsData[i].mInoutId);
119                 }
120             }
121             /*Pending change org for the invoices related*/
122           pinstance = SequenceIdData.getSequence(this, "AD_PInstance", vars.getClient());
123           ChangeOrderOrgData.insertPInstance(conn, this, pinstance, "104", strOrderId, vars.getUser(), vars.getClient(), vars.getOrg());
124           ChangeOrderOrgData.processOrder(conn, this, pinstance);
125           if (shouldDelete) ChangeOrderOrgData.deleteCashLine(conn, this, strOrderId);
126         }
127       }
128       releaseCommitConnection(conn);
129     } catch (Exception JavaDoc e) {
130       try {
131         releaseRollbackConnection(conn);
132       } catch (Exception JavaDoc ignored) {}
133       e.printStackTrace();
134       log4j.warn("Rollback in transaction");
135       return Utility.messageBD(this, "ProcessRunError", vars.getLanguage());
136     }
137     return Utility.messageBD(this, "Success", vars.getLanguage());
138   }
139
140   void printPage(HttpServletResponse response, VariablesSecureApp vars, String JavaDoc strBPartner, String JavaDoc strOrg, String JavaDoc strForcedOrg, String JavaDoc strShipperpath, String JavaDoc strPayment, String JavaDoc strNewOrg, String JavaDoc strTax) throws IOException, ServletException {
141       if (log4j.isDebugEnabled()) log4j.debug("Output: process ChangeOrderOrg");
142
143       XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_process/ChangeOrderOrg").createXmlDocument();
144
145       ToolBar toolbar = new ToolBar(this, vars.getLanguage(), "ChangeOrderOrg", false, "", "", "",false, "ad_process", strReplaceWith, false, true);
146       toolbar.prepareSimpleToolBarTemplate();
147       xmlDocument.setParameter("toolbar", toolbar.toString());
148
149       try {
150         KeyMap key = new KeyMap(this, vars, "ChangeOrderOrg.html");
151         xmlDocument.setParameter("keyMap", key.getReportKeyMaps());
152       } catch (Exception JavaDoc ex) {
153         throw new ServletException(ex);
154       }
155       try {
156         WindowTabs tabs = new WindowTabs(this, vars, "org.openbravo.erpCommon.ad_process.ChangeOrderOrg");
157         xmlDocument.setParameter("parentTabContainer", tabs.parentTabs());
158         xmlDocument.setParameter("mainTabContainer", tabs.mainTabs());
159         xmlDocument.setParameter("childTabContainer", tabs.childTabs());
160         xmlDocument.setParameter("theme", vars.getTheme());
161         NavigationBar nav = new NavigationBar(this, vars.getLanguage(), "ChangeOrderOrg.html", classInfo.id, classInfo.type, strReplaceWith, tabs.breadcrumb());
162         xmlDocument.setParameter("navigationBar", nav.toString());
163         LeftTabsBar lBar = new LeftTabsBar(this, vars.getLanguage(), "ChangeOrderOrg.html", strReplaceWith);
164         xmlDocument.setParameter("leftTabs", lBar.manualTemplate());
165       } catch (Exception JavaDoc ex) {
166         throw new ServletException(ex);
167       }
168       {
169         OBError myMessage = vars.getMessage("ChangeOrderOrg");
170         vars.removeMessage("ChangeOrderOrg");
171         if (myMessage!=null) {
172           xmlDocument.setParameter("messageType", myMessage.getType());
173           xmlDocument.setParameter("messageTitle", myMessage.getTitle());
174           xmlDocument.setParameter("messageMessage", myMessage.getMessage());
175         }
176       }
177
178       xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";");
179       xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n");
180
181       xmlDocument.setParameter("bpartner", strBPartner);
182       xmlDocument.setParameter("organization", strOrg);
183       xmlDocument.setParameter("forcedOrg", strForcedOrg);
184       xmlDocument.setParameter("paymentRule", strPayment);
185       xmlDocument.setParameter("organizationNew", strNewOrg);
186       xmlDocument.setParameter("shipperpath", strShipperpath);
187       xmlDocument.setParameter("tax", strTax);
188       xmlDocument.setParameter("bpartnerDes", ChangeOrderOrgData.selectBPartner(this, strBPartner));
189       String JavaDoc strMessage = vars.getSessionValue("ChangeOrderOrg.message");
190       if (!strMessage.equals("")) {
191         vars.removeSessionValue("ChangeOrderOrg.message");
192         strMessage = "alert('" + Replace.replace(strMessage, "'", "\'") + "');";
193       }
194       xmlDocument.setParameter("body", strMessage);
195
196       xmlDocument.setData("reportAD_Org_ID", "liststructure", OrganizationComboData.selectCombo(this, vars.getRole()));
197       xmlDocument.setData("reportAD_Org_IDNew", "liststructure", OrganizationComboData.selectCombo(this, vars.getRole()));
198
199         try {
200           ComboTableData comboTableData = new ComboTableData(vars, this, "TABLEDIR", "C_Tax_ID", "", "", Utility.getContext(this, vars, "#User_Org", "ChangeOrderOrg"), Utility.getContext(this, vars, "#User_Client", "ChangeOrderOrg"), 0);
201           Utility.fillSQLParameters(this, vars, null, comboTableData, "ChangeOrderOrg", strTax);
202           xmlDocument.setData("reportC_TAX_ID", "liststructure", comboTableData.select(false));
203           comboTableData = null;
204         } catch (Exception JavaDoc ex) {
205           throw new ServletException(ex);
206         }
207
208
209         try {
210           ComboTableData comboTableData = new ComboTableData(vars, this, "TABLEDIR", "AD_Org_ID", "", "", Utility.getContext(this, vars, "#User_Org", "ChangeOrderOrg"), Utility.getContext(this, vars, "#User_Client", "ChangeOrderOrg"), 0);
211           Utility.fillSQLParameters(this, vars, null, comboTableData, "ChangeOrderOrg", strForcedOrg);
212           xmlDocument.setData("reportAD_Forced_Org_ID", "liststructure", comboTableData.select(false));
213           comboTableData = null;
214         } catch (Exception JavaDoc ex) {
215           throw new ServletException(ex);
216         }
217
218
219         try {
220           ComboTableData comboTableData = new ComboTableData(vars, this, "TABLEDIR", "M_Warehouse_ID", "", "", Utility.getContext(this, vars, "#User_Org", "ChangeOrderOrg"), Utility.getContext(this, vars, "#User_Client","ChangeOrderOrg"), 0);
221           Utility.fillSQLParameters(this, vars, null, comboTableData, "ChangeOrderOrg", strShipperpath);
222           xmlDocument.setData("reportM_Warehouse_ID","liststructure", comboTableData.select(false));
223           comboTableData = null;
224         } catch (Exception JavaDoc ex) {
225           throw new ServletException(ex);
226         }
227
228         try {
229           ComboTableData comboTableData = new ComboTableData(vars, this, "LIST", "", "All_Payment Rule", "", Utility.getContext(this, vars, "#User_Org", "ChangeOrderOrg"), Utility.getContext(this, vars, "#User_Client","ChangeOrderOrg"), 0);
230           Utility.fillSQLParameters(this, vars, null, comboTableData, "ChangeOrderOrg", "");
231           xmlDocument.setData("reportPaymentRule","liststructure", comboTableData.select(false));
232           comboTableData = null;
233         } catch (Exception JavaDoc ex) {
234           throw new ServletException(ex);
235         }
236
237
238       if (vars.commandIn("DEFAULT") && strBPartner.equals("") && strOrg.equals("")) {
239         xmlDocument.setData("structure1", new ChangeOrderOrgData[0]);
240       } else {
241         xmlDocument.setData("structure1", ChangeOrderOrgData.select(this, vars.getLanguage(), Utility.getContext(this, vars, "#User_Client", "ChangeOrderOrg"), Utility.getContext(this, vars, "#User_Org", "ChangeOrderOrg"), strBPartner, strOrg, strForcedOrg, strPayment, strShipperpath));
242       }
243       
244       response.setContentType("text/html; charset=UTF-8");
245       PrintWriter out = response.getWriter();
246       out.println(xmlDocument.print());
247       out.close();
248     }
249
250   public String JavaDoc getServletInfo() {
251     return "Servlet ChangeOrderOrg";
252   } // end of getServletInfo() method
253
}
254
255
Popular Tags