public static function getInstance() { if (!isset(self::$instance)) { self::$instance = new self(); } return self::$instance; }
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 selectByUserGroup($id_usuario, $id_grupo, $arrayGrupos) { $criteriaObj = knl_lib_Criteria::getInstance(); $criteriaObj->montaSqlCred($id_usuario, $id_grupo, $arrayGrupos); $query = $this->SELECT_PURE . " LEFT JOIN knl_menu_cred cr ON (cr.id_knl_menu = tb.id)\n \t\t\t\t\t\t\t\t WHERE 1=1 " . $criteriaObj->get_sql() . "\n \t\t\t\t\t\t\t\t ORDER BY tb.ordem"; $stmt = $this->conn->prepare($query); $stmt = $this->conn->execute($stmt, $criteriaObj->get_ArrayBind()); $menu = array(); while ($l = $stmt->FetchRow()) { $menu[] = new knl_model_knl_menu($l['id'], $l['target'], $l['ordem'], $l['icfechada'], $l['icaberta'], $l['titulo'], $l['aberto'], $l['label'], $l['domain'], $l['action']); } return $menu; }
public function selectByUserGroup($id_usuario, $id_grupo, $arrayGrupos) { $criteriaObj = knl_lib_Criteria::getInstance(); $criteriaObj->montaSqlCred($id_usuario, $id_grupo, $arrayGrupos); $query = $this->SELECT_PURE . " LEFT JOIN carimbo_cred cr ON (cr.id_carimbo = tb.id)\n \t\t\t\t\t\t\t\t WHERE 1=1 " . $criteriaObj->get_sql(); $stmt = $this->conn->prepare($query); $stmt = $this->conn->execute($stmt, $criteriaObj->get_ArrayBind()); $carimbo = array(); while ($l = $stmt->FetchRow()) { $carimbo[] = new knl_model_carimbo($l['id'], $l['descricao'], $l['cfop']); } return $carimbo; }
public function selectByUserGroup($id_usuario, $id_grupo, $arrayGrupos) { $criteriaObj = knl_lib_Criteria::getInstance(); $criteriaObj->montaSqlCred($id_usuario, $id_grupo, $arrayGrupos); $query = $this->SELECT_PURE . " LEFT JOIN doc_tipo_cred cr ON (cr.id_doc_tipo = tb.id_doc_tipo)\n \t\t\t\t\t\t\t\t WHERE 1=1 " . $criteriaObj->get_sql() . "\n \t\t\t\t\t\t\t\t ORDER BY tb.descricao"; $stmt = $this->conn->prepare($query); $arrayBind = array_merge(array($id_usuario, $id_grupo), $arrayGrupos); $stmt = $this->conn->execute($stmt, $criteriaObj->get_ArrayBind()); $docSubTipo = array(); while ($l = $stmt->FetchRow()) { $docSubTipo[] = new knl_model_doc_sub_tipo($l['id'], $l['id_doc_tipo'], $l['descricao'], $l['str_shell'], $l['path']); } return $docSubTipo; }
public function selectByUserGroupIdDoc($id_usuario, $id_grupo, $arrayGrupos, $id_doc) { $criteriaObj = knl_lib_Criteria::getInstance(); $criteriaObj->montaSqlPendencias($id_usuario, $id_grupo, $arrayGrupos, $id_doc); $query = $this->SELECT_BY_CRITERIA . $criteriaObj->get_sql(); //echo $query;die(); $stmt = $this->conn->prepare($query); $stmt = $this->conn->execute($stmt, $criteriaObj->get_arrayBind()); $pendencia = array(); while ($l = $stmt->FetchRow()) { $pendencia[] = new knl_model_doc_pendencia($l['id'], $l['id_doc'], $l['id_knl_usuario'], $l['id_knl_grupo'], $l['id_doc_pendencia_tipo'], $l['ativa']); } return $pendencia; }