KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openbravo > erpCommon > ad_forms > AcctSchema


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_forms;
18
19 import java.io.Serializable JavaDoc;
20 import org.openbravo.database.ConnectionProvider;
21 import org.apache.log4j.Logger ;
22 import javax.servlet.*;
23 import java.util.ArrayList JavaDoc;
24
25
26 public final class AcctSchema implements Serializable JavaDoc {
27   static Logger log4jAcctSchema = Logger.getLogger(AcctSchema.class);
28
29     public AcctSchema(ConnectionProvider conn, String JavaDoc C_AcctSchema_ID) {
30         m_C_AcctSchema_ID = "";
31         m_Name = null;
32         m_GAAP = null;
33         m_IsAccrual = "N";
34         m_HasAlias = "Y";
35         m_CostingMethod = null;
36         m_C_Currency_ID = "";
37         m_AD_Client_ID = "";
38         m_IsTradeDiscountPosted = "N";
39         m_IsDiscountCorrectsTax = "N";
40         m_CurrencyRateType = "S";
41         m_UseSuspenseBalancing = "N";
42         m_SuspenseBalancing_Acct = null;
43         m_UseSuspenseError = "N";
44         m_SuspenseError_Acct = null;
45         m_UseCurrencyBalancing = "N";
46         m_CurrencyBalancing_Acct = null;
47         m_DueTo_Acct = null;
48         m_DueFrom_Acct = null;
49         m_elementList = null;
50         log4jAcctSchema.debug("AcctSchema - " + C_AcctSchema_ID);
51         load(conn, C_AcctSchema_ID);
52     }
53
54
55     public void load(ConnectionProvider conn, String JavaDoc newC_AcctSchema_ID) {
56         log4jAcctSchema.debug("AcctSchema.load - " + newC_AcctSchema_ID);
57         m_C_AcctSchema_ID = newC_AcctSchema_ID;
58         AcctSchemaData [] data ;
59         try {
60             data = AcctSchemaData.select(conn, m_C_AcctSchema_ID);
61             if(data.length==1) {
62                 m_Name = data[0].name;
63                 m_GAAP = data[0].gaap;
64                 m_IsAccrual = data[0].isaccrual;
65                 m_CostingMethod = data[0].costingmethod;
66                 m_C_Currency_ID = data[0].cCurrencyId;
67                 m_HasAlias = data[0].hasalias;
68                 m_IsTradeDiscountPosted = data[0].istradediscountposted;
69                 m_IsDiscountCorrectsTax = data[0].isdiscountcorrectstax;
70                 m_AD_Client_ID = data[0].adClientId;
71             }
72             data = AcctSchemaData.selectAcctSchemaGL(conn, m_C_AcctSchema_ID);
73             if(data.length==1) {
74                 m_UseSuspenseBalancing = data[0].usesuspensebalancing;
75                 String JavaDoc ID = data[0].suspensebalancingAcct;
76                 if(m_UseSuspenseBalancing.equals("Y") && ID != "")// antes era "0"
77
m_SuspenseBalancing_Acct = Account.getAccount(conn, ID);
78                 else
79                     m_UseSuspenseBalancing = "N";
80                 log4jAcctSchema.debug("SuspenseBalancing=" + m_UseSuspenseBalancing + " " + m_SuspenseBalancing_Acct);
81                 m_UseSuspenseError = data[0].usesuspenseerror;
82                 ID = data[0].suspenseerrorAcct;
83                 if(m_UseSuspenseError.equals("Y") && ID != "")// antes era "0"
84
m_SuspenseError_Acct = Account.getAccount(conn, ID);
85                 else
86                     m_UseSuspenseError = "N";
87                 log4jAcctSchema.debug("SuspenseError=" + m_UseSuspenseError + " " + m_SuspenseError_Acct);
88                 m_UseCurrencyBalancing = data[0].usecurrencybalancing;
89                 ID = data[0].currencybalancingAcct;
90                 if(m_UseCurrencyBalancing.equals("Y") && ID != "")// antes era "0"
91
m_CurrencyBalancing_Acct = Account.getAccount(conn, ID);
92                 else
93                     m_UseCurrencyBalancing = "N";
94                 log4jAcctSchema.debug("CurrencyBalancing=" + m_UseCurrencyBalancing + " " + m_CurrencyBalancing_Acct);
95                 ID = data[0].intercompanyduetoAcct;
96                 if(ID != "")// antes era "0"
97
m_DueTo_Acct = Account.getAccount(conn, ID);
98                 ID = data[0].intercompanyduefromAcct;
99                 if(ID != "")// antes era "0"
100
m_DueFrom_Acct = Account.getAccount(conn, ID);
101             }
102             m_elementList = AcctSchemaElement.getAcctSchemaElementList(conn, m_C_AcctSchema_ID);
103         }
104         catch(ServletException e) {
105             log4jAcctSchema.warn("AcctSchema : " + e);
106             m_C_AcctSchema_ID = "";
107         }
108     }
109
110     /**
111      * Use Currency Balancing
112      * @return true if currency balancing
113      */

114     public boolean isCurrencyBalancing(){
115         return m_UseCurrencyBalancing.equals("Y");
116     } // useCurrencyBalancing
117

118     /**
119      * Get Currency Balancing Account
120      * @return currency balancing account
121      */

122     public Account getCurrencyBalancing_Acct(){
123         return m_CurrencyBalancing_Acct;
124     } // getCurrencyBalancing_Acct
125

126     /**
127      * Get AcctSchema Element
128      * @param segmentType segment type - AcctSchemaElement.SEGMENT_
129      * @return AcctSchemaElement
130      */

131     public AcctSchemaElement getAcctSchemaElement (String JavaDoc segmentType){
132         int size = m_elementList.size();
133         for (int i = 0; i < size; i++){
134             AcctSchemaElement ase = (AcctSchemaElement)m_elementList.get(i);
135             if (ase.m_segmentType.equals(segmentType))
136                 return ase;
137         }
138         return null;
139     } // getAcctSchemaElement
140

141     /**
142      * Get Acct_Schema
143      * @return C_AcctSchema_ID
144      */

145     public String JavaDoc getC_AcctSchema_ID(){
146         return m_C_AcctSchema_ID;
147     } // getC_AcctSchema_ID
148

149     /**
150      * Get C_Currency_ID
151      * @return C_Currency_ID
152      */

153     public String JavaDoc getC_Currency_ID(){
154         return m_C_Currency_ID;
155     } // getC_Currency_ID
156

157     /**
158      * Get Currency Rate Type
159      * @return Currency Rate Type
160      */

161     public String JavaDoc getCurrencyRateType(){
162         return m_CurrencyRateType;
163     } // getCurrencyRateType
164

165     /**
166      * Use Suspense Balancing
167      * @return true if suspense balancing
168      */

169     public boolean isSuspenseBalancing(){
170         return m_UseSuspenseBalancing.equals("Y");
171     } // useSuspenseBalancing
172

173     /**
174      * Is Accrual
175      * @return true if accrual
176      */

177     public boolean isAccrual(){
178         return m_IsAccrual.equals("Y");
179     } // isAccrual
180

181     /**
182      * Has AcctSchema Element
183      * @param segmentType segment type - AcctSchemaElement.SEGMENT_
184      * @return true if schema has segment type
185      */

186     public boolean isAcctSchemaElement (String JavaDoc segmentType){
187         return getAcctSchemaElement(segmentType) != null;
188     } // isAcctSchemaElement
189

190     /**
191      * Get Suspense Balancing Account
192      * @return suspense balancing account
193      */

194     public Account getSuspenseBalancing_Acct(){
195         return m_SuspenseBalancing_Acct;
196     } // getSuspenseBalancing_Acct
197

198     /**
199      * AcctSchema Element Array
200      * @param AD_Client_ID client
201      * @return AcctSchema Array of Client
202      */

203     public static AcctSchema[] getAcctSchemaArray(ConnectionProvider conn, String JavaDoc AD_Client_ID){
204         ArrayList JavaDoc<Object JavaDoc> list = getAcctSchemaList (conn, AD_Client_ID);
205         AcctSchema[] retValue = new AcctSchema [list.size()];
206         list.toArray(retValue);
207         return retValue;
208     } // getAcctSchemaArray
209

210     /**
211      * Factory: Get AccountSchema List
212      * @param AD_Client_ID client
213      * @return ArrayList of AcctSchema of Client
214      */

215     public static synchronized ArrayList JavaDoc<Object JavaDoc> getAcctSchemaList (ConnectionProvider conn, String JavaDoc AD_Client_ID){
216         // Create New
217
ArrayList JavaDoc<Object JavaDoc> list = new ArrayList JavaDoc<Object JavaDoc>();
218         AcctSchemaData [] data = null;
219         try{
220             data = AcctSchemaData.selectAcctSchema123(conn, AD_Client_ID);
221         }catch(ServletException e){
222             log4jAcctSchema.warn(e);
223         }
224         if (data.length>0){
225             String JavaDoc as = data[0].cAcctschema1Id;
226             list.add(new AcctSchema(conn, as));
227             //
228
if ( data[0].acct2Active.equals("Y")){
229                 as = data[0].cAcctschema2Id;
230                 if (!as.equals(""))
231                     list.add(new AcctSchema(conn,as));
232             }
233             if (data[0].acct3Active.equals("Y")){
234                 as = data[0].cAcctschema3Id;
235                 if (!as.equals(""))
236                     list.add(new AcctSchema(conn,as));
237             }
238         }
239         // Save
240
return list;
241     } // getAcctSchemaList
242

243     public String JavaDoc m_C_AcctSchema_ID;
244     public String JavaDoc m_Name;
245     public String JavaDoc m_GAAP;
246     public String JavaDoc m_IsAccrual;
247     public String JavaDoc m_HasAlias;
248     public String JavaDoc m_CostingMethod;
249     public String JavaDoc m_C_Currency_ID;
250     public String JavaDoc m_AD_Client_ID;
251     public String JavaDoc m_IsTradeDiscountPosted;
252     public String JavaDoc m_IsDiscountCorrectsTax;
253     public String JavaDoc m_CurrencyRateType;
254     public String JavaDoc m_UseSuspenseBalancing;
255     public Account m_SuspenseBalancing_Acct;
256     public String JavaDoc m_UseSuspenseError;
257     public Account m_SuspenseError_Acct;
258     public String JavaDoc m_UseCurrencyBalancing;
259     public Account m_CurrencyBalancing_Acct;
260     public Account m_DueTo_Acct;
261     public Account m_DueFrom_Acct;
262     ArrayList JavaDoc<Object JavaDoc> m_elementList;
263
264     // Costing Methods
265
public static final String JavaDoc COSTING_AVERAGE = "A";
266     public static final String JavaDoc COSTING_STANDARD = "S";
267 // public static final String COSTING_FIFO = "F";
268
// public static final String COSTING_LIFO = "L";
269
public static final String JavaDoc COSTING_LASTPO = "P";
270
271
272
273 }
274
Popular Tags