From d99aad1322a7144b4b0436e556e8492cb7e6783e Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Mon, 7 Apr 2025 17:26:22 +0200 Subject: [PATCH] excel exportfunktion --- .../mahnlauf/ExcelExportController.java | 94 +++++++++++++++++- .../admin/excel_export_rechnungsausgang.xhtml | 7 +- .../ausgangsrechnungen-export_template.xlsx | Bin 0 -> 50320 bytes 3 files changed, 97 insertions(+), 4 deletions(-) create mode 100644 templates/ausgangsrechnungen-export_template.xlsx diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/mahnlauf/ExcelExportController.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/mahnlauf/ExcelExportController.java index d8849fe..4ebd982 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/mahnlauf/ExcelExportController.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/mahnlauf/ExcelExportController.java @@ -1,22 +1,30 @@ package com.alexanderlogistics.mahnlauf; +import java.io.IOException; +import java.io.OutputStream; import java.io.Serializable; import java.text.SimpleDateFormat; import java.time.YearMonth; import java.time.ZoneId; import java.util.Calendar; +import java.util.Collection; import java.util.Date; import java.util.logging.Logger; +import org.imixs.archive.core.SnapshotService; +import org.imixs.workflow.FileData; import org.imixs.workflow.ItemCollection; import org.imixs.workflow.engine.DocumentService; import org.imixs.workflow.exceptions.PluginException; +import org.imixs.workflow.exceptions.QueryException; import org.imixs.workflow.faces.data.DocumentController; import org.imixs.workflow.faces.data.WorkflowController; import org.imixs.workflow.office.forms.CustomFormItem; import jakarta.annotation.PostConstruct; import jakarta.enterprise.context.ConversationScoped; +import jakarta.faces.context.ExternalContext; +import jakarta.faces.context.FacesContext; import jakarta.inject.Inject; import jakarta.inject.Named; @@ -36,6 +44,9 @@ public class ExcelExportController implements Serializable { private static final long serialVersionUID = 1L; private static Logger logger = Logger.getLogger(ExcelExportController.class.getName()); + public static final String ERROR_CONFIG = "CONFIG_ERROR"; + final String TYPE_TEXTBLOCK = "textblock"; + @Inject protected DocumentService documentService; @@ -45,6 +56,9 @@ public class ExcelExportController implements Serializable { @Inject DocumentController documentController; + @Inject + SnapshotService snapshotService; + private ItemCollection filter; private CustomFormItem dbtrItem; @@ -69,7 +83,7 @@ public class ExcelExportController implements Serializable { * * @throws PluginException */ - public void export() throws PluginException { + public String export() throws PluginException { logger.info("start export...."); @@ -115,7 +129,85 @@ public class ExcelExportController implements Serializable { query += " AND (dbtr.number:" + workflowController.getWorkitem().getItemValueString("dbtr.number") + ")"; } + // load the text block + String template = "ausgangsrechnungen-export_template.xlsx"; + FileData fileData = loadTextBlockFileData("Excel-Export Template", template); + + // do we found the document? + if (fileData == null) { + throw new PluginException(InkassoExportAdapter.class.getSimpleName(), ERROR_CONFIG, + "Missing Excel Export Template - template=" + template + " not found!"); + } + String targetName = "ausgangsrechnungen-export_" + dateformat.format(new Date()) + ".xlsx"; + fileData.setName(targetName); + + try { + // See: + // https://stackoverflow.com/questions/9391838/how-to-provide-a-file-download-from-a-jsf-backing-bean + download(fileData); + } catch (IOException e) { + throw new PluginException(InkassoExportAdapter.class.getSimpleName(), ERROR_CONFIG, + "Failed to generate Excel Export: " + e.getMessage()); + } + logger.info("Query=" + query); + return "/pages/admin/excel_export_rechnungsausgang.jsf?faces-redirect=true"; + } + + /** + * Helper method to initialize a download + * + * @throws IOException + */ + public void download(FileData fileData) throws IOException { + + FacesContext facesContext = FacesContext.getCurrentInstance(); + ExternalContext externalContext = facesContext.getExternalContext(); + + externalContext.responseReset(); + externalContext.setResponseContentType("application/vnd.ms-excel"); + externalContext.setResponseContentLength(fileData.getContent().length); + externalContext.setResponseHeader("Content-Disposition", "attachment; filename=\"" + fileData.getName() + "\""); + + OutputStream output = externalContext.getResponseOutputStream(); + + // Now you can write the InputStream of the file to the above OutputStream the + // usual way. + output.write(fileData.getContent()); + + facesContext.responseComplete(); // Important! Otherwise Faces will attempt to render the response which + // obviously will fail since it's already written with a file and closed. + } + + /** + * This method returns a text-block ItemCollection for a specified name. + * + * @param name in attribute txtname + * + * + */ + private FileData loadTextBlockFileData(String name, String fileName) { + ItemCollection textBlockItemCollection = null; + + // load text-block by name.... + String sQuery = "(type:\"" + TYPE_TEXTBLOCK + "\" AND txtname:\"" + name + "\")"; + Collection col; + try { + // find the textblock... + col = documentService.find(sQuery, 1, 0); + if (col.size() > 0) { + textBlockItemCollection = col.iterator().next(); + // fetch the fileData... + return snapshotService.getWorkItemFile(textBlockItemCollection.getUniqueID(), fileName); + + } else { + logger.warning("Missing text-block : '" + name + "'"); + } + } catch (QueryException e) { + logger.warning("getTextBlock - invalid query: " + e.getMessage()); + } + + return null; } /** diff --git a/office-alexander-logistics-app/src/main/webapp/pages/admin/excel_export_rechnungsausgang.xhtml b/office-alexander-logistics-app/src/main/webapp/pages/admin/excel_export_rechnungsausgang.xhtml index 903ac96..7814577 100644 --- a/office-alexander-logistics-app/src/main/webapp/pages/admin/excel_export_rechnungsausgang.xhtml +++ b/office-alexander-logistics-app/src/main/webapp/pages/admin/excel_export_rechnungsausgang.xhtml @@ -117,9 +117,10 @@ - - + x + diff --git a/templates/ausgangsrechnungen-export_template.xlsx b/templates/ausgangsrechnungen-export_template.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..1d2475b6f8b8f75538372f3018a483eb8506821c GIT binary patch literal 50320 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∨efPPe|K}aZ*60dxd{z?H;y4U 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 literal 0 HcmV?d00001