delimiter $$

create view `vw_clientes_sem_fatura` as (
select
  `vw_pessoa_provcli`.`id_pessoa`                       as `id_pessoa`,
  `vw_pessoa_provcli`.`nome_pessoa`                     as `nome_pessoa`,
  `vw_pessoa_provcli`.`empresa_pessoa`                  as `empresa_pessoa`,
  `vw_pessoa_provcli`.`apelido_pessoa`                  as `apelido_pessoa`,
  `vw_pessoa_provcli`.`cpfcnpj_pessoa`                  as `cpfcnpj_pessoa`,
  `vw_pessoa_provcli`.`fantasia_pessoa`                 as `fantasia_pessoa`,
  `vw_pessoa_provcli`.`inscestatual_pessoa`             as `inscestatual_pessoa`,
  `vw_pessoa_provcli`.`inscmunicipal_pessoa`            as `inscmunicipal_pessoa`,
  `vw_pessoa_provcli`.`nascimento_pessoa`               as `nascimento_pessoa`,
  `vw_pessoa_provcli`.`cep_pessoa`                      as `cep_pessoa`,
  `vw_pessoa_provcli`.`endereco_pessoa`                 as `endereco_pessoa`,
  `vw_pessoa_provcli`.`num_pessoa`                      as `num_pessoa`,
  `vw_pessoa_provcli`.`compl_pessoa`                    as `compl_pessoa`,
  `vw_pessoa_provcli`.`bairro_pessoa`                   as `bairro_pessoa`,
  `vw_pessoa_provcli`.`cidade_pessoa`                   as `cidade_pessoa`,
  `vw_pessoa_provcli`.`uf_pessoa`                       as `uf_pessoa`,
  `vw_pessoa_provcli`.`lat_pessoa`                      as `lat_pessoa`,
  `vw_pessoa_provcli`.`lng_pessoa`                      as `lng_pessoa`,
  `vw_pessoa_provcli`.`endereco_pessoac`                as `endereco_pessoac`,
  `vw_pessoa_provcli`.`email_pessoa`                    as `email_pessoa`,
  `vw_pessoa_provcli`.`email2_pessoa`                   as `email2_pessoa`,
  `vw_pessoa_provcli`.`tele1_pessoa`                    as `tele1_pessoa`,
  `vw_pessoa_provcli`.`tele2_pessoa`                    as `tele2_pessoa`,
  `vw_pessoa_provcli`.`estadocivil_pessoa`              as `estadocivil_pessoa`,
  `vw_pessoa_provcli`.`sexo_pessoa`                     as `sexo_pessoa`,
  `vw_pessoa_provcli`.`nacionalidade_pessoa`            as `nacionalidade_pessoa`,
  `vw_pessoa_provcli`.`idgrauinstrucao_pessoa`          as `idgrauinstrucao_pessoa`,
  `vw_pessoa_provcli`.`idprofissao_pessoa`              as `idprofissao_pessoa`,
  `vw_pessoa_provcli`.`obs_pessoa`                      as `obs_pessoa`,
  `vw_pessoa_provcli`.`idstatus_pessoa`                 as `idstatus_pessoa`,
  `vw_pessoa_provcli`.`delete_pessoa`                   as `delete_pessoa`,
  `vw_pessoa_provcli`.`id_profissao`                    as `id_profissao`,
  `vw_pessoa_provcli`.`codigo_profissao`                as `codigo_profissao`,
  `vw_pessoa_provcli`.`descricao_profissao`             as `descricao_profissao`,
  `vw_pessoa_provcli`.`idinstituicao_provedor_clientes` as `idinstituicao_provedor_clientes`,
  `vw_pessoa_provcli`.`id_provedor_clientes`            as `id_provedor_clientes`,
  `vw_pessoa_provcli`.`idpessoa_provedor_clientes`      as `idpessoa_provedor_clientes`,
  `vw_pessoa_provcli`.`idpessoasub_provedor_clientes`   as `idpessoasub_provedor_clientes`,
  `vw_pessoa_provcli`.`cadastro_provedor_clientes`      as `cadastro_provedor_clientes`,
  `vw_pessoa_provcli`.`vencimento_provedor_clientes`    as `vencimento_provedor_clientes`,
  `vw_pessoa_provcli`.`idplano_provedor_clientes`       as `idplano_provedor_clientes`,
  `vw_pessoa_provcli`.`valor_provedor_clientes`         as `valor_provedor_clientes`,
  `vw_pessoa_provcli`.`wifi_provedor_clientes`          as `wifi_provedor_clientes`,
  `vw_pessoa_provcli`.`porta_provedor_clientes`         as `porta_provedor_clientes`,
  `vw_pessoa_provcli`.`chave_provedor_clientes`         as `chave_provedor_clientes`,
  `vw_pessoa_provcli`.`obs_provedor_clientes`           as `obs_provedor_clientes`,
  `vw_pessoa_provcli`.`idstatus_provedor_clientes`      as `idstatus_provedor_clientes`,
  `vw_pessoa_provcli`.`delete_provedor_clientes`        as `delete_provedor_clientes`,
  `vw_pessoa_provcli`.`id_status`                       as `id_status`,
  `vw_pessoa_provcli`.`nome_status`                     as `nome_status`,
  `vw_pessoa_provcli`.`sigla_status`                    as `sigla_status`
from `vw_pessoa_provcli`
where `vw_pessoa_provcli`.`idstatus_provedor_clientes` = '1'
    and  ! exists(select
                    1
                  from `finan_fatura_prov`
                  where `vw_pessoa_provcli`.`id_provedor_clientes` = `finan_fatura_prov`.`idclie_finan_fatura_prov`
                      and `finan_fatura_prov`.`status_finan_fatura_prov` in('ABERTO','INADIMPLENTE')
                  limit 1)
     or exists(select
                 1
               from (`finan_fatura_prov`
                  join `finan_fatura_itens_prov`
                    on (`finan_fatura_itens_prov`.`idfatura_finan_fatura_itens_prov` = `finan_fatura_prov`.`id_finan_fatura_prov`))
               where `vw_pessoa_provcli`.`id_provedor_clientes` = `finan_fatura_prov`.`idclie_finan_fatura_prov`
                   and `finan_fatura_itens_prov`.`parcela_finan_fatura_itens_prov` = '12'
                   and month(`finan_fatura_itens_prov`.`venc_finan_fatura_itens_prov`) = month(current_timestamp())
                   and year(`finan_fatura_itens_prov`.`venc_finan_fatura_itens_prov`) = year(current_timestamp())
                   and `finan_fatura_itens_prov`.`status_finan_fatura_itens_prov` in('ABERTO','INADIMPLENTE')
               limit 1))$$

delimiter ;