Ir para o conteúdo principal

[SOLAR] Estudo para verificar o funcionamento da isenção de taxa dentro do SOLAR

Data de elaboraçãelaboração 10/01/2023.
ResponsáResponsável pelo estudo
  1. Lucas Tavares
  2. JoãJoão Vitor Paulino
  3. Milton Daniel Yama
Equipe do estudo TURING
Alvo Sistema de Outorga e Licenciamento Ambiental de RondôRondônia (SOLAR)
Origem
  • Objetivo EstratéEstratégico: Verificar como a isençãisenção funciona dentro do SOLAR
Objetivo

Estudo com o objetivo de avaliar quais as opçopçoes de isençãisenção de taxa dentro do sistema SOLAR.

DocumentaçãDocumentação correlata
ObservaçõObservações

1. Objetivo

Estudo com o objetivo de avaliar quais as opçopçoes de isençãisenção de taxa dentro do sistema SOLAR.

2. IntroduçãIntrodução

Algumas solicitaçõsolicitações no SOLAR exigem que uma taxa denominada DARE seja paga pelo solicitante para que seja criado o processo desta solicitaçãsolicitação, entretanto em alguns casos a necessidade de isençãisenção para algumas atividades especificas com a quantidade de UPF(unidade padrãpadrão fiscal) igual a zero reais ou caso seja uma atividade de pisicultura, e tambétambém no caso do solicitante ser uma entidade publica.

3. Desenvolvimento

3.1 VerificandoIsenção isenções:automática:

O SOLAR contem uma classe chamada VerificarSeEmpreendimentoEstaIsentoDeTaxa que verifica se o empreendimento possui uma atividade onde a mesma possua a quantidade de UPF(unidade padrãpadrão fiscal) igual a zero reais, caso seja uma atividade de pisicultura,  ou se o empreendimento éé entidade publica. Esta isenção valida automaticamente sem informar o usuário ou seja o mesmo apenas faz a solicitação e ao final o sistema gera ou não a dare caso o mesmo seja isento ou não.

var ehEmpreendimentoDeEntidadePublica = empreendimento.Empreendedor.TipoDoEmpreendedor == nameof(Dominio.CadastroContexto.EntidadePublica);

            if (ehEmpreendimentoDeEntidadePublica)
                return (ehAtividadeDePiscicultura: false, ehIsento: true);

Verificando se empreendimento é entidade publica

var ehAtividadeDePiscicultura = false;

            foreach (var atividadeDoEmpreendimento in empreendimento.AtividadesDoEmpreendimento)
            {
                var atividadeDePiscicultura = atividadeDoEmpreendimento.AtividadeDaLei.ReferenciaNaLei == Lei3437Art18;

                if (atividadeDePiscicultura)
                {
                    ehAtividadeDePiscicultura = true;

                    if (AtividadeDePisciculturaEIsento(atividadeDoEmpreendimento))
                        return (ehAtividadeDePiscicultura: true, ehIsento: true);
                }
              ...

private bool AtividadeDePisciculturaEIsento(AtividadeDoEmpreendimento atividadeDoEmpreendimento)
        {
            var possuiItemDaLei89_3 = atividadeDoEmpreendimento.AtividadeDaLei.ItemDaLei == ItemDaLei893;
            var possuiItemDaLei89_4 = atividadeDoEmpreendimento.AtividadeDaLei.ItemDaLei == ItemDaLei894;
            var tamanhoDaAtividade = atividadeDoEmpreendimento.TamanhoDaAtividade;

            if (possuiItemDaLei89_3 || possuiItemDaLei89_4)
            {
                tamanhoDaAtividade = ObterMmc(atividadeDoEmpreendimento);
            }

            var atividadeEhIsentaDeTaxa = tamanhoDaAtividade <= TamanhoMaximoPraSerIsentoDeTaxa;
            return atividadeEhIsentaDeTaxa;
        }

Verificando se empreendimento possui atividade de piscicultura

 foreach (var atividadeDoEmpreendimento in empreendimento.AtividadesDoEmpreendimento)
            {
                ...
                else
                {
                    var atividadeIsenta = await AtividadeEhIsento(atividadeDoEmpreendimento, servicoSolicitado);
                    return !atividadeIsenta ? (ehAtividadeDePiscicultura: false, ehIsento: false) : (ehAtividadeDePiscicultura: false, ehIsento: true);
                }
            }

            return await Task.FromResult((ehAtividadeDePiscicultura: ehAtividadeDePiscicultura, ehIsento: false));
        }

