1 14 package org.compiere.report; 15 16 import java.sql.*; 17 import java.util.*; 18 import java.math.*; 19 20 import org.compiere.process.*; 21 import org.compiere.model.*; 22 import org.compiere.util.*; 23 24 30 public class FinBalance extends SvrProcess 31 { 32 35 public FinBalance() 36 { 37 super(); 38 log.info(" "); 39 } 41 42 protected static Logger s_log = Logger.getCLogger (FinBalance.class); 43 44 private int m_C_AcctSchema_ID = 0; 45 private int m_C_Calendar_ID = 0; 46 private boolean m_IsRecreate = false; 47 48 51 protected void prepare() 52 { 53 ProcessInfoParameter[] para = getParameter(); 55 for (int i = 0; i < para.length; i++) 56 { 57 String name = para[i].getParameterName(); 58 if (para[i].getParameter() == null) 59 ; 60 else if (name.equals("C_AcctSchema_ID")) 61 m_C_AcctSchema_ID = ((BigDecimal)para[i].getParameter()).intValue(); 62 else if (name.equals("IsRecreate")) 63 m_IsRecreate = "Y".equals(para[i].getParameter()); 64 else 65 log.error("prepare - Unknown Parameter: " + name); 66 } 67 log.debug("prepare - C_AcctSchema_ID=" + m_C_AcctSchema_ID 68 + ", C_Calendar_ID=" + m_C_Calendar_ID + ", IsRecreate=" + m_IsRecreate); 69 } 71 72 77 protected String doIt() throws java.lang.Exception 78 { 79 if (m_IsRecreate && m_C_AcctSchema_ID != 0) 80 deleteBalance (m_C_AcctSchema_ID); 81 if (m_IsRecreate && m_C_AcctSchema_ID == 0) 82 updateBalance(m_C_AcctSchema_ID, true); else 84 updateBalance(m_C_AcctSchema_ID, false); return ""; 86 } 88 93 public static String deleteBalance (int C_AcctSchema_ID) 94 { 95 StringBuffer sql = new StringBuffer ("DELETE FROM Fact_Acct_Balance WHERE "); 96 if (C_AcctSchema_ID != 0) 97 sql.append ("C_AcctSchema_ID=").append (C_AcctSchema_ID); 98 int no = DB.executeUpdate(sql.toString()); 100 String msg = "@Deleted@=" + no; 101 s_log.debug("deleteBalance - C_AcctSchema_ID=" + C_AcctSchema_ID + " #=" + no); 102 return msg; 104 } 106 112 public static String updateBalance (int C_AcctSchema_ID, boolean deleteFirst) 113 { 114 s_log.info("updateBalance - C_AcctSchema_ID=" + C_AcctSchema_ID + " - DeleteFirst=" + deleteFirst); 115 long start = System.currentTimeMillis(); 116 try 117 { 118 String sql = "{CALL Fact_Acct_Balance_Update(?)}"; 119 CallableStatement cstmt = DB.prepareCall(sql); 120 cstmt.setString(1, deleteFirst ? "Y" : "N"); 121 cstmt.executeUpdate(); 122 cstmt.close(); 123 } 124 catch(SQLException e) 125 { 126 s_log.error("FinBalance.updateBalance", e); 127 return e.getLocalizedMessage(); 128 } 129 start = System.currentTimeMillis() - start; 131 s_log.info("updateBalance - " + (start/1000) + " sec"); 132 return ""; 133 } 135 136 137 138 142 public static void main(String [] args) 143 { 144 FinBalance finBalance1 = new FinBalance(); 145 } 147 } | Popular Tags |