From 59500dfa0b7411818e8163d42570a4821742d224 Mon Sep 17 00:00:00 2001 From: Ralph Soika Date: Tue, 16 Nov 2021 11:23:37 +0100 Subject: [PATCH] optimierung stapelverarbeitung --- .../InvoiceDispatchController.java | 77 +++++++++++ .../alexander/section_invoices_dispatch.xhtml | 41 +----- .../alexander/section_invoices_dispatch2.old | 130 ++++++++++++++++++ 3 files changed, 211 insertions(+), 37 deletions(-) create mode 100644 office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoiceDispatchController.java create mode 100644 office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/section_invoices_dispatch2.old diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoiceDispatchController.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoiceDispatchController.java new file mode 100644 index 0000000..2b2ee24 --- /dev/null +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoiceDispatchController.java @@ -0,0 +1,77 @@ +package com.alexanderlogistics; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; +import java.util.logging.Logger; + +import javax.enterprise.context.ConversationScoped; +import javax.inject.Inject; +import javax.inject.Named; + +import org.imixs.workflow.ItemCollection; +import org.imixs.workflow.engine.DocumentService; +import org.imixs.workflow.exceptions.QueryException; +import org.imixs.workflow.faces.util.LoginController; + +/** + * The InvoiceDispatchController loads open workitems for the current user + * + * @author rsoika + * + */ +@Named +@ConversationScoped +public class InvoiceDispatchController implements Serializable { + + private static final long serialVersionUID = 1L; + private static Logger logger = Logger.getLogger(InvoiceDispatchController.class.getName()); + + @Inject + protected DocumentService documentService; + + @Inject + protected LoginController loginController; + + private List invoices = null; + + /** + * This method searches the invoices. + * + * + */ + public void searchInvoices() { + long l=System.currentTimeMillis(); + String owner = loginController.getUserPrincipal(); + String query = "(type:workitem) AND ($modelversion:rechnungseingang-de*) AND ($taskid:5100) AND ($owner:" + + owner + ")"; + + try { + invoices = documentService.findStubs(query, 30, 0, "$created", false); + logger.info("found " + invoices.size() + " invoices for StapelVerarbeitung in " + (System.currentTimeMillis()-l) + "ms"); + } catch (QueryException e) { + e.printStackTrace(); + reset(); + } + + } + + public List getInvoices() { + if (invoices == null) { + searchInvoices(); + } + return invoices; + } + + /** + * This method reset the search and input state. + */ + public void reset() { + invoices = new ArrayList(); + logger.fine("reset"); + } + +} diff --git a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/section_invoices_dispatch.xhtml b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/section_invoices_dispatch.xhtml index a99ae40..717a263 100644 --- a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/section_invoices_dispatch.xhtml +++ b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/section_invoices_dispatch.xhtml @@ -9,11 +9,8 @@ - - + value="#{invoiceDispatchController.invoices}"> @@ -30,48 +27,18 @@
- - - - - - - - - - - - +
Bereich#{message['form.company']}#{message['form.invoicenumber']}#{message['form.date']}Fälligkeit#{message['form.amount']}
+ - - - - - - - - - - - diff --git a/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/section_invoices_dispatch2.old b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/section_invoices_dispatch2.old new file mode 100644 index 0000000..a99ae40 --- /dev/null +++ b/office-alexander-logistics-app/src/main/webapp/pages/workitems/forms/alexander/section_invoices_dispatch2.old @@ -0,0 +1,130 @@ + + + + + + + + + + + + +
+

Es liegen derzeit keine Rechnungen zur Prüfung für Sie vor.

+
+
+ + + + + +
+ +
#{invoice.item['space.name']} - #{invoice.item['cdtr.name']} + #{invoice.item['$workflowsummary']} #{invoice.item['invoice.number']} - - - - - - #{invoice.item['invoice.currency']}
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Bereich#{message['form.company']}#{message['form.invoicenumber']}#{message['form.date']}Fälligkeit#{message['form.amount']}
#{invoice.item['space.name']} + #{invoice.item['cdtr.name']} + + #{invoice.item['invoice.number']} + + + + + + #{invoice.item['invoice.currency']}
+
+
+ + + + + + + +