@FXML
    private void handleMenuReportDetail(ActionEvent event) {
        FXMLLoader fxmlLoader = new FXMLLoader(PosApplication.class.getResource("ReportDetail.fxml"));
        final Region reportDetail;
        try {
            reportDetail = (Region) fxmlLoader.load();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }

        Scene scene = new Scene(reportDetail);
        Stage stage = StageBuilder.create()
                .scene(scene)
                .build();
        stage.initModality(Modality.WINDOW_MODAL);
        stage.initOwner(rootPane.getScene().getWindow());
        stage.initStyle(StageStyle.UNDECORATED);

        stage.showAndWait();

        ReportDetailController controller = fxmlLoader.getController();
        if (controller.getUserAction() == UserAction.SUBMIT) {
            String date = controller.getCurrentDate().substring(0, 10).replaceAll("/", "-");
            File file = new File(String.format("report_%s.txt", date));
            try (BufferedWriter bw = new BufferedWriter(new FileWriter(file))) {
                bw.write(String.format("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\r\n",
                        "日時", "連番", "連番コード", "バーコード", "商品名", "単価", "数量", "仕入先", "部門", "金額"));

                try (PreparedStatement ps = getConnection().prepareStatement(Sql.get("report-items.sql"))) {
                    ps.setString(1, date);
                    ResultSet rs = ps.executeQuery();

                    while (rs.next()) {
                        bw.write(String.format("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\r\n",
                                rs.getString(1),
                                rs.getString(2),
                                rs.getString(3),
                                rs.getString(4),
                                rs.getString(5),
                                rs.getString(6),
                                rs.getString(7),
                                rs.getString(8),
                                rs.getString(9),
                                rs.getString(10)));
                    }

                    showMessageBar("レポートを作成しました");
                } catch (SQLException e) {
                    throw new RuntimeException(e);
                }
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        }
    }