update op liste export kw
This commit is contained in:
parent
e66b3add86
commit
e9665bf27c
6 changed files with 110 additions and 84 deletions
|
|
@ -28,6 +28,9 @@ public class InvoiceUtil {
|
||||||
public static final String CHILD_ITEM_PROPERTY = "_ChildItems";
|
public static final String CHILD_ITEM_PROPERTY = "_ChildItems";
|
||||||
public static final String ITEM_INVOICE_PERIOD = "invoice.period";
|
public static final String ITEM_INVOICE_PERIOD = "invoice.period";
|
||||||
public static final String ITEM_INVOICE_POSITIONS = "invoice.positions";
|
public static final String ITEM_INVOICE_POSITIONS = "invoice.positions";
|
||||||
|
public static final String ITEM_CDTR_NUMBER = "cdtr.number";
|
||||||
|
public static final String ITEM_CDTR_NAME = "cdtr.name";
|
||||||
|
public static final String ITEM_CDTR_NAME_CARGOSOFT = "cdtr.name.cargosoft";
|
||||||
|
|
||||||
public static double round(double value) {
|
public static double round(double value) {
|
||||||
BigDecimal bd = BigDecimal.valueOf(value);
|
BigDecimal bd = BigDecimal.valueOf(value);
|
||||||
|
|
@ -76,6 +79,24 @@ public class InvoiceUtil {
|
||||||
return childItems;
|
return childItems;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert the List of ItemCollections back into a List of Map elements
|
||||||
|
*
|
||||||
|
* @param workitem
|
||||||
|
*/
|
||||||
|
@SuppressWarnings({ "rawtypes" })
|
||||||
|
public static void implodeChildList(ItemCollection workitem, List<ItemCollection> childItems) {
|
||||||
|
List<Map> mapOrderItems = new ArrayList<Map>();
|
||||||
|
// convert the child ItemCollection elements into a List of Map
|
||||||
|
if (childItems != null) {
|
||||||
|
// iterate over all order items..
|
||||||
|
for (ItemCollection orderItem : childItems) {
|
||||||
|
mapOrderItems.add(orderItem.getAllItems());
|
||||||
|
}
|
||||||
|
workitem.replaceItemValue(CHILD_ITEM_PROPERTY, mapOrderItems);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Diese Methode berechnet das feld 'invoice.positions' welches eine Valueliste
|
* Diese Methode berechnet das feld 'invoice.positions' welches eine Valueliste
|
||||||
* mit allen Positionsnummern aus dem Childliste enthält.
|
* mit allen Positionsnummern aus dem Childliste enthält.
|
||||||
|
|
|
||||||
|
|
@ -200,18 +200,15 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter {
|
||||||
XSSFRow rowSpacesCurrencies = sheet.getRow(10);
|
XSSFRow rowSpacesCurrencies = sheet.getRow(10);
|
||||||
XSSFRow rowValues = sheet.getRow(11);
|
XSSFRow rowValues = sheet.getRow(11);
|
||||||
|
|
||||||
XSSFCell cellSpaceLabelReference = rowSpacesLabels.getCell(1);
|
XSSFCell cellSpaceLabelReference = rowSpacesLabels.getCell(2);
|
||||||
XSSFCell cellSpaceCurrencyReference = rowSpacesCurrencies.getCell(1);
|
XSSFCell cellSpaceCurrencyReference = rowSpacesCurrencies.getCell(1);
|
||||||
int column = 1;
|
int column = 1;
|
||||||
for (ItemCollection space : spaces) {
|
for (ItemCollection space : spaces) {
|
||||||
|
XSSFCell cell = null;
|
||||||
String spaceName = space.getItemValueString("space.name");
|
String spaceName = space.getItemValueString("space.name");
|
||||||
String spaceID = space.getUniqueID();
|
String spaceID = space.getUniqueID();
|
||||||
spaceNames.add(spaceName);
|
spaceNames.add(spaceName);
|
||||||
|
|
||||||
// Space Labe
|
|
||||||
XSSFCell cell = rowSpacesLabels.getCell(column);
|
|
||||||
// cell.copyCellFrom(cellSpaceLabelReference, new CellCopyPolicy());
|
|
||||||
cell.setCellValue(spaceName);
|
|
||||||
// Space currency EUR
|
// Space currency EUR
|
||||||
cell = rowSpacesCurrencies.getCell(column);
|
cell = rowSpacesCurrencies.getCell(column);
|
||||||
cell.copyCellFrom(cellSpaceCurrencyReference, new CellCopyPolicy());
|
cell.copyCellFrom(cellSpaceCurrencyReference, new CellCopyPolicy());
|
||||||
|
|
@ -223,11 +220,16 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter {
|
||||||
cell.copyCellFrom(cellSpaceCurrencyReference, new CellCopyPolicy());
|
cell.copyCellFrom(cellSpaceCurrencyReference, new CellCopyPolicy());
|
||||||
cell.setCellValue("USD");
|
cell.setCellValue("USD");
|
||||||
|
|
||||||
|
// Space Label
|
||||||
|
cell = rowSpacesLabels.getCell(column);
|
||||||
|
cell.setCellValue(spaceName);
|
||||||
|
|
||||||
// create two new cells...
|
// create two new cells...
|
||||||
|
column++;
|
||||||
cell = rowSpacesLabels.createCell(column);
|
cell = rowSpacesLabels.createCell(column);
|
||||||
cell.copyCellFrom(cellSpaceLabelReference, new CellCopyPolicy());
|
cell.copyCellFrom(cellSpaceLabelReference, new CellCopyPolicy());
|
||||||
cell.setCellValue("");
|
cell.setCellValue("");
|
||||||
column++;
|
|
||||||
cell = rowSpacesLabels.createCell(column);
|
cell = rowSpacesLabels.createCell(column);
|
||||||
cell.copyCellFrom(cellSpaceLabelReference, new CellCopyPolicy());
|
cell.copyCellFrom(cellSpaceLabelReference, new CellCopyPolicy());
|
||||||
cell.setCellValue("");
|
cell.setCellValue("");
|
||||||
|
|
@ -267,21 +269,21 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter {
|
||||||
column = 1;
|
column = 1;
|
||||||
for (String name : spaceNames) {
|
for (String name : spaceNames) {
|
||||||
String key = name + "/" + week;
|
String key = name + "/" + week;
|
||||||
logger.info("serach WeekInvoiceData for " + key);
|
logger.info("search WeekInvoiceData for " + key);
|
||||||
// list of invoices
|
// list of invoices
|
||||||
WeekInvoiceData weekData = weekDataMap.get(key);
|
WeekInvoiceData weekData = weekDataMap.get(key);
|
||||||
if (weekData != null) {
|
if (weekData != null) {
|
||||||
logger.info("eur=" + weekData.totalEUR);
|
logger.info(" EUR=" + weekData.totalEUR + " USD=" + weekData.totalUSD);
|
||||||
row.getCell(column).setCellValue(weekData.totalEUR);
|
row.getCell(column).setCellValue(weekData.totalEUR);
|
||||||
column++;
|
column++;
|
||||||
row.getCell(column).setCellValue(weekData.totalUSD);
|
row.getCell(column).setCellValue(weekData.totalUSD);
|
||||||
|
column++;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
logger.info("...... NOT FOUND");
|
logger.info("...... NOT FOUND");
|
||||||
// skip columns
|
// skip columns
|
||||||
column = column + 2;
|
column = column + 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// update style
|
// update style
|
||||||
|
|
@ -392,12 +394,13 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter {
|
||||||
private void groupInvoicesByWeek(String spaceID, String spaceName,
|
private void groupInvoicesByWeek(String spaceID, String spaceName,
|
||||||
Map<String, WeekInvoiceData> cache) {
|
Map<String, WeekInvoiceData> cache) {
|
||||||
|
|
||||||
logger.info("...group invoices for " + spaceID);
|
logger.info("...group invoices for " + spaceName + "/" + spaceID);
|
||||||
try {
|
try {
|
||||||
List<ItemCollection> invoices = documentService.find(
|
List<ItemCollection> invoices = documentService.find(
|
||||||
"$modelversion:rechnungsausgang-* AND type:workitem AND $uniqueidref:" + spaceID, 9999, 0,
|
"$modelversion:rechnungsausgang-* AND type:workitem AND $uniqueidref:" + spaceID, 9999, 0,
|
||||||
"invoice.number", false);
|
"invoice.number", false);
|
||||||
|
|
||||||
|
logger.info(" found " + invoices.size() + " for space " + spaceName);
|
||||||
for (ItemCollection invoice : invoices) {
|
for (ItemCollection invoice : invoices) {
|
||||||
// compute Week
|
// compute Week
|
||||||
Date dueDate = invoice.getItemValueDate("invoice.duedate");
|
Date dueDate = invoice.getItemValueDate("invoice.duedate");
|
||||||
|
|
@ -414,7 +417,7 @@ public class OPListExportAdapterByWeek extends POIFindReplaceAdapter {
|
||||||
// haben wir shon ein listchen?
|
// haben wir shon ein listchen?
|
||||||
|
|
||||||
String key = spaceName + "/" + weekCategory;
|
String key = spaceName + "/" + weekCategory;
|
||||||
logger.info("....building weekInvoiceData object for " + key);
|
logger.fine(" ....building weekInvoiceData object for " + key);
|
||||||
|
|
||||||
WeekInvoiceData weekData = cache.get(key);
|
WeekInvoiceData weekData = cache.get(key);
|
||||||
if (weekData == null) {
|
if (weekData == null) {
|
||||||
|
|
|
||||||
|
|
@ -34,10 +34,6 @@ public class ZahlungsavisAppendAdapter implements SignalAdapter {
|
||||||
public static final String ERROR_MISSING_DATA = "MISSING_DATA";
|
public static final String ERROR_MISSING_DATA = "MISSING_DATA";
|
||||||
public static final String ERROR_CONFIG = "CONFIG_ERROR";
|
public static final String ERROR_CONFIG = "CONFIG_ERROR";
|
||||||
|
|
||||||
public static final String ITEM_CDTR_NUMBER = "cdtr.number";
|
|
||||||
public static final String ITEM_CDTR_NAME = "cdtr.name";
|
|
||||||
public static final String ITEM_CDTR_NAME_CARGOSOFT = "cdtr.name.cargosoft";
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
WorkflowService workflowService;
|
WorkflowService workflowService;
|
||||||
|
|
||||||
|
|
@ -63,26 +59,28 @@ public class ZahlungsavisAppendAdapter implements SignalAdapter {
|
||||||
* @throws PluginException
|
* @throws PluginException
|
||||||
*/
|
*/
|
||||||
private void appendInvoice(ItemCollection document) throws PluginException {
|
private void appendInvoice(ItemCollection document) throws PluginException {
|
||||||
String cdtrNumber = document.getItemValueString(ITEM_CDTR_NUMBER);
|
String cdtrNumber = document.getItemValueString(InvoiceUtil.ITEM_CDTR_NUMBER);
|
||||||
String currency = document.getItemValueString("invoice.currency");
|
String currency = document.getItemValueString("invoice.currency");
|
||||||
|
|
||||||
if (cdtrNumber == null || cdtrNumber.isEmpty()) {
|
if (cdtrNumber == null || cdtrNumber.isEmpty()) {
|
||||||
throw new PluginException(PluginException.class.getName(), ERROR_MISSING_DATA,
|
throw new PluginException(PluginException.class.getName(), ERROR_MISSING_DATA,
|
||||||
"Zahlungsavis kann nicht erzeugt werden. Bitte wählen Sie zuerst einen Kreditor aus.");
|
"Zahlungsavis kann nicht erzeugt werden. Bitte wählen Sie zuerst einen Kreditor aus.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
logger.info("......Search Zahlungsavis or creditor '" + cdtrNumber + "'...");
|
logger.info("......Search Zahlungsavis or creditor '" + cdtrNumber + "'...");
|
||||||
ItemCollection zahlungsAvis;
|
ItemCollection zahlungsAvis;
|
||||||
try {
|
try {
|
||||||
zahlungsAvis = findZahlungsavis(cdtrNumber,currency);
|
zahlungsAvis = findZahlungsavis(cdtrNumber, currency);
|
||||||
if (zahlungsAvis == null) {
|
if (zahlungsAvis == null) {
|
||||||
// create a new one
|
// create a new one
|
||||||
zahlungsAvis = new ItemCollection().workflowGroup("Zahlungsavis").task(1000).event(100);
|
zahlungsAvis = new ItemCollection().workflowGroup("Zahlungsavis").task(1000).event(100);
|
||||||
// add cdtr.name
|
// add cdtr.name
|
||||||
zahlungsAvis.setItemValue(ITEM_CDTR_NAME, document.getItemValue(ITEM_CDTR_NAME));
|
zahlungsAvis.setItemValue(InvoiceUtil.ITEM_CDTR_NAME,
|
||||||
zahlungsAvis.setItemValue(ITEM_CDTR_NUMBER, document.getItemValue(ITEM_CDTR_NUMBER));
|
document.getItemValue(InvoiceUtil.ITEM_CDTR_NAME));
|
||||||
zahlungsAvis.setItemValue(ITEM_CDTR_NAME_CARGOSOFT, document.getItemValue(ITEM_CDTR_NAME_CARGOSOFT));
|
zahlungsAvis.setItemValue(InvoiceUtil.ITEM_CDTR_NUMBER,
|
||||||
|
document.getItemValue(InvoiceUtil.ITEM_CDTR_NUMBER));
|
||||||
|
zahlungsAvis.setItemValue(InvoiceUtil.ITEM_CDTR_NAME_CARGOSOFT,
|
||||||
|
document.getItemValue(InvoiceUtil.ITEM_CDTR_NAME_CARGOSOFT));
|
||||||
zahlungsAvis.setItemValue("invoice.currency", currency);
|
zahlungsAvis.setItemValue("invoice.currency", currency);
|
||||||
} else {
|
} else {
|
||||||
// zahlungsavis speichern
|
// zahlungsavis speichern
|
||||||
|
|
@ -107,14 +105,13 @@ public class ZahlungsavisAppendAdapter implements SignalAdapter {
|
||||||
* @return
|
* @return
|
||||||
* @throws QueryException
|
* @throws QueryException
|
||||||
*/
|
*/
|
||||||
private ItemCollection findZahlungsavis(String cdtrNumber,String currency) throws QueryException {
|
private ItemCollection findZahlungsavis(String cdtrNumber, String currency) throws QueryException {
|
||||||
String query = "(type:workitem) AND ($modelversion:zahlungsavis*) ";
|
String query = "(type:workitem) AND ($modelversion:zahlungsavis*) ";
|
||||||
List<ItemCollection> resultList = workflowService.getDocumentService().find(query, 999, 0, "$modified", true);
|
List<ItemCollection> resultList = workflowService.getDocumentService().find(query, 999, 0, "$modified", true);
|
||||||
|
|
||||||
for (ItemCollection zahlungsavis : resultList) {
|
for (ItemCollection zahlungsavis : resultList) {
|
||||||
if (cdtrNumber.equals(zahlungsavis.getItemValueString(ITEM_CDTR_NUMBER))
|
if (cdtrNumber.equals(zahlungsavis.getItemValueString(InvoiceUtil.ITEM_CDTR_NUMBER))
|
||||||
&& currency.equals(zahlungsavis.getItemValueString("invoice.currency"))
|
&& currency.equals(zahlungsavis.getItemValueString("invoice.currency"))) {
|
||||||
) {
|
|
||||||
return zahlungsavis;
|
return zahlungsavis;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -531,7 +531,7 @@ public class DatevCargosoftImportAdapter implements SignalAdapter {
|
||||||
datevWorkitem.setItemValue("invoice.total", total);
|
datevWorkitem.setItemValue("invoice.total", total);
|
||||||
datevWorkitem.setItemValue("invoice.saldo", total);
|
datevWorkitem.setItemValue("invoice.saldo", total);
|
||||||
// implode die Splitbuchungen
|
// implode die Splitbuchungen
|
||||||
implodeChildList(datevWorkitem, splitBuchungen);
|
InvoiceUtil.implodeChildList(datevWorkitem, splitBuchungen);
|
||||||
|
|
||||||
// set dbtr.name
|
// set dbtr.name
|
||||||
ItemCollection dbtrItemCol = kreditorDebitorService
|
ItemCollection dbtrItemCol = kreditorDebitorService
|
||||||
|
|
@ -577,6 +577,8 @@ public class DatevCargosoftImportAdapter implements SignalAdapter {
|
||||||
String belegNummer = datevWorkitem.getItemValueString("invoice.number");
|
String belegNummer = datevWorkitem.getItemValueString("invoice.number");
|
||||||
if (belegNummer.startsWith("ATC")) {
|
if (belegNummer.startsWith("ATC")) {
|
||||||
// Zollanmeldung
|
// Zollanmeldung
|
||||||
|
// Lookup Kreditor data... and switch dbtr to cdtr
|
||||||
|
updateATCInvoice(datevWorkitem);
|
||||||
datevWorkitem.model(INITIAL_MODEL_VERSION_TAX).task(INITIAL_TASK_ID_TAX).event(INITIAL_EVENT_ID_TAX);
|
datevWorkitem.model(INITIAL_MODEL_VERSION_TAX).task(INITIAL_TASK_ID_TAX).event(INITIAL_EVENT_ID_TAX);
|
||||||
} else {
|
} else {
|
||||||
// Normale Ausgangsrechnung
|
// Normale Ausgangsrechnung
|
||||||
|
|
@ -588,22 +590,41 @@ public class DatevCargosoftImportAdapter implements SignalAdapter {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert the List of ItemCollections back into a List of Map elements
|
* This helper method updates some attributes of a DATEV Import regarding ATC
|
||||||
|
* Invoice (Zollanmeldungen)
|
||||||
*
|
*
|
||||||
* @param workitem
|
* Hier handelt es sich praktisch um eine Eingangsrechnung, daher tauschen wir
|
||||||
|
* die Vorzeichen und dbtr/cdtr
|
||||||
|
*
|
||||||
|
* @param datevWorkitem
|
||||||
|
* @throws PluginException
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings({ "rawtypes" })
|
private void updateATCInvoice(ItemCollection datevWorkitem) throws PluginException {
|
||||||
private void implodeChildList(ItemCollection workitem, List<ItemCollection> childItems) {
|
String cdtrNumber = datevWorkitem.getItemValueString("dbtr.number");
|
||||||
List<Map> mapOrderItems = new ArrayList<Map>();
|
datevWorkitem.setItemValue("cdtr.number", cdtrNumber);
|
||||||
// convert the child ItemCollection elements into a List of Map
|
datevWorkitem.removeItem("dbtr.number");
|
||||||
if (childItems != null) {
|
ItemCollection creditor = kreditorDebitorService.findCreditor(cdtrNumber);
|
||||||
logger.fine("Convert child items into Map...");
|
if (creditor != null) {
|
||||||
// iterate over all order items..
|
// update name....
|
||||||
for (ItemCollection orderItem : childItems) {
|
datevWorkitem.setItemValue(InvoiceUtil.ITEM_CDTR_NAME, creditor.getItemValueString("_VENDOR_Name"));
|
||||||
mapOrderItems.add(orderItem.getAllItems());
|
|
||||||
}
|
|
||||||
workitem.replaceItemValue(CHILD_ITEM_PROPERTY, mapOrderItems);
|
|
||||||
}
|
}
|
||||||
|
// Update invoice.positions
|
||||||
|
InvoiceUtil.updateInvoicePositions(datevWorkitem);
|
||||||
|
|
||||||
|
// Switch S/H
|
||||||
|
List<ItemCollection> childs = InvoiceUtil.explodeChildList(datevWorkitem);
|
||||||
|
for (ItemCollection posItem : childs) {
|
||||||
|
if (posItem.hasItem("datev.shzeichen")) {
|
||||||
|
String sh = posItem.getItemValueString("datev.shzeichen");
|
||||||
|
if ("S".equalsIgnoreCase(sh)) {
|
||||||
|
sh = "H";
|
||||||
|
} else {
|
||||||
|
sh = "S";
|
||||||
|
}
|
||||||
|
posItem.setItemValue("datev.shzeichen", sh);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
InvoiceUtil.implodeChildList(datevWorkitem, childs);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Binary file not shown.
|
|
@ -604,7 +604,6 @@ Nach Prüfung schließen Sie bitte den Vorgang über die Schaltfläche "Erledigt
|
||||||
<bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
|
<bpmn2:outgoing>SequenceFlow_2</bpmn2:outgoing>
|
||||||
<bpmn2:incoming>sequenceFlow_71XoqA</bpmn2:incoming>
|
<bpmn2:incoming>sequenceFlow_71XoqA</bpmn2:incoming>
|
||||||
<bpmn2:outgoing>sequenceFlow_QzU0Xg</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_QzU0Xg</bpmn2:outgoing>
|
||||||
<bpmn2:incoming>sequenceFlow_hH7RWQ</bpmn2:incoming>
|
|
||||||
</bpmn2:task>
|
</bpmn2:task>
|
||||||
<bpmn2:intermediateCatchEvent id="event_a0OyNw" imixs:activityid="60" name="Erstellen">
|
<bpmn2:intermediateCatchEvent id="event_a0OyNw" imixs:activityid="60" name="Erstellen">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
|
|
@ -618,40 +617,27 @@ Nach Prüfung schließen Sie bitte den Vorgang über die Schaltfläche "Erledigt
|
||||||
<imixs:item name="rtfresultlog" type="xs:string">
|
<imixs:item name="rtfresultlog" type="xs:string">
|
||||||
<imixs:value><![CDATA[Liste Außenstände erstellt]]></imixs:value>
|
<imixs:value><![CDATA[Liste Außenstände erstellt]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
|
<imixs:item name="keypublicresult" type="xs:string">
|
||||||
|
<imixs:value><![CDATA[1]]></imixs:value>
|
||||||
|
</imixs:item>
|
||||||
<imixs:item name="txtactivityresult" type="xs:string">
|
<imixs:item name="txtactivityresult" type="xs:string">
|
||||||
<imixs:value><![CDATA[<item name="process">Mahnwesen</item>
|
<imixs:value><![CDATA[<item name="process">Mahnwesen</item>
|
||||||
<opliste name="textblock">OP-Liste KW Template</opliste>
|
<opliste name="textblock">OP-Liste KW Template</opliste>
|
||||||
<opliste name="template">op-liste_kw_template.xlsx</opliste>
|
<opliste name="template">op-liste_kw_template.xlsx</opliste>
|
||||||
<opliste name="target-name">op-liste_<itemvalue>space.name</itemvalue>_<itemvalue format="yyyy-MM-dd">$lasteventdate</itemvalue>.xlsx</opliste>
|
<opliste name="target-name">op-liste_<itemvalue>space.name</itemvalue>_<itemvalue format="yyyy-MM-dd">$lasteventdate</itemvalue>.xlsx</opliste>
|
||||||
|
|
||||||
<poi-update name="findreplace">
|
|
||||||
<find>C6</find>
|
|
||||||
<replace><itemvalue>sequencenumber</itemvalue></replace>
|
|
||||||
<type>text</type>
|
|
||||||
</poi-update>
|
|
||||||
<poi-update name="findreplace">
|
|
||||||
<find>D6</find>
|
|
||||||
<replace>Gesamtübersicht</replace>
|
|
||||||
<type>text</type>
|
|
||||||
</poi-update>
|
|
||||||
<poi-update name="findreplace">
|
|
||||||
<find>C8</find>
|
|
||||||
<replace><itemvalue>space.name</itemvalue></replace>
|
|
||||||
<type>text</type>
|
|
||||||
</poi-update>
|
|
||||||
|
|
||||||
<poi-update name="findreplace">
|
<poi-update name="findreplace">
|
||||||
<find>I6</find>
|
<find>I6</find>
|
||||||
<replace><itemvalue format="dd.MM.yyyy">$lasteventdate</itemvalue></replace>
|
<replace><itemvalue format="dd.MM.yyyy">$lasteventdate</itemvalue></replace>
|
||||||
<type>date</type>
|
<type>date</type>
|
||||||
</poi-update>
|
</poi-update>
|
||||||
|
|
||||||
|
<poi-update name="eval">I7</poi-update>
|
||||||
]]></imixs:value>
|
]]></imixs:value>
|
||||||
</imixs:item>
|
</imixs:item>
|
||||||
<imixs:item name="keypublicresult" type="xs:string">
|
|
||||||
<imixs:value><![CDATA[1]]></imixs:value>
|
|
||||||
</imixs:item>
|
|
||||||
</bpmn2:extensionElements>
|
</bpmn2:extensionElements>
|
||||||
<bpmn2:signalEventDefinition id="signalEventDefinition_lJZyMA" signalRef="Signal_1"/>
|
<bpmn2:signalEventDefinition id="signalEventDefinition_lJZyMA" signalRef="signal_2"/>
|
||||||
<bpmn2:documentation id="documentation_z2Mzbg"/>
|
<bpmn2:documentation id="documentation_z2Mzbg"/>
|
||||||
<bpmn2:incoming>sequenceFlow_QzU0Xg</bpmn2:incoming>
|
<bpmn2:incoming>sequenceFlow_QzU0Xg</bpmn2:incoming>
|
||||||
<bpmn2:outgoing>sequenceFlow_64kfIA</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_64kfIA</bpmn2:outgoing>
|
||||||
|
|
@ -689,6 +675,7 @@ Nach Prüfung schließen Sie bitte den Vorgang über die Schaltfläche "Erledigt
|
||||||
<bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
|
<bpmn2:incoming>SequenceFlow_10</bpmn2:incoming>
|
||||||
<bpmn2:incoming>sequenceFlow_64kfIA</bpmn2:incoming>
|
<bpmn2:incoming>sequenceFlow_64kfIA</bpmn2:incoming>
|
||||||
<bpmn2:outgoing>sequenceFlow_W9rmgA</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_W9rmgA</bpmn2:outgoing>
|
||||||
|
<bpmn2:incoming>sequenceFlow_hH7RWQ</bpmn2:incoming>
|
||||||
</bpmn2:task>
|
</bpmn2:task>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_71XoqA" sourceRef="event_yvRYxA" targetRef="task_A5VcTw">
|
<bpmn2:sequenceFlow id="sequenceFlow_71XoqA" sourceRef="event_yvRYxA" targetRef="task_A5VcTw">
|
||||||
<bpmn2:documentation id="documentation_EL9YOw"/>
|
<bpmn2:documentation id="documentation_EL9YOw"/>
|
||||||
|
|
@ -761,7 +748,7 @@ Nach Prüfung schließen Sie bitte den Vorgang über die Schaltfläche "Erledigt
|
||||||
<bpmn2:association id="association_caVaqw" sourceRef="textAnnotation_5ZBmxg" targetRef="event_a0OyNw">
|
<bpmn2:association id="association_caVaqw" sourceRef="textAnnotation_5ZBmxg" targetRef="event_a0OyNw">
|
||||||
<bpmn2:documentation id="documentation_VEQOAw"/>
|
<bpmn2:documentation id="documentation_VEQOAw"/>
|
||||||
</bpmn2:association>
|
</bpmn2:association>
|
||||||
<bpmn2:intermediateCatchEvent id="event_0DGK7A" imixs:activityid="111" name="Test">
|
<bpmn2:intermediateCatchEvent id="event_0DGK7A" imixs:activityid="111" name="Aktualisieren">
|
||||||
<bpmn2:extensionElements>
|
<bpmn2:extensionElements>
|
||||||
<imixs:item name="txtmailsubject" type="xs:string">
|
<imixs:item name="txtmailsubject" type="xs:string">
|
||||||
<imixs:value/>
|
<imixs:value/>
|
||||||
|
|
@ -797,7 +784,7 @@ Nach Prüfung schließen Sie bitte den Vorgang über die Schaltfläche "Erledigt
|
||||||
<bpmn2:documentation id="documentation_V7ymKA"/>
|
<bpmn2:documentation id="documentation_V7ymKA"/>
|
||||||
<bpmn2:outgoing>sequenceFlow_hH7RWQ</bpmn2:outgoing>
|
<bpmn2:outgoing>sequenceFlow_hH7RWQ</bpmn2:outgoing>
|
||||||
</bpmn2:intermediateCatchEvent>
|
</bpmn2:intermediateCatchEvent>
|
||||||
<bpmn2:sequenceFlow id="sequenceFlow_hH7RWQ" sourceRef="event_0DGK7A" targetRef="task_A5VcTw">
|
<bpmn2:sequenceFlow id="sequenceFlow_hH7RWQ" sourceRef="event_0DGK7A" targetRef="task_xZ1VEg">
|
||||||
<bpmn2:documentation id="documentation_pZPHng"/>
|
<bpmn2:documentation id="documentation_pZPHng"/>
|
||||||
</bpmn2:sequenceFlow>
|
</bpmn2:sequenceFlow>
|
||||||
</bpmn2:process>
|
</bpmn2:process>
|
||||||
|
|
@ -1023,26 +1010,25 @@ Nach Prüfung schließen Sie bitte den Vorgang über die Schaltfläche "Erledigt
|
||||||
<dc:Bounds height="50.0" width="110.0" x="290.0" y="830.0"/>
|
<dc:Bounds height="50.0" width="110.0" x="290.0" y="830.0"/>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="event_a0OyNw" id="BPMNShape_UOz1ng">
|
<bpmndi:BPMNShape bpmnElement="event_a0OyNw" id="BPMNShape_UOz1ng">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="497.0" y="967.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="487.0" y="837.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_HWhMvg">
|
<bpmndi:BPMNLabel id="BPMNLabel_HWhMvg">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="468.0" y="1003.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="458.0" y="873.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNShape bpmnElement="task_xZ1VEg" id="BPMNShape_4UA3IA">
|
<bpmndi:BPMNShape bpmnElement="task_xZ1VEg" id="BPMNShape_4UA3IA">
|
||||||
<dc:Bounds height="50.0" width="110.0" x="780.0" y="960.0"/>
|
<dc:Bounds height="50.0" width="110.0" x="700.0" y="830.0"/>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_71XoqA" id="BPMNEdge_NHStBg" sourceElement="BPMNShape_X1bTbg" targetElement="BPMNShape_thLYng">
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_71XoqA" id="BPMNEdge_NHStBg" sourceElement="BPMNShape_X1bTbg" targetElement="BPMNShape_thLYng">
|
||||||
<di:waypoint x="213.0" y="855.0"/>
|
<di:waypoint x="213.0" y="855.0"/>
|
||||||
<di:waypoint x="290.0" y="855.0"/>
|
<di:waypoint x="290.0" y="855.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_QzU0Xg" id="BPMNEdge_xcKr3g" sourceElement="BPMNShape_thLYng" targetElement="BPMNShape_UOz1ng">
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_QzU0Xg" id="BPMNEdge_xcKr3g" sourceElement="BPMNShape_thLYng" targetElement="BPMNShape_UOz1ng">
|
||||||
<di:waypoint x="347.0" y="880.0"/>
|
<di:waypoint x="400.0" y="855.0"/>
|
||||||
<di:waypoint x="347.0" y="985.0"/>
|
<di:waypoint x="487.0" y="855.0"/>
|
||||||
<di:waypoint x="497.0" y="985.0"/>
|
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_64kfIA" id="BPMNEdge_xphwrQ" sourceElement="BPMNShape_UOz1ng" targetElement="BPMNShape_4UA3IA">
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_64kfIA" id="BPMNEdge_xphwrQ" sourceElement="BPMNShape_UOz1ng" targetElement="BPMNShape_4UA3IA">
|
||||||
<di:waypoint x="533.0" y="985.0"/>
|
<di:waypoint x="523.0" y="855.0"/>
|
||||||
<di:waypoint x="780.0" y="985.0"/>
|
<di:waypoint x="700.0" y="855.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNShape bpmnElement="event_XWmcVw" id="BPMNShape_gjGFNA">
|
<bpmndi:BPMNShape bpmnElement="event_XWmcVw" id="BPMNShape_gjGFNA">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="957.0" y="837.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="957.0" y="837.0"/>
|
||||||
|
|
@ -1060,9 +1046,7 @@ Nach Prüfung schließen Sie bitte den Vorgang über die Schaltfläche "Erledigt
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_W9rmgA" id="BPMNEdge_0VXmVQ" sourceElement="BPMNShape_4UA3IA" targetElement="BPMNShape_gjGFNA">
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_W9rmgA" id="BPMNEdge_0VXmVQ" sourceElement="BPMNShape_4UA3IA" targetElement="BPMNShape_gjGFNA">
|
||||||
<di:waypoint x="890.0" y="985.0"/>
|
<di:waypoint x="810.0" y="855.0"/>
|
||||||
<di:waypoint x="923.5" y="985.0"/>
|
|
||||||
<di:waypoint x="923.5" y="855.0"/>
|
|
||||||
<di:waypoint x="957.0" y="855.0"/>
|
<di:waypoint x="957.0" y="855.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_5c0Y8A" id="BPMNEdge_G6uKEg" sourceElement="BPMNShape_gjGFNA" targetElement="BPMNShape_KwE0KA">
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_5c0Y8A" id="BPMNEdge_G6uKEg" sourceElement="BPMNShape_gjGFNA" targetElement="BPMNShape_KwE0KA">
|
||||||
|
|
@ -1074,23 +1058,23 @@ Nach Prüfung schließen Sie bitte den Vorgang über die Schaltfläche "Erledigt
|
||||||
<di:waypoint x="1197.0" y="855.0"/>
|
<di:waypoint x="1197.0" y="855.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNShape bpmnElement="textAnnotation_5ZBmxg" id="BPMNShape_36UNzw">
|
<bpmndi:BPMNShape bpmnElement="textAnnotation_5ZBmxg" id="BPMNShape_36UNzw">
|
||||||
<dc:Bounds height="69.0" width="199.0" x="550.0" y="1050.0"/>
|
<dc:Bounds height="69.0" width="199.0" x="340.0" y="960.0"/>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="association_caVaqw" id="BPMNEdge_AA2MfA" sourceElement="BPMNShape_36UNzw" targetElement="BPMNShape_UOz1ng">
|
<bpmndi:BPMNEdge bpmnElement="association_caVaqw" id="BPMNEdge_AA2MfA" sourceElement="BPMNShape_36UNzw" targetElement="BPMNShape_UOz1ng">
|
||||||
<di:waypoint x="649.5" y="1050.0"/>
|
<di:waypoint x="439.5" y="960.0"/>
|
||||||
<di:waypoint x="649.5" y="1026.5"/>
|
<di:waypoint x="439.5" y="916.5"/>
|
||||||
<di:waypoint x="515.0" y="1026.5"/>
|
<di:waypoint x="505.0" y="916.5"/>
|
||||||
<di:waypoint x="515.0" y="1003.0"/>
|
<di:waypoint x="505.0" y="873.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
<bpmndi:BPMNShape bpmnElement="event_0DGK7A" id="BPMNShape_KWrOwQ">
|
<bpmndi:BPMNShape bpmnElement="event_0DGK7A" id="BPMNShape_KWrOwQ">
|
||||||
<dc:Bounds height="36.0" width="36.0" x="327.0" y="757.0"/>
|
<dc:Bounds height="36.0" width="36.0" x="737.0" y="917.0"/>
|
||||||
<bpmndi:BPMNLabel id="BPMNLabel_3RVChA">
|
<bpmndi:BPMNLabel id="BPMNLabel_3RVChA">
|
||||||
<dc:Bounds height="20.0" width="100.0" x="298.0" y="793.0"/>
|
<dc:Bounds height="20.0" width="100.0" x="708.0" y="953.0"/>
|
||||||
</bpmndi:BPMNLabel>
|
</bpmndi:BPMNLabel>
|
||||||
</bpmndi:BPMNShape>
|
</bpmndi:BPMNShape>
|
||||||
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_hH7RWQ" id="BPMNEdge_nWebKA" sourceElement="BPMNShape_KWrOwQ" targetElement="BPMNShape_thLYng">
|
<bpmndi:BPMNEdge bpmnElement="sequenceFlow_hH7RWQ" id="BPMNEdge_nWebKA" sourceElement="BPMNShape_KWrOwQ" targetElement="BPMNShape_4UA3IA">
|
||||||
<di:waypoint x="345.0" y="793.0"/>
|
<di:waypoint x="755.0" y="917.0"/>
|
||||||
<di:waypoint x="345.0" y="830.0"/>
|
<di:waypoint x="755.0" y="880.0"/>
|
||||||
</bpmndi:BPMNEdge>
|
</bpmndi:BPMNEdge>
|
||||||
</bpmndi:BPMNPlane>
|
</bpmndi:BPMNPlane>
|
||||||
<bpmndi:BPMNLabelStyle id="BPMNLabelStyle_1">
|
<bpmndi:BPMNLabelStyle id="BPMNLabelStyle_1">
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue