kreditor search

This commit is contained in:
Ralph Soika 2024-03-01 10:02:19 +01:00
parent c91e14de0d
commit 64fe94c261
5 changed files with 14652 additions and 91 deletions

View file

@ -1,6 +1,10 @@
# Versionen # Versionen
### 1.2.16 (Development) ### 1.2.17 (Development)
- neue Archive suche
### 1.2.16
- Upgrade Imixs-Archive auf 2.4.2 - verbesserter IMAP Import - Upgrade Imixs-Archive auf 2.4.2 - verbesserter IMAP Import
- Upgarde Imixs-Adapters 2.3.3-SNAPSHOT - Upgarde Imixs-Adapters 2.3.3-SNAPSHOT
@ -16,8 +20,7 @@
**Achtung**: Kubernetes Deploymets müssen angepasst werden (siehe AGL Polen) **Achtung**: Kubernetes Deploymets müssen angepasst werden (siehe AGL Polen)
### 1.2.15 (Development) ### 1.2.15
- kleinere Layout Anpassungen in den Formualren und input Feldern (Positionstabelle, Sachbearbeiter Auswahl...) - kleinere Layout Anpassungen in den Formualren und input Feldern (Positionstabelle, Sachbearbeiter Auswahl...)
- invoice.exchangerate Input ersetzt nun , durch . damit der Wert richtig gespeichert wird. - invoice.exchangerate Input ersetzt nun , durch . damit der Wert richtig gespeichert wird.
- Fix Cargosoft DATEV Import - Korektur des Rechnungsdatums / Jahr - Fix Cargosoft DATEV Import - Korektur des Rechnungsdatums / Jahr

View file