private async Task<bool> AtividadeEhIsento(AtividadeDoEmpreendimento atividadeDoEmpreendimento, ServicoSolicitado servicoSolicitado)
        {
            if (servicoSolicitado.TipoDeSolicitacao == null)
                return false;
            
            var tipoDeSolicitacao = servicoSolicitado.TipoDeSolicitacao.ToString();
            var remocaoDePrefixo = tipoDeSolicitacao?.Replace("RenovacaoDe", "");
            bool atividadeEhIsento;
                
            if (tipoDeSolicitacao != null && tipoDeSolicitacao.Contains("Licenca"))
            {
                var upfParaLicenca = await contexto.UnidadesPadraoFiscal
                    .AsNoTracking()
                    .FirstOrDefaultAsync(x =>
                        x.PorteDaAtividade == atividadeDoEmpreendimento.Porte &&
                        x.PotencialPoluidorDaAtividade == atividadeDoEmpreendimento.AtividadeDaLei.PotencialPoluidor.ToString() &&
                        x.ReferenciaNaLei == atividadeDoEmpreendimento.AtividadeDaLei.ReferenciaNaLei &&
                        x.TipoDeLicenca == Enum.Parse<TipoDeLicenca>(remocaoDePrefixo));

                atividadeEhIsento = upfParaLicenca is { QuantidadeDeUpf: TaxaDeIsencaoDeAtividadeComum };
                return atividadeEhIsento;
            }

            var upf = await contexto.UnidadesPadraoFiscal
                .AsNoTracking()
                .FirstOrDefaultAsync(x =>
                    x.PorteDaAtividade == atividadeDoEmpreendimento.Porte &&
                    x.PotencialPoluidorDaAtividade == atividadeDoEmpreendimento.AtividadeDaLei.PotencialPoluidor.ToString() &&
                    x.ReferenciaNaLei == atividadeDoEmpreendimento.AtividadeDaLei.ReferenciaNaLei);

            atividadeEhIsento = upf is { QuantidadeDeUpf: TaxaDeIsencaoDeAtividadeComum };

            return atividadeEhIsento;
        }

Verificando se atividade do empreendimento é isento caso a quantidade de UPF seja igual a zero

3.2 Isenção por escolha do usuário:

O SOLAR tambétambém possui um todo que ao ser chamadochamado, isenta a solicitaçãsolicitação atual, este todo éé acionado por uma action denominada DeclararIsencaoDeTaxaDeclararIsencaoDeTaxa, onde a mesma éé acionada assim que o usuáusuário selecionara o checkbox de declarar isençãisenção, onde apareceráaparecerá para opõopões de isençãisenção que o mesmo pode selecionar, no caso de possuir atividade de psicultura presente na lei, Art. 18 da Lei 3.437 onde sistema valida por meio da classe citada acima(VerificarSeEmpreendimentoEstaIsentoDeTaxa), se realmente a atividade abrange a isençãisenção por meio da psicultura, se o o sistema da duas opçõopções, para o caso de que o  empreendimento seja uma entidade publica presente na lei 3686/2015 Art. 37, Inc. I, ou caso se enquandre na agricultura familiar presente na lei 3686/2015, Art. 37, inc, II.

