This commit is contained in:
Ralph Soika 2020-12-10 12:38:33 +01:00
parent bfbf3d7f08
commit e0f68071f6
2 changed files with 45 additions and 14 deletions

View file

@ -19,7 +19,8 @@
<th style="">Positionsnummer<span class="imixs-required"> *</span></th> <th style="">Positionsnummer<span class="imixs-required"> *</span></th>
<th style="width: 50px;">Buchungsperiode</th> <th style="width: 50px;">Buchungsperiode</th>
<th style="width: 150px;">Steuer</th> <th style="width: 150px;">Steuer</th>
<th style="width: 150px;text-align:right;">Betrag</th> <th style="width: 150px;text-align:right;">Netto</th>
<th style="width: 150px;text-align:right;">Brutto</th>
<th style=""> <th style="">
<!-- delete --> <!-- delete -->
</th> </th>
@ -37,7 +38,7 @@
<td><h:inputText value="#{orderitem.item['period']}" style="width:100%;" /></td> <td><h:inputText value="#{orderitem.item['period']}" style="width:100%;" /></td>
<!-- Steuer --> <!-- Steuer -->
<td><h:selectOneMenu value="#{orderitem.item['tax']}" > <td><h:selectOneMenu value="#{orderitem.item['tax']}" a:data-id="orderitem_tax" >
<f:selectItem itemLabel="" itemValue="" /> <f:selectItem itemLabel="" itemValue="" />
<f:selectItem itemLabel="Steuerfrei Ausfuhr" itemValue="0"></f:selectItem> <f:selectItem itemLabel="Steuerfrei Ausfuhr" itemValue="0"></f:selectItem>
<f:selectItem itemLabel="Steuerfrei EU" itemValue="0EU"></f:selectItem> <f:selectItem itemLabel="Steuerfrei EU" itemValue="0EU"></f:selectItem>
@ -48,19 +49,24 @@
<f:selectItem itemLabel="Reverse-Charge-EU" itemValue="RCE"></f:selectItem> <f:selectItem itemLabel="Reverse-Charge-EU" itemValue="RCE"></f:selectItem>
</h:selectOneMenu></td> </h:selectOneMenu></td>
<!-- Betrag --> <!-- Netto Betrag -->
<td style="text-align:right;"><h:inputText value="#{orderitem.item['amount']}" <td style="text-align:right;"><h:inputText value="#{orderitem.item['amount']}"
a:data-id="orderitem_amount" style="text-align: right;width:100%;"> a:data-id="orderitem_amount" style="text-align: right;width:100%;">
<f:convertNumber minFractionDigits="2" locale="de" /> <f:convertNumber minFractionDigits="2" locale="de" />
</h:inputText> </h:inputText>
</td> </td>
<!-- Brutto -->
<td data-id="orderitem_summary" style="text-align: right;padding-right:10px;"></td>
<td><h:commandLink actionListener="#{childItemController.remove(orderitem.item['numpos'])}"> <td><h:commandLink actionListener="#{childItemController.remove(orderitem.item['numpos'])}">
<span class="typcn typcn-trash imixs-state-info"></span> <span class="typcn typcn-trash imixs-state-info"></span>
<f:ajax render="#{orderlistContainer.clientId}" <f:ajax render="#{orderlistContainer.clientId}"
onevent="updateOrderItems" /> onevent="updateOrderItems" />
</h:commandLink> </h:commandLink>
<h:inputHidden value="#{orderitem.item['total']}" a:data-id="orderitem_total">
<f:convertNumber minFractionDigits="2" locale="de" />
</h:inputHidden>
</td> </td>
</tr> </tr>
</ui:repeat> </ui:repeat>
@ -71,6 +77,7 @@
<td /> <td />
<td /> <td />
<td /> <td />
<td />
<td data-id="orderlist_summary" style="text-align: right;padding-right:10px;font-wight:bold;"></td> <td data-id="orderlist_summary" style="text-align: right;padding-right:10px;font-wight:bold;"></td>
<td /> <td />
</tr> </tr>
@ -118,23 +125,47 @@
//Rechnet die Preise zusammen //Rechnet die Preise zusammen
function calculateSummary() { function calculateSummary() {
var price = 0, amount = 0, sum = 0, total = 0; var price = 0, amount = 0, sum = 0, total = 0, brutto = 0;
var summaryItems = $("[data-id='orderitem_amount']"); var summaryItems = $("[data-id='orderitem_amount']");
$(summaryItems).each(function(index, value) { $(summaryItems).each(function(index, value) {
var tableRow = $(this).closest('tr'); var tableRow = $(this).closest('tr');
var inputamount = $("[data-id='orderitem_amount']", tableRow); var inputamount = $("[data-id='orderitem_amount']", tableRow);
var inputtax = $("[data-id='orderitem_tax']", tableRow);
if (inputamount ) { if (inputamount ) {
amount = convertToNumber(inputamount.val()); amount = convertToNumber(inputamount.val());
//console.log('amount=' + amount); //console.log('amount=' + amount);
if (!isNaN(amount) ) { if (!isNaN(amount) ) {
sum = amount ;
// round // round
sum = Math.round(sum * 100) / 100; amount = Math.round(amount * 100) / 100;
total = total + sum;
//$("[data-id='orderitem_total']",tableRow).val(sum); // is tax a number?
sum = convertToCurrency(sum); if (!isNaN(inputtax.val())) {
//console.log('sum=' + sum); tax=convertToNumber(inputtax.val());
$("[data-id='orderitem_amount']",tableRow).val(sum); console.log('tax=' +tax);
brutto=amount + amount*(tax/100);
console.log('brutto=' +brutto);
} else {
brutto=amount;
}
// round
brutto = Math.round(brutto * 100) / 100;
total = total + brutto;
// update netto column
$("[data-id='orderitem_amount']",tableRow).val(convertToCurrency(amount));
// update burtto column
brutto=convertToCurrency(brutto);
$("[data-id='orderitem_total']",tableRow).val(brutto); // hidden field
// update display column
$("[data-id='orderitem_summary']", tableRow).empty();
$("[data-id='orderitem_summary']", tableRow).append(brutto);
} }
} }
}); });

View file

@ -105,7 +105,7 @@
<bpmn2:task id="Task_5000" imixs:processid="5300" name="Freigabe"> <bpmn2:task id="Task_5000" imixs:processid="5300" name="Freigabe">
<bpmn2:extensionElements> <bpmn2:extensionElements>
<imixs:item name="txteditorid" type="xs:string"> <imixs:item name="txteditorid" type="xs:string">
<imixs:value><![CDATA[]]></imixs:value> <imixs:value><![CDATA[alexander/form_basic_read#alexander/sub_positionen_read]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="txtworkflowabstract" type="xs:string"> <imixs:item name="txtworkflowabstract" type="xs:string">
<imixs:value><![CDATA[<itemvalue>txtlastcomment</itemvalue>]]></imixs:value> <imixs:value><![CDATA[<itemvalue>txtlastcomment</itemvalue>]]></imixs:value>
@ -721,7 +721,7 @@ result.isValid=true;
<bpmn2:task id="Task_3" imixs:processid="5400" name="Freigegeben zur Bezahlung"> <bpmn2:task id="Task_3" imixs:processid="5400" name="Freigegeben zur Bezahlung">
<bpmn2:extensionElements> <bpmn2:extensionElements>
<imixs:item name="txteditorid" type="xs:string"> <imixs:item name="txteditorid" type="xs:string">
<imixs:value><![CDATA[]]></imixs:value> <imixs:value><![CDATA[alexander/form_basic_read#alexander/sub_positionen_read]]></imixs:value>
</imixs:item> </imixs:item>
<imixs:item name="txtworkflowabstract" type="xs:string"> <imixs:item name="txtworkflowabstract" type="xs:string">
<imixs:value><![CDATA[<itemvalue>txtlastcomment</itemvalue>]]></imixs:value> <imixs:value><![CDATA[<itemvalue>txtlastcomment</itemvalue>]]></imixs:value>