1 17 package org.openbravo.erpCommon.ad_process; 18 19 import org.openbravo.erpCommon.utility.*; 20 import org.openbravo.base.secureApp.VariablesSecureApp; 21 import javax.servlet.*; 22 import org.apache.log4j.Logger ; 23 24 import org.openbravo.database.ConnectionProvider; 26 import java.sql.Connection ; 27 28 29 public class ImportBudget extends ImportProcess { 30 static Logger log4j = Logger.getLogger(ImportBudget.class); 31 32 private String m_AD_Process_ID = ""; 33 private String m_Record_ID = ""; 34 private String m_Budget_ID = ""; 35 private boolean m_deleteOldImported; 36 37 public ImportBudget(ConnectionProvider conn, String AD_Process_ID, String recordId, String strBudget, boolean deleteOld) { 38 super(conn); 39 m_AD_Process_ID = AD_Process_ID; 40 m_Record_ID = recordId; 41 m_deleteOldImported = deleteOld; 42 m_Budget_ID = strBudget; 43 } 44 45 protected String getAD_Process_ID() { 46 return m_AD_Process_ID; 47 } 48 49 protected String getRecord_ID() { 50 return m_Record_ID; 51 } 52 53 protected void createInstanceParams(VariablesSecureApp vars) throws ServletException { 54 if (log4j.isDebugEnabled()) log4j.debug("Creating parameters"); 55 addParameterString("DeleteOldImported", "20", m_deleteOldImported?"Y":"N"); 56 addParameterNumber("C_Budget_ID", "10", m_Budget_ID); 57 } 58 59 protected boolean doIt(VariablesSecureApp vars) throws ServletException { 60 int no = 0; 61 ConnectionProvider conn = null; 62 Connection con = null; 63 try { 64 conn = getConnection(); 65 con = conn.getTransactionConnection(); 66 if(m_deleteOldImported) { 67 no = ImportBudgetData.deleteOld(con, conn, getAD_Client_ID()); 68 if (log4j.isDebugEnabled()) log4j.debug("Delete Old Imported = " + no); 69 } 70 no = ImportBudgetData.updateRecords(con, conn, getAD_Client_ID(), m_Budget_ID); 72 if (log4j.isDebugEnabled()) log4j.debug("ImportBudget Reset = " + no); 73 74 no = ImportBudgetData.updateBPartnerId(con, conn, vars.getLanguage(), getAD_Client_ID()); 76 if (log4j.isDebugEnabled()) log4j.debug("ImportBudget BPartnerId = " + no); 77 no = ImportBudgetData.updatePartnerError(con, conn, getAD_Client_ID()); 78 if (log4j.isDebugEnabled()) log4j.debug("Invalid Partner = " + no); 79 80 no = ImportBudgetData.updateBPGroupId(con, conn, vars.getLanguage(), getAD_Client_ID()); 82 if (log4j.isDebugEnabled()) log4j.debug("ImportBudget BPGroupId = " + no); 83 no = ImportBudgetData.updateGroupError(con, conn, getAD_Client_ID()); 84 if (log4j.isDebugEnabled()) log4j.debug("Invalid BPartner group = " + no); 85 86 no = ImportBudgetData.updateProductId(con, conn, vars.getLanguage(), getAD_Client_ID()); 88 ImportBudgetData.updateUomId(con, conn, getAD_Client_ID()); 89 if (log4j.isDebugEnabled()) log4j.debug("ImportBudget ProductId = " + no); 90 no = ImportBudgetData.updateProductError(con, conn, getAD_Client_ID()); 91 if (log4j.isDebugEnabled()) log4j.debug("Invalid Product = " + no); 92 93 no = ImportBudgetData.updateProdCatId(con, conn, vars.getLanguage(), getAD_Client_ID()); 95 if (log4j.isDebugEnabled()) log4j.debug("ImportBudget Product Category = " + no); 96 no = ImportBudgetData.updateProdCatError(con, conn, getAD_Client_ID()); 97 if (log4j.isDebugEnabled()) log4j.debug("Invalid Product Category= " + no); 98 99 no = ImportBudgetData.updateTrxOrgId(con, conn, vars.getLanguage(), getAD_Client_ID()); 101 if (log4j.isDebugEnabled()) log4j.debug("ImportBudget Trx Organization = " + no); 102 no = ImportBudgetData.updateTrxOrgError(con, conn, getAD_Client_ID()); 103 if (log4j.isDebugEnabled()) log4j.debug("Invalid Trx Organization = " + no); 104 105 no = ImportBudgetData.updateSalesRegionId(con, conn, vars.getLanguage(), getAD_Client_ID()); 107 if (log4j.isDebugEnabled()) log4j.debug("ImportBudget Sales Region = " + no); 108 no = ImportBudgetData.updateSalesRegionError(con, conn, getAD_Client_ID()); 109 if (log4j.isDebugEnabled()) log4j.debug("Invalid Sales Region = " + no); 110 111 no = ImportBudgetData.updateProjectId(con, conn, vars.getLanguage(), getAD_Client_ID()); 113 if (log4j.isDebugEnabled()) log4j.debug("ImportBudget Project = " + no); 114 no = ImportBudgetData.updateProjectError(con, conn, getAD_Client_ID()); 115 if (log4j.isDebugEnabled()) log4j.debug("Invalid Project = " + no); 116 117 no = ImportBudgetData.updateCampaignId(con, conn, vars.getLanguage(), getAD_Client_ID()); 119 if (log4j.isDebugEnabled()) log4j.debug("ImportBudget Campaign = " + no); 120 no = ImportBudgetData.updateCampaignError(con, conn, getAD_Client_ID()); 121 if (log4j.isDebugEnabled()) log4j.debug("Invalid Campaign = " + no); 122 123 no = ImportBudgetData.updateActivityId(con, conn, vars.getLanguage(), getAD_Client_ID()); 125 if (log4j.isDebugEnabled()) log4j.debug("ImportBudget Activity = " + no); 126 no = ImportBudgetData.updateActivityError(con, conn, getAD_Client_ID()); 127 if (log4j.isDebugEnabled()) log4j.debug("Invalid Activity = " + no); 128 129 no = ImportBudgetData.updateValidCombinationId(con, conn, vars.getLanguage(), getAD_Client_ID()); 131 if (log4j.isDebugEnabled()) log4j.debug("ImportBudget Valid Combination = " + no); 132 no = ImportBudgetData.updateValidCombinationError(con, conn, getAD_Client_ID()); 133 if (log4j.isDebugEnabled()) log4j.debug("Invalid ValidCombination = " + no); 134 135 no = ImportBudgetData.updatePeriodId(con, conn, m_Budget_ID, getAD_Client_ID()); 137 if (log4j.isDebugEnabled()) log4j.debug("ImportBudget Period = " + no); 138 no = ImportBudgetData.updatePeriodError(con, conn, getAD_Client_ID()); 139 if (log4j.isDebugEnabled()) log4j.debug("Invalid Period = " + no); 140 141 no = ImportBudgetData.updateCurrencyId(con, conn, vars.getLanguage(), getAD_Client_ID()); 143 if (log4j.isDebugEnabled()) log4j.debug("ImportBudget Currency = " + no); 144 no = ImportBudgetData.updateCurrencyError(con, conn, getAD_Client_ID()); 145 if (log4j.isDebugEnabled()) log4j.debug("Invalid Currency = " + no); 146 147 no = ImportBudgetData.updateBudgetLineId(con, conn, m_Budget_ID, getAD_Client_ID()); 149 if (log4j.isDebugEnabled()) log4j.debug("ImportBudget BudgetLine = " + no); 150 151 conn.releaseCommitConnection(con); 152 } catch (Exception se) { 153 try { 154 conn.releaseRollbackConnection(con); 155 } catch (Exception ignored) {} 156 se.printStackTrace(); 157 addLog(Utility.messageBD(conn, "ProcessRunError", vars.getLanguage())); 158 return false; 159 } 160 161 164 int noInsert = 0; 165 int noUpdate = 0; 166 int seqNo = 0; 167 168 try { 169 ImportBudgetData[] data = ImportBudgetData.select(conn, getAD_Client_ID()); 171 seqNo = Integer.parseInt(ImportBudgetData.selectSeqNo(conn, m_Budget_ID)); 172 if (log4j.isDebugEnabled()) log4j.debug("Going through " + data.length + " records"); 173 for(int i=0;i<data.length;i++){ 174 String I_BudgetLine_ID = data[i].iBudgetlineId; 175 String C_BudgetLine_ID = data[i].cBudgetlineId; 176 boolean newBudgetLine = C_BudgetLine_ID == ""; 177 178 179 con = conn.getTransactionConnection(); 180 181 if (newBudgetLine) { C_BudgetLine_ID = SequenceIdData.getSequence(conn, "C_BudgetLine", vars.getClient()); 184 try { 185 no = ImportBudgetData.insertBudgetLine(con, conn, C_BudgetLine_ID, Integer.toString(seqNo), I_BudgetLine_ID); 186 if (log4j.isDebugEnabled()) log4j.debug("Insert BudgetLine = " + no); 187 noInsert++; 188 seqNo = seqNo + 10; 189 } catch (ServletException ex) { 190 if (log4j.isDebugEnabled()) log4j.debug("Insert BudgetLine - " + ex.toString()); 191 no = ImportBudgetData.insertBudgetLineError(con, conn, I_BudgetLine_ID); 192 conn.releaseRollbackConnection(con); 193 continue; 194 } 195 } else { try { 197 no = ImportBudgetData.updateBudgetLine(con, conn, I_BudgetLine_ID, C_BudgetLine_ID); 198 if (log4j.isDebugEnabled()) log4j.debug("Update BudgetLine = " + no); 199 noUpdate++; 200 } catch (ServletException ex) { 201 if (log4j.isDebugEnabled()) log4j.debug("Update BudgetLine - " + ex.toString()); 202 no = ImportBudgetData.updateBudgetLineError(con, conn, I_BudgetLine_ID); 203 conn.releaseRollbackConnection(con); 204 continue; 205 } 206 } 207 208 try { 210 no = ImportBudgetData.setImported(con, conn, C_BudgetLine_ID, I_BudgetLine_ID); 211 conn.releaseCommitConnection(con); 212 } catch (ServletException ex) { 213 if (log4j.isDebugEnabled()) log4j.debug("Update Imported - " + ex.toString()); 214 noInsert--; 215 no = ImportBudgetData.updateSetImportedError(con, conn, I_BudgetLine_ID); 216 conn.releaseRollbackConnection(con); 217 continue; 218 } 219 } 220 221 no=ImportBudgetData.updateNotImported(conn, getAD_Client_ID()); 223 } catch (Exception se) { 224 se.printStackTrace(); 225 addLog(Utility.messageBD(conn, "ProcessRunError", vars.getLanguage())); 226 return false; 227 } 228 addLog(Utility.messageBD(conn, "Errors", vars.getLanguage()) + ": " + no + "; "); 229 addLog("BudgetLine inserted: " + noInsert + "; "); 230 addLog("BudgetLine updated: " + noUpdate); 231 return true; 232 233 } } 235
| Popular Tags
|