| 1 19 package org.openbravo.erpCommon.ad_actionButton; 20 21 import org.openbravo.erpCommon.utility.*; 22 import org.openbravo.erpCommon.utility.Utility; 23 import org.openbravo.utils.FormatUtilities; 24 import org.openbravo.base.secureApp.HttpSecureAppServlet; 25 import org.openbravo.base.secureApp.VariablesSecureApp; 26 import org.openbravo.xmlEngine.XmlDocument; 27 import java.io.*; 28 import javax.servlet.*; 29 import javax.servlet.http.*; 30 31 32 import java.sql.Connection ; 34 35 public class CopyFromSettlement extends HttpSecureAppServlet { 36 37 38 public void init (ServletConfig config) { 39 super.init(config); 40 boolHist = false; 41 } 42 43 public void doPost (HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException { 44 VariablesSecureApp vars = new VariablesSecureApp(request); 45 46 if (!Utility.hasProcessAccess(this, vars, "", "CopyFromSettlement")) { 47 bdError(response, "AccessTableNoView", vars.getLanguage()); 48 return; 49 } 50 51 if (vars.commandIn("DEFAULT")) { 52 String strProcessId = vars.getGlobalVariable("inpProcessId", "CopyFromSettlement|AD_Process_ID"); 53 String strWindow = vars.getGlobalVariable("inpwindowId", "CopyFromSettlement|Window_ID"); 54 String strTab = vars.getGlobalVariable("inpTabId", "CopyFromSettlement|Tab_ID"); 55 String strSettlement = vars.getRequiredGlobalVariable("inpcSettlementId", "CopyFromSettlement|C_Settlement_ID"); 56 log4j.warn("*************** strSettlement - " + strSettlement); 57 printPageFS(response, vars); 58 } else if (vars.commandIn("FRAME1")) { 59 printPageFrame1(response, vars); 60 } else if (vars.commandIn("FRAME2")) { 61 String strDateFrom = vars.getStringParameter("inpDateFrom"); 62 String strDateTo = vars.getStringParameter("inpDateTo"); 63 String strDocumentNo = vars.getStringParameter("inpDocumentNo"); 64 String strDescription = vars.getStringParameter("inpDescription"); 65 String strSettlement = vars.getGlobalVariable("inpcSettlementId", "CopyFromSettlement|C_Settlement_ID"); 66 printPageFrame2(response, vars, strDescription, strDocumentNo, strDateFrom, strDateTo, strSettlement); 67 } else if (vars.commandIn("FIND")) { 68 String strDateFrom = vars.getStringParameter("inpDateFrom"); 69 String strDateTo = vars.getStringParameter("inpDateTo"); 70 String strDocumentNo = vars.getStringParameter("inpDocumentNo"); 71 String strDescription = vars.getStringParameter("inpDescription"); 72 String strSettlement = vars.getGlobalVariable("inpcSettlementId", "CopyFromSettlement|C_Settlement_ID"); 73 printPageFrame2(response, vars, strDescription, strDocumentNo, strDateFrom, strDateTo, strSettlement); 74 } else if (vars.commandIn("FRAME3")) { 75 printPageFrame3(response, vars); 76 } else if (vars.commandIn("FRAME4")) { 77 String strSettlement = vars.getGlobalVariable("inpcSettlementId", "CopyFromSettlement|C_Settlement_ID"); 78 String strSettlementFrom = vars.getStringParameter("inpcSettlementFromFrame4"); 79 printPageFrame4(response, vars, strSettlement, strSettlementFrom); 80 }else if (vars.commandIn("SAVE")) { 81 String strProcessId = vars.getGlobalVariable("inpProcessId", "CopyFromSettlement|AD_Process_ID"); 82 String strWindow = vars.getGlobalVariable("inpwindowId", "CopyFromSettlement|Window_ID"); 83 String strTab = vars.getGlobalVariable("inpTabId", "CopyFromSettlement|Tab_ID"); 84 String strSettlement = vars.getRequestGlobalVariable("inpcSettlementId", "CopyFromSettlement|C_Settlement_ID"); 85 String strKey= vars.getRequestGlobalVariable("inpcSettlementFromId", "CopyFromSettlement|C_SettlementFrom_ID"); 86 ActionButtonDefaultData[] tab = ActionButtonDefaultData.windowName(this, strTab); 87 String strWindowPath="", strTabName=""; 88 if (tab!=null && tab.length!=0) { 89 strTabName = FormatUtilities.replace(tab[0].name); 90 strWindowPath = "../" + FormatUtilities.replace(tab[0].description) + "/" + strTabName + "_Relation.html"; 91 } else strWindowPath = strDefaultServlet; 92 93 OBError myError = processButton(vars, strSettlement, strKey); 94 if (log4j.isDebugEnabled()) log4j.debug(myError.getMessage()); 95 vars.setMessage(strTab,myError); 96 log4j.warn("********** strWindowPath - " + strWindowPath); 97 printPageClosePopUp(response, vars, strWindowPath); 98 } else pageErrorPopUp(response); 99 } 100 101 102 OBError processButton(VariablesSecureApp vars, String strSettlement, String strKey) { 103 OBError myError = new OBError(); 104 myError.setTitle(""); 105 int i=0; 106 Connection conn = null; 107 108 String strDebtPayment = ""; 109 String strDebtPaymentBalancing = ""; 110 String strCBPartnerId = ""; 111 String strDate = ""; 112 String strDebe = ""; 113 String strHaber = ""; 114 String strImporte = ""; 115 try { 116 conn = getTransactionConnection(); 117 CopyFromSettlementData [] data = CopyFromSettlementData.select(this, strKey); 118 CopyFromSettlementData [] to = CopyFromSettlementData.selectSettlement(this, strSettlement); 119 for (i = 0;data!=null && i<data.length;i++){ 120 CopyFromSettlementData [] data1 =CopyFromSettlementData.selectDebtPaymentBalancing(this, data[i].cDebtPaymentId); 121 strDebtPayment = SequenceIdData.getSequence(this, "C_Debt_Payment", vars.getClient()); 122 strCBPartnerId = vars.getStringParameter("inpcBpartnerId"+data[i].cDebtPaymentId); 123 strDate = vars.getStringParameter("inpDate"+data[i].cDebtPaymentId); 124 strImporte = vars.getStringParameter("inpAmount"+data[i].cDebtPaymentId); 125 CopyFromSettlementData.insertDebtPayment(conn,this, strDebtPayment, to[0].client, to[0].org, vars.getUser(), data[i].isreceipt, strSettlement, data[i].description, strCBPartnerId, data[i].cCurrencyId, data[i].cBankaccountId, data[i].cCashbookId, data[i].paymentrule, strImporte, data[i].writeoffamt, strDate, data[i].ismanual, data[i].cGlitemId, data[i].isdirectposting); 126 for (int j=0;j<data1.length;j++){ 127 strDebe = vars.getStringParameter("inpDebe"+data1[j].cDebtPaymentBalancingId); 128 strHaber = vars.getStringParameter("inpHaber"+data1[j].cDebtPaymentBalancingId); 129 strDebtPaymentBalancing = SequenceIdData.getSequence(this, "C_Debt_Payment_Balancing", vars.getClient()); 130 CopyFromSettlementData.insert(conn,this, strDebtPaymentBalancing, to[0].client, to[0].org, vars.getUser(),strDebtPayment, strDebe, strHaber, data1[j].cGlitemId); 131 } 132 } 133 releaseCommitConnection(conn); 134 } catch (Exception e) { 135 try { 136 releaseRollbackConnection(conn); 137 } catch (Exception ignored) {} 138 e.printStackTrace(); 139 log4j.warn("Rollback in transaction"); 140 myError.setType("Error"); 141 myError.setMessage(Utility.messageBD(this, "ProcessRunError", vars.getLanguage())); 142 return myError; 143 } 144 myError.setType("Info"); 145 myError.setMessage(Utility.messageBD(this, "RecordsCopied", vars.getLanguage()) + i); 146 return myError; 147 } 148 149 150 void printPageFS(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException { 151 if (log4j.isDebugEnabled()) log4j.debug("Output: Button process Copy from Settlement"); 152 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_actionButton/CopyFromSettlement_FS").createXmlDocument(); 153 response.setContentType("text/html; charset=UTF-8"); 154 PrintWriter out = response.getWriter(); 155 out.println(xmlDocument.print()); 156 out.close(); 157 } 158 159 void printPageFrame1(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException { 160 if (log4j.isDebugEnabled()) log4j.debug("Output: Button process Copy from Settlement"); 161 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_actionButton/CopyFromSettlement_F1").createXmlDocument(); 162 String strDateFormat = vars.getSessionValue("#AD_SqlDateFormat"); 163 xmlDocument.setParameter("dateFromdisplayFormat", strDateFormat); 164 xmlDocument.setParameter("dateFromsaveFormat", strDateFormat); 165 xmlDocument.setParameter("dateTodisplayFormat", strDateFormat); 166 xmlDocument.setParameter("dateTosaveFormat", strDateFormat); 167 xmlDocument.setParameter("calendar", vars.getLanguage().substring(0,2)); 168 xmlDocument.setParameter("language", "LNG_POR_DEFECTO=\"" + vars.getLanguage() + "\";"); 169 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 170 response.setContentType("text/html; charset=UTF-8"); 171 PrintWriter out = response.getWriter(); 172 out.println(xmlDocument.print()); 173 out.close(); 174 } 175 176 void printPageFrame2(HttpServletResponse response, VariablesSecureApp vars, String strSetDescription, String strDocumentNo, String strDateFrom, String strDateTo, String strSettlement) throws IOException, ServletException { 177 if (log4j.isDebugEnabled()) log4j.debug("Output: Button process Copy from Settlement"); 178 String [] discard = {""}; 179 CopyFromSettlementData [] data = CopyFromSettlementData.selectRelation(this, "%"+strSetDescription+"%","%"+strDocumentNo+"%", strDateFrom, strDateTo); 180 if (data==null || data.length==0) discard[0] = new String ("sectionData"); 181 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_actionButton/CopyFromSettlement_F2", discard).createXmlDocument(); 182 xmlDocument.setData("structure", data); 183 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 184 xmlDocument.setParameter("paramSettlement", strSettlement); 185 response.setContentType("text/html; charset=UTF-8"); 186 PrintWriter out = response.getWriter(); 187 out.println(xmlDocument.print()); 188 out.close(); 189 } 190 191 void printPageFrame3(HttpServletResponse response, VariablesSecureApp vars) throws IOException, ServletException { 192 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_actionButton/CopyFromSettlement_F3").createXmlDocument(); 193 response.setContentType("text/html; charset=UTF-8"); 194 PrintWriter out = response.getWriter(); 195 out.println(xmlDocument.print()); 196 out.close(); 197 } 198 199 void printPageFrame4(HttpServletResponse response, VariablesSecureApp vars, String strSettlement, String strSettlementFrom) throws IOException, ServletException { 200 XmlDocument xmlDocument = xmlEngine.readXmlTemplate("org/openbravo/erpCommon/ad_actionButton/CopyFromSettlement_F4").createXmlDocument(); 201 String strDateFormat = vars.getSessionValue("#AD_SqlDateFormat"); 202 CopyFromSettlementData [] data = CopyFromSettlementData.selectDebtPaymentBalancingF4(this, strDateFormat, strSettlementFrom); 203 204 xmlDocument.setParameter("direction", "var baseDirection = \"" + strReplaceWith + "/\";\n"); 205 xmlDocument.setParameter("calendar", vars.getLanguage().substring(0,2)); 206 xmlDocument.setParameter("paramSettlementId", strSettlement); 207 xmlDocument.setParameter("paramSettlementFromId", strSettlementFrom); 208 xmlDocument.setData("structure", data); 209 response.setContentType("text/html"); 210 PrintWriter out = response.getWriter(); 211 out.println(xmlDocument.print()); 212 out.close(); 213 } 214 215 public String getServletInfo() { 216 return "Servlet Copy from settlement"; 217 } } 219 220 | Popular Tags |