X-Git-Url: https://harishankar.org/repos/?p=habeas.git;a=blobdiff_plain;f=src%2Fhabeas%2FUtility.java;h=0e6d9ebdb70a4b189f82d54fbb28c1e733f1efa8;hp=4a4042c727c3c36b5900727031f9f975c1c12e94;hb=67bb9fdd9ae3818a92a528d14d82baae0d483508;hpb=466a2393accd0d6d2df5f68d53488c667d5369de diff --git a/src/habeas/Utility.java b/src/habeas/Utility.java index 4a4042c..0e6d9eb 100644 --- a/src/habeas/Utility.java +++ b/src/habeas/Utility.java @@ -17,7 +17,7 @@ import java.util.logging.Logger; */ public class Utility { - static void setConnectionURL(String text) { + static void saveConnectionURL(String text) { connectionURL = text; Preferences.userRoot().put("ConnectionURL", text); } @@ -175,7 +175,9 @@ public class Utility { ArrayList notice = new ArrayList<>(); try { Connection conn = DriverManager.getConnection(JDBC + connectionURL); - PreparedStatement st = conn.prepareStatement("SELECT * FROM legalnotices WHERE id=?;"); + PreparedStatement st = conn.prepareStatement("SELECT legalnotices.*, clients.ClientName " + + "FROM legalnotices " + + "INNER JOIN clients WHERE ClientId=clients.id AND legalnotices.id=?;"); st.setInt(1, selid); ResultSet rs = st.executeQuery(); while (rs.next()) { @@ -195,6 +197,7 @@ public class Utility { notice.add (getValidDate (rs, "BillDate")); notice.add (rs.getBoolean ("ClarificationPending")); notice.add (rs.getString("ClarificationRemarks")); + notice.add (rs.getString("ClientName")); } return notice; } catch (SQLException ex) { @@ -272,6 +275,111 @@ public class Utility { Date sqldate = new Date (date.getTime()/1000); return sqldate; } + + static boolean updateNoticeBillDetails(int selid, String bill_status, + java.util.Date bill_date, int bill_amount) { + try { + Connection conn = DriverManager.getConnection(JDBC + connectionURL); + PreparedStatement st = conn.prepareStatement("UPDATE legalnotices" + + " SET BillStatus=?,BillDate=?,BillAmount=? WHERE id=?;"); + st.setString (1, bill_status); + st.setDate(2, toSqlDate(bill_date)); + st.setInt(3, bill_amount); + st.setInt(4, selid); + st.execute(); + conn.close(); + return true; + } catch (SQLException ex) { + Logger.getLogger(Utility.class.getName()).log(Level.SEVERE, null, ex); + return false; + } + + } + + static boolean createDatabase(String db_path) { + saveConnectionURL(db_path); + String tblClients = "CREATE TABLE IF NOT EXISTS \"clients\" (\n" + +" \"id\" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,\n" + +" \"ClientName\" VARCHAR(255) NOT NULL UNIQUE,\n" + +" \"ClientAddress\" TEXT,\n" + +" \"ContactPerson\" TEXT,\n" + +" \"MailID\" VARCHAR(255),\n" + +" \"ContactNumber\" VARCHAR(30)\n" + +" );"; + String tblNotices = "CREATE TABLE IF NOT EXISTS \"legalnotices\" (\n" + + " \"id\" INTEGER PRIMARY KEY AUTOINCREMENT,\n" + + " \"ReferenceNumber\" TEXT NOT NULL UNIQUE,\n" + + " \"Description\" TEXT NOT NULL,\n" + + " \"EntrustmentDate\" INTEGER NOT NULL,\n" + + " \"ClientId\" INTEGER,\n" + + " \"DraftCreated\" INTEGER DEFAULT 0,\n" + + " \"DraftApproved\" INTEGER DEFAULT 0 CHECK(DraftApproved<=DraftCreated),\n" + + " \"NoticeSent\" INTEGER DEFAULT 0 CHECK(NoticeSent<=DraftApproved),\n" + + " \"SentDate\" INTEGER CHECK(SentDate>=EntrustmentDate),\n" + + " \"RPADReference\" TEXT,\n" + + " \"NoticeDelivered\" INTEGER DEFAULT 0 CHECK(NoticeDelivered<=NoticeSent),\n" + + " \"DeliveryDate\" INTEGER CHECK(DeliveryDate>=SentDate),\n" + + " \"BillStatus\" TEXT DEFAULT 'PENDING',\n" + + " \"BillAmount\" INTEGER DEFAULT 1000 CHECK(BillAmount>0),\n" + + " \"BillDate\" INTEGER CHECK(BillDate>=DeliveryDate),\n" + + " \"ClarificationPending\" INTEGER DEFAULT 0,\n" + + " \"ClarificationRemarks\" TEXT\n" + + ");"; + String tblSettings = "CREATE TABLE IF NOT EXISTS \"settings\" (\n" + +" \"key\" TEXT UNIQUE,\n" + +" \"value\" TEXT,\n" + +" PRIMARY KEY(\"key\")\n" + + ");"; + try { + Connection conn = DriverManager.getConnection(JDBC + connectionURL); + Statement st1 = conn.createStatement(); + st1.execute(tblSettings); + st1.execute(tblClients); + st1.execute(tblNotices); + conn.close(); + return true; + } catch (SQLException ex) { + Logger.getLogger(Utility.class.getName()).log(Level.SEVERE, null, ex); + return false; + } + + } + + static boolean updateNoticeClarificationDetails(int selected_id, boolean + clarification_pending, String clarification_remarks) { + try { + Connection conn = DriverManager.getConnection(JDBC + connectionURL); + PreparedStatement st = conn.prepareStatement ("UPDATE legalnotices" + + " SET ClarificationPending=?, ClarificationRemarks=? " + + "WHERE id=?;"); + st.setBoolean(1, clarification_pending); + st.setString(2, clarification_remarks); + st.setInt (3, selected_id); + st.execute(); + conn.close (); + return true; + } catch (SQLException ex) { + Logger.getLogger(Utility.class.getName()).log(Level.SEVERE, null, ex); + return false; + } + + } + + static boolean deleteNotice(int r) { + try { + Connection conn = DriverManager.getConnection(JDBC + connectionURL); + PreparedStatement st = conn.prepareStatement("DELETE FROM legalnotices" + + " WHERE id=?;"); + st.setInt(1, r); + st.execute(); + conn.close(); + return true; + } catch (SQLException ex) { + Logger.getLogger(Utility.class.getName()).log(Level.SEVERE, null, ex); + return false; + } + + } public Utility () { } @@ -300,7 +408,7 @@ public class Utility { } - public static void getConnectionURL () { + public static void retrieveConnectionURL () { connectionURL = Preferences.userRoot().get("ConnectionURL", "legaldb"); }