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; 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. * Schritte. Die Analyse Seite ist büer das Admin Menü erreichbar.
* *
* @author rsoika * @author rsoika
@ -29,10 +29,10 @@ import org.imixs.workflow.engine.index.SearchService;
*/ */
@Named @Named
@ConversationScoped @ConversationScoped
public class AnalyseSachpruefungController implements Serializable { public class InvoiceAnalyseController implements Serializable {
private static final long serialVersionUID = 1L; 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 @Inject
protected DocumentService documentService; protected DocumentService documentService;
@ -42,6 +42,7 @@ public class AnalyseSachpruefungController implements Serializable {
Category sachpruefung; Category sachpruefung;
Category verteilung; Category verteilung;
Category buchhaltung;
private ItemCollection filter; private ItemCollection filter;
@ -72,7 +73,11 @@ public class AnalyseSachpruefungController implements Serializable {
return verteilung; return verteilung;
} }
public int totalCountByCategory(Category cat) { public Category getBuchhaltung() {
return buchhaltung;
}
public int totalCountByCategory(Category cat) {
int result = 0; int result = 0;
Collection<Integer> allCounts = cat.getLabels().values(); 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(); filter = new ItemCollection();
sachpruefung = null; sachpruefung = null;
verteilung = null; verteilung = null;
buchhaltung = null;
logger.fine("reset"); logger.fine("reset");
} }

View file

@ -4,9 +4,9 @@
lucence.indexDir=${imixs-office.IndexDir} 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=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.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.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 office.search.noanalyze=invoice.number
############################## ##############################

View file

@ -6,7 +6,7 @@
<ul> <ul>
<li><h:link outcome="/pages/admin/document_import">Dokument Import</h:link></li> <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/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> </ul>
</f:subview> </f:subview>

View file

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