/** * Returns the number of related DataIndicadores objects. * * @param Criteria $criteria * @param boolean $distinct * @param PropelPDO $con * @return int Count of related DataIndicadores objects. * @throws PropelException */ public function countDataIndicadoress(Criteria $criteria = null, $distinct = false, PropelPDO $con = null) { if ($criteria === null) { $criteria = new Criteria(UserScPeer::DATABASE_NAME); } else { $criteria = clone $criteria; } if ($distinct) { $criteria->setDistinct(); } $count = null; if ($this->collDataIndicadoress === null) { if ($this->isNew()) { $count = 0; } else { $criteria->add(DataIndicadoresPeer::USER_ID, $this->id); $count = DataIndicadoresPeer::doCount($criteria, false, $con); } } else { // criteria has no effect for a new object if (!$this->isNew()) { // the following code is to determine if a new query is // called for. If the criteria is the same as the last // one, just return count of the collection. $criteria->add(DataIndicadoresPeer::USER_ID, $this->id); if (!isset($this->lastDataIndicadoresCriteria) || !$this->lastDataIndicadoresCriteria->equals($criteria)) { $count = DataIndicadoresPeer::doCount($criteria, false, $con); } else { $count = count($this->collDataIndicadoress); } } else { $count = count($this->collDataIndicadoress); } } return $count; }
public function executeAjax_show_records_indicators(sfWebRequest $request) { //recojo el id del indicador para este caso es ultimo de lo contrario arrojara un mensaje de error $id_indicators = $request->getParameter('id_indicators'); //Se elimina todos los registros de las dos tablas temporales. TmpDataReportsPeer::doDeleteAll(); TmpTreeScPeer::doDeleteAll(); //verifico es ultimo nodo $criteria = new Criteria(); $criteria->add(IndicatorsScPeer::ID, $id_indicators); $indicators = IndicatorsScPeer::doSelectOne($criteria); $criteria->clear(); if (is_object($indicators)) { $this->indicator = $indicators; //obtengo los indicadores que son los ultimos nodos $criteria->add(IndicatorsScPeer::TREE_ID, $indicators->getTreeId()); $criteria->add(IndicatorsScPeer::ULTIMO_NODO, '1', Criteria::LIKE); $list_last_indicators = IndicatorsScPeer::doSelect($criteria); $criteria->clear(); $this->list_last_indicators = $list_last_indicators; //----------> lista de los indicadores que son ultimos nodos // obtengo la cantidad de registros que tiene en la tabla 'data_indicadores' //verifico si el indicador es ultimo nodo foreach ($list_last_indicators as $obj_id_indicators) { if ($obj_id_indicators->getId() == $id_indicators) { //si el id del indicador que estoy buscando es igual a uno de los ultimos nodos $id = $obj_id_indicators->getId(); break; } $id = null; } if ($id != null) { // si es ultimo nodo //Verifico la cantidad de rows que tiene $criteria->add(DataIndicadoresPeer::INDICADOR_ID, $id); $rows_in_data_indicadores = DataIndicadoresPeer::doCount($criteria); if ($rows_in_data_indicadores > 0) { $object_rows = DataIndicadoresPeer::doSelect($criteria); $this->indicator = $indicators; $this->object_rows = $object_rows; $criteria->clear(); } } else { // si el indicador no es ultimo nodo //obtengo el numero de registros que tiene la tabla 'data_indicadores' foreach ($list_last_indicators as $obj_last_indicators) { $obj_evaluado = $obj_last_indicators; //---> solo me hace falta obtener un indicador de esa lista para saber la cantidad de registros break; } //verifico los registros ingresados por ese indicador $criteria->add(DataIndicadoresPeer::INDICADOR_ID, $obj_evaluado->getId()); // $rows_in_data_indicadores = DataIndicadoresPeer::doCount($criteria); //1) saco la informacion de los registros //2) $obj_evaluado->getId() ----->este ID esta en muchos registros $rows_in_data_indicadores = DataIndicadoresPeer::doCount($criteria); //------>numero de registros $data_indicators = DataIndicadoresPeer::doSelect($criteria); //---> obtengo los registros por cada ID // efectuo el for para replicar el arbol y llenar los valores de cada indicador if ($rows_in_data_indicadores > 0) { //realizo el for con el numero de registros // for($i=0; $i<$rows_in_data_indicadores ; $i++){ $data_list_grafico = null; foreach ($data_indicators as $reg_indicators) { $criteria->clear(); $criteria->add(DataIndicadoresPeer::GROUP_DATA, $reg_indicators->getGroupData()); //---> BUSCO EL PRIMER GRUPO DE DATOS $data_util_graficos = DataIndicadoresPeer::doSelect($criteria); $lista_relaciones = null; //obtengo el id del arbol creado en temporal $array_result = $this->executeEspejo_reportes($indicators->getTreeId(), $data_util_graficos, $reg_indicators->getUpdateAt()); $id_tmp_creado = $array_result['array']; $lista_relaciones = $array_result['lista']; //obtengo los ultmimos nodos pero de los indicadores que estan creados en la tabla temporal $criteria->add(TmpDataReportsPeer::TREE_ID, $id_tmp_creado); $criteria->add(TmpDataReportsPeer::ULTIMO_NODO, '1', Criteria::LIKE); $list_tmp_last_indicators = TmpDataReportsPeer::doSelect($criteria); //----> lista de los ultimos nodos de la tabla tmp //$list_relation = null; foreach ($list_tmp_last_indicators as $ob) { $this->recalculate_tree($ob); } //obtengo el id del indicador relacionado $id_relation = $this->return_relation_id($lista_relaciones, $indicators->getId()); //busco en la tabla temporal por el id $data_list_grafico[] = $id_relation; } //envio datos para el grafico $criteria->clear(); $criteria->add(TmpDataReportsPeer::INDICADOR_ID, $indicators->getId()); $list_indicators_reports = TmpDataReportsPeer::doSelect($criteria); // } } $this->indicator = $indicators; $this->object_rows = $list_indicators_reports; } } else { // $this->indicators = null; $this->list_last_indicators = null; $this->object_rows = null; } }
private function executeBuscar_anterior($dataBean) { $criterio_busqueda = new Criteria(); $criterio_busqueda->add(DataIndicadoresPeer::INDICADOR_ID, $dataBean->getIndicadorId()); $c_data = DataIndicadoresPeer::doCount($criterio_busqueda); $list_data = DataIndicadoresPeer::doSelect($criterio_busqueda); if ($c_data > 0) { //si hay un solo registro no hay anterior if ($c_data == 1) { return null; //no hay anterior } else { //vamos verificar si el el primero if ($list_data[0]->getId() == $dataBean->getId()) { return null; //no hay anterior } else { $contador = 0; foreach ($list_data as $row) { if ($row->getId() == $dataBean->getId()) { return $list_data[$contador - 1]; } $contador++; } return null; } } } else { return null; //no hay anterior } }