public function executeStart_tree(sfWebRequest $request) { $tree_id = $request->getParameter('treeId'); $tree_id = explode('-', $tree_id); $tree_id = $tree_id[1]; $token = $request->getParameter('token'); $user = $this->getUser()->getAttribute(sfConfig::get('app_session_current_user'), null); $token_session = $this->getUser()->getAttribute(sfConfig::get('app_session_tree_production'), null); if ($token_session != null) { if ($user != null) { $tree = TreeScPeer::retrieveByPK($tree_id); if (is_object($tree)) { if ($tree->getFlag() == 1) { if ($token_session == $token) { $tree->setProduccion('production'); $tree->setUpdateAt(time()); $tree->save(); $criterio = new Criteria(); $criterio->add(IndicatorsScPeer::TREE_ID, $tree->getId()); $criterio->add(IndicatorsScPeer::FLAG, '%habilitado%', Criteria::LIKE); $criterio->add(IndicatorsScPeer::ULTIMO_NODO, 1); $criterio->addAscendingOrderByColumn(IndicatorsScPeer::PREVIOUS_ID); $list_indicadores = IndicatorsScPeer::doSelect($criterio); $group_data = new GroupDataIndicadores(); $group_data->setTreeId($tree->getId()); $group_data->setCreateAt(time()); $group_data->save(); foreach ($list_indicadores as $row) { $data = new DataIndicadores(); $data->setIndicadorId($row->getId()); $data->setUserId($row->getResponsableId()); $data->setGroupData($group_data->getId()); if ($row->getValorActualEntregado() != '') { $data->setData($row->getValorActualEntregado()); } else { $data->setData(0); } $data->setCreateAt(time()); $data->setUpdateAt(time()); $data->save(); $this->recalcular($data->getIndicatorsSc()); } $this->getUser()->getAttributeHolder()->remove(sfConfig::get('app_session_tree_production')); $serviceProjection = new ProjectionsService(); $serviceProjection->generateData($tree->getId()); $this->redirect('@projections_start?idTree=' . $tree->getId()); } else { return sfView::ERROR; } } else { $this->message = 'flag tree incorrect'; return sfView::ERROR; } } else { $this->message = 'tree not found'; return sfView::ERROR; } } else { $this->message = 'session expired'; return sfView::ERROR; } } else { $this->message = 'token error'; return sfView::ERROR; } }
<?php $service = new ProjectionsService(); $data = '{"columnas":[{"name":"' . $indicator->getTitulo() . '"}],"array":['; $dataValue = ""; $contador = 1; foreach ($object_rows as $obj) { $data = $data . '{"fecha":"' . date('d-m-Y', strtotime($obj->getUpdateAt())) . '","data":'; $response = $service->returnValueProjection($indicator->getId(), date('Y-m-d 00:00:00', strtotime($obj->getUpdateAt()))); $dataValue = $contador == count($object_rows) ? $obj->getData() . ',"vo":' . $response['vo'] . ',"vd":' . $response['vo'] . ',"vm":' . $response['vm'] . '}]}' : $obj->getData() . ',"vo":' . $response['vo'] . ',"vd":' . $response['vo'] . ',"vm":' . $response['vm'] . '},'; $contador++; $data = $data . $dataValue; } echo $data;