drop view if exists `vw_perm_modulo`;
create view `vw_perm_modulo` as (
select
  `global_modulo`.`idinstituicao_modulo`             as `idinstituicao_modulo`,
  `global_modulo`.`id_modulo`                        as `id_modulo`,
  `global_modulo`.`nome_modulo`                      as `nome_modulo`,
  `global_modulo`.`icone_modulo`                     as `icone_modulo`,
  `global_modulo`.`idstatus_modulo`                  as `idstatus_modulo`,
  `global_modulo`.`ordem_modulo`                     as `ordem_modulo`,
  `global_modulo`.`delete_modulo`                    as `delete_modulo`,
  `global_usuario_perm`.`idinstituicao_usuario_perm` as `idinstituicao_usuario_perm`,
  `global_usuario_perm`.`id_usuario_perm`            as `id_usuario_perm`,
  `global_usuario_perm`.`idusuario_usuario_perm`     as `idusuario_usuario_perm`,
  `global_usuario_perm`.`idmodulo_usuario_perm`      as `idmodulo_usuario_perm`,
  `global_usuario_perm`.`idtela_usuario_perm`        as `idtela_usuario_perm`,
  `global_usuario_perm`.`nivel_usuario_perm`         as `nivel_usuario_perm`,
  `global_usuario_perm`.`idstatus_usuario_perm`      as `idstatus_usuario_perm`
from `global_usuario_perm`
   join `global_modulo`
     on (`global_usuario_perm`.`idmodulo_usuario_perm` = `global_modulo`.`id_modulo`));
     
/*================================================================================================*/

drop view if exists `vw_pessoa_usuario`;
create view `vw_pessoa_usuario` as (
select
  `global_pessoa`.`idinstituicao_pessoa`   as `idinstituicao_pessoa`,
  `global_pessoa`.`id_pessoa`              as `id_pessoa`,
  `global_pessoa`.`nome_pessoa`            as `nome_pessoa`,
  `global_pessoa`.`apelido_pessoa`         as `apelido_pessoa`,
  `global_pessoa`.`cpfcnpj_pessoa`         as `cpfcnpj_pessoa`,
  `global_pessoa`.`fantasia_pessoa`        as `fantasia_pessoa`,
  `global_pessoa`.`inscestatual_pessoa`    as `inscestatual_pessoa`,
  `global_pessoa`.`inscmunicipal_pessoa`   as `inscmunicipal_pessoa`,
  `global_pessoa`.`nascimento_pessoa`      as `nascimento_pessoa`,
  `global_pessoa`.`cep_pessoa`             as `cep_pessoa`,
  `global_pessoa`.`endereco_pessoa`        as `endereco_pessoa`,
  `global_pessoa`.`num_pessoa`             as `num_pessoa`,
  `global_pessoa`.`compl_pessoa`           as `compl_pessoa`,
  `global_pessoa`.`bairro_pessoa`          as `bairro_pessoa`,
  `global_pessoa`.`cidade_pessoa`          as `cidade_pessoa`,
  `global_pessoa`.`uf_pessoa`              as `uf_pessoa`,
  `global_pessoa`.`email_pessoa`           as `email_pessoa`,
  `global_pessoa`.`estadocivil_pessoa`     as `estadocivil_pessoa`,
  `global_pessoa`.`sexo_pessoa`            as `sexo_pessoa`,
  `global_pessoa`.`nacionalidade_pessoa`   as `nacionalidade_pessoa`,
  `global_pessoa`.`idgrauinstrucao_pessoa` as `idgrauinstrucao_pessoa`,
  `global_pessoa`.`idprofissao_pessoa`     as `idprofissao_pessoa`,
  `global_pessoa`.`idstatus_pessoa`        as `idstatus_pessoa`,
  `global_pessoa`.`criacao_pessoa`         as `criacao_pessoa`,
  `global_pessoa`.`idcriacao_pessoa`       as `idcriacao_pessoa`,
  `global_pessoa`.`modificacao_pessoa`     as `modificacao_pessoa`,
  `global_pessoa`.`idmodificacao_pessoa`   as `idmodificacao_pessoa`,
  `global_pessoa`.`delete_pessoa`          as `delete_pessoa`,
  `global_pessoa`.`iddelete_pessoa`        as `iddelete_pessoa`,
  `global_usuario`.`idinstituicao_usuario` as `idinstituicao_usuario`,
  `global_usuario`.`id_usuario`            as `id_usuario`,
  `global_usuario`.`idpessoa_usuario`      as `idpessoa_usuario`,
  `global_usuario`.`nomeusuario_usuario`   as `nomeusuario_usuario`,
  `global_usuario`.`senhausuario_usuario`  as `senhausuario_usuario`,
  `global_usuario`.`foto_usuario`          as `foto_usuario`,
  `global_usuario`.`idstatus_usuario`      as `idstatus_usuario`,
  `global_usuario`.`criacao_usuario`       as `criacao_usuario`,
  `global_usuario`.`idcriacao_usuario`     as `idcriacao_usuario`,
  `global_usuario`.`modificacao_usuario`   as `modificacao_usuario`,
  `global_usuario`.`idmodificacao_usuario` as `idmodificacao_usuario`,
  `global_usuario`.`delete_usuario`        as `delete_usuario`
from `global_usuario`
   join `global_pessoa`
     on(`global_usuario`.`idpessoa_usuario` = `global_pessoa`.`id_pessoa`));
     
/*================================================================================================*/

drop view  `vw_fatura_pessoa`;
create view  `vw_fatura_pessoa` as (
select
  `finan_fatura`.`id_finan_fatura`                  as `id_finan_fatura`,
  `finan_fatura`.`idprodutorast_finan_fatura`       as `idprodutorast_finan_fatura`,
  `finan_fatura`.`idclienterast_finan_fatura`       as `idclienterast_finan_fatura`,
  `finan_fatura`.`idpessoa_finan_fatura`            as `idpessoa_finan_fatura`,
  `finan_fatura`.`parcela_finan_fatura`             as `parcela_finan_fatura`,
  `finan_fatura`.`inicio_finan_fatura`              as `inicio_finan_fatura`,
  `finan_fatura`.`final_finan_fatura`               as `final_finan_fatura`,
  `finan_fatura`.`valor_finan_fatura`               as `valor_finan_fatura`,
  `finan_fatura`.`total_finan_fatura`               as `total_finan_fatura`,
  `finan_fatura`.`codigo_finan_fatura`              as `codigo_finan_fatura`,
  `finan_fatura`.`linkcapa_finan_fatura`            as `linkcapa_finan_fatura`,
  `finan_fatura`.`linkcarne_finan_fatura`           as `linkcarne_finan_fatura`,
  `finan_fatura`.`status_finan_fatura`              as `status_finan_fatura`,
  `finan_fatura`.`obs_finan_fatura`                 as `obs_finan_fatura`,
  `finan_fatura`.`delete_finan_fatura`              as `delete_finan_fatura`,
  `global_pessoa`.`id_pessoa`                       as `id_pessoa`,
  concat(`global_pessoa`.`nome_pessoa`,`global_pessoa`.`empresa_pessoa`) as `nome_pessoa`,
  `global_pessoa`.`cpfcnpj_pessoa`                  as `cpfcnpj_pessoa`,
  `global_pessoa`.`tele1_pessoa`                    as `tele1_pessoa`,
  `finan_fatura_itens`.`id_finan_fatura_itens`      as `id_finan_fatura_itens`,
  `finan_fatura_itens`.`codigo_finan_fatura_itens`  as `codigo_finan_fatura_itens`,
  `finan_fatura_itens`.`parcela_finan_fatura_itens` as `parcela_finan_fatura_itens`,
  `finan_fatura_itens`.`valor_finan_fatura_itens`   as `valor_finan_fatura_itens`,
  `finan_fatura_itens`.`venc_finan_fatura_itens`    as `venc_finan_fatura_itens`,
  `finan_fatura_itens`.`status_finan_fatura_itens`  as `status_finan_fatura_itens`
from `finan_fatura`
    join `global_pessoa`
      on (`finan_fatura`.`idpessoa_finan_fatura` = `global_pessoa`.`id_pessoa`)
   join `finan_fatura_itens`
     on (`finan_fatura`.`id_finan_fatura` = `finan_fatura_itens`.`idfatura_finan_fatura_itens`));
     
/*================================================================================================*/

drop view if exists `vw_modulo_tela`;
create view  `vw_modulo_tela` as (
select
  `global_modulo`.`idinstituicao_modulo` as `idinstituicao_modulo`,
  `global_modulo`.`id_modulo`            as `id_modulo`,
  `global_modulo`.`nome_modulo`          as `nome_modulo`,
  `global_modulo`.`icone_modulo`         as `icone_modulo`,
  `global_modulo`.`idstatus_modulo`      as `idstatus_modulo`,
  `global_modulo`.`ordem_modulo`         as `ordem_modulo`,
  `global_modulo`.`delete_modulo`        as `delete_modulo`,
  `global_tela`.`idinstituicao_tela`     as `idinstituicao_tela`,
  `global_tela`.`id_tela`                as `id_tela`,
  `global_tela`.`nome_tela`              as `nome_tela`,
  `global_tela`.`url_tela`               as `url_tela`,
  `global_tela`.`ordem_tela`             as `ordem_tela`,
  `global_tela`.`delete_tela`            as `delete_tela`
from (`global_tela`
   join `global_modulo`
     on ((`global_tela`.`idmodulo_tela` = `global_modulo`.`id_modulo`))));
     
/*================================================================================================*/

drop view if exists `vw_perm_modulo`;
create view  `vw_perm_modulo` as (
select
  `global_modulo`.`idinstituicao_modulo`             as `idinstituicao_modulo`,
  `global_modulo`.`id_modulo`                        as `id_modulo`,
  `global_modulo`.`nome_modulo`                      as `nome_modulo`,
  `global_modulo`.`icone_modulo`                     as `icone_modulo`,
  `global_modulo`.`idstatus_modulo`                  as `idstatus_modulo`,
  `global_modulo`.`ordem_modulo`                     as `ordem_modulo`,
  `global_modulo`.`delete_modulo`                    as `delete_modulo`,
  `global_usuario_perm`.`idinstituicao_usuario_perm` as `idinstituicao_usuario_perm`,
  `global_usuario_perm`.`id_usuario_perm`            as `id_usuario_perm`,
  `global_usuario_perm`.`idusuario_usuario_perm`     as `idusuario_usuario_perm`,
  `global_usuario_perm`.`idmodulo_usuario_perm`      as `idmodulo_usuario_perm`,
  `global_usuario_perm`.`idtela_usuario_perm`        as `idtela_usuario_perm`,
  `global_usuario_perm`.`nivel_usuario_perm`         as `nivel_usuario_perm`,
  `global_usuario_perm`.`idstatus_usuario_perm`      as `idstatus_usuario_perm`
from `global_usuario_perm`
   join `global_modulo`
     on (`global_usuario_perm`.`idmodulo_usuario_perm` = `global_modulo`.`id_modulo`));
     
/*================================================================================================*/

drop view if exists `vw_perm_tela`;
create view  `vw_perm_tela` as (
select
  `global_usuario_perm`.`idinstituicao_usuario_perm` as `idinstituicao_usuario_perm`,
  `global_usuario_perm`.`id_usuario_perm`            as `id_usuario_perm`,
  `global_usuario_perm`.`idusuario_usuario_perm`     as `idusuario_usuario_perm`,
  `global_usuario_perm`.`idmodulo_usuario_perm`      as `idmodulo_usuario_perm`,
  `global_usuario_perm`.`idtela_usuario_perm`        as `idtela_usuario_perm`,
  `global_usuario_perm`.`nivel_usuario_perm`         as `nivel_usuario_perm`,
  `global_usuario_perm`.`idstatus_usuario_perm`      as `idstatus_usuario_perm`,
  `global_usuario_perm`.`delete_usuario_perm`        as `delete_usuario_perm`,
  `global_tela`.`idinstituicao_tela`                 as `idinstituicao_tela`,
  `global_tela`.`id_tela`                            as `id_tela`,
  `global_tela`.`idmodulo_tela`                      as `idmodulo_tela`,
  `global_tela`.`nome_tela`                          as `nome_tela`,
  `global_tela`.`url_tela`                           as `url_tela`,
  `global_tela`.`idstatus_tela`                      as `idstatus_tela`,
  `global_tela`.`ordem_tela`                         as `ordem_tela`,
  `global_tela`.`delete_tela`                        as `delete_tela`
from `global_usuario_perm`
   join `global_tela`
     on (`global_usuario_perm`.`idtela_usuario_perm` = `global_tela`.`id_tela`));   
     
/*================================================================================================*/

drop view if exists `vw_pessoa_lista`;
create view  `vw_pessoa_lista` as (
select
  `global_pessoa`.`idinstituicao_pessoa`   as `idinstituicao_pessoa`,
  `global_pessoa`.`id_pessoa`              as `id_pessoa`,
  concat(`global_pessoa`.`nome_pessoa`,`global_pessoa`.`empresa_pessoa`) as `nome_pessoa`,
  `global_pessoa`.`apelido_pessoa`         as `apelido_pessoa`,
  `global_pessoa`.`cpfcnpj_pessoa`         as `cpfcnpj_pessoa`,
  `global_pessoa`.`fantasia_pessoa`        as `fantasia_pessoa`,
  `global_pessoa`.`inscestatual_pessoa`    as `inscestatual_pessoa`,
  `global_pessoa`.`inscmunicipal_pessoa`   as `inscmunicipal_pessoa`,
  `global_pessoa`.`nascimento_pessoa`      as `nascimento_pessoa`,
  `global_pessoa`.`cep_pessoa`             as `cep_pessoa`,
  `global_pessoa`.`endereco_pessoa`        as `endereco_pessoa`,
  `global_pessoa`.`num_pessoa`             as `num_pessoa`,
  `global_pessoa`.`compl_pessoa`           as `compl_pessoa`,
  `global_pessoa`.`bairro_pessoa`          as `bairro_pessoa`,
  `global_pessoa`.`cidade_pessoa`          as `cidade_pessoa`,
  `global_pessoa`.`uf_pessoa`              as `uf_pessoa`,
  `global_pessoa`.`email_pessoa`           as `email_pessoa`,
  `global_pessoa`.`email2_pessoa`          as `email2_pessoa`,
  `global_pessoa`.`tele1_pessoa`           as `tele1_pessoa`,
  `global_pessoa`.`tele2_pessoa`           as `tele2_pessoa`,
  `global_pessoa`.`estadocivil_pessoa`     as `estadocivil_pessoa`,
  `global_pessoa`.`sexo_pessoa`            as `sexo_pessoa`,
  `global_pessoa`.`nacionalidade_pessoa`   as `nacionalidade_pessoa`,
  `global_pessoa`.`idgrauinstrucao_pessoa` as `idgrauinstrucao_pessoa`,
  `global_pessoa`.`idprofissao_pessoa`     as `idprofissao_pessoa`,
  `global_pessoa`.`obs_pessoa`             as `obs_pessoa`,
  `global_pessoa`.`idstatus_pessoa`        as `idstatus_pessoa`,
  `global_pessoa`.`criacao_pessoa`         as `criacao_pessoa`,
  `global_pessoa`.`idcriacao_pessoa`       as `idcriacao_pessoa`,
  `global_pessoa`.`modificacao_pessoa`     as `modificacao_pessoa`,
  `global_pessoa`.`idmodificacao_pessoa`   as `idmodificacao_pessoa`,
  `global_pessoa`.`delete_pessoa`          as `delete_pessoa`,
  `global_pessoa`.`iddelete_pessoa`        as `iddelete_pessoa`
from `global_pessoa`);

/*================================================================================================*/

drop view if exists `vw_pessoa_rastcli`;
create view  `vw_pessoa_rastcli` as (
select
  `global_pessoa`.`id_pessoa`              as `id_pessoa`,
  concat(`global_pessoa`.`nome_pessoa`,`global_pessoa`.`empresa_pessoa`) as `nome_pessoa`,
  `global_pessoa`.`empresa_pessoa`         as `empresa_pessoa`,
  `global_pessoa`.`apelido_pessoa`         as `apelido_pessoa`,
  `global_pessoa`.`cpfcnpj_pessoa`         as `cpfcnpj_pessoa`,
  `global_pessoa`.`fantasia_pessoa`        as `fantasia_pessoa`,
  `global_pessoa`.`inscestatual_pessoa`    as `inscestatual_pessoa`,
  `global_pessoa`.`inscmunicipal_pessoa`   as `inscmunicipal_pessoa`,
  `global_pessoa`.`nascimento_pessoa`      as `nascimento_pessoa`,
  `global_pessoa`.`cep_pessoa`             as `cep_pessoa`,
  `global_pessoa`.`endereco_pessoa`        as `endereco_pessoa`,
  `global_pessoa`.`num_pessoa`             as `num_pessoa`,
  `global_pessoa`.`compl_pessoa`           as `compl_pessoa`,
  `global_pessoa`.`bairro_pessoa`          as `bairro_pessoa`,
  `global_pessoa`.`cidade_pessoa`          as `cidade_pessoa`,
  `global_pessoa`.`uf_pessoa`              as `uf_pessoa`,
  `global_pessoa`.`email_pessoa`           as `email_pessoa`,
  `global_pessoa`.`email2_pessoa`          as `email2_pessoa`,
  `global_pessoa`.`tele1_pessoa`           as `tele1_pessoa`,
  `global_pessoa`.`tele2_pessoa`           as `tele2_pessoa`,
  `global_pessoa`.`estadocivil_pessoa`     as `estadocivil_pessoa`,
  `global_pessoa`.`sexo_pessoa`            as `sexo_pessoa`,
  `global_pessoa`.`nacionalidade_pessoa`   as `nacionalidade_pessoa`,
  `global_pessoa`.`idgrauinstrucao_pessoa` as `idgrauinstrucao_pessoa`,
  `global_pessoa`.`idprofissao_pessoa`     as `idprofissao_pessoa`,
  `global_pessoa`.`obs_pessoa`             as `obs_pessoa`,
  `global_pessoa`.`idstatus_pessoa`        as `idstatus_pessoa`,
  `global_pessoa`.`delete_pessoa`          as `delete_pessoa`,
  `global_profissao`.`id_profissao`        as `id_profissao`,
  `global_profissao`.`codigo_profissao`    as `codigo_profissao`,
  `global_profissao`.`descricao_profissao` as `descricao_profissao`,
  `rast_cli`.`idinstituicao_rast_cli`      as `idinstituicao_rast_cli`,
  `rast_cli`.`idpessoasub_rast_cli`        as `idpessoasub_rast_cli`,
  `rast_cli`.`id_rast_cli`                 as `id_rast_cli`,
  `rast_cli`.`idstatus_rast_cli`           as `idstatus_rast_cli`,
  `rast_cli`.`delete_rast_cli`             as `delete_rast_cli`
from `rast_cli`
    join `global_pessoa`
      on (`rast_cli`.`idpessoa_rast_cli` = `global_pessoa`.`id_pessoa`)
   left join `global_profissao`
     on (`global_pessoa`.`idprofissao_pessoa` = `global_profissao`.`id_profissao`));
     
/*================================================================================================*/

drop view if exists `vw_pessoa_rastpro`;
create view  `vw_pessoa_rastpro` as (
select
  `vw_pessoa_rastcli`.`id_pessoa`            as `id_pessoa`,
  concat(`vw_pessoa_rastcli`.`nome_pessoa`,`vw_pessoa_rastcli`.`empresa_pessoa`) as `nome_pessoa`,
  `vw_pessoa_rastcli`.`cpfcnpj_pessoa`       as `cpfcnpj_pessoa`,
  `vw_pessoa_rastcli`.`inscestatual_pessoa`  as `inscestatual_pessoa`,
  `vw_pessoa_rastcli`.`inscmunicipal_pessoa` as `inscmunicipal_pessoa`,
  `vw_pessoa_rastcli`.`email_pessoa`         as `email_pessoa`,
  `vw_pessoa_rastcli`.`tele1_pessoa`         as `tele1_pessoa`,
  `vw_pessoa_rastcli`.`tele2_pessoa`         as `tele2_pessoa`,
  `vw_pessoa_rastcli`.`idpessoasub_rast_cli` as `idpessoasub_rast_cli`,
  `rast_prod`.`id_rast_prod`                 as `id_rast_prod`,
  `rast_prod`.`idcli_rast_prod`              as `idcli_rast_prod`,
  `rast_prod`.`idequip_rast_prod`            as `idequip_rast_prod`,
  `rast_prod`.`tipo_rast_prod`               as `tipo_rast_prod`,
  `rast_prod`.`desc_rast_prod`               as `desc_rast_prod`,
  `rast_prod`.`venc_rast_prod`               as `venc_rast_prod`,
  `rast_prod`.`valor_rast_prod`              as `valor_rast_prod`,
  `rast_prod`.`plano_rast_prod`              as `plano_rast_prod`,
  `rast_prod`.`obs_rast_prod`                as `obs_rast_prod`,
  `rast_prod`.`delete_rast_prod`             as `delete_rast_prod`,
  `rast_prod`.`idstatus_rast_prod`           as `idstatus_rast_prod`
from `vw_pessoa_rastcli`
   join `rast_prod`
     on (`vw_pessoa_rastcli`.`id_rast_cli` = `rast_prod`.`idcli_rast_prod`));
     
 /*================================================================================================*/

drop view if exists `vw_rastprod_rastequip`;
create view  `vw_rastprod_rastequip` as (
select
  `rast_prod`.`idinstituicao_rast_prod` as `idinstituicao_rast_prod`,
  `rast_prod`.`id_rast_prod`            as `id_rast_prod`,
  `rast_prod`.`idcli_rast_prod`         as `idcli_rast_prod`,
  `rast_prod`.`idequip_rast_prod`       as `idequip_rast_prod`,
  `rast_prod`.`tipo_rast_prod`          as `tipo_rast_prod`,
  `rast_prod`.`desc_rast_prod`          as `desc_rast_prod`,
  `rast_prod`.`venc_rast_prod`          as `venc_rast_prod`,
  `rast_prod`.`valor_rast_prod`         as `valor_rast_prod`,
  `rast_prod`.`plano_rast_prod`         as `plano_rast_prod`,
  `rast_prod`.`idstatus_rast_prod`      as `idstatus_rast_prod`,
  `rast_prod`.`criacao_rast_prod`       as `criacao_rast_prod`,
  `rast_prod`.`idcriacao_rast_prod`     as `idcriacao_rast_prod`,
  `rast_prod`.`modificacao_rast_prod`   as `modificacao_rast_prod`,
  `rast_prod`.`idmodificacao_rast_prod` as `idmodificacao_rast_prod`,
  `rast_prod`.`delete_rast_prod`        as `delete_rast_prod`,
  `rast_prod`.`iddelete_rast_prod`      as `iddelete_rast_prod`,
  `vw_pessoa_rastcli`.`id_pessoa`       as `id_pessoa`,
  `vw_pessoa_rastcli`.`nome_pessoa`     as `nome_pessoa`,
  `vw_pessoa_rastcli`.`empresa_pessoa`  as `empresa_pessoa`,
  `vw_pessoa_rastcli`.`apelido_pessoa`  as `apelido_pessoa`,
  `vw_pessoa_rastcli`.`cpfcnpj_pessoa`  as `cpfcnpj_pessoa`,
  `vw_pessoa_rastcli`.`fantasia_pessoa` as `fantasia_pessoa`,
  `vw_pessoa_rastcli`.`id_rast_cli`     as `id_rast_cli`,
  `rast_equip`.`id_rast_equip`          as `id_rast_equip`,
  `rast_equip`.`descricao_rast_equip`   as `descricao_rast_equip`,
  `rast_equip`.`marca_rast_equip`       as `marca_rast_equip`,
  `rast_equip`.`modelo_rast_equip`      as `modelo_rast_equip`,
  `rast_equip`.`serie_rast_equip`       as `serie_rast_equip`
from `rast_prod`
    join `rast_equip`
      on (`rast_prod`.`idequip_rast_prod` = `rast_equip`.`id_rast_equip`)
   join `vw_pessoa_rastcli`
     on (`rast_prod`.`idcli_rast_prod` = `vw_pessoa_rastcli`.`id_rast_cli`));
     
     