update analyse
This commit is contained in:
parent
34c5caa0a1
commit
ee9a75bb02
6 changed files with 12211 additions and 21 deletions
|
|
@ -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");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
7195
workflow/rechnungseingang-de-1.2.16.bpmn
Normal file
7195
workflow/rechnungseingang-de-1.2.16.bpmn
Normal file
File diff suppressed because it is too large
Load diff
4943
workflow/rechnungseingang-sachrechnung-de-1.0.14.bpmn
Normal file
4943
workflow/rechnungseingang-sachrechnung-de-1.0.14.bpmn
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue