| 1 17 package org.openbravo.erpCommon.ad_forms; 18 19 import java.math.*; 20 import javax.servlet.*; 21 import org.apache.log4j.Logger ; 22 import org.openbravo.database.ConnectionProvider; 24 import org.openbravo.data.FieldProvider; 25 26 27 public class DocLine { 28 static Logger log4jDocLine = Logger.getLogger(DocLine.class); 29 30 public BigDecimal ZERO = new BigDecimal("0"); 31 32 33 public String p_DocumentType = ""; 34 35 public String m_TrxHeader_ID = ""; 36 37 public String m_TrxLine_ID = ""; 38 39 public String m_Line = ""; 40 41 42 public String m_C_UOM_ID = ""; 43 44 public String m_qty = ""; 45 46 47 48 public String m_C_Currency_ID = ""; 49 50 52 public String m_AmtSourceDr = "0"; 53 54 public String m_AmtSourceCr = "0"; 55 56 57 public String m_AmtAcctDr = ""; 58 public String m_AmtAcctCr = ""; 59 public String m_C_AcctSchema_ID = ""; 60 61 public ProductInfo p_productInfo = null; 62 63 64 public Account m_account = null; 65 66 public String m_AD_Org_ID = ""; 68 public String m_A_Asset_ID = ""; 69 public String m_C_BPartner_ID = ""; 70 public String m_M_Product_ID = ""; 71 public String m_AD_OrgTrx_ID = ""; 72 public String m_C_SalesRegion_ID = ""; 73 public String m_C_Project_ID = ""; 74 public String m_C_Campaign_ID = ""; 75 public String m_C_Activity_ID = ""; 76 public String m_C_LocFrom_ID = ""; 77 public String m_C_LocTo_ID = ""; 78 public String m_User1_ID = ""; 79 public String m_User2_ID = ""; 80 public String m_C_Charge_ID = ""; 82 public String m_ChargeAmt = ""; 83 84 public String m_description = ""; 85 86 public String m_C_Tax_ID = ""; 87 88 public String m_DateAcct = ""; 89 public String m_DateDoc = ""; 90 public String m_Record_Id2 = ""; 91 92 public DocLine(String DocumentType, String TrxHeader_ID, String TrxLine_ID){ 93 if (DocumentType == null) 94 throw new IllegalArgumentException ("DocLine - DocumentType is null"); 95 p_DocumentType = DocumentType; 96 m_TrxHeader_ID = TrxHeader_ID; 97 m_TrxLine_ID = TrxLine_ID; 98 } 100 public void loadAttributes (FieldProvider data, AcctServer vo){ 101 m_Record_Id2 = data.getField("cDebtpaymentId"); 102 m_AD_Org_ID = data.getField("adOrgId"); 103 m_C_BPartner_ID = data.getField("cBpartnerId"); 104 m_M_Product_ID = data.getField("mProductId"); 105 m_AD_OrgTrx_ID = data.getField("adOrgtrxId"); 106 m_C_SalesRegion_ID = data.getField("cSalesregionId"); 107 m_C_Project_ID = data.getField("cProjectId"); 108 m_A_Asset_ID = data.getField("aAssetId"); 109 m_C_Campaign_ID = data.getField("cCampaignId"); 110 m_C_Activity_ID = data.getField("cActivityId"); 111 m_C_LocFrom_ID =data.getField("cLocfromId"); 112 m_C_LocTo_ID = data.getField("cLoctoId"); 113 m_User1_ID = data.getField("user1Id"); 114 m_User2_ID = data.getField("user2Id"); 115 m_Line = data.getField("line"); 117 m_description = data.getField("description"); 118 m_C_Currency_ID = data.getField("cCurrencyId"); 119 log4jDocLine.debug("loadAttributes - C_CURRENCY_ID = " + m_C_Currency_ID); 120 m_C_UOM_ID = data.getField("cUomId"); 122 m_qty = data.getField("qty"); 123 m_C_Tax_ID = data.getField("cTaxId"); 125 m_C_Charge_ID = data.getField("cChargeId"); 126 m_ChargeAmt = data.getField("chargeamt"); 127 m_DateAcct = data.getField("dateacct"); 129 m_DateDoc = data.getField("datedoc"); 130 p_productInfo = new ProductInfo(m_M_Product_ID, vo); 133 134 if (m_AD_Org_ID == "") 136 m_AD_Org_ID = vo.AD_Org_ID; 137 if (m_C_Currency_ID == "") 138 m_C_Currency_ID = vo.C_Currency_ID; 139 } 141 142 public void setAmount (String amtSourceDr, String amtSourceCr){ 143 m_AmtSourceDr = amtSourceDr == "" ? "0" : amtSourceDr; 144 m_AmtSourceCr = amtSourceCr == "" ? "0" : amtSourceCr; 145 } 147 153 public void setConvertedAmt (String C_AcctSchema_ID, String amtAcctDr, String amtAcctCr){ 154 m_C_AcctSchema_ID = C_AcctSchema_ID; 155 m_AmtAcctDr = amtAcctDr; 156 m_AmtAcctCr = amtAcctCr; 157 } 159 163 public void setAccount (Account acct){ 164 m_account = acct; 165 } 167 172 public void setAD_Org_ID(String AD_Org_ID){ 173 m_AD_Org_ID = AD_Org_ID; 174 } 176 182 public Account getChargeAccount (AcctSchema as, BigDecimal amount, ConnectionProvider conn){ 183 if (m_C_Charge_ID.equals("")) 184 return null; 185 String Account_ID = ""; 186 DocLineData [] data = null; 187 Account acct =null; 188 try{ 189 data = DocLineData.select(conn, m_C_Charge_ID, as.getC_AcctSchema_ID()); 190 if (data.length>0){ 191 Account_ID = data[0].expense; if (amount != null && amount.signum() < 0) 193 Account_ID = data[0].revenue; } 195 if (Account_ID.equals("")){ 197 log4jDocLine.warn ("getChargeAccount - NO account for C_Charge_ID=" + m_C_Charge_ID); 198 return null; 199 } 200 acct = Account.getAccount (conn,Account_ID); 202 }catch(ServletException e){ 203 log4jDocLine.warn(e); 204 } 205 return acct; 206 } 208 212 public String getC_AcctSchema_ID(){ 213 return m_C_AcctSchema_ID; 214 } 216 220 public Account getAccount(){ 221 return m_account; 222 } 224 228 public String getAmtSourceDr(){ 229 return m_AmtSourceDr; 230 } 232 236 public String getAmtSourceCr(){ 237 return m_AmtSourceCr; 238 } 240 244 public String getC_RevenueRecognition_ID(){ 245 try { 246 return (p_productInfo.m_C_RevenueRecognition_ID==null)?"":p_productInfo.m_C_RevenueRecognition_ID; 247 } catch (Exception e) { 248 log4jDocLine.error("getC_RevenueRecognition_ID Error:"+e.toString()); 249 return ""; 250 } 251 } 253 257 public void setQty (String qty){ 258 m_qty = qty.equals("") ? "0" : qty; 259 } 261 265 public String getAmount(){ 266 BigDecimal AmtSourceDr = new BigDecimal(m_AmtSourceDr); 267 BigDecimal AmtSourceCr = new BigDecimal(m_AmtSourceCr); 268 return AmtSourceDr.subtract(AmtSourceCr).toString(); 269 } 271 275 public void setAmount (String sourceAmt){ 276 m_AmtSourceDr = sourceAmt == "" ? ZERO.toString() : sourceAmt; 277 m_AmtSourceCr = ZERO.toString(); 278 } 280 281 282 public String getServletInfo() { 283 return "Servlet for the accounting"; 284 } } 286 | Popular Tags |