@if (Model.TipoDeSolicitacao != nameof(SolicitacaoDeOutorga))
                {
                    <div class="form-group">
                        <input type="checkbox" id="isencao" name="isencaoDeTaxa" value="estaIsento" />
                        <label for="isencao">Declarar isenção</label>
                    </div>
                }


Checkbox para selecionar a declaração de isenção que leva para a "modal-solicitar-isencao-de-taxa", e pode selecionar entre as possiveis formas de isenção

<form asp-controller="Solicitacao" asp-action="DeclararIsencaoDeTaxa" method="post">
                    <div class="modal-body">
                        <input type="hidden" name="empreendimentoId" value="@Model.EmpreendimentoId" />
                        <input type="hidden" name="solicitacaoId" value="@Model.Id" />
                        @if (Model.EhAtividadeDePiscicultura)
                        {
                            <div class="my-3">
                                <h5>Declaro que me enquadro no Art. 18 da Lei 3.437 de 9 de setembro de 2014 onde estão isentos do pagamento das Taxas de Licenciamento Ambiental.</h5>
                            </div>
                        }
                        else
                        {
                            <div class="my-3">
                                <input type="radio" id="isencaoAgriculturaFamiliar" name="motivoDaIsencao" value="Agricultura familiar: Lei 3686/2015, Art. 37, inc, II" />
                                <label for="isencaoAgriculturaFamiliar">
                                    <h5>
                                        Declaro que para isenção de taxa, empreendimento enquadrado na lei 3686/2015, Art. 37, inc, II - atividades agropecuárias e agrossilvopastoris exercidas por agricultor familiar e empreendedor familiar rural, assim considerado aquele que pratica atividades no meio rural, atendendo, simultaneamente, aos requisitos do inciso.
                                    </h5>
                                </label>
                            </div>
                            <div class="my-3">
                                <input type="radio" id="isencaoEntidadePublica" name="motivoDaIsencao" value="Entidade Publica: Lei 3686/2015, Art. 37, inc, I" />
                                <label for="isencaoEntidadePublica">
                                    <h5>
                                        Declaro que me enquadro na Lei 3686/2015 que "Dispõe sobre o Sistema de Licenciamento Ambiental do Estado de Rondônia e dá outras providências", Art. 37, Inc. I que isenta de pagamento das Taxas de Licenciamento Ambiental: as obras e atividades executadas diretamente por órgão da Administração Pública Direta ou Indireta dos municípios integrantes do Estado de Rondônia;
                                    </h5>
                                </label>
                            </div>
                        }
                    </div>

Possibilidades de isenção ao selecionar o checkbox de isenção (piscicultura, agricultura familiar, entidade publica), cada um de aordo com a sua respectiva lei.

Na condição "@if (Model.EhAtividadeDePiscicultura)", a propriedade "EhAtividadeDePiscicultura", leva a classe VerificarSeEmpreendimentoEstaIsentoDeTaxa, que a mesma valida da mesma maneira como citado acima, caso a atividade seja de piscicultura, e no código relacionado a isenção por atividade de psicultura(o código foi demonstrado a cima em "Verificando se empreendimento possui atividade de piscicultura").

image.png

modal ao selecionar o checkbox e os tipos de isençisençao para selecionar

4. ConclusãConclusão

Como verificado nos picos anteriores a duas formas de se verificar a isençãisenção por meio de um checkbox e selecionando a opçãopção exata de isençãisenção que o usuáusuário se enquadra ou a isençãisenção pode ser feita de forma automatica por meio de uma classe que abrange todos os tipos de isençãisenção.

Entretanto tal verificaçãverificação se torna redundante pelo motivo de que ambas as verificaçõverificações abrangem quase todos os tipos de isençãisenção retirando apenas a isençãisenção por meio da verificaçãverificação de UPF(unidade padrãpadrão fiscal), pois a mesma precisa de uma validaçãvalidação mais rigorosa e possibilidades de isençãisenção mais abrangente.