update analyse

This commit is contained in:
Ralph Soika 2021-12-14 16:18:23 +01:00
parent 34c5caa0a1
commit ee9a75bb02
6 changed files with 12211 additions and 21 deletions

View file

@ -21,7 +21,7 @@ import org.imixs.workflow.engine.index.Category;
import org.imixs.workflow.engine.index.SearchService;
/**
* AnalyseSachpruefungController dient zur Auswertung der Sachprüfungs WOrklfow
* Der InvoiceAnalyseController dient zur Auswertung der Sachprüfungs WOrklfow
* Schritte. Die Analyse Seite ist büer das Admin Menü erreichbar.
*
* @author rsoika
@ -29,10 +29,10 @@ import org.imixs.workflow.engine.index.SearchService;
*/
@Named
@ConversationScoped
public class AnalyseSachpruefungController implements Serializable {
public class InvoiceAnalyseController implements Serializable {
private static final long serialVersionUID = 1L;
private static Logger logger = Logger.getLogger(AnalyseSachpruefungController.class.getName());
private static Logger logger = Logger.getLogger(InvoiceAnalyseController.class.getName());
@Inject
protected DocumentService documentService;
@ -42,6 +42,7 @@ public class AnalyseSachpruefungController implements Serializable {
Category sachpruefung;
Category verteilung;
Category buchhaltung;
private ItemCollection filter;
@ -72,7 +73,11 @@ public class AnalyseSachpruefungController implements Serializable {
return verteilung;
}
public int totalCountByCategory(Category cat) {
public Category getBuchhaltung() {
return buchhaltung;
}
public int totalCountByCategory(Category cat) {
int result = 0;
Collection<Integer> allCounts = cat.getLabels().values();
@ -135,6 +140,18 @@ public class AnalyseSachpruefungController implements Serializable {
}
// query Buchhaltung
query = "(type:workitem OR type:workitemarchive) ";
if (start != null || stop != null) {
query += "AND (taxonomy.buchhaltung.stop:[" + sDateFrom + " TO " + sDateTo + "]) ";
}
logger.info(query);
taxResult = searchService.getTaxonomyByQuery(query, "taxonomy.buchhaltung.stop.by");
if (taxResult.size() > 0) {
buchhaltung = taxResult.get(0);
}
}
/**
@ -144,6 +161,7 @@ public class AnalyseSachpruefungController implements Serializable {
filter = new ItemCollection();
sachpruefung = null;
verteilung = null;
buchhaltung = null;
logger.fine("reset");
}

View file

@ -4,9 +4,9 @@
lucence.indexDir=${imixs-office.IndexDir}
index.fields=txtsearchstring,txtSubject,txtname,txtEmail,txtUserName,namCreator,txtworkflowgroup,txtworkflowstatus,txtWorkflowAbstract,txtWorkflowSummary,txtworkflowhistory,txtspacename,txtprocessname,_subject,_description,_name,_projectnumber,_projectname,_ordernumber,_contractnumber,datDueDate,txtcommentlog,htmldescription,htmldocumentation,dms,dms_names,_childitems,$file.names,_VENDOR_NAME
index.fields.analyze=txtUsername
index.fields.noanalyze=type,$UniqueIDRef,$created,$modified,$ModelVersion,namCreator,$ProcessID,datDate,txtWorkflowGroup,txtemail, datdate, datfrom, datto, numsequencenumber,dms_count,invoice.number,invoice.duedate,taxonomy.verteilung.stop,taxonomy.sachpruefung.stop,,taxonomy.verteilung.start,taxonomy.sachpruefung.start
index.fields.noanalyze=type,$UniqueIDRef,$created,$modified,$ModelVersion,namCreator,$ProcessID,datDate,txtWorkflowGroup,txtemail, datdate, datfrom, datto, numsequencenumber,dms_count,invoice.number,invoice.duedate,taxonomy.verteilung.stop,taxonomy.sachpruefung.stop,taxonomy.verteilung.start,taxonomy.sachpruefung.start,taxonomy.buchhaltung.start,taxonomy.buchhaltung.stop
index.fields.store=process.name,txtProcessName,txtWorkflowImageURL
index.fields.category=space.name,space.ref,taxonomy.verteilung.stop.by,taxonomy.sachpruefung.stop.by
index.fields.category=space.name,space.ref,taxonomy.verteilung.stop.by,taxonomy.sachpruefung.stop.by,taxonomy.buchhaltung.stop.by
office.search.noanalyze=invoice.number
##############################

View file

@ -6,7 +6,7 @@
<ul>
<li><h:link outcome="/pages/admin/document_import">Dokument Import</h:link></li>
<li><h:link outcome="/pages/admin/sepa_config">SEPA</h:link></li>
<li><h:link outcome="/pages/admin/analyse_sachpruefung">Analyse Sachprüfung</h:link></li>
<li><h:link outcome="/pages/admin/analyse_invoicing">Analyse Rechnungseingang</h:link></li>
</ul>
</f:subview>

View file

@ -47,7 +47,7 @@
<div class="imixs-form">
<div class="imixs-header">
<h1>Analyse Verteilung / Sachprüfung</h1>
<h1>Analyse Rechnungseingang</h1>
</div>
@ -56,9 +56,10 @@
<div class="imixs-form-panel">
<div class="ui-state-highlight ui-corner-all"
style="margin-bottom: 10px; padding: .5em;">
<p>Der folgende Report zeigt an, wieviele <i>Verteilungen</i> bzw.
<p>Der folgende Report zeigt an, wieviele <i>Rechnungseingänge</i>, <i>Verteilungen</i> und
<i>Sachprüfungen</i> in einem bestimmten Zeitraum durchgeführt
wurden. Der Report dient dazu die Verteilung der Aufgaben in den jweiligen Teams zu
Optimieren.</p>
@ -70,7 +71,7 @@
</dt>
<dd>
<h:inputText styleClass="imixs-date"
value="#{analyseSachpruefungController.filter.item['start']}">
value="#{invoiceAnalyseController.filter.item['start']}">
<f:convertDateTime pattern="#{message.datePatternShort}"
timeZone="#{message.timeZone}" />
</h:inputText>
@ -86,7 +87,7 @@
</dt>
<dd>
<h:inputText styleClass="imixs-date"
value="#{analyseSachpruefungController.filter.item['stop']}">
value="#{invoiceAnalyseController.filter.item['stop']}">
<f:convertDateTime pattern="#{message.datePatternShort}"
timeZone="#{message.timeZone}" />
</h:inputText>
@ -98,8 +99,8 @@
</div>
<h:commandButton
actionListener="#{analyseSachpruefungController.analyse()}"
action="/pages/admin/analyse_sachpruefung"
actionListener="#{invoiceAnalyseController.analyse()}"
action="/pages/admin/analyse_invoicing"
value="Report starten">
<f:ajax render="result_panel" execute="@form"
onevent="updatePanel" />
@ -117,18 +118,51 @@
<hr />
<div class="row">
<div class="col-4" style="padding-left: 0;">
<div class="col-4">
<ui:fragment
rendered="#{analyseSachpruefungController.verteilung!=null}">
<h2>Verteilung zur Prüfung
(#{analyseSachpruefungController.totalCountByCategory(analyseSachpruefungController.verteilung)})</h2>
rendered="#{invoiceAnalyseController.buchhaltung!=null}">
<h2>Buchhaltung
(#{invoiceAnalyseController.totalCountByCategory(invoiceAnalyseController.buchhaltung)})</h2>
<table class="monitoring-datatable">
<tr>
<th>Mitarbeiter</th>
<th></th>
</tr>
<c:forEach
items="#{analyseSachpruefungController.verteilung.labels}"
items="#{invoiceAnalyseController.buchhaltung.labels}"
var="entry">
<tr>
<td>#{userController.getUserName(entry.key)}</td>
<td style="text-align: center;">#{entry.value}</td>
</tr>
</c:forEach>
</table>
</ui:fragment>
</div>
<div class="col-4" style="padding-left: 0;">
<ui:fragment
rendered="#{invoiceAnalyseController.verteilung!=null}">
<h2>Verteilung zur Prüfung
(#{invoiceAnalyseController.totalCountByCategory(invoiceAnalyseController.verteilung)})</h2>
<table class="monitoring-datatable">
<tr>
<th>Mitarbeiter</th>
<th></th>
</tr>
<c:forEach
items="#{invoiceAnalyseController.verteilung.labels}"
var="entry">
<tr>
<td>#{userController.getUserName(entry.key)}</td>
@ -141,16 +175,16 @@
<div class="col-4">
<ui:fragment
rendered="#{analyseSachpruefungController.sachpruefung!=null}">
rendered="#{invoiceAnalyseController.sachpruefung!=null}">
<h2>Sachprüfung
(#{analyseSachpruefungController.totalCountByCategory(analyseSachpruefungController.sachpruefung)})</h2>
(#{invoiceAnalyseController.totalCountByCategory(invoiceAnalyseController.sachpruefung)})</h2>
<table class="monitoring-datatable">
<tr>
<th>Mitarbeiter</th>
<th></th>
</tr>
<c:forEach
items="#{analyseSachpruefungController.sachpruefung.labels}"
items="#{invoiceAnalyseController.sachpruefung.labels}"
var="entry">
<tr>
<td>#{userController.getUserName(entry.key)}</td>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff