diff --git a/workflow/engine/src/ProcessMaker/Project/Bpmn.php b/workflow/engine/src/ProcessMaker/Project/Bpmn.php index 8cb27df25..cefce6f69 100755 --- a/workflow/engine/src/ProcessMaker/Project/Bpmn.php +++ b/workflow/engine/src/ProcessMaker/Project/Bpmn.php @@ -1348,13 +1348,15 @@ class Bpmn extends Handler $oCriteria->add( \BpmnFlowPeer::FLO_POSITION, $iPosition, '>' ); $oDataset = \BpmnFlowPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); - $oDataset->next(); - $aRow = $oDataset->getRow(); - $oCriteria2 = new Criteria('workflow'); - $oCriteria2->add( \BpmnFlowPeer::FLO_POSITION, $aRow['FLO_POSITION'] - 1); - BasePeer::doUpdate($oCriteria, $oCriteria2, $con); - $oDataset->next(); - + while ($oDataset->next()) { + $aRow = $oDataset->getRow(); + $newPosition = ((int)$aRow['FLO_POSITION'])-1; + $oCriteriaTemp = new Criteria( 'workflow' ); + $oCriteriaTemp->add( \BpmnFlowPeer::FLO_UID, $aRow['FLO_UID'] ); + $oCriteria2 = new Criteria('workflow'); + $oCriteria2->add(\BpmnFlowPeer::FLO_POSITION, $newPosition); + BasePeer::doUpdate($oCriteriaTemp, $oCriteria2, $con); + } } catch (Exception $oException) { throw $oException; }