PM-3508
This commit is contained in:
@@ -317,5 +317,46 @@ class Route extends BaseRoute
|
|||||||
|
|
||||||
return $routes;
|
return $routes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function updateRouteOrder($data)
|
||||||
|
{
|
||||||
|
foreach($data as $i => $r) {
|
||||||
|
$aData = array_change_key_case($r, CASE_UPPER);
|
||||||
|
$route = Route::findOneBy(array(RoutePeer::PRO_UID => $aData['PRO_UID'], RoutePeer::ROU_NEXT_TASK => $aData['ROU_NEXT_TASK']));
|
||||||
|
if(!empty($route)) {
|
||||||
|
$aData['ROU_UID'] = $route->getRouUid();
|
||||||
|
$this->update($aData);
|
||||||
|
unset($aData);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function updateRouteOrderFromProject($prjUid)
|
||||||
|
{
|
||||||
|
$accountsArray = array();
|
||||||
|
$criteria = new \Criteria("workflow");
|
||||||
|
$criteria->clearSelectColumns();
|
||||||
|
$criteria->addSelectColumn(\BpmnFlowPeer::FLO_POSITION);
|
||||||
|
$criteria->addSelectColumn(\BpmnFlowPeer::FLO_ELEMENT_DEST);
|
||||||
|
$criteria->addSelectColumn(\BpmnFlowPeer::PRJ_UID);
|
||||||
|
$criteria->addSelectColumn(\BpmnFlowPeer::FLO_TYPE);
|
||||||
|
$criteria->add(\BpmnFlowPeer::FLO_ELEMENT_ORIGIN_TYPE, 'bpmnGateway');
|
||||||
|
$criteria->add(\BpmnFlowPeer::PRJ_UID, $prjUid);
|
||||||
|
$criteria->addAscendingOrderByColumn(BpmnFlowPeer::FLO_POSITION);
|
||||||
|
$result = \BpmnFlowPeer::doSelectRS($criteria);
|
||||||
|
$result->setFetchmode(\ResultSet::FETCHMODE_ASSOC);
|
||||||
|
$result->next();
|
||||||
|
$j=0;
|
||||||
|
$k=1;
|
||||||
|
while ($aRow = $result->getRow()) {
|
||||||
|
$accountsArray[$j]['PRO_UID'] = $aRow['PRJ_UID'];
|
||||||
|
$accountsArray[$j]['ROU_NEXT_TASK'] = $aRow['FLO_ELEMENT_DEST'];
|
||||||
|
$accountsArray[$j]['ROU_CASE'] = $k++;
|
||||||
|
$result->next();
|
||||||
|
$j++;
|
||||||
|
}
|
||||||
|
if(sizeof($accountsArray)) {
|
||||||
|
$this->updateRouteOrder($accountsArray);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -347,5 +347,37 @@ class Project extends Api
|
|||||||
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
throw (new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @url PUT /:prj_uid/update-route-order
|
||||||
|
*
|
||||||
|
* @param string $prj_uid {@min 32}{@max 32}
|
||||||
|
*/
|
||||||
|
public function doPutUpdateRouteOrder($prj_uid, $request_data)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$oRoute = new \Route();
|
||||||
|
$result = $oRoute->updateRouteOrder($request_data);
|
||||||
|
return $result;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @url PUT /:prj_uid/update-route-order-from-project
|
||||||
|
*
|
||||||
|
* @param string $prj_uid {@min 32}{@max 32}
|
||||||
|
*/
|
||||||
|
public function doPutUpdateRouteOrderFromProject($prj_uid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$oRoute = new \Route();
|
||||||
|
$result = $oRoute->updateRouteOrderFromProject($prj_uid);
|
||||||
|
return $result;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user