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 ImportBPartner extends ImportProcess { 30 static Logger log4j = Logger.getLogger(ImportBPartner.class); 31 32 private String m_AD_Process_ID = ""; 33 private String m_Record_ID = ""; 34 private boolean m_deleteOldImported; 35 36 public ImportBPartner(ConnectionProvider conn, String AD_Process_ID, String recordId, boolean deleteOld) { 37 super(conn); 38 m_AD_Process_ID = AD_Process_ID; 39 m_Record_ID = recordId; 40 m_deleteOldImported = deleteOld; 41 } 42 43 protected String getAD_Process_ID() { 44 return m_AD_Process_ID; 45 } 46 47 protected String getRecord_ID() { 48 return m_Record_ID; 49 } 50 51 protected void createInstanceParams(VariablesSecureApp vars) throws ServletException { 52 if (log4j.isDebugEnabled()) log4j.debug("Creating parameters"); 53 } 54 55 protected boolean doIt(VariablesSecureApp vars) throws ServletException { 56 int no = 0; 57 ConnectionProvider conn = null; 58 Connection con = null; 59 try { 60 conn = getConnection(); 61 con = conn.getTransactionConnection(); 62 if(m_deleteOldImported) { 63 no = ImportBPartnerData.deleteOld(con, conn, getAD_Client_ID()); 64 if (log4j.isDebugEnabled()) log4j.debug("Delete Old Imported = " + no); 65 } 66 no = ImportBPartnerData.updateRecords(con, conn, getAD_Client_ID()); 68 if (log4j.isDebugEnabled()) log4j.debug("ImportBPartner Reset = " + no); 69 70 no = ImportBPartnerData.updateBPGroupDefault(con, conn, getAD_Client_ID()); 72 if (log4j.isDebugEnabled()) log4j.debug("ImportBPartner BPGroup = " + no); 73 no = ImportBPartnerData.updateBPGroupId(con, conn, getAD_Client_ID()); 74 if (log4j.isDebugEnabled()) log4j.debug("ImportBPartner BPGroupId = " + no); 75 no = ImportBPartnerData.updateGroupError(con, conn, getAD_Client_ID()); 76 if (log4j.isDebugEnabled()) log4j.debug("Invalid BPartner group = " + no); 77 78 no = ImportBPartnerData.updateCountryCodeDefault(con, conn, getAD_Client_ID()); 80 if (log4j.isDebugEnabled()) log4j.debug("ImportBPartner CountryCode = " + no); 81 no = ImportBPartnerData.updateCountryId(con, conn, getAD_Client_ID()); 82 if (log4j.isDebugEnabled()) log4j.debug("ImportBPartner CountryId = " + no); 83 no = ImportBPartnerData.updateCountryError(con, conn, getAD_Client_ID()); 84 if (log4j.isDebugEnabled()) log4j.debug("Invalid Country = " + no); 85 86 no = ImportBPartnerData.updateRegionDefault(con, conn, getAD_Client_ID()); 88 if (log4j.isDebugEnabled()) log4j.debug("ImportBPartner Region = " + no); 89 no = ImportBPartnerData.updateRegionId(con, conn, getAD_Client_ID()); 90 if (log4j.isDebugEnabled()) log4j.debug("ImportBPartner RegionId = " + no); 91 no = ImportBPartnerData.updateRegionError(con, conn, getAD_Client_ID()); 92 if (log4j.isDebugEnabled()) log4j.debug("Invalid Region = " + no); 93 94 no = ImportBPartnerData.updateGreetingId(con, conn, getAD_Client_ID()); 96 if (log4j.isDebugEnabled()) log4j.debug("ImportBPartner GreetingId = " + no); 97 no = ImportBPartnerData.updateGreetingError(con, conn, getAD_Client_ID()); 98 if (log4j.isDebugEnabled()) log4j.debug("Invalid Greeting = " + no); 99 100 no = ImportBPartnerData.updateBPartnerId(con, conn, getAD_Client_ID()); 102 if (log4j.isDebugEnabled()) log4j.debug("ImportBPartner BPartnerId = " + no); 103 104 no = ImportBPartnerData.updateADUserId(con, conn, getAD_Client_ID()); 106 if (log4j.isDebugEnabled()) log4j.debug("ImportBPartner ADUserId = " + no); 107 108 no = ImportBPartnerData.updateLocationId(con, conn, getAD_Client_ID()); 110 if (log4j.isDebugEnabled()) log4j.debug("ImportBPartner LocationId = " + no); 111 112 conn.releaseCommitConnection(con); 113 } catch (Exception se) { 114 try { 115 conn.releaseRollbackConnection(con); 116 } catch (Exception ignored) {} 117 se.printStackTrace(); 118 addLog(Utility.messageBD(conn, "ProcessRunError", vars.getLanguage())); 119 return false; 120 } 121 122 125 int noInsert = 0; 126 int noUpdate = 0; 127 128 try { 129 ImportBPartnerData[] data = ImportBPartnerData.select(conn, getAD_Client_ID()); 131 if (log4j.isDebugEnabled()) log4j.debug("Going through " + data.length + " records"); 132 for(int i=0;i<data.length;i++){ 133 String I_BPartner_ID = data[i].iBpartnerId; 134 String C_BPartner_ID = data[i].cBpartnerId; 135 boolean newBPartner = C_BPartner_ID == ""; 136 String C_BPartner_Location_ID = data[i].cBpartnerLocationId; 137 boolean newLocation = data[i].addr != null; 138 String AD_User_ID = data[i].adUserId; 139 boolean newContact = data[i].contactname != null; 140 con = conn.getTransactionConnection(); 141 142 if (newBPartner) { C_BPartner_ID = SequenceIdData.getSequence(conn, "C_BPartner", vars.getClient()); 145 try { 146 no = ImportBPartnerData.insertBPartner(con, conn, C_BPartner_ID, I_BPartner_ID); 147 if (log4j.isDebugEnabled()) log4j.debug("Insert BPartner = " + no); 148 noInsert++; 149 } catch (ServletException ex) { 150 if (log4j.isDebugEnabled()) log4j.debug("Insert BPartner - " + ex.toString()); 151 no = ImportBPartnerData.insertBPartnerError(con, conn, I_BPartner_ID); 152 conn.releaseRollbackConnection(con); 153 continue; 154 } 155 } else { try { 157 no = ImportBPartnerData.updateBPartner(con, conn, I_BPartner_ID, C_BPartner_ID); 158 if (log4j.isDebugEnabled()) log4j.debug("Update BPartner = " + no); 159 noUpdate++; 160 } catch (ServletException ex) { 161 if (log4j.isDebugEnabled()) log4j.debug("Update BPartner - " + ex.toString()); 162 no = ImportBPartnerData.updateBPartnerError(con, conn, I_BPartner_ID); 163 conn.releaseRollbackConnection(con); 164 continue; 165 } 166 } 167 168 if (C_BPartner_Location_ID != "") { } else if (newLocation) { String C_Location_ID = SequenceIdData.getSequence(conn, "C_Location", vars.getClient()); 172 try { 173 no = ImportBPartnerData.insertLocation(con, conn, C_Location_ID, I_BPartner_ID); 174 if (log4j.isDebugEnabled()) log4j.debug("Insert Location = " + no); 175 } catch (ServletException ex) { 176 if (log4j.isDebugEnabled()) log4j.debug("Insert Location - " + ex.toString()); 177 noInsert--; 178 no = ImportBPartnerData.insertLocationError(con, conn, I_BPartner_ID); 179 conn.releaseRollbackConnection(con); 180 continue; 181 } 182 C_BPartner_Location_ID = SequenceIdData.getSequence(conn, "C_BPartner_Location", vars.getClient()); 183 try { 184 no = ImportBPartnerData.insertBPLocation(con, conn, C_BPartner_Location_ID, C_BPartner_ID, C_Location_ID, I_BPartner_ID); 185 if (log4j.isDebugEnabled()) log4j.debug("Insert BP Location = " + no); 186 } catch (ServletException ex) { 187 if (log4j.isDebugEnabled()) log4j.debug("Insert BP Location - " + ex.toString()); 188 noInsert--; 189 no = ImportBPartnerData.insertBPLocationError(con, conn, I_BPartner_ID); 190 conn.releaseRollbackConnection(con); 191 continue; 192 } 193 } 194 195 if (AD_User_ID != "") { 197 try { 198 no = ImportBPartnerData.updateBPContact(con, conn, I_BPartner_ID, AD_User_ID); 199 if (log4j.isDebugEnabled()) log4j.debug("Update BP Contact = " + no); 200 } catch (ServletException ex) { 201 if (log4j.isDebugEnabled()) log4j.debug("Update BP Contact - " + ex.toString()); 202 noInsert--; 203 no = ImportBPartnerData.updateBPContactError(con, conn, I_BPartner_ID); 204 conn.releaseRollbackConnection(con); 205 continue; 206 } 207 } else if (newContact) { AD_User_ID = SequenceIdData.getSequence(conn, "AD_User", vars.getClient()); 209 try 210 { 211 if (data[i].contactname != null && data[i].contactname != "") { 212 no = ImportBPartnerData.insertBPContact(con, conn, AD_User_ID, C_BPartner_ID, (Integer.valueOf(C_BPartner_Location_ID).intValue() == 0)?"NULL":C_BPartner_Location_ID, I_BPartner_ID); 213 if (log4j.isDebugEnabled()) log4j.debug("Insert BP Contact = " + no); 214 } else { 215 AD_User_ID = "0"; 216 } 217 } catch (ServletException ex) { 218 if (log4j.isDebugEnabled()) log4j.debug("Insert BP Contact - " + ex.toString()); 219 noInsert--; 220 no = ImportBPartnerData.insertBPContactError(con, conn, I_BPartner_ID); 221 conn.releaseRollbackConnection(con); 222 continue; 223 } 224 } 225 226 try { 228 no = ImportBPartnerData.setImported(con, conn, C_BPartner_ID, (Integer.valueOf(C_BPartner_Location_ID).intValue() == 0)?"":C_BPartner_Location_ID, (Integer.valueOf(AD_User_ID).intValue() == 0)?"":AD_User_ID, I_BPartner_ID); 229 conn.releaseCommitConnection(con); 230 } catch (ServletException ex) { 231 if (log4j.isDebugEnabled()) log4j.debug("Update Imported - " + ex.toString()); 232 noInsert--; 233 no = ImportBPartnerData.updateSetImportedError(con, conn, I_BPartner_ID); 234 conn.releaseRollbackConnection(con); 235 continue; 236 } 237 } 238 239 no=ImportBPartnerData.updateNotImported(conn, getAD_Client_ID()); 241 } catch (Exception se) { 242 se.printStackTrace(); 243 addLog(Utility.messageBD(conn, "ProcessRunError", vars.getLanguage())); 244 return false; 245 } 246 addLog(Utility.messageBD(conn, "Errors", vars.getLanguage()) + ": " + no + "; "); 247 addLog("BPartner inserted: " + noInsert + "; "); 248 addLog("BPartner updated: " + noUpdate); 249 return true; 250 251 } } 253
| Popular Tags
|