Arbeiten mit dem Workflow Runner¶
Struktur¶
Jeder Datensatz der Bearbeitet wird muss sich in einem Generic befinden.
In diesem Beispiel werden Positionen bearbeitet:
$positions=[];
$position=[];
$position['scid']=1425;
$positions[] = $position;
$positionsCollection=new \Alvine\Types\Collection(\Alvine\Application\Data\Generic::class);
foreach($positions as $position) {
$positionsCollection->append((new \Alvine\Application\Data\Generic)->setDataset(new \Alvine\Data\Dataset($position)));
}
Wenn mehrere Operationen durchgeführt werden sollen. Muss jede weitere Operation sich auch in einem Generic befinden
Die Antwort¶
Die Generic Antwort besteht immer aus einem dataset
und einem sys
Teil.
{
"dataset": [
{
....
}
],
"sys": {
...
}
}
Jeder bearbeitete Datensatz ist wieder ein Generic.
{
"dataset": [
{
"positions": [
{
"dataset": {
....
},
"sys": {
...
}
}
]
}
],
"sys": {
....
}
}
Script¶
$workflow=\Alvine\Application\Platform\Plugin\Turnover\Component::getInstance()->getWorkflow('exchange_positions');
$runner = new \Alvine\Application\Platform\Logic\Workflow\Runner\Generic($workflow);
$runner->setGenericDataCollection($positionsCollection);
$runner->setExpectedFinalState('done');
$runner->run('transition-start');
$fullReport= $runner->getFullReport();