Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
 public static function getInstance($totalreg, $totalpagatual, $arrayFiltro, $paglimit = 20)
 {
     if (!isset(self::$instance)) {
         self::$instance = new self($totalreg, $totalpagatual, $arrayFiltro, $paglimit);
     }
     return self::$instance;
 }
Ejemplo n.º 3
0
 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;
 }