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.setValue(computeSteuerbescheideZoll());
event.setLabel("EUR"); event.setLabel("EUR");
event.setDescription("Gesamt Zölle (ZOLLEU)"); event.setDescription("Gesamt Zölle (ZOLLEU)");
event.setLink(link); 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.setLabel("EUR");
event.setDescription("Überfällige Steuerbescheide die noch nicht abgerechnet wurden."); event.setDescription("Alle Steuerbescheide die noch nicht abgerechnet wurden.");
event.setLink(link + "&workflowstatus=Überfällig"); 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())) { if ("analytic.steuer.trend".equals(event.getKey())) {
event.setValue(accumulateSteuerbescheideByWeek()); event.setValue(accumulateSteuerbescheideByWeek());
event.setLabel("Zoll & EUST"); event.setLabel("Zoll & EUST");
@ -117,17 +134,8 @@ public class AGLAnalyticController implements Serializable {
logger.info("compute Zoll..."); logger.info("compute Zoll...");
List<ItemCollection> list = getSteuerbescheide(); List<ItemCollection> list = getSteuerbescheide();
double result = 0; double result = 0;
for (ItemCollection steuerItemCol : list) { for (ItemCollection steuerItemCol : list) {
result = result + getZollBySteuerBeleg(steuerItemCol, "ZOLL"); 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); return InvoiceUtil.round(result);
} }
@ -137,7 +145,38 @@ public class AGLAnalyticController implements Serializable {
* *
* @return * @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..."); logger.info("compute EUST...");
List<ItemCollection> list = getSteuerbescheide(); List<ItemCollection> list = getSteuerbescheide();
double result = 0; double result = 0;

View file

@ -5,10 +5,7 @@
<!-- Chart Diagramm --> <!-- Chart Diagramm -->
<style> <style>
.analytic-card { .analytic-card-chart {
display: flex;
flex-flow: column;
min-height: 200px; min-height: 200px;
padding: 20px; padding: 20px;
background-color: #f3f3f3; background-color: #f3f3f3;
@ -23,22 +20,16 @@
color: #4398f3; color: #4398f3;
} }
.analytic-card-header {} .analytic-card-chart-detail {
position: relative;
.analytic-card-footer { background-color: #fff;
font-size: 12px; height: 100%;
font-weight: normal; width: 100%;
color: #333;
}
.analytic-card-content {
flex: 1;
font-size: 20px;
} }
</style> </style>
<div class="analytic-card"> <div class="analytic-card-chart">
<div id="container"> <div class="analytic-card-chart-detail">
<canvas id="analytics_canvas_#{item.name}" style="min-width: 600px;height:200px;"></canvas> <canvas id="analytics_canvas_#{item.name}" style=""></canvas>
</div> </div>
</div> </div>
@ -47,6 +38,7 @@
<script type="text/javascript" <script type="text/javascript"
src="#{facesContext.externalContext.requestContextPath}/js/chartjs/chart.min.js?build=#{app.application_build_timestamp}"></script> 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"> <!-- 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> <bpmn2:extensionElements>
<imixs:item name="txtworkflowmodelversion" type="xs:string"> <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>
<imixs:item name="txtfieldmapping" type="xs:string"> <imixs:item name="txtfieldmapping" type="xs:string">
<imixs:value><![CDATA[Prozess-Verantwortliche|namprocessmanager]]></imixs:value> <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"?> <bpmn2:documentation id="Documentation_17"><![CDATA[<?xml version="1.0"?>
<imixs-form> <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.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.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>
<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" 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:" /> <item name="analytic.steuer.trend.abteilung" type="custom" path="alexander/analyze_chart" label="Gesamt pro Abteilungen:" />