示例#1
0
 public static function getInstance()
 {
     if (!isset(self::$instance)) {
         self::$instance = new self();
     }
     return self::$instance;
 }
示例#2
0
文件: doc.php 项目: nilzao/EcmFlow
 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;
 }
示例#3
0
 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;
 }
示例#4
0
 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;
 }
示例#5
0
 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;
 }
示例#6
0
 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;
 }