update azubi-funktion

This commit is contained in:
gaby 2021-08-11 15:20:24 +02:00
parent 9d7fd34749
commit 93c7af9e0f
3 changed files with 46 additions and 14 deletions

View file

@ -34,6 +34,7 @@ public class InvoicePlugin extends AbstractPlugin {
public static final int TASK_ERFASSUNG = 5001;
public static final int TASK_SACHPRUEFUNG = 5200;
public static final int TASK_SACHPRUEFUNG_DELEGATION = 5210;
public static final int EVENT_FREIGEBEN = 20;
public static final String ITEM_INVOICE_PERIOD = "invoice.period";
@ -78,7 +79,10 @@ public class InvoicePlugin extends AbstractPlugin {
validateInvoiceNumber(workitem);
}
if (workitem.getTaskID() == TASK_ERFASSUNG || workitem.getTaskID() == TASK_SACHPRUEFUNG) {
if (workitem.getTaskID() == TASK_ERFASSUNG ||
( ( workitem.getTaskID() == TASK_SACHPRUEFUNG || workitem.getTaskID() == TASK_SACHPRUEFUNG_DELEGATION)
&& workitem.getEventID() == EVENT_FREIGEBEN)
) {
// Buchungsperiode auf plausi prüfen
if ("workitem".equals(workitem.getType())) {
validateBuchungsperiode(workitem.getItemValueString(ITEM_INVOICE_PERIOD));
@ -90,7 +94,8 @@ public class InvoicePlugin extends AbstractPlugin {
// die prüfung der positionsnummern und Category erfolgt nur im Status
// Sachprüfung (5200) und nur beim Freigeben (20)!
if (workitem.getTaskID() == TASK_SACHPRUEFUNG && workitem.getEventID() == EVENT_FREIGEBEN) {
if ( (workitem.getTaskID() == TASK_SACHPRUEFUNG || workitem.getTaskID() == TASK_SACHPRUEFUNG_DELEGATION)
&& workitem.getEventID() == EVENT_FREIGEBEN) {
List<ItemCollection> childs = explodeChildList(workitem);
for (ItemCollection posItem : childs) {
if (posItem.getItemValueString("name").trim().isEmpty()) {

View file

@ -18,6 +18,31 @@
</h:inputText>
</dd>
</dl>
<!--
Die Auswahlbox für Azubis wird nur dann angezeigt wen der Vorang bei der Sachprüfung ist und es Assitenten gibt -->
<ui:param name="space" value="#{teamController.getSpaceById(workitem.item['space.ref'])}"></ui:param>
<ui:fragment rendered="#{(!empty space.item['space.assist']) and (5200 eq workitem.item['$taskid'])}">
<dl>
<dt>
Azubi:<span class="imixs-required">*</span>
</dt>
<dd>
<h:selectOneMenu required="false" style="width:20em;"
value="#{workflowController.workitem.item['sb.assist']}">
<f:selectItem itemLabel="" itemValue="-"></f:selectItem>
<c:forEach var="teammember" items="#{space.itemList['space.assist']}">
<f:selectItem
itemLabel="#{userController.getUserName(teammember)}"
itemValue="#{teammember}"></f:selectItem>
</c:forEach>
</h:selectOneMenu>
</dd>
</dl>
</ui:fragment>
</div>

View file

@ -16,6 +16,7 @@
<imixs:value><![CDATA[Bereichs-Team | space.team]]></imixs:value>
<imixs:value><![CDATA[Bereichs-Assistenz | space.assist]]></imixs:value>
<imixs:value><![CDATA[Verantwortlich | sb.team]]></imixs:value>
<imixs:value><![CDATA[Auszubildende | sb.assist]]></imixs:value>
</imixs:item>
<imixs:item name="txttimefieldmapping" type="xs:string">
<imixs:value><![CDATA[Fälligkeitsdatum | invoice.duedate]]></imixs:value>
@ -4260,6 +4261,7 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
</imixs:item>
<imixs:item name="txtactivityresult" type="xs:string">
<imixs:value><![CDATA[<item name="action">home</item>
<validation name="required">false</validation>
<item name="space.lastname"><itemvalue>space.name</itemvalue></item>]]></imixs:value>
</imixs:item>
<imixs:item name="txtname" type="xs:string">
@ -4269,23 +4271,23 @@ Betrag: <itemvalue>_amount</itemvalue> (Brutto € <itemvalue>_amount_brutto</it
<imixs:value><![CDATA[0]]></imixs:value>
</imixs:item>
<imixs:item name="rtfresultlog" type="xs:string">
<imixs:value><![CDATA[Verteilt zur Sachprüfung ⇨ an <username>sb.team</username>]]></imixs:value>
<imixs:value><![CDATA[Delegiert zur Sachprüfung ⇨ an <username>sb.assist</username>]]></imixs:value>
</imixs:item>
<imixs:item name="keyupdateacl" type="xs:boolean">
<imixs:value>false</imixs:value>
</imixs:item>
<imixs:item name="txtbusinessrule" type="CDATA">
<imixs:value><![CDATA[var result={};
var refField="sb.team";
var refField="sb.assist";
result.isValid=true;
if ( ( workitem.get(refField) == null || '-'==workitem.get(refField)[0]) ) {
result.isValid=false;
result.errorMessage='Bitte wählen Sie eine(n) Verantwortliche(n) aus.';
result.errorMessage='Bitte wählen Sie eine(n) Auszubildende(n) aus.';
}]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:documentation id="Documentation_48"><![CDATA[Rechnung weiterleiten an Sachbearbeiter.]]></bpmn2:documentation>
<bpmn2:documentation id="Documentation_48"><![CDATA[Rechnung weiterleiten an Auszubildende(n).]]></bpmn2:documentation>
<bpmn2:incoming>SequenceFlow_96</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_91</bpmn2:outgoing>
</bpmn2:intermediateCatchEvent>
@ -4310,13 +4312,14 @@ result.isValid=true;
<imixs:value>true</imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string">
<imixs:value><![CDATA[sb.team]]></imixs:value>
<imixs:value><![CDATA[sb.assist]]></imixs:value>
</imixs:item>
<imixs:item name="keyaddwritefields" type="xs:string">
<imixs:value><![CDATA[process.team]]></imixs:value>
<imixs:value><![CDATA[process.manager]]></imixs:value>
<imixs:value><![CDATA[space.manager]]></imixs:value>
<imixs:value><![CDATA[sb.team]]></imixs:value>
<imixs:value><![CDATA[sb.assist]]></imixs:value>
</imixs:item>
<imixs:item name="namaddreadaccess" type="xs:string">
<imixs:value><![CDATA[{process:?:member}]]></imixs:value>
@ -4353,13 +4356,14 @@ result.isValid=true;
<imixs:value>true</imixs:value>
</imixs:item>
<imixs:item name="keyownershipfields" type="xs:string">
<imixs:value><![CDATA[sb.team]]></imixs:value>
<imixs:value><![CDATA[sb.assist]]></imixs:value>
</imixs:item>
<imixs:item name="keyaddwritefields" type="xs:string">
<imixs:value><![CDATA[process.team]]></imixs:value>
<imixs:value><![CDATA[process.manager]]></imixs:value>
<imixs:value><![CDATA[space.manager]]></imixs:value>
<imixs:value><![CDATA[sb.team]]></imixs:value>
<imixs:value><![CDATA[sb.assist]]></imixs:value>
</imixs:item>
<imixs:item name="namaddreadaccess" type="xs:string">
<imixs:value><![CDATA[{process:?:member}]]></imixs:value>
@ -4882,7 +4886,7 @@ result.isValid=true;
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keypublicresult" type="xs:string">
<imixs:value><![CDATA[0]]></imixs:value>
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="keylogdateformat" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
@ -4897,9 +4901,7 @@ result.isValid=true;
<imixs:value><![CDATA[]]></imixs:value>
</imixs:item>
<imixs:item name="txtactivityresult" type="xs:string">
<imixs:value><![CDATA[<item name="action">home</item>
<item name="space.lastname"><itemvalue>space.name</itemvalue></item>
<validation name="required">false</validation>]]></imixs:value>
<imixs:value><![CDATA[]]></imixs:value>
</imixs:item>
<imixs:item name="txtname" type="xs:string">
<imixs:value><![CDATA[Anweisen]]></imixs:value>
@ -4920,10 +4922,10 @@ result.isValid=true;
<imixs:value><![CDATA[1]]></imixs:value>
</imixs:item>
<imixs:item name="numactivitydelay" type="xs:string">
<imixs:value><![CDATA[48]]></imixs:value>
<imixs:value><![CDATA[2]]></imixs:value>
</imixs:item>
<imixs:item name="keyactivitydelayunit" type="xs:string">
<imixs:value><![CDATA[2]]></imixs:value>
<imixs:value><![CDATA[4]]></imixs:value>
</imixs:item>
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_115</bpmn2:incoming>