From bc2309fb0a6c83daa94320d06619c1f8b153696c Mon Sep 17 00:00:00 2001 From: Harishankar Date: Thu, 2 Apr 2020 15:45:08 +0530 Subject: [PATCH] Reporting Functionality - added few reports Added a few reports to the reporting functionality from the menus. --- src/habeas/MainFrame.form | 26 ++++++++-- src/habeas/MainFrame.java | 65 ++++++++++++++++++++++--- src/habeas/NoticesReportViewDialog.form | 1 + src/habeas/NoticesReportViewDialog.java | 1 + src/habeas/Utility.java | 21 +++++++- 5 files changed, 102 insertions(+), 12 deletions(-) diff --git a/src/habeas/MainFrame.form b/src/habeas/MainFrame.form index 3328dce..b91160d 100644 --- a/src/habeas/MainFrame.form +++ b/src/habeas/MainFrame.form @@ -62,13 +62,22 @@ - + - - + + - + + + + + + + + + + @@ -80,6 +89,15 @@ + + + + + + + + + diff --git a/src/habeas/MainFrame.java b/src/habeas/MainFrame.java index 3ff0418..3e84430 100644 --- a/src/habeas/MainFrame.java +++ b/src/habeas/MainFrame.java @@ -39,8 +39,10 @@ public class MainFrame extends javax.swing.JFrame { jSeparator1 = new javax.swing.JPopupMenu.Separator(); menuGenerateRaisedBills = new javax.swing.JMenuItem(); menuNoticesReports = new javax.swing.JMenu(); - menuAwaitingPayment = new javax.swing.JMenuItem(); + menuNoticesClarificationPending = new javax.swing.JMenuItem(); + menuNoticeDraftAwaitingApproval = new javax.swing.JMenuItem(); menuNoticesSentNotYetDelivered = new javax.swing.JMenuItem(); + menuAwaitingPayment = new javax.swing.JMenuItem(); menuSettings = new javax.swing.JMenu(); menuDatabaseSettings = new javax.swing.JMenuItem(); menuStationery = new javax.swing.JMenuItem(); @@ -97,14 +99,23 @@ public class MainFrame extends javax.swing.JFrame { menuNoticesReports.setMnemonic('r'); menuNoticesReports.setText("Reports"); - menuAwaitingPayment.setMnemonic('a'); - menuAwaitingPayment.setText("Bills awaiting payment..."); - menuAwaitingPayment.addActionListener(new java.awt.event.ActionListener() { + menuNoticesClarificationPending.setMnemonic('c'); + menuNoticesClarificationPending.setText("Clarifications pending..."); + menuNoticesClarificationPending.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { - menuAwaitingPaymentActionPerformed(evt); + menuNoticesClarificationPendingActionPerformed(evt); } }); - menuNoticesReports.add(menuAwaitingPayment); + menuNoticesReports.add(menuNoticesClarificationPending); + + menuNoticeDraftAwaitingApproval.setMnemonic('d'); + menuNoticeDraftAwaitingApproval.setText("Drafts to be approved..."); + menuNoticeDraftAwaitingApproval.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + menuNoticeDraftAwaitingApprovalActionPerformed(evt); + } + }); + menuNoticesReports.add(menuNoticeDraftAwaitingApproval); menuNoticesSentNotYetDelivered.setMnemonic('s'); menuNoticesSentNotYetDelivered.setText("Notices sent not yet delivered..."); @@ -115,6 +126,15 @@ public class MainFrame extends javax.swing.JFrame { }); menuNoticesReports.add(menuNoticesSentNotYetDelivered); + menuAwaitingPayment.setMnemonic('a'); + menuAwaitingPayment.setText("Bills awaiting payment..."); + menuAwaitingPayment.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + menuAwaitingPaymentActionPerformed(evt); + } + }); + menuNoticesReports.add(menuAwaitingPayment); + menuLawyerNotices.add(menuNoticesReports); jMenuBar1.add(menuLawyerNotices); @@ -222,6 +242,37 @@ public class MainFrame extends javax.swing.JFrame { frm.setupReportTable(rep, REPORT_TITLE_NOTICES_SENT_NOT_DELIVERED, cols, data); frm.setVisible (true); }//GEN-LAST:event_menuNoticesSentNotYetDeliveredActionPerformed + + private void menuNoticeDraftAwaitingApprovalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_menuNoticeDraftAwaitingApprovalActionPerformed + // TODO add your handling code here: + NoticesReportViewDialog frm = new NoticesReportViewDialog(this, false); + String cols[] = {"Reference Number", "Description", "Entrustment Date", "Client"}; + int rep = 2; + ArrayList data = Utility.getReportData(rep, -1); + if (data == null) { + JOptionPane.showMessageDialog(this, ERROR_DISPLAYING_REPORT); + return; + } + frm.setupReportTable(rep, REPORT_TITLE_DRAFTS_AWAITING_APPROVAL, cols, data); + frm.setVisible(true); + }//GEN-LAST:event_menuNoticeDraftAwaitingApprovalActionPerformed + + private void menuNoticesClarificationPendingActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_menuNoticesClarificationPendingActionPerformed + // TODO add your handling code here: + NoticesReportViewDialog frm = new NoticesReportViewDialog(this, false); + String cols[] = {"Reference Number", "Description", "Entrustment Date", + "Clarification Remarks", "Client" }; + int rep = 3; + ArrayList data = Utility.getReportData(rep, -1); + if (data == null) { + JOptionPane.showMessageDialog(this, ERROR_DISPLAYING_REPORT); + return; + } + frm.setupReportTable(rep, REPORT_TITLE_CLARIFICATIONS_PENDING, cols, data); + frm.setVisible(true); + }//GEN-LAST:event_menuNoticesClarificationPendingActionPerformed + private static final String REPORT_TITLE_CLARIFICATIONS_PENDING = "Clarifications Pending"; + private static final String REPORT_TITLE_DRAFTS_AWAITING_APPROVAL = "Drafts To Be Approved"; public static final String REPORT_TITLE_NOTICES_SENT_NOT_DELIVERED = "Notices Sent Not Yet Delivered"; public static final String ERROR_DISPLAYING_REPORT = "Error displaying report"; public static final String REPORT_TITLE_BILLS_AWAITING_PAYMENT = "Bills Awaiting Payment"; @@ -272,6 +323,8 @@ public class MainFrame extends javax.swing.JFrame { private javax.swing.JMenu menuLawyerNotices; private javax.swing.JMenuItem menuManageNotices; private javax.swing.JMenu menuMaster; + private javax.swing.JMenuItem menuNoticeDraftAwaitingApproval; + private javax.swing.JMenuItem menuNoticesClarificationPending; private javax.swing.JMenu menuNoticesReports; private javax.swing.JMenuItem menuNoticesSentNotYetDelivered; private javax.swing.JMenu menuSettings; diff --git a/src/habeas/NoticesReportViewDialog.form b/src/habeas/NoticesReportViewDialog.form index 2a58dd0..0cb16bc 100644 --- a/src/habeas/NoticesReportViewDialog.form +++ b/src/habeas/NoticesReportViewDialog.form @@ -100,6 +100,7 @@ + diff --git a/src/habeas/NoticesReportViewDialog.java b/src/habeas/NoticesReportViewDialog.java index f9d7a8f..2636cbc 100644 --- a/src/habeas/NoticesReportViewDialog.java +++ b/src/habeas/NoticesReportViewDialog.java @@ -77,6 +77,7 @@ public class NoticesReportViewDialog extends javax.swing.JDialog { } )); + tableReport.setCellSelectionEnabled(true); jScrollPane2.setViewportView(tableReport); checkFilterByClient.setText("Filter by Client"); diff --git a/src/habeas/Utility.java b/src/habeas/Utility.java index 8795204..d54ace3 100644 --- a/src/habeas/Utility.java +++ b/src/habeas/Utility.java @@ -30,7 +30,16 @@ public class Utility { "SELECT ReferenceNumber, Description, SentDate, RPADReference, " + "ClientName FROM legalnotices INNER JOIN clients ON ClientId=clients.id" - + " WHERE NoticeSent=1 AND NoticeDelivered=0;" + + " WHERE NoticeSent=1 AND NoticeDelivered=0;", + + "SELECT ReferenceNumber, Description, EntrustmentDate, ClientName FROM legalnotices" + + " INNER JOIN clients ON ClientId=clients.id" + + " WHERE DraftCreated=1 AND DraftApproved=0;", + + "SELECT ReferenceNumber, Description, EntrustmentDate, " + + "ClarificationRemarks, ClientName FROM legalnotices INNER JOIN clients ON" + + " ClientId=clients.id WHERE ClarificationPending=1;" + } ; private static final String[] REPORTS_FILTERED = { "SELECT ReferenceNumber, Description" @@ -40,7 +49,15 @@ public class Utility { "SELECT ReferenceNumber, Description, SentDate, RPADReference, " + "ClientName FROM legalnotices INNER JOIN clients ON ClientId=clients.id" - + " WHERE NoticeSent=1 AND NoticeDelivered=0 AND ClientId=?;" + + " WHERE NoticeSent=1 AND NoticeDelivered=0 AND ClientId=?;", + + "SELECT ReferenceNumber, Description, EntrustmentDate, ClientName FROM legalnotices" + + " INNER JOIN clients ON ClientId=clients.id" + + " WHERE DraftCreated=1 AND DraftApproved=0 AND ClientId=?;", + + "SELECT ReferenceNumber, Description, EntrustmentDate, " + + "ClarificationRemarks, ClientName FROM legalnotices INNER JOIN clients ON" + + " ClientId=clients.id WHERE ClarificationPending=1 AND ClientId=?;" } ; static void saveStationerySettings (String left_header, -- 2.20.1