diff --git a/report.xlsx b/report.xlsx index b896e32..813bda2 100644 Binary files a/report.xlsx and b/report.xlsx differ diff --git a/src/main/java/ru/egspt/ReportControls.java b/src/main/java/ru/egspt/ReportControls.java index 72844db..e0ce3d9 100644 --- a/src/main/java/ru/egspt/ReportControls.java +++ b/src/main/java/ru/egspt/ReportControls.java @@ -1,12 +1,42 @@ package ru.egspt; +import javax.swing.JFileChooser; +import javax.swing.JOptionPane; + public class ReportControls { public static void getExcellReport(App app){ System.out.println("Инициировано событие getExcellReport ..."); - app.getReportPane().getReportTableModel().toExcell(); + //выбор пути, для создания отчета + app.getReportPane().setReportPathChooser(new JFileChooser()); + app.getReportPane().getReportPathChooser().setDialogTitle("Сохранение файла"); + app.getReportPane().getReportPathChooser().setFileSelectionMode(JFileChooser.FILES_ONLY); + //уведомление пользователя о результатах формирования файла + int result = app.getReportPane().getReportPathChooser().showSaveDialog(app.getReportPane().getReportPathChooser()); + if (result == JFileChooser.APPROVE_OPTION ){ + JOptionPane.showMessageDialog(app.getReportPane().getReportPathChooser(), + "Файл '" + app.getReportPane().getReportPathChooser().getSelectedFile() + + "' выбран"); + } + //создание отчета по указанному адресу + app.getReportPane().getReportTableModel().toExcell(app.getReportPane().getReportPathChooser().getSelectedFile()); + + } public static void implantData(App app){ System.out.println("Инициировано событие implantData ..."); + //выбор файла с данными для включения в отчет + app.getReportPane().setDataPathChooser(new JFileChooser()); + app.getReportPane().getDataPathChooser().setDialogTitle("Выбор файла ...."); + app.getReportPane().getDataPathChooser().setFileSelectionMode(JFileChooser.FILES_ONLY); + //уведомление пользователя о результатах формирования файла + int result = app.getReportPane().getReportPathChooser().showSaveDialog(app.getReportPane().getReportPathChooser()); + if (result == JFileChooser.APPROVE_OPTION ){ + JOptionPane.showMessageDialog(app.getReportPane().getReportPathChooser(), + "Файл '" + app.getReportPane().getReportPathChooser().getSelectedFile() + + "' выбран"); + } + //изменение модели данных в соответствии с данными файла-расширения + app.getReportPane().getReportTableModel().updateReport(app.getReportPane().getReportPathChooser().getSelectedFile()); } } diff --git a/src/main/java/ru/egspt/ReportPane.java b/src/main/java/ru/egspt/ReportPane.java index 8783a5b..5614286 100644 --- a/src/main/java/ru/egspt/ReportPane.java +++ b/src/main/java/ru/egspt/ReportPane.java @@ -130,4 +130,29 @@ public class ReportPane extends JPanel { i++; } } + /** + * @return the reportPathChooser + */ + public JFileChooser getReportPathChooser() { + return reportPathChooser; + } + /** + * @param reportPathChooser the reportPathChooser to set + */ + public void setReportPathChooser(JFileChooser reportPathChooser) { + this.reportPathChooser = reportPathChooser; + } + /** + * @return the dataPathChooser + */ + public JFileChooser getDataPathChooser() { + return dataPathChooser; + } + /** + * @param dataPathChooser the dataPathChooser to set + */ + public void setDataPathChooser(JFileChooser dataPathChooser) { + this.dataPathChooser = dataPathChooser; + } + } diff --git a/target/classes/ru/egspt/ReportControls.class b/target/classes/ru/egspt/ReportControls.class index 97de558..481c03b 100644 Binary files a/target/classes/ru/egspt/ReportControls.class and b/target/classes/ru/egspt/ReportControls.class differ diff --git a/target/classes/ru/egspt/ReportPane.class b/target/classes/ru/egspt/ReportPane.class index 8781a04..fb1f311 100644 Binary files a/target/classes/ru/egspt/ReportPane.class and b/target/classes/ru/egspt/ReportPane.class differ diff --git a/target/classes/ru/egspt/ReportTableModel.class b/target/classes/ru/egspt/ReportTableModel.class index d7f8954..b81eada 100644 Binary files a/target/classes/ru/egspt/ReportTableModel.class and b/target/classes/ru/egspt/ReportTableModel.class differ