1 17 package org.openbravo.erpCommon.ad_forms; 18 19 import org.openbravo.erpCommon.utility.SequenceIdData; 20 import org.openbravo.base.secureApp.VariablesSecureApp; 21 import java.math.*; 22 import java.util.*; 23 import javax.servlet.*; 24 import org.apache.log4j.Logger ; 25 import org.openbravo.database.ConnectionProvider; 27 import java.sql.Connection ; 28 import org.openbravo.data.FieldProvider; 29 30 31 public class DocGLJournal extends AcctServer { 32 static Logger log4jDocGLJournal = Logger.getLogger(DocGLJournal.class); 33 34 private String SeqNo = "0"; 35 36 40 public DocGLJournal(String AD_Client_ID){ 41 super(AD_Client_ID); 42 log4jDocGLJournal.info("- DocGLJournal - OBJECT CREATED."); 43 } 44 45 public String m_PostingType = Fact.POST_Actual; 46 47 public void loadObjectFieldProvider(ConnectionProvider conn, String AD_Client_ID, String Id) throws ServletException{ 48 setObjectFieldProvider(DocGLJournalData.select(conn, AD_Client_ID, Id)); 49 } 50 51 56 public boolean loadDocumentDetails (FieldProvider [] data,ConnectionProvider conn){ 57 loadDocumentType(); 59 m_PostingType = data[0].getField("PostingType"); 60 m_IsOpening = data[0].getField("isopening"); 61 62 p_lines = loadLines(conn); 64 log4jDocGLJournal.debug("Lines=" + p_lines.length); 65 return true; 66 } 68 72 private DocLine[] loadLines(ConnectionProvider conn){ 73 ArrayList<Object > list = new ArrayList<Object >(); 74 75 DocLineGLJournalData [] data = null; 76 try{ 77 data = DocLineGLJournalData.select(conn, Record_ID); 78 } 79 catch (ServletException e){ 80 log4jDocGLJournal.warn(e); 81 } 82 for(int i=0; i<data.length;i++){ 84 String Line_ID = data[i].glJournallineId; 85 DocLine docLine = new DocLine (DocumentType, Record_ID, Line_ID); 86 docLine.loadAttributes (data[i], this); 87 docLine.m_Record_Id2 = data[i].cDebtPaymentId; 88 String AmtSourceDr = data[i].amtsourcedr; 90 String AmtSourceCr = data[i].amtsourcecr; 91 docLine.setAmount (AmtSourceDr, AmtSourceCr); 92 String C_AcctSchema_ID = data[i].cAcctschemaId; 94 String AmtAcctDr = data[i].amtacctdr; 95 String AmtAcctCr = data[i].amtacctcr; 96 docLine.setConvertedAmt (C_AcctSchema_ID, AmtAcctDr, AmtAcctCr); 97 docLine.m_DateAcct = this.DateAcct; 98 String C_ValidCombination_ID = data[i].cValidcombinationId; 100 Account acct = null; 101 try{ 102 acct = new Account(conn,C_ValidCombination_ID); 103 }catch (ServletException e){ 104 log4jDocGLJournal.warn(e); 105 } 106 docLine.setAccount (acct); 107 docLine.setAD_Org_ID(acct.getAD_Org_ID()); 109 list.add(docLine); 111 } 112 DocLine[] dl = new DocLine[list.size()]; 114 list.toArray(dl); 115 return dl; 116 } 118 122 public BigDecimal getBalance(){ 123 BigDecimal retValue = ZERO; 124 StringBuffer sb = new StringBuffer (" ["); 125 for (int i = 0; i < p_lines.length; i++){ 127 retValue = retValue.add(new BigDecimal(p_lines[i].getAmount())); 128 sb.append("+").append(p_lines[i].getAmount()); 129 } 130 sb.append("]"); 131 log4jDocGLJournal.debug(toString() + " Balance=" + retValue + sb.toString()); 133 return retValue; 134 } 136 146 public Fact createFact (AcctSchema as,ConnectionProvider conn,Connection con,VariablesSecureApp vars) throws ServletException{ 147 Fact fact = new Fact (this, as, m_PostingType); 149 String Fact_Acct_Group_ID = SequenceIdData.getSequence(conn, "Fact_Acct_Group", vars.getClient()); 150 if (DocumentType.equals(AcctServer.DOCTYPE_GLJournal)){ 152 for (int i = 0; i < p_lines.length; i++){ 154 if (p_lines[i].getC_AcctSchema_ID().equals(as.getC_AcctSchema_ID ())){ 155 FactLine line = fact.createLine (p_lines[i],p_lines[i].getAccount(),C_Currency_ID,p_lines[i].getAmtSourceDr(), 156 p_lines[i].getAmtSourceCr (), Fact_Acct_Group_ID, nextSeqNo(SeqNo), DocumentType, conn); 157 } 158 } }else{ 160 log4jDocGLJournal.warn("createFact - " + "DocumentType unknown: " + DocumentType); 161 fact = null; 162 } 163 SeqNo = "0"; 164 return fact; 165 } 167 public String nextSeqNo(String oldSeqNo){ 168 log4jDocGLJournal.debug("DocGLJournal - oldSeqNo = " + oldSeqNo); 169 BigDecimal seqNo = new BigDecimal(oldSeqNo); 170 SeqNo = (seqNo.add(new BigDecimal("10"))).toString(); 171 log4jDocGLJournal.debug("DocGLJournal - nextSeqNo = " + SeqNo); 172 return SeqNo; 173 } 174 175 179 public boolean getDocumentConfirmation(ConnectionProvider conn, String strRecordId) { 180 return true; 181 } 182 183 public String getServletInfo() { 184 return "Servlet for the accounting"; 185 } } 187 | Popular Tags |