diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/AGLAnalyticControllerOPListe.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/AGLAnalyticControllerOPListe.java index b3d33e5..ac93562 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/AGLAnalyticControllerOPListe.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/AGLAnalyticControllerOPListe.java @@ -12,6 +12,7 @@ import org.imixs.workflow.ItemCollection; import org.imixs.workflow.engine.DocumentService; import org.imixs.workflow.exceptions.QueryException; import org.imixs.workflow.faces.data.WorkflowController; +import org.imixs.workflow.faces.util.ResourceBundleHandler; import org.imixs.workflow.office.forms.AnalyticController; import org.imixs.workflow.office.forms.AnalyticEvent; @@ -47,6 +48,9 @@ public class AGLAnalyticControllerOPListe implements Serializable { @Inject TeamService teamService; + @Inject + ResourceBundleHandler resourceBundleHandler; + TreeMap stats = null; String departmentID; @@ -92,36 +96,36 @@ public class AGLAnalyticControllerOPListe implements Serializable { ItemCollection process = documentService .load(workflowController.getWorkitem().getItemValueString("process.ref")); if (process != null) { - link = link + "&processref=" + process.getUniqueID() + link = link + "?processref=" + process.getUniqueID() // + "&modelversion=rechnungsausgang*" + "&spaceref=" + departmentID; } if ("analytic.invoices.count.all".equals(event.getKey())) { event.setValue("" + countAll); - event.setLabel("Invoices"); - event.setDescription("open"); + event.setLabel(resourceBundleHandler.findMessage("oplist.invoices")); + event.setDescription(resourceBundleHandler.findMessage("oplist.invoices.description.all")); event.getWorkitem().setItemValue("invoices.total", event.getValue()); event.setLink(link); } if ("analytic.invoices.count.open".equals(event.getKey())) { - event.setValue("" + (countOpen - countDunning - countDue)); - event.setLabel("Invoices"); - event.setDescription("Total invoices not yet in due"); + event.setValue("" + (countOpen)); + event.setLabel(resourceBundleHandler.findMessage("oplist.invoices")); + event.setDescription(resourceBundleHandler.findMessage("oplist.invoices.description.open")); event.getWorkitem().setItemValue("invoices.total.open", event.getValue()); event.setLink(link); } if ("analytic.invoices.count.due".equals(event.getKey())) { event.setValue("" + countDue); - event.setLabel("Invoices"); - event.setDescription("Total invoices in due"); + event.setLabel(resourceBundleHandler.findMessage("oplist.invoices")); + event.setDescription(resourceBundleHandler.findMessage("oplist.invoices.description.due")); event.getWorkitem().setItemValue("invoices.total.due", event.getValue()); event.setLink(link); } if ("analytic.invoices.count.dunning".equals(event.getKey())) { event.setValue("" + countDunning); - event.setLabel("Invoices"); - event.setDescription("Total invoices in dunning"); + event.setLabel(resourceBundleHandler.findMessage("oplist.invoices")); + event.setDescription(resourceBundleHandler.findMessage("oplist.invoices.description.dunning")); event.getWorkitem().setItemValue("invoices.total.dunning", event.getValue()); event.setLink(link); } @@ -151,8 +155,8 @@ public class AGLAnalyticControllerOPListe implements Serializable { */ private void calculateStats() { long l = System.currentTimeMillis(); + countAll = 0; - countOpen = 0; countDue = 0; countDunning = 0; logger.info(" ├──calculate stats for " + departmentID + "...."); @@ -160,18 +164,28 @@ public class AGLAnalyticControllerOPListe implements Serializable { try { if (departmentID == null || !departmentID.isEmpty()) { - countOpen = documentService.count("(type:workitem) AND $uniqueidref:" + departmentID + countAll = documentService.count("(type:workitem) AND $uniqueidref:" + departmentID + " AND $modelversion:rechnungsausgang-*"); + countDue = documentService.count("(type:workitem) AND $uniqueidref:" + departmentID + " AND $modelversion:rechnungsausgang-* AND $taskid:[5100 TO 5199]"); countDunning = documentService.count("(type:workitem) AND $uniqueidref:" + departmentID + " AND $modelversion:rechnungsausgang-* AND $taskid:[5200 TO 5399]"); + + countOpen = countAll - countDue - countDunning; } else { - countOpen = documentService.count("(type:workitem) AND $modelversion:rechnungsausgang-*"); + + // countAll=documentService.count("(type:workitem OR type:workitemarchive) AND + // $modelversion:rechnungsausgang-*") + + countAll = documentService.count("(type:workitem) AND $modelversion:rechnungsausgang-*"); + countDue = documentService .count("(type:workitem) AND $modelversion:rechnungsausgang-* AND $taskid:[5100 TO 5199]"); + countDunning = documentService .count("(type:workitem) AND $modelversion:rechnungsausgang-* AND $taskid:[5200 TO 5399]"); + countOpen = countAll - countDue - countDunning; } } catch (QueryException e) { diff --git a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoiceAnalyseController.java b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoiceAnalyseController.java index 61b5354..2c6e7f9 100644 --- a/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoiceAnalyseController.java +++ b/office-alexander-logistics-app/src/main/java/com/alexanderlogistics/InvoiceAnalyseController.java @@ -20,8 +20,8 @@ import jakarta.inject.Inject; import jakarta.inject.Named; /** - * Der InvoiceAnalyseController dient zur Auswertung der Sachprüfungs WOrklfow - * Schritte. Die Analyse Seite ist büer das Admin Menü erreichbar. + * Der InvoiceAnalyseController dient zur Auswertung der Sachprüfungs Workflow + * Schritte. Die Analyse Seite ist über das Admin Menü erreichbar. * * @author rsoika * diff --git a/office-alexander-logistics-app/src/main/resources/bundle/custom_de.properties b/office-alexander-logistics-app/src/main/resources/bundle/custom_de.properties index 56b483e..c73637f 100644 --- a/office-alexander-logistics-app/src/main/resources/bundle/custom_de.properties +++ b/office-alexander-logistics-app/src/main/resources/bundle/custom_de.properties @@ -50,6 +50,11 @@ oplist.total.base=Basisumsatz oplist.saldo=Saldo oplist.saldo.base=Saldo oplist.payment=Zahlbetrag +oplist.invoices=Rechnungen +oplist.invoices.description.all=Alle unbezahlten Rechnungen +oplist.invoices.description.open=Anzahl der Rechnungen die noch nicht fällig sind +oplist.invoices.description.due=Anzahl der fälligen Rechnungen +oplist.invoices.description.dunning=Anzahl Rechnungen bereits gemahnt diff --git a/office-alexander-logistics-app/src/main/resources/bundle/custom_en.properties b/office-alexander-logistics-app/src/main/resources/bundle/custom_en.properties index 284e784..91267c8 100644 --- a/office-alexander-logistics-app/src/main/resources/bundle/custom_en.properties +++ b/office-alexander-logistics-app/src/main/resources/bundle/custom_en.properties @@ -47,9 +47,15 @@ oplist.invoicenumber=No. oplist.total=Total oplist.rate=Rate oplist.total.base=Total Base -oplist.saldo=Saldo -oplist.saldo.base=Saldo +oplist.saldo=Balance +oplist.saldo.base=Balance oplist.payment=Payment +oplist.invoices=Invoices +oplist.invoices.description.all=All unpaid invoices +oplist.invoices.description.open=Number of invoices that are not yet due +oplist.invoices.description.due=Number of invoices due +oplist.invoices.description.dunning=Number of invoices already dunned + ERROR_CDTR_INVALID=The creditor number is not valid ERROR_BOOKING_PERIOD=Input error - Please enter a valid booking period! Also check the BP column in the position table. diff --git a/templates/op-liste_kw_template_de.xlsx b/templates/op-liste_kw_template_de.xlsx new file mode 100644 index 0000000..56bfda7 Binary files /dev/null and b/templates/op-liste_kw_template_de.xlsx differ diff --git a/templates/op-liste_kw_template.xlsx b/templates/op-liste_kw_template_en.xlsx similarity index 100% rename from templates/op-liste_kw_template.xlsx rename to templates/op-liste_kw_template_en.xlsx diff --git a/workflow/analyse-opliste-de-1.0.3.bpmn b/workflow/analyse-opliste-de-1.0.3.bpmn index d0a719e..589ba18 100644 --- a/workflow/analyse-opliste-de-1.0.3.bpmn +++ b/workflow/analyse-opliste-de-1.0.3.bpmn @@ -335,10 +335,10 @@ Nach Prüfung schließen Sie bitte den Vorgang über die Schaltfläche "Erledigt - - - - + + + + ]]> @@ -440,8 +440,8 @@ if (workitem.get(refField) == null || ''==workitem.get(refField)[0]) { OP-Liste KW Template - - op-liste_space.name_$lasteventdate.xlsx + + op_liste_nach_kw_$lasteventdate.xlsx A8 diff --git a/workflow/analyse-opliste-en-1.0.3.bpmn b/workflow/analyse-opliste-en-1.0.3.bpmn index 7d8d794..3fd3e53 100644 --- a/workflow/analyse-opliste-en-1.0.3.bpmn +++ b/workflow/analyse-opliste-en-1.0.3.bpmn @@ -439,7 +439,7 @@ if (workitem.get(refField) == null || ''==workitem.get(refField)[0]) { OP-Liste KW Template - + outstanding_items_by_week_$lasteventdate.xlsx