/** * Método de montagem da tabela */ function montarTabela() { $json = new json(); $conexao = conexao::criar(); $persistente = new PUtilitario($conexao); $desc = $persistente->lerTabela($_GET['tabela']); $sequences = $persistente->lerSequenciasDoBanco($_GET['tabela']); $sequences = array_merge(array('' => ' '), $sequences); if ($sequences) { $this->visualizacao->nomeSequence = VComponente::montar('select', 'nomeSequence', null, null, $sequences); } $mapNegocio['bd']['nomeTabela'] = $_GET['tabela']; $mapNegocio['bd']['nomeSequencia'] = '«Nome da sequência???»'; $mapNegocio['bd']['chavePrimaria'] = ''; $mapNegocio['bd']['ordem'] = array('1' => ''); $mapNegocio['inter']['nome'] = '«Nome da entidade??»'; $mapNegocio['inter']['titulo'] = ''; $mapNegocio['inter']['tituloSistema'] = ''; $mapNegocio['inter']['subtituloSistema'] = ''; foreach ($desc as $indice => $campo) { $tipoDeDado = $campo['tipo_de_dado']; switch ($campo['tipo_de_dado']) { case 'numerico': $campo['tamanho'] = $campo['tamanho'] > 30 ? 20 : $campo['tamanho']; $componente = 'numerico'; break; case 'data': $campo['tamanho'] = ''; $componente = 'data'; break; default: $componente = 'caixa de entrada'; } switch (true) { case $campo['campo_pk']: $mapNegocio['bd']['chavePrimaria'] = $campo['campo_pk']; $componente = 'oculto'; $chaveEstrangeira = false; break; case $campo['campo_fk']: $componente = 'caixa de combinacao'; $chaveEstrangeira = array('tabela' => $campo['esquema_fk'] . '.' . $campo['tabela_fk'], 'campo' => $campo['campo_fk']); break; default: $tipoDeDado = $campo['tipo_de_dado'] == 'numerico' ? 'tnumerico' : $campo['tipo_de_dado']; $chaveEstrangeira = false; } $mapNegocio['entidade'][$indice]['negocio']['propriedade'] = str_replace(' ', '', ucwords(str_replace('_', ' ', $campo['campo']))); $mapNegocio['entidade'][$indice]['negocio']['propriedade'][0] = strtolower($mapNegocio['entidade'][$indice]['negocio']['propriedade'][0]); $mapNegocio['entidade'][$indice]['negocio']['tipo'] = $tipoDeDado; $mapNegocio['entidade'][$indice]['negocio']['campo'] = $campo['campo']; $mapNegocio['entidade'][$indice]['negocio']['obrigatorio'] = $campo['obrigatorio'] ? 'sim' : ''; $mapNegocio['entidade'][$indice]['negocio']['indiceUnico'] = ''; $mapNegocio['entidade'][$indice]['negocio']['dominio'] = ''; $mapNegocio['entidade'][$indice]['negocio']['descritivo'] = ''; $mapNegocio['entidade'][$indice]['negocio']['classeAssociativa'] = $chaveEstrangeira ? '«Classe de Negocio ???»' : ''; $mapNegocio['entidade'][$indice]['negocio']['metodoLeitura'] = $chaveEstrangeira ? 'lerTodos' : ''; $mapNegocio['entidade'][$indice]['controle']['componente'] = $componente; $mapNegocio['entidade'][$indice]['controle']['tamanho'] = ''; $mapNegocio['entidade'][$indice]['controle']['tipo'] = $campo['tipo_de_dado']; $mapNegocio['entidade'][$indice]['controle']['obrigatorio'] = $campo['obrigatorio'] ? 'sim' : ''; $mapNegocio['entidade'][$indice]['controle']['pesquisa'] = ''; $mapNegocio['entidade'][$indice]['controle']['valores'] = array(); $mapNegocio['entidade'][$indice]['controle']['classeAssociativa'] = $chaveEstrangeira ? 'Classe de Negocio ???' : ''; $mapNegocio['entidade'][$indice]['controle']['metodoLeitura'] = $chaveEstrangeira ? 'lerTodos' : ''; $mapNegocio['entidade'][$indice]['controle']['listagem'] = $campo['campo_pk'] ? '1' : ''; $mapNegocio['entidade'][$indice]['controle']['hyperlink'] = $campo['campo_pk'] ? 'sim' : ''; $mapNegocio['entidade'][$indice]['controle']['largura'] = $campo['campo_pk'] ? '10%' : ''; $mapNegocio['entidade'][$indice]['controle']['ordem'] = $campo['campo_pk'] ? 1 : ''; $mapNegocio['entidade'][$indice]['controle']['campoPersonalizado'] = ''; $mapNegocio['entidade'][$indice]['persistente']['nome'] = $campo['campo']; $mapNegocio['entidade'][$indice]['persistente']['tipo'] = $tipoDeDado; $mapNegocio['entidade'][$indice]['persistente']['tamanho'] = $campo['tamanho']; $mapNegocio['entidade'][$indice]['persistente']['obrigatorio'] = ''; $mapNegocio['entidade'][$indice]['persistente']['operadorDeBusca'] = 'igual'; $mapNegocio['entidade'][$indice]['persistente']['chaveEstrangeira'] = $chaveEstrangeira; $mapNegocio['entidade'][$indice]['persistente']['ordem'] = $campo['campo_pk'] ? '1' : ''; $mapNegocio['entidade'][$indice]['inter']['nome'] = ucfirst(str_replace('_', ' ', $campo['campo'])); $mapNegocio['entidade'][$indice]['inter']['abreviacao'] = ucwords(str_replace('_', ' ', $campo['campo'])); $mapNegocio['entidade'][$indice]['inter']['descricao'] = $campo['descricao']; $mapNegocio['entidade'][$indice]['inter']['dominio'] = ''; } $this->visualizacao->dados = $json->pegarJson(array($mapNegocio)); $this->visualizacao->campos = $mapNegocio; $this->visualizacao->acesso = 'Carga de tabela do banco'; $this->visualizacao->travarSugestaoDeNomesPersistente = 'true'; }