X-Git-Url: https://harishankar.org/repos/?p=habeas.git;a=blobdiff_plain;f=src%2Fhabeas%2FUtility.java;fp=src%2Fhabeas%2FUtility.java;h=c0379a0964c490cb4126002107b168f525d28c97;hp=d9a231bbcc491ffb6577513e32ee612c5fb2aa08;hb=7b3591baf2fa1c09bf4f1ac0791400a2c5e9632f;hpb=02fd056bbcee3117ee1fad182f823159d2a25cff diff --git a/src/habeas/Utility.java b/src/habeas/Utility.java index d9a231b..c0379a0 100644 --- a/src/habeas/Utility.java +++ b/src/habeas/Utility.java @@ -7,6 +7,7 @@ package habeas; import java.io.FileNotFoundException; import java.io.FileOutputStream; +import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; @@ -501,6 +502,70 @@ public class Utility { } } + + static ArrayList getPendingPaymentBills() { + ArrayList data = new ArrayList<>(); + try { + Connection conn = DriverManager.getConnection(JDBC + connectionURL); + Statement st = conn.createStatement(); + ResultSet rs = st.executeQuery("SELECT ReferenceNumber, Description, " + + "BillDate, BillAmount, ClientName" + + " FROM legalnotices INNER JOIN clients ON ClientId=clients.id " + + "WHERE BillStatus='AWAITING PAYMENT';"); + + DateFormat fmt = new SimpleDateFormat ("dd/MM/yyyy"); + while (rs.next()) { + data.add (rs.getString("ReferenceNumber")); + data.add (rs.getString("Description")); + data.add (fmt.format (getValidDate(rs, "BillDate"))); + data.add (rs.getInt ("BillAmount")); + data.add (rs.getString("ClientName")); + } + conn.close (); + return data; + } catch (SQLException ex) { + Logger.getLogger(Utility.class.getName()).log(Level.SEVERE, null, ex); + return null; + } + + } + + static boolean saveReportCSV(String filePath, String[] reportCols, ArrayList reportData) { + try { + FileWriter f = new FileWriter (filePath); + for (int i = 0; i < reportCols.length; i ++) { + f.append (escapeQuote(reportCols[i])); + f.append (", "); + } + f.append("\n"); + for (int i = 0; i < reportData.size(); i += reportCols.length) { + for (int j = 0; j < reportCols.length; j ++) { + f.append (escapeQuote(reportData.get(i+j))); + f.append (", "); + } + f.append ("\n"); + } + f.flush(); + f.close(); + return true; + } catch (IOException ex) { + Logger.getLogger(Utility.class.getName()).log(Level.SEVERE, null, ex); + return false; + } + + } + + private static String escapeQuote(Object bareStr) { + if (bareStr.getClass() == String.class) { + String str = (String)bareStr; + String escapedStr = str.replace ("\"", "\"\""); + System.out.println(escapedStr); + String finalStr = String.format ("\"%s\"", escapedStr); + return finalStr; + } + else + return String.format("\"%s\"", bareStr.toString()); + } public Utility () { }