update monitoring AGL Steuer

This commit is contained in:
Ralph Soika 2024-09-18 16:52:05 +02:00
parent 16c91089b0
commit ab547d3dc0
3 changed files with 71 additions and 37 deletions

View file

@ -65,16 +65,33 @@ public class AGLAnalyticController implements Serializable {
event.setValue(computeSteuerbescheideZoll());
event.setLabel("EUR");
event.setDescription("Gesamt Zölle (ZOLLEU)");
event.setLink(link);
}
if ("analytic.steuer.due".equals(event.getKey())) {
event.setValue(computeSteuerbescheideUeberfaellig());
if ("analytic.steuer.total".equals(event.getKey())) {
event.setValue(computeSteuerbescheideTotal());
event.setLabel("EUR");
event.setDescription("Überfällige Steuerbescheide die noch nicht abgerechnet wurden.");
event.setLink(link + "&workflowstatus=Überfällig");
event.setDescription("Alle Steuerbescheide die noch nicht abgerechnet wurden.");
event.setLink(link);
}
if ("analytic.steuer.saldo".equals(event.getKey())) {
event.setValue(computeSteuerbescheideSaldo());
event.setLabel("EUR");
event.setDescription("Saldo aller Steuerbescheide die noch nicht abgerechnet wurden.");
event.setLink(link);
}
if ("analytic.steuer.due".equals(event.getKey())) {
event.setValue(computeSteuerbescheideSaldoDue());
event.setLabel("EUR");
event.setDescription("Saldo aller überfälligen Steuerbescheide die noch nicht abgerechnet wurden.");
// event.setLink(link + "&task=Überfällig");
event.setLink(link + "&task=1200");
}
// Charts
if ("analytic.steuer.trend".equals(event.getKey())) {
event.setValue(accumulateSteuerbescheideByWeek());
event.setLabel("Zoll & EUST");
@ -117,17 +134,8 @@ public class AGLAnalyticController implements Serializable {
logger.info("compute Zoll...");
List<ItemCollection> list = getSteuerbescheide();
double result = 0;
for (ItemCollection steuerItemCol : list) {
result = result + getZollBySteuerBeleg(steuerItemCol, "ZOLL");
// List<ItemCollection> positionsTabelle =
// InvoiceUtil.explodeChildList(steuerItemCol);
// for (ItemCollection pos : positionsTabelle) {
// if ("ZOLL".equalsIgnoreCase(pos.getItemValueString("activity.type"))) {
// result = result + pos.getItemValueDouble("amount");
// }
// }
}
return InvoiceUtil.round(result);
}
@ -137,7 +145,38 @@ public class AGLAnalyticController implements Serializable {
*
* @return
*/
private double computeSteuerbescheideUeberfaellig() {
private double computeSteuerbescheideSaldo() {
logger.info("compute saldo...");
List<ItemCollection> list = getSteuerbescheide();
double result = 0;
for (ItemCollection steuerItemCol : list) {
result = result + steuerItemCol.getItemValueDouble("invoice.saldo");
}
return InvoiceUtil.round(result);
}
/**
* Berechnet die Summe aller überfälligen steuer Beträge $taskID=1200
*
* @return
*/
private double computeSteuerbescheideTotal() {
logger.info("compute total...");
List<ItemCollection> list = getSteuerbescheide();
double result = 0;
for (ItemCollection steuerItemCol : list) {
result = result + steuerItemCol.getItemValueDouble("invoice.total.net");
}
return InvoiceUtil.round(result);
}
/**
* Berechnet die Summe aller überfälligen steuer Beträge $taskID=1200
*
* @return
*/
private double computeSteuerbescheideSaldoDue() {
logger.info("compute EUST...");
List<ItemCollection> list = getSteuerbescheide();
double result = 0;

View file

@ -5,10 +5,7 @@
<!-- Chart Diagramm -->
<style>
.analytic-card {
display: flex;
flex-flow: column;
.analytic-card-chart {
min-height: 200px;
padding: 20px;
background-color: #f3f3f3;
@ -23,22 +20,16 @@
color: #4398f3;
}
.analytic-card-header {}
.analytic-card-footer {
font-size: 12px;
font-weight: normal;
color: #333;
}
.analytic-card-content {
flex: 1;
font-size: 20px;
.analytic-card-chart-detail {
position: relative;
background-color: #fff;
height: 100%;
width: 100%;
}
</style>
<div class="analytic-card">
<div id="container">
<canvas id="analytics_canvas_#{item.name}" style="min-width: 600px;height:200px;"></canvas>
<div class="analytic-card-chart">
<div class="analytic-card-chart-detail">
<canvas id="analytics_canvas_#{item.name}" style=""></canvas>
</div>
</div>
@ -47,6 +38,7 @@
<script type="text/javascript"
src="#{facesContext.externalContext.requestContextPath}/js/chartjs/chart.min.js?build=#{app.application_build_timestamp}"></script>

View file

@ -2,7 +2,7 @@
<!-- origin at X=0.0 Y=0.0 --><bpmn2:definitions xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:imixs="http://www.imixs.org/bpmn2" xmlns:open-bpmn="http://open-bpmn.org/XMLSchema" xmlns:tl="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" exporter="org.eclipse.bpmn2.modeler.core" exporterVersion="1.5.4.RC1-v20220528-0836-B1" id="Definitions_1" name="Definitions 1" targetNamespace="http://www.imixs.org/bpmn2">
<bpmn2:extensionElements>
<imixs:item name="txtworkflowmodelversion" type="xs:string">
<imixs:value><![CDATA[analyse-zolleust-de-1.0]]></imixs:value>
<imixs:value><![CDATA[analyse-steuerbescheid-de-1.0]]></imixs:value>
</imixs:item>
<imixs:item name="txtfieldmapping" type="xs:string">
<imixs:value><![CDATA[Prozess-Verantwortliche|namprocessmanager]]></imixs:value>
@ -173,13 +173,16 @@ th { font-weight: bold;}
<bpmn2:documentation id="Documentation_17"><![CDATA[<?xml version="1.0"?>
<imixs-form>
<imixs-form-section columns="3" label="Monitoring - Steuerbescheide">
<imixs-form-section columns="3" label="Offene Beträge">
<item name="analytic.steuer.zoll" type="custom" path="alexander/analyze_plain" label="Zoll:" />
<item name="analytic.steuer.eust" type="custom" path="alexander/analyze_plain" label="EUST:" />
<item name="analytic.steuer.due" type="custom" path="alexander/analyze_plain" label="Überfällig:" />
<item name="analytic.steuer.total" type="custom" path="alexander/analyze_plain" label="Gesamt:" />
<item name="analytic.steuer.saldo" type="custom" path="alexander/analyze_plain" label="Saldo:" />
<item name="analytic.steuer.due" type="custom" path="alexander/analyze_plain" label="Saldo überfällig:" />
</imixs-form-section>
<imixs-form-section columns="1">
<imixs-form-section columns="2" label="Trend nach Kalenderwoche">
<item name="analytic.steuer.trend" type="custom" path="alexander/analyze_chart" label="Zoll/Eust pro KW:" />
<item name="analytic.steuer.trend.abteilung" type="custom" path="alexander/analyze_chart" label="Gesamt pro Abteilungen:" />