@ -1,11 +1,7 @@
<ui:composition xmlns="http://www.w3.org/1999/xhtml" <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:f="http://xmlns.jcp.org/jsf/core" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core" xmlns:marty="http://xmlns.jcp.org/jsf/composite/marty" xmlns:i="http://xmlns.jcp.org/jsf/composite/imixs">
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"
xmlns:marty="http://xmlns.jcp.org/jsf/composite/marty"
xmlns:i="http://xmlns.jcp.org/jsf/composite/imixs">
<!-- Cargosoft Search integration <!-- Cargosoft Search integration
@ -21,101 +17,102 @@
https://dzone.com/articles/execute-a-jsf-ajax-request-by-just-a-function-call https://dzone.com/articles/execute-a-jsf-ajax-request-by-just-a-function-call
https://www.w3schools.com/howto/howto_js_autocomplete.asp https://www.w3schools.com/howto/howto_js_autocomplete.asp
--> -->
<h:commandScript name="cargosoftCdtrSearch" action="#{cargosoftController.searchCreditor(searchmode)}" <h:commandScript name="cargosoftCdtrSearch" action="#{cargosoftController.searchCreditor(searchmode)}"
render="autocomplete-resultlist-cargosoft" onevent="autocompleteShowResult" /> render="autocomplete-resultlist-cargosoft" onevent="autocompleteShowResult" />
<script type="text/javascript"> <script type="text/javascript">
/*<![CDATA[*/ /*<![CDATA[*/
// init ml input fields... // init ml input fields...
$(document).ready(function() { $(document).ready(function () {
// add autocomplete feature to cdtr.number... // add autocomplete feature to cdtr.number...
var creditorField= $("input[data-item='cdtr.number']"); var creditorField = $("input[data-item='cdtr.number']");
$(creditorField).each(function() { $(creditorField).each(function () {
$(this).addClass("imixs-ml"); $(this).addClass("imixs-ml");
autocompleteInitInput(this,cargosoftCdtrSearch,'autocomplete-resultlist-cargosoft',selectCdtrCallback); autocompleteInitInput(this, cargosoftCdtrSearch, 'autocomplete-resultlist-cargosoft', selectCdtrCallback);
});
// add cargsoft label if available
var cdtrName="#{workflowController.workitem.item['cdtr.name.cargosoft']}";
var inputElement=$("input[data-item='cdtr.number']");
//inputElement.after( "<span id='cdtr-name-id' class='small'>" + cdtrName + "</p>" );
}); });
// Hier bekommen wir die JSON Struktur mit allen daten. // add cargsoft label if available
// diese Daten werden auf die einzelnen Felder verteilt. // see cdtreingabe.xhtml !!
function selectCdtrCallback(selection) { // var cdtrName = "#{workflowController.workitem.item['cdtr.name.cargosoft']}";
// var inputElement = $("input[data-item='cdtr.number']");
const cdtrData = JSON.parse(selection); // inputElement.after("<span id='cdtr-name-id' class='small'>" + cdtrName + "</p>");
// fill data into the fields.... });
var inputElement=$("input[data-item='cdtr.number']");
inputElement.val(cdtrData.no); // Hier bekommen wir die JSON Struktur mit allen daten.
// remove old cdtr.name // diese Daten werden auf die einzelnen Felder verteilt.
$('#cdtr-name-id').remove(); function selectCdtrCallback(selection) {
// append span with cdtr.name....
inputElement.after( "<span id='cdtr-name-id' class='small'>" + cdtrData.name + "</p>" ); const cdtrData = JSON.parse(selection);
var inputElementZahlungsziel=$("input[data-item='cdtr.creditperiod']"); // fill data into the fields....
var inputElementZahlungszielCdtr=$("input[id$='cdtr_creditperiod']"); var inputElement = $("input[data-item='cdtr.number']");
var inputElementInvoiceDate=$("input[id$='date_invoice']"); inputElement.val(cdtrData.no);
var inputElementMail=$("input[data-item='cdtr.mail'],textarea[data-item='cdtr.mail']"); // remove old cdtr.name
var inputElementIban=$("input[data-item='cdtr.iban']"); $('#cdtr-name-id').remove();
var inputElementBic=$("input[data-item='cdtr.bic']"); // append span with cdtr.name....
if (inputElementZahlungszielCdtr) { inputElement.after("<span id='cdtr-name-id' class='small'>" + cdtrData.name + "</p>");
inputElementZahlungszielCdtr.val(cdtrData.creditperiod);
} var inputElementZahlungsziel = $("input[data-item='cdtr.creditperiod']");
// nur wenn ein Rechnugnsdatum eingegeben wurde var inputElementZahlungszielCdtr = $("input[id$='cdtr_creditperiod']");
if (inputElementInvoiceDate && inputElementInvoiceDate.val()!='' && inputElementZahlungsziel && cdtrData.creditperiod!='') { var inputElementInvoiceDate = $("input[id$='date_invoice']");
inputElementZahlungsziel.val(cdtrData.creditperiod); var inputElementMail = $("input[data-item='cdtr.mail'],textarea[data-item='cdtr.mail']");
inputElementZahlungsziel.change(); var inputElementIban = $("input[data-item='cdtr.iban']");
//$('.alexander-logistic-date').focus().select(); var inputElementBic = $("input[data-item='cdtr.bic']");
$("input[data-item='invoice.number']").focus().select(); if (inputElementZahlungszielCdtr) {
inputElementZahlungszielCdtr.val(cdtrData.creditperiod);
} }
// update iban/bic // nur wenn ein Rechnugnsdatum eingegeben wurde
if (inputElementIban) { if (inputElementInvoiceDate && inputElementInvoiceDate.val() != '' && inputElementZahlungsziel && cdtrData.creditperiod != '') {
inputElementIban.val(cdtrData.iban); inputElementZahlungsziel.val(cdtrData.creditperiod);
} inputElementZahlungsziel.change();
if (inputElementBic) { //$('.alexander-logistic-date').focus().select();
inputElementBic.val(cdtrData.bic); $("input[data-item='invoice.number']").focus().select();
}
if (inputElementMail) { }
inputElementMail.val(cdtrData.mail); // update iban/bic
} if (inputElementIban) {
inputElementIban.val(cdtrData.iban);
// update all possible data fields von kredorenverwaltung }
if ($("input[data-item='cdtr.iban']")) { if (inputElementBic) {
$("input[data-item='cdtr.iban2']").val(cdtrData.iban2); inputElementBic.val(cdtrData.bic);
$("input[data-item='cdtr.bic2']").val(cdtrData.bic2); }
$("input[data-item='cdtr.iban3']").val(cdtrData.iban3); if (inputElementMail) {
$("input[data-item='cdtr.bic3']").val(cdtrData.bic3); inputElementMail.val(cdtrData.mail);
$("input[data-item='cdtr.iban4']").val(cdtrData.iban4); }
$("input[data-item='cdtr.bic4']").val(cdtrData.bic4);
} // update all possible data fields von kredorenverwaltung
if ($("input[data-item='cdtr.iban']")) {
$("input[data-item='cdtr.iban2']").val(cdtrData.iban2);
} $("input[data-item='cdtr.bic2']").val(cdtrData.bic2);
$("input[data-item='cdtr.iban3']").val(cdtrData.iban3);
$("input[data-item='cdtr.bic3']").val(cdtrData.bic3);
$("input[data-item='cdtr.iban4']").val(cdtrData.iban4);
$("input[data-item='cdtr.bic4']").val(cdtrData.bic4);
}
}
/*]]>*/ /*]]>*/
</script> </script>
<!-- Hier speichern das von Kreditor vorgeschlagene zahlungsziel --> <!-- Hier speichern das von Kreditor vorgeschlagene zahlungsziel -->
<h:inputHidden id="cdtr_creditperiod" value="#{workflowController.workitem.item['cdtr.creditperiod']}" /> <h:inputHidden id="cdtr_creditperiod" value="#{workflowController.workitem.item['cdtr.creditperiod']}" />
<!-- cargosoft creditor suggest list --> <!-- cargosoft creditor suggest list -->
<h:panelGroup id="autocomplete-resultlist-cargosoft" layout="block" class="autocomplete-resultlist"> <h:panelGroup id="autocomplete-resultlist-cargosoft" layout="block" class="autocomplete-resultlist">
<ui:repeat var="suggest" value="#{cargosoftController.searchResult}"> <ui:repeat var="suggest" value="#{cargosoftController.searchResult}">
<div class="autocomplete-resultlist-element" onclick="autocompleteSelectElement('#{suggest.data}')"> <div class="autocomplete-resultlist-element" onclick="autocompleteSelectElement('#{suggest.data}')">
<a href="#"> <a href="#">
<h:outputText value="#{suggest.display}" escape="false"/> <h:outputText value="#{suggest.display}" escape="false" />
</a> </a>
</div> </div>
</ui:repeat> </ui:repeat>
</h:panelGroup> </h:panelGroup>
</ui:composition>
</ui:composition>

View file

@ -0,0 +1,19 @@
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:f="http://xmlns.jcp.org/jsf/core" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"
xmlns:marty="http://xmlns.jcp.org/jsf/composite/marty">
<!-- Dieses Part zeigt unter dem Eingabefeld einfach nur den cdtr.name.cargosoft an -->
<h:inputText value="#{workitem.item[item.name]}" pt:data-item="#{item.name}"
required="#{item.required?validationController.required:false}" rendered="#{!item.readonly}"
disabled="#{item.disabled}" />
<h:outputText value="#{workitem.item[item.name]}" rendered="#{item.readonly}" />
<!-- anzeige cargosoft name -->
<h:outputText styleClass="small" value="#{workflowController.workitem.item['cdtr.name.cargosoft']}"
style="#{item.readonly?'margin-left:0.9em':''}">
</h:outputText>
</ui:composition>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff