public function selectListagem($id_usuario, $id_grupo, $arrayGrupos, $arrayFiltro) { /* mandar $id_usuario, $id_grupo, $arrayGrupos e $arrayFiltro * para o criteria * criteria deve aplicar permissoes na montagem da query * criteria deve voltar com os atributos: $stringSQL, $ArrayBind, $pagina * usar o $pagina para montar offset do adodb * retornar dentro da chave do array $lista['detalhes'] * um objeto knl_lib_Listagem com os atributos contendo: * -pagina atual, limite de paginas, total de registros, * regitro de, registro até, * array com parametros usados na pesquisa fornecidos pelo usuario, com chave do $_REQUEST e valor. */ //$listagem = knl_lib_Listagem::getInstance(50); $criteriaObj = knl_lib_Criteria::getInstance(); $criteriaObj->montaSqlListaDoc($id_usuario, $id_grupo, $arrayGrupos, $arrayFiltro); $query = $this->SELECT_PURE . $criteriaObj->get_innerJoin() . " WHERE 1=1 " . $criteriaObj->get_sql() . $criteriaObj->get_groupBy() . $criteriaObj->get_orderBy(); //" ORDER BY data_doc,id_doc_tipo,numero "; //echo $query;print_r($criteriaObj->get_arrayBind());die(); $regpag = 20; $offset = $criteriaObj->get_pagina() * $regpag; $stmt = $this->conn->SelectLimit($query, $regpag, $offset, $criteriaObj->get_ArrayBind()); $stmtFull = $this->conn->SelectLimit($query, -1, -1, $criteriaObj->get_ArrayBind()); //adodb porco ridiculo performance zero! $pagObj = knl_lib_Paginacao::getInstance($stmtFull->RecordCount(), $stmt->RecordCount(), $criteriaObj->get_arrayFiltro(), $regpag); $lista = array(); while ($l = $stmt->FetchRow()) { $lista[] = new knl_model_doc($l['id'], $l['id_doc_tipo'], $l['id_doc_sub_tipo'], $l['id_empresa'], $l['numero'], $l['data_doc'], $l['pag']); } $lista['detalhes'] = $pagObj; return $lista; }
public function selectListagemByRazao($razao) { $query = $this->SELECT_BY_CRITERIA . " AND razao LIKE '%{$razao}%' "; $stmt = $this->conn->query($query); $regpag = $stmt->RecordCount() + 1; //gato por causa da merda do adodb q não aceita string no bind com LIKE '%?%' $pagObj = knl_lib_Paginacao::getInstance($stmt->RecordCount(), $stmt->RecordCount(), array('pag' => 0), $regpag); $forn = array(); while ($l = $stmt->FetchRow()) { $l['cnpj'] = $this->pontuacnpj($l['cnpj']); $forn[]['d_cad_nf'] = new knl_extensions_cadastronf_cadmodel($l['id'], $l['cnpj'], $l['razao'], $l['estado'], $l['ie']); } $forn['detalhes'] = $pagObj; return $forn; }