function fetchBalance($where=null) { $select = $this->getDbTable()->select(); $select->from($this->getDbTable()); // $select->join(array('R' => 'REGISTRO'), 'C.ID_CATEGORIA = R.ID_CATEGORIA'); // $select->where("R.ESTADO_REGISTRO = ?", 0); // $select->group("R.ID_CATEGORIA", "R.ID_TIPO_REGISTRO"); // $select->order("C.ID_CATEGORIA ASC"); if ($where != null) { foreach ($where as $key => $val) { $select->where($key . ' = ?', $val); } } // $sql = $select->__toString(); // echo "$sql\n"; // SELECT C.ID_CATEGORIA, CATEGORIA, SUM(MONTO_REGISTRO) AS MONTO, R.ID_TIPO_REGISTRO // FROM CATEGORIA AS C INNER JOIN REGISTRO AS R // WHERE R.ID_CATEGORIA = C.ID_CATEGORIA // AND R.ID_USUARIO = 1 // AND R.ESTADO_REGISTRO = 0 // GROUP BY R.ID_CATEGORIA, R.ID_TIPO_REGISTRO // ORDER BY C.ID_CATEGORIA $resultSet = $this->getDbTable()->fetchAll($select); $regMP = new Application_Model_RegistroMP(); $entries = array(); foreach ($resultSet as $row) { $entry = new Application_Model_Categoria(); $entry->setIdCategoria($row->ID_CATEGORIA); $entry->setIdProyecto($row->ID_PROYECTO); $entry->setCategoria($row->CATEGORIA); $entry->setColorCategoria($row->COLOR_CATEGORIA); $entry->setEstadoCategoria($row->ESTADO_CATEGORIA); $entry->setIngresos($regMP->fetchSumCat($row->ID_CATEGORIA, 1, $row->ID_PROYECTO)); $entry->setEgresos($regMP->fetchSumCat($row->ID_CATEGORIA, 2, $row->ID_PROYECTO)); $entries[] = $entry; } return $entries; }
public function categoriaAction() { $request = $this->getRequest(); if ($this->getRequest()->isGet()) { $id = $request->getParam('id'); $this->view->id = $id; Zend_View_Helper_PaginationControl::setDefaultViewPartial('controls.phtml'); $regMP = new Application_Model_RegistroMP(); $formReg = new Application_Form_Registro(); $this->view->formReg = $formReg; $this->view->categoria = new stdClass(); $this->view->categoria->ing = $regMP->fetchSumTipo(1, $this->me['id_usuario'], $id); $this->view->categoria->gas = $regMP->fetchSumTipo(2, $this->me['id_usuario'], $id); $this->view->categoria->bal = $this->view->categoria->ing - $this->view->categoria->gas; $where = array('ID_PROYECTO' => $this->me['id_usuario'], 'ID_CATEGORIA' => $id); $this->view->reg = $regMP->fetchAll(null, $where); $attr = array('ID_CATEGORIA', 'CATEGORIA'); $where = array('ID_PROYECTO' => $this->me["id_usuario"]); $catMP = new Application_Model_CategoriaMP(); $cat = $catMP->fetchAll($attr, $where); $this->view->cat = $cat; $catArr = array(); foreach ($cat as $c) { $catArr[$c->getIdCategoria()] = $c->getCategoria(); } $this->view->catArr = $catArr; $this->view->categoria->nombre = $catArr[$id]; $paginator = Zend_Paginator::factory($this->view->reg); $paginator->setItemCountPerPage(20); $paginator->setCurrentPageNumber($this->_getParam('page', 1)); $this->view->paginator = $paginator; // $catMP = new Application_Model_CategoriaMP(); // $attr = array("ID_CATEGORIA", "CATEGORIA"); // $where = array('ID_PROYECTO' => $this->me['id_usuario']); // $this->view->cat = $catMP->fetchAll($attr, $where); // print_r($this->view->cat); } }