KickJava   Java API By Example, From Geeks To Geeks.

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


1 /*
2  ******************************************************************************
3  * The contents of this file are subject to the Compiere License Version 1.1
4  * ("License"); You may not use this file except in compliance with the License
5  * You may obtain a copy of the License at http://www.compiere.org/license.html
6  * Software distributed under the License is distributed on an "AS IS" basis,
7  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
8  * the specific language governing rights and limitations under the License.
9  * The Original Code is Compiere ERP & CRM Business Solution
10  * The Initial Developer of the Original Code is Jorg Janke and ComPiere, Inc.
11  * Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts
12  * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved.
13  * Contributor(s): Openbravo SL
14  * Contributions are Copyright (C) 2001-2006 Openbravo S.L.
15  ******************************************************************************
16 */

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 // imports for transactions
25
import org.openbravo.database.ConnectionProvider;
26 import java.sql.Connection JavaDoc;
27
28
29 public class ImportBPartner extends ImportProcess {
30   static Logger log4j = Logger.getLogger(ImportBPartner.class);
31
32   private String JavaDoc m_AD_Process_ID = "";
33   private String JavaDoc m_Record_ID = "";
34   private boolean m_deleteOldImported;
35
36   public ImportBPartner(ConnectionProvider conn, String JavaDoc AD_Process_ID, String JavaDoc 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 JavaDoc getAD_Process_ID() {
44     return m_AD_Process_ID;
45   }
46
47   protected String JavaDoc 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 JavaDoc 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             // Set Client, Org, IaActive, Created/Updated, ProductType
67
no = ImportBPartnerData.updateRecords(con, conn, getAD_Client_ID());
68             if (log4j.isDebugEnabled()) log4j.debug("ImportBPartner Reset = " + no);
69
70             // Set BPGroup
71
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             // Country
79
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             // Region
87
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             // Greeting
95
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             // BPartner
101
no = ImportBPartnerData.updateBPartnerId(con, conn, getAD_Client_ID());
102             if (log4j.isDebugEnabled()) log4j.debug("ImportBPartner BPartnerId = " + no);
103             
104             // ADUser
105
no = ImportBPartnerData.updateADUserId(con, conn, getAD_Client_ID());
106             if (log4j.isDebugEnabled()) log4j.debug("ImportBPartner ADUserId = " + no);
107
108             // Location
109
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 JavaDoc se) {
114       try {
115         conn.releaseRollbackConnection(con);
116       } catch (Exception JavaDoc ignored) {}
117             se.printStackTrace();
118             addLog(Utility.messageBD(conn, "ProcessRunError", vars.getLanguage()));
119             return false;
120         }
121
122     // till here, the edition of the I_ImportBPartner table
123
// now, the insertion from I_ImportBPartner table in C_BPartner...
124

125     int noInsert = 0;
126     int noUpdate = 0;
127
128         try {
129             // Go through Records
130
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 JavaDoc I_BPartner_ID = data[i].iBpartnerId;
134                 String JavaDoc C_BPartner_ID = data[i].cBpartnerId;
135                 boolean newBPartner = C_BPartner_ID == "";
136                 String JavaDoc C_BPartner_Location_ID = data[i].cBpartnerLocationId;
137                 boolean newLocation = data[i].addr != null;
138                 String JavaDoc AD_User_ID = data[i].adUserId;
139                 boolean newContact = data[i].contactname != null;
140                 con = conn.getTransactionConnection();
141
142                 // create/update BPartner
143
if (newBPartner) { // Insert new BPartner
144
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 { // Update existing BPartner
156
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                 // create/update BPartner Location
169
if (C_BPartner_Location_ID != "") { // Update Location
170
} else if (newLocation) { // New Location
171
String JavaDoc 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                 // Create/Update Contact
196
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) { // New Contact
208
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                 // Update I_Product
227
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             // Set Error to indicator to not imported
240
no=ImportBPartnerData.updateNotImported(conn, getAD_Client_ID());
241         } catch (Exception JavaDoc 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   } // doIt
252
}
253
Popular Tags