stapelverarbeitung
This commit is contained in:
parent
8db4320348
commit
74ef6e17a7
4 changed files with 46 additions and 32 deletions
|
|
@ -74,8 +74,14 @@ public class InvoiceDispatchAdapter implements SignalAdapter {
|
|||
try {
|
||||
workflowService.processWorkItem(invoice, 20);
|
||||
} catch (AccessDeniedException | ProcessingErrorException | PluginException | ModelException e) {
|
||||
throw new PluginException(InvoiceDispatchAdapter.class.getSimpleName(), "PROCESSING_ERROR",
|
||||
"Failed to process invoice : " + invoice.getUniqueID());
|
||||
// Hier werfen wir keine Exception mehr sondern geben nur eine Warning auf der
|
||||
// Console aus.
|
||||
// Der User merkt also nicht wenn eine Rechnung nicht zugewiesen werden konnte
|
||||
// throw new PluginException(InvoiceDispatchAdapter.class.getSimpleName(),
|
||||
// "PROCESSING_ERROR",
|
||||
// "Failed to process invoice : " + invoice.getUniqueID());
|
||||
|
||||
logger.info("Failed to process invoice : " + invoice.getUniqueID());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,7 +56,8 @@ oplist.invoices.description.open=Anzahl der Rechnungen die noch nicht fällig si
|
|||
oplist.invoices.description.due=Anzahl der fälligen Rechnungen
|
||||
oplist.invoices.description.dunning=Anzahl Rechnungen bereits gemahnt
|
||||
|
||||
|
||||
invoice.clickall=Alle Rechnungen markieren
|
||||
invoice.unclickall=Auswahl zurücksetzen
|
||||
|
||||
ERROR_CDTR_INVALID=Die Kreditorennummer ist nicht gültig
|
||||
ERROR_BOOKING_PERIOD=Eingabefehler - Bitte geben Sie eine gültige Buchungsperiode ein! Prüfen Sie auch die Spalte BP in der Positionstabelle.
|
||||
|
|
|
|||
|
|
@ -56,6 +56,8 @@ oplist.invoices.description.open=Number of invoices that are not yet due
|
|||
oplist.invoices.description.due=Number of invoices due
|
||||
oplist.invoices.description.dunning=Number of invoices already dunned
|
||||
|
||||
invoice.clickall=Select all invoices
|
||||
invoice.unclickall=Reset
|
||||
|
||||
ERROR_CDTR_INVALID=The creditor number is not valid
|
||||
ERROR_BOOKING_PERIOD=Input error - Please enter a valid booking period! Also check the BP column in the position table.
|
||||
|
|
|
|||
|
|
@ -50,15 +50,13 @@
|
|||
|
||||
<ui:fragment rendered="#{!empty invoiceList}">
|
||||
|
||||
|
||||
|
||||
<div class="imixs-form-section">
|
||||
|
||||
<input type="button" id="clickallid" value="#{custom['invoice.clickall']}" />
|
||||
<input type="button" id="unclickallid" value="#{custom['invoice.unclickall']}" />
|
||||
<table class="" style="font-size: 0.9rem;line-height: 2.1em;">
|
||||
|
||||
<c:forEach items="#{invoiceList}" var="invoice">
|
||||
<tr>
|
||||
|
||||
<td><input type="checkbox" class="selection_checkbox"
|
||||
id="#{invoice.uniqueID}" /></td>
|
||||
|
||||
|
|
@ -84,37 +82,44 @@
|
|||
<script type="text/javascript">
|
||||
/*<![CDATA[*/
|
||||
|
||||
|
||||
// collect all selected ids form the checkboxes in the first column
|
||||
$(document).ready(
|
||||
function() {
|
||||
|
||||
// clear last selection...
|
||||
selection = $('.invoice_selection_list').val('');
|
||||
// Button-Handler bleiben gleich
|
||||
document.querySelector('input[id="clickallid"]').addEventListener('click', function() {
|
||||
document.querySelectorAll('.selection_checkbox').forEach(checkbox => {
|
||||
checkbox.checked = true;
|
||||
updateSelectionList(checkbox.id, true);
|
||||
});
|
||||
});
|
||||
|
||||
document.querySelector('input[id="unclickallid"]').addEventListener('click', function() {
|
||||
document.querySelectorAll('.selection_checkbox').forEach(checkbox => {
|
||||
checkbox.checked = false;
|
||||
updateSelectionList(checkbox.id, false);
|
||||
});
|
||||
});
|
||||
|
||||
// on change handler....
|
||||
$('input[type="checkbox"].selection_checkbox').change(
|
||||
function() {
|
||||
var id = $(this).attr('id');
|
||||
var check = $(this).prop('checked');
|
||||
//console.log("Change: " + id + " to " + check);
|
||||
$('.invoice_selection_list').val('');
|
||||
|
||||
// get selection
|
||||
var selection = $('.invoice_selection_list')
|
||||
.val();
|
||||
const selectionArr = selection.split(",");
|
||||
// selected
|
||||
if (check) {
|
||||
selectionArr.push(id);
|
||||
}
|
||||
// unselected
|
||||
if (!check) {
|
||||
var i = selectionArr.indexOf(id);
|
||||
selectionArr.splice(i, i);
|
||||
}
|
||||
//console.log("new selection=" + selectionArr.join(','));
|
||||
selection = $('.invoice_selection_list').val(
|
||||
selectionArr.join(','));
|
||||
});
|
||||
function updateSelectionList(id, checked) {
|
||||
let selection = $('.invoice_selection_list').val();
|
||||
let selectionArr = selection ? selection.split(",").filter(x => x) : [];
|
||||
|
||||
if (checked && !selectionArr.includes(id)) {
|
||||
selectionArr.push(id);
|
||||
} else if (!checked) {
|
||||
selectionArr = selectionArr.filter(x => x !== id);
|
||||
}
|
||||
|
||||
$('.invoice_selection_list').val(selectionArr.join(','));
|
||||
}
|
||||
|
||||
$('input[type="checkbox"].selection_checkbox').change(function() {
|
||||
updateSelectionList($(this).attr('id'), $(this).prop('checked'));
|
||||
});
|
||||
});
|
||||
|
||||
/*]]>*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue