From a83a6fae4a8e934384197a7b0ff0c387f8db482b Mon Sep 17 00:00:00 2001 From: krganeshrajhan Date: Sat, 11 Apr 2020 22:35:45 +0800 Subject: [PATCH 1/7] Commit for issue OP-162 #comment Prototype for Pagination #time 2d #in-review Please review my work --- bundle/language_en.properties | 3 + src/org/isf/opd/gui/OpdBrowser.java | 181 ++++++++++++++++++---------- 2 files changed, 118 insertions(+), 66 deletions(-) diff --git a/bundle/language_en.properties b/bundle/language_en.properties index 04df7885ef..245b0a4d48 100644 --- a/bundle/language_en.properties +++ b/bundle/language_en.properties @@ -264,6 +264,8 @@ angal.billbrowser.update angal.common.agepattern = {0}y {1}m {2}d angal.common.cancel = Cancel angal.common.close = Close +angal.common.previouspage = Previous Page +angal.common.nextpage = Next Page angal.common.code = Code angal.common.codealreadyinuse = Code already in use angal.common.codem = CODE @@ -1094,6 +1096,7 @@ angal.opd.alltype angal.opd.attendancedate = Attendance Date angal.opd.city = City angal.opd.count = Count +angal.opd.pagenumber = Page Number angal.opd.datefrom = DATE From: angal.opd.datefrommustbebefordateto = 'Date from' must be lower than 'Date to' angal.opd.dateto = DATE To: diff --git a/src/org/isf/opd/gui/OpdBrowser.java b/src/org/isf/opd/gui/OpdBrowser.java index 4044a0822f..3c661eb894 100644 --- a/src/org/isf/opd/gui/OpdBrowser.java +++ b/src/org/isf/opd/gui/OpdBrowser.java @@ -20,45 +20,6 @@ *------------------------------------------*/ -import java.awt.AWTEvent; -import java.awt.BorderLayout; -import java.awt.Component; -import java.awt.Dimension; -import java.awt.Font; -import java.awt.Toolkit; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.FocusEvent; -import java.awt.event.FocusListener; -import java.awt.event.KeyEvent; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.GregorianCalendar; -import java.util.Locale; - -import javax.swing.Box; -import javax.swing.BoxLayout; -import javax.swing.ButtonGroup; -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JRadioButton; -import javax.swing.JScrollPane; -import javax.swing.JTable; -import javax.swing.JTextField; -import javax.swing.ListSelectionModel; -import javax.swing.SwingConstants; -import javax.swing.table.DefaultTableCellRenderer; -import javax.swing.table.DefaultTableModel; -import javax.swing.table.TableColumnModel; -import javax.swing.text.AttributeSet; -import javax.swing.text.BadLocationException; -import javax.swing.text.DefaultStyledDocument; - import org.isf.disease.manager.DiseaseBrowserManager; import org.isf.disease.model.Disease; import org.isf.distype.manager.DiseaseTypeBrowserManager; @@ -76,6 +37,23 @@ import org.isf.utils.jobjects.VoLimitedTextField; import org.isf.utils.time.TimeTools; +import javax.persistence.TypedQuery; +import javax.swing.*; +import javax.swing.table.DefaultTableCellRenderer; +import javax.swing.table.DefaultTableModel; +import javax.swing.table.TableColumnModel; +import javax.swing.text.AttributeSet; +import javax.swing.text.BadLocationException; +import javax.swing.text.DefaultStyledDocument; +import java.awt.*; +import java.awt.event.*; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.GregorianCalendar; +import java.util.Locale; + public class OpdBrowser extends ModalJFrame implements OpdEdit.SurgeryListener, OpdEditExtended.SurgeryListener { private static final long serialVersionUID = 2372745781159245861L; @@ -92,6 +70,8 @@ public class OpdBrowser extends ModalJFrame implements OpdEdit.SurgeryListener, private JButton jEditButton = null; private JButton jCloseButton = null; private JButton jDeteleButton = null; + private JButton jPreviousPageButton = null; + private JButton jNextPageButton = null; private JPanel jSelectionPanel = null; private JLabel jLabel = null; private JPanel dateFromPanel = null; @@ -133,7 +113,7 @@ public class OpdBrowser extends ModalJFrame implements OpdEdit.SurgeryListener, MessageBundle.getMessage("angal.opd.diseasetypem"), MessageBundle.getMessage("angal.opd.patientstatus") }; - private ArrayList pSur; + private List pSur; private JTable jTable = null; private OpdBrowsingModel model; private int[] pColumwidth = { 70, 70, 150, 30, 30, 195, 195, 50 }; @@ -146,6 +126,8 @@ public class OpdBrowser extends ModalJFrame implements OpdEdit.SurgeryListener, private JButton filterButton = null; private String rowCounterText = MessageBundle.getMessage("angal.opd.count") + ": "; private JLabel rowCounter = null; + private String pageNumberText = MessageBundle.getMessage("angal.opd.pagenumber") + ": "; + private JLabel pageNumberLabel = null; private JRadioButton radioNew; private JRadioButton radioRea; private JRadioButton radioAll; @@ -153,7 +135,16 @@ public class OpdBrowser extends ModalJFrame implements OpdEdit.SurgeryListener, private JRadioButton radiom; private JRadioButton radiof; private JRadioButton radioa; - + private String disease; + private String diseasetype; + private char sex; + private char newPatient; + private GregorianCalendar dateFrom; + private GregorianCalendar dateTo; + private int currentPageNumber; + private int pageSize = 100; + private TypedQuery resultSet; + public JTable getJTable() { if (jTable == null) { model = new OpdBrowsingModel(); @@ -230,6 +221,8 @@ private JPanel getJButtonPanel() { if (MainMenu.checkUserGrants("btnopdedit")) jButtonPanel.add(getJEditButton(), null); if (MainMenu.checkUserGrants("btnopddel")) jButtonPanel.add(getJDeteleButton(), null); jButtonPanel.add(getJCloseButton(), null); + jButtonPanel.add(getJPreviousPageButton(), null); + jButtonPanel.add(getJNextPageButton(), null); } return jButtonPanel; } @@ -252,6 +245,7 @@ private void initialize() { //this.setSize(new java.awt.Dimension(pfrmWidth,pfrmHeight)); this.setContentPane(getJContainPanel()); rowCounter.setText(rowCounterText + pSur.size()); + pageNumberLabel.setText(pageNumberText + (currentPageNumber + 1)); validate(); //pack(); this.setLocationRelativeTo(null); @@ -364,7 +358,43 @@ public void actionPerformed(ActionEvent arg0) { } return jCloseButton; } - + + private JButton getJPreviousPageButton() { + if(jPreviousPageButton == null) { + jPreviousPageButton = new JButton(); + jPreviousPageButton.setText(MessageBundle.getMessage("angal.common.previouspage")); + jPreviousPageButton.setMnemonic(KeyEvent.VK_PAGE_UP); + jPreviousPageButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent event) { + loadAndUpdateTable(--currentPageNumber); + if(!jNextPageButton.isEnabled()) { + jNextPageButton.setEnabled(true); + } + } + }); + jPreviousPageButton.setEnabled(false); + } + return jPreviousPageButton; + } + + private JButton getJNextPageButton() { + if(jNextPageButton == null) { + jNextPageButton = new JButton(); + jNextPageButton.setText(MessageBundle.getMessage("angal.common.nextpage")); + jNextPageButton.setMnemonic(KeyEvent.VK_PAGE_DOWN); + jNextPageButton.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent event) { + loadAndUpdateTable(++currentPageNumber); + if (!jPreviousPageButton.isEnabled()) { + jPreviousPageButton.setEnabled(true); + } + } + }); + jNextPageButton.setEnabled(false); + } + return jNextPageButton; + } + /** * This method initializes jDeteleButton * @@ -468,6 +498,7 @@ private JPanel getJSelectionPanel() { jSelectionPanel.add(getNewPatientPanel(), null); jSelectionPanel.add(filterButtonPanel, null); jSelectionPanel.add(getRowCounter(), null); + jSelectionPanel.add(getRowPageNumber(), null); } return jSelectionPanel; } @@ -481,6 +512,14 @@ private JLabel getRowCounter() { return rowCounter; } + private JLabel getRowPageNumber() { + if(pageNumberLabel == null) { + pageNumberLabel = new JLabel(); + pageNumberLabel.setAlignmentX(Box.CENTER_ALIGNMENT); + } + return pageNumberLabel; + } + private JPanel getDateFromPanel() { if (dateFromPanel == null) { dateFromPanel = new JPanel(); @@ -954,16 +993,8 @@ class OpdBrowsingModel extends DefaultTableModel { private static final long serialVersionUID = -9129145534999353730L; - public OpdBrowsingModel(String diseaseTypeCode,String diseaseCode, GregorianCalendar dateFrom,GregorianCalendar dateTo,int ageFrom, int ageTo,char sex,char newPatient) { - try { - pSur = manager.getOpd(diseaseTypeCode,diseaseCode,dateFrom,dateTo,ageFrom,ageTo,sex,newPatient); - }catch(OHServiceException e){ - if(e.getMessages() != null){ - for(OHExceptionMessage msg : e.getMessages()){ - JOptionPane.showMessageDialog(null, msg.getMessage(), msg.getTitle() == null ? "" : msg.getTitle(), msg.getLevel().getSwingSeverity()); - } - } - } + public OpdBrowsingModel(String diseaseTypeCode, String diseaseCode, GregorianCalendar dateFrom, GregorianCalendar dateTo, int ageFrom, int ageTo, char sex, char newPatient, int pageNumber) { + pSur = manager.getOpdPaginated(diseaseTypeCode,diseaseCode,dateFrom,dateTo,ageFrom,ageTo,sex,newPatient, pageNumber, pageSize); } public OpdBrowsingModel() { @@ -1048,6 +1079,7 @@ public void surgeryUpdated(AWTEvent e, Opd opd) { if ((jTable.getRowCount() > 0) && selectedrow > -1) jTable.setRowSelectionInterval(selectedrow, selectedrow); rowCounter.setText(rowCounterText + pSur.size()); + pageNumberLabel.setText(pageNumberText + (currentPageNumber + 1)); } public void surgeryInserted(AWTEvent e, Opd opd) { @@ -1056,6 +1088,7 @@ public void surgeryInserted(AWTEvent e, Opd opd) { if (jTable.getRowCount() > 0) jTable.setRowSelectionInterval(0, 0); rowCounter.setText(rowCounterText + pSur.size()); + pageNumberLabel.setText(pageNumberText + (currentPageNumber + 1)); } private JButton getFilterButton() { @@ -1065,21 +1098,20 @@ private JButton getFilterButton() { filterButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { - String disease=((Disease)jDiseaseBox.getSelectedItem()).getCode(); - String diseasetype=((DiseaseType)jDiseaseTypeBox.getSelectedItem()).getCode(); + disease=((Disease)jDiseaseBox.getSelectedItem()).getCode(); + diseasetype=((DiseaseType)jDiseaseTypeBox.getSelectedItem()).getCode(); - char sex; + if (radioa.isSelected()) sex='A'; else if (radiom.isSelected()) sex='M'; else sex='F'; - - char newPatient; + if(radioAll.isSelected()) newPatient='A'; else if(radioNew.isSelected()) newPatient='N'; else newPatient='R'; - GregorianCalendar dateFrom = getDateFrom(); - GregorianCalendar dateTo = getDateTo(); + dateFrom = getDateFrom(); + dateTo = getDateTo(); if(dateFrom.after(dateTo)){ JOptionPane.showMessageDialog(OpdBrowser.this, MessageBundle.getMessage("angal.opd.datefrommustbebefordateto")); @@ -1101,16 +1133,33 @@ public void actionPerformed(ActionEvent e) { JOptionPane.OK_CANCEL_OPTION); if (ok != JOptionPane.OK_OPTION) return; } - - model = new OpdBrowsingModel(diseasetype,disease,getDateFrom(), getDateTo(),ageFrom,ageTo,sex,newPatient); - model.fireTableDataChanged(); - jTable.updateUI(); - rowCounter.setText(rowCounterText + pSur.size()); + currentPageNumber = 0; + loadAndUpdateTable(currentPageNumber); } - + }); } return filterButton; } - + + private void loadAndUpdateTable(int pageNumber) { + model = new OpdBrowsingModel(diseasetype,disease,getDateFrom(), getDateTo(),ageFrom,ageTo,sex,newPatient, pageNumber); + model.fireTableDataChanged(); + jTable.updateUI(); + rowCounter.setText(rowCounterText + pSur.size()); + pageNumberLabel.setText(pageNumberText + (currentPageNumber + 1)); + if(pageNumber == 0) { + jPreviousPageButton.setEnabled(false); + } + enableNextPageButton(); + } + + private void enableNextPageButton() { + if(pSur.size() < pageSize) { + jNextPageButton.setEnabled(false); + } else { + jNextPageButton.setEnabled(true); + } + } + } From 12b5d4f7fffe9fa751e1f5253947770f902592b8 Mon Sep 17 00:00:00 2001 From: Alessandro Domanico Date: Mon, 24 Aug 2020 19:18:41 +0200 Subject: [PATCH 2/7] Update maven.yml Aligned with the sibling branch on 'core' --- .github/workflows/maven.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index b36fac6ea4..0dbcd4785a 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -13,7 +13,7 @@ jobs: steps: - uses: actions/checkout@v2 - name: Checkout core - run: git clone --depth=50 --branch=develop https://github.com/informatici/openhospital-core.git openhospital-core + run: git clone --depth=50 --branch=OP-162_ResultSet_Pagination_prototype https://github.com/informatici/openhospital-core.git openhospital-core - name: Install core run: cd openhospital-core && mvn install -DskipTests=true && cd .. - name: Set up JDK 1.8 From d89ef256367145fbabf3654ebe316467637ed29b Mon Sep 17 00:00:00 2001 From: Alessandro Domanico Date: Mon, 16 Aug 2021 14:19:30 +0200 Subject: [PATCH 3/7] Fix bundle like in develop branhc --- src/main/java/org/isf/opd/gui/OpdBrowser.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/isf/opd/gui/OpdBrowser.java b/src/main/java/org/isf/opd/gui/OpdBrowser.java index 995dabf90d..f446c90598 100644 --- a/src/main/java/org/isf/opd/gui/OpdBrowser.java +++ b/src/main/java/org/isf/opd/gui/OpdBrowser.java @@ -1166,8 +1166,8 @@ private JButton getFilterButton() { //TODO: to retrieve resultset size instead of assuming 1 year as limit for the warning if (TimeTools.getDaysBetweenDates(dateFrom, dateTo, true) >= 360) { int ok = JOptionPane.showConfirmDialog(OpdBrowser.this, - MessageBundle.getMessage("angal.common.thiscouldretrievealargeamountofdataproceed"), - MessageBundle.getMessage("angal.hospital"), + MessageBundle.getMessage("angal.common.thiscouldretrievealargeamountofdataproceed.msg"), + MessageBundle.getMessage("angal.messagedialog.question.title"), JOptionPane.OK_CANCEL_OPTION); if (ok != JOptionPane.OK_OPTION) return; } From a3cba2e4dd7cd4b3922050c33feeb9077130cfbb Mon Sep 17 00:00:00 2001 From: Alessandro Domanico Date: Mon, 16 Aug 2021 14:35:59 +0200 Subject: [PATCH 4/7] Fixes after merge develop --- src/main/java/org/isf/opd/gui/OpdBrowser.java | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/isf/opd/gui/OpdBrowser.java b/src/main/java/org/isf/opd/gui/OpdBrowser.java index f446c90598..18e7b6e4d7 100644 --- a/src/main/java/org/isf/opd/gui/OpdBrowser.java +++ b/src/main/java/org/isf/opd/gui/OpdBrowser.java @@ -39,7 +39,6 @@ import java.util.List; import java.util.Locale; -import javax.persistence.TypedQuery; import javax.swing.AbstractButton; import javax.swing.Box; import javax.swing.BoxLayout; @@ -177,7 +176,6 @@ public class OpdBrowser extends ModalJFrame implements OpdEdit.SurgeryListener, private DiseaseBrowserManager diseaseManager = Context.getApplicationContext().getBean(DiseaseBrowserManager.class); private ArrayList diseases = null; protected AbstractButton searchButton; - private JTextField searchDiseasetextField; private String disease; private String diseasetype; @@ -187,7 +185,6 @@ public class OpdBrowser extends ModalJFrame implements OpdEdit.SurgeryListener, private GregorianCalendar dateTo; private int currentPageNumber; private int pageSize = 100; - private TypedQuery resultSet; public JTable getJTable() { if (jTable == null) { @@ -1022,12 +1019,8 @@ class OpdBrowsingModel extends DefaultTableModel { private static final long serialVersionUID = -9129145534999353730L; public OpdBrowsingModel(String diseaseTypeCode, String diseaseCode, GregorianCalendar dateFrom, GregorianCalendar dateTo, int ageFrom, int ageTo, - char sex, char newPatient, int pageNumber) { - try { - pSur = manager.getOpd(diseaseTypeCode, diseaseCode, dateFrom, dateTo, ageFrom, ageTo, sex, newPatient); - } catch (OHServiceException ohServiceException) { - MessageDialog.showExceptions(ohServiceException); - } + char sex, char newPatient, int pageNumber) { + pSur = manager.getOpdPaginated(diseaseTypeCode, diseaseCode, dateFrom, dateTo, ageFrom, ageTo, sex, newPatient, pageNumber, pageSize); } public OpdBrowsingModel() { @@ -1180,19 +1173,19 @@ private JButton getFilterButton() { } private void loadAndUpdateTable(int pageNumber) { - model = new OpdBrowsingModel(diseasetype,disease,getDateFrom(), getDateTo(),ageFrom,ageTo,sex,newPatient, pageNumber); + model = new OpdBrowsingModel(diseasetype, disease, getDateFrom(), getDateTo(), ageFrom, ageTo, sex, newPatient, pageNumber); model.fireTableDataChanged(); jTable.updateUI(); rowCounter.setText(rowCounterText + pSur.size()); pageNumberLabel.setText(pageNumberText + (currentPageNumber + 1)); - if(pageNumber == 0) { + if (pageNumber == 0) { jPreviousPageButton.setEnabled(false); } enableNextPageButton(); } private void enableNextPageButton() { - if(pSur.size() < pageSize) { + if (pSur.size() < pageSize) { jNextPageButton.setEnabled(false); } else { jNextPageButton.setEnabled(true); From 2712d75cd3ef43ec6703778b365bfdea1bf34ebb Mon Sep 17 00:00:00 2001 From: Alessandro Domanico Date: Mon, 16 Aug 2021 14:44:56 +0200 Subject: [PATCH 5/7] Fix formatting --- src/main/java/org/isf/opd/gui/OpdBrowser.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/isf/opd/gui/OpdBrowser.java b/src/main/java/org/isf/opd/gui/OpdBrowser.java index 18e7b6e4d7..2e8461cc35 100644 --- a/src/main/java/org/isf/opd/gui/OpdBrowser.java +++ b/src/main/java/org/isf/opd/gui/OpdBrowser.java @@ -375,7 +375,7 @@ private JButton getJCloseButton() { } private JButton getJPreviousPageButton() { - if(jPreviousPageButton == null) { + if (jPreviousPageButton == null) { jPreviousPageButton = new JButton(); jPreviousPageButton.setText(MessageBundle.getMessage("angal.common.previouspage")); jPreviousPageButton.setMnemonic(KeyEvent.VK_PAGE_UP); @@ -391,7 +391,7 @@ private JButton getJPreviousPageButton() { } private JButton getJNextPageButton() { - if(jNextPageButton == null) { + if (jNextPageButton == null) { jNextPageButton = new JButton(); jNextPageButton.setText(MessageBundle.getMessage("angal.common.nextpage")); jNextPageButton.setMnemonic(KeyEvent.VK_PAGE_DOWN); From c8bab4debe971f83be21d7a393c233f70b769cd0 Mon Sep 17 00:00:00 2001 From: Alessandro Domanico Date: Mon, 16 Aug 2021 14:52:24 +0200 Subject: [PATCH 6/7] Refactor one method --- src/main/java/org/isf/opd/gui/OpdBrowser.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/isf/opd/gui/OpdBrowser.java b/src/main/java/org/isf/opd/gui/OpdBrowser.java index 2e8461cc35..d58c4af96e 100644 --- a/src/main/java/org/isf/opd/gui/OpdBrowser.java +++ b/src/main/java/org/isf/opd/gui/OpdBrowser.java @@ -1181,10 +1181,10 @@ private void loadAndUpdateTable(int pageNumber) { if (pageNumber == 0) { jPreviousPageButton.setEnabled(false); } - enableNextPageButton(); + toggleNextPageButton(); } - private void enableNextPageButton() { + private void toggleNextPageButton() { if (pSur.size() < pageSize) { jNextPageButton.setEnabled(false); } else { From 6a7c4c0a87f2092528b11ba69a65888c979a1e60 Mon Sep 17 00:00:00 2001 From: David B Malkovsky Date: Tue, 17 Aug 2021 14:10:59 -0400 Subject: [PATCH 7/7] OP-162 Various improvements/formatting/etc. (#857) --- src/main/java/org/isf/opd/gui/OpdBrowser.java | 135 ++++++++++-------- 1 file changed, 78 insertions(+), 57 deletions(-) diff --git a/src/main/java/org/isf/opd/gui/OpdBrowser.java b/src/main/java/org/isf/opd/gui/OpdBrowser.java index d58c4af96e..50b8dcf8c6 100644 --- a/src/main/java/org/isf/opd/gui/OpdBrowser.java +++ b/src/main/java/org/isf/opd/gui/OpdBrowser.java @@ -33,6 +33,7 @@ import java.awt.event.KeyListener; import java.text.DateFormat; import java.text.SimpleDateFormat; +import java.time.Year; import java.util.ArrayList; import java.util.Calendar; import java.util.GregorianCalendar; @@ -107,6 +108,7 @@ public class OpdBrowser extends ModalJFrame implements OpdEdit.SurgeryListener, private static final long serialVersionUID = 2372745781159245861L; private static final SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yy"); + private static final String CURRENT_YEAR = Year.now().toString(); private JPanel jButtonPanel = null; private JPanel jContainPanel = null; @@ -132,7 +134,7 @@ public class OpdBrowser extends ModalJFrame implements OpdEdit.SurgeryListener, private JPanel jAgeToPanel = null; private VoLimitedTextField jAgeToTextField = null; private JPanel jAgePanel = null; - private JComboBox jDiseaseTypeBox; + private JComboBox jDiseaseTypeBox; private JComboBox jDiseaseBox; private JPanel sexPanel = null; private JPanel newPatientPanel = null; @@ -255,9 +257,15 @@ public OpdBrowser(Patient patient) { private JPanel getJButtonPanel() { if (jButtonPanel == null) { jButtonPanel = new JPanel(); - if (MainMenu.checkUserGrants("btnopdnew")) jButtonPanel.add(getJNewButton(), null); - if (MainMenu.checkUserGrants("btnopdedit")) jButtonPanel.add(getJEditButton(), null); - if (MainMenu.checkUserGrants("btnopddel")) jButtonPanel.add(getJDeleteButton(), null); + if (MainMenu.checkUserGrants("btnopdnew")) { + jButtonPanel.add(getJNewButton(), null); + } + if (MainMenu.checkUserGrants("btnopdedit")) { + jButtonPanel.add(getJEditButton(), null); + } + if (MainMenu.checkUserGrants("btnopddel")) { + jButtonPanel.add(getJDeleteButton(), null); + } jButtonPanel.add(getJCloseButton(), null); jButtonPanel.add(getJPreviousPageButton(), null); jButtonPanel.add(getJNextPageButton(), null); @@ -271,13 +279,13 @@ private JPanel getJButtonPanel() { private void initialize() { Toolkit kit = Toolkit.getDefaultToolkit(); Dimension screensize = kit.getScreenSize(); - final int pfrmBase = 20; - final int pfrmWidth = 17; - final int pfrmHeight = 12; - this.setBounds((screensize.width - screensize.width * pfrmWidth / pfrmBase ) / 2, - (screensize.height - screensize.height * pfrmHeight / pfrmBase)/2, - screensize.width * pfrmWidth / pfrmBase+50, - screensize.height * pfrmHeight / pfrmBase+20); + final int pfrmBase = 20; + final int pfrmWidth = 17; + final int pfrmHeight = 12; + this.setBounds((screensize.width - screensize.width * pfrmWidth / pfrmBase) / 2, + (screensize.height - screensize.height * pfrmHeight / pfrmBase) / 2, + screensize.width * pfrmWidth / pfrmBase + 50, + screensize.height * pfrmHeight / pfrmBase + 20); this.setTitle(MessageBundle.getMessage("angal.opd.opdoutpatientdepartment.title")); this.setContentPane(getJContainPanel()); rowCounter.setText(rowCounterText + pSur.size()); @@ -503,9 +511,9 @@ private JLabel getRowCounter() { } private JLabel getRowPageNumber() { - if(pageNumberLabel == null) { + if (pageNumberLabel == null) { pageNumberLabel = new JLabel(); - pageNumberLabel.setAlignmentX(Box.CENTER_ALIGNMENT); + pageNumberLabel.setAlignmentX(Component.CENTER_ALIGNMENT); } return pageNumberLabel; } @@ -524,8 +532,9 @@ public void focusLost(FocusEvent e) { String typed = dayFrom.getText(); dayFrom.setText("0" + typed); } - if (!isValidDay(dayFrom.getText())) + if (!isValidDay(dayFrom.getText())) { dayFrom.setText("1"); + } } } @@ -543,8 +552,9 @@ public void focusLost(FocusEvent e) { String typed = monthFrom.getText(); monthFrom.setText("0" + typed); } - if (!isValidMonth(monthFrom.getText())) + if (!isValidMonth(monthFrom.getText())) { monthFrom.setText("1"); + } } } @@ -558,10 +568,12 @@ public void focusGained(FocusEvent e) { @Override public void focusLost(FocusEvent e) { if (yearFrom.getText().length() == 4) { - if (!isValidYear(yearFrom.getText())) - yearFrom.setText("2006"); - } else - yearFrom.setText("2006"); + if (!isValidYear(yearFrom.getText())) { + yearFrom.setText(CURRENT_YEAR); + } + } else { + yearFrom.setText(CURRENT_YEAR); + } } @Override @@ -621,10 +633,11 @@ public void focusLost(FocusEvent e) { if (dayTo.getText().length() != 0) { if (dayTo.getText().length() == 1) { String typed = dayTo.getText(); - dayTo.setText("0" + typed); + dayTo.setText('0' + typed); } - if (!isValidDay(dayTo.getText())) + if (!isValidDay(dayTo.getText())) { dayTo.setText("1"); + } } } @@ -640,10 +653,11 @@ public void focusLost(FocusEvent e) { if (monthTo.getText().length() != 0) { if (monthTo.getText().length() == 1) { String typed = monthTo.getText(); - monthTo.setText("0" + typed); + monthTo.setText('0' + typed); } - if (!isValidMonth(monthTo.getText())) + if (!isValidMonth(monthTo.getText())) { monthTo.setText("1"); + } } } @@ -657,10 +671,12 @@ public void focusGained(FocusEvent e) { @Override public void focusLost(FocusEvent e) { if (yearTo.getText().length() == 4) { - if (!isValidYear(yearTo.getText())) - yearTo.setText("2006"); - } else - yearTo.setText("2006"); + if (!isValidYear(yearTo.getText())) { + yearTo.setText(CURRENT_YEAR); + } + } else { + yearTo.setText(CURRENT_YEAR); + } } @Override @@ -716,9 +732,9 @@ private GregorianCalendar getDateTo() { * * @return javax.swing.JComboBox */ - public JComboBox getDiseaseTypeBox() { + public JComboBox getDiseaseTypeBox() { if (jDiseaseTypeBox == null) { - jDiseaseTypeBox = new JComboBox(); + jDiseaseTypeBox = new JComboBox<>(); jDiseaseTypeBox.setMaximumSize(new Dimension(300,50)); DiseaseTypeBrowserManager diseaseTypeManager = Context.getApplicationContext().getBean(DiseaseTypeBrowserManager.class); @@ -865,11 +881,11 @@ public void keyTyped(KeyEvent e) {} jDiseaseBox.addItem(disease); } - if (jDiseaseBox.getItemCount() >= 2){ + if (jDiseaseBox.getItemCount() >= 2) { jDiseaseBox.setSelectedIndex(1); } jDiseaseBox.requestFocus(); - if (jDiseaseBox.getItemCount() > 2){ + if (jDiseaseBox.getItemCount() > 2) { jDiseaseBox.showPopup(); } }); @@ -1033,8 +1049,9 @@ public OpdBrowsingModel() { @Override public int getRowCount() { - if (pSur == null) + if (pSur == null) { return 0; + } return pSur.size(); } @@ -1118,55 +1135,63 @@ public void surgeryInserted(AWTEvent e, Opd opd) { rowCounter.setText(rowCounterText + pSur.size()); pageNumberLabel.setText(pageNumberText + (currentPageNumber + 1)); } - + private JButton getFilterButton() { if (filterButton == null) { filterButton = new JButton(MessageBundle.getMessage("angal.common.search.btn")); - filterButton.setMnemonic(MessageBundle.getMnemonic("angal.common.search.btn.key")); + filterButton.setMnemonic(MessageBundle.getMnemonic("angal.common.search.btn.key")); filterButton.addActionListener(e -> { Object selectedItem = jDiseaseBox.getSelectedItem(); if (!(selectedItem instanceof Disease)) { MessageDialog.error(OpdBrowser.this, "angal.opd.pleaseselectadisease.msg"); return; } - disease=((Disease)selectedItem).getCode(); - diseasetype=((DiseaseType)jDiseaseTypeBox.getSelectedItem()).getCode(); - + disease = ((Disease) selectedItem).getCode(); + diseasetype = ((DiseaseType) jDiseaseTypeBox.getSelectedItem()).getCode(); - if (radioa.isSelected()) sex='A'; - else if (radiom.isSelected()) sex='M'; - else sex='F'; + if (radioa.isSelected()) { + sex = 'A'; + } else if (radiom.isSelected()) { + sex = 'M'; + } else { + sex = 'F'; + } + + if (radioAll.isSelected()) { + newPatient = 'A'; + } else if (radioNew.isSelected()) { + newPatient = 'N'; + } else { + newPatient = 'R'; + } - if(radioAll.isSelected()) newPatient='A'; - else if(radioNew.isSelected()) newPatient='N'; - else newPatient='R'; - dateFrom = getDateFrom(); dateTo = getDateTo(); - - if (dateFrom.after(dateTo)){ + + if (dateFrom.after(dateTo)) { MessageDialog.error(OpdBrowser.this, "angal.opd.datefrommustbebefordateto.msg"); return; } - if (ageFrom>ageTo){ + if (ageFrom > ageTo) { MessageDialog.error(OpdBrowser.this, "angal.opd.agefrommustbelowerthanageto.msg"); jAgeFromTextField.setText(ageTo.toString()); - ageFrom=ageTo; + ageFrom = ageTo; return; } - + //TODO: to retrieve resultset size instead of assuming 1 year as limit for the warning if (TimeTools.getDaysBetweenDates(dateFrom, dateTo, true) >= 360) { - int ok = JOptionPane.showConfirmDialog(OpdBrowser.this, + int ok = JOptionPane.showConfirmDialog(OpdBrowser.this, MessageBundle.getMessage("angal.common.thiscouldretrievealargeamountofdataproceed.msg"), MessageBundle.getMessage("angal.messagedialog.question.title"), JOptionPane.OK_CANCEL_OPTION); - if (ok != JOptionPane.OK_OPTION) return; + if (ok != JOptionPane.OK_OPTION) { + return; + } } currentPageNumber = 0; loadAndUpdateTable(currentPageNumber); - }); } return filterButton; @@ -1185,11 +1210,7 @@ private void loadAndUpdateTable(int pageNumber) { } private void toggleNextPageButton() { - if (pSur.size() < pageSize) { - jNextPageButton.setEnabled(false); - } else { - jNextPageButton.setEnabled(true); - } + jNextPageButton.setEnabled(pSur.size() >= pageSize); } }