\n\t
\n\t\t
\t\n\t\t \n\t\t
\n\t\t
\n\t
\n\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t

\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
{{card.titulo}}
\n\t\t\t\t\t\t\t
{{card.descricao}}
\n\t\t\t\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
\n\n","import { Component } from '@angular/core';\n\nenum ETipoCard {\n\tCONSULTA = 1,\n\tCADASTRO = 2,\n\tTODOS = 3\n}\n\n@Component({\n\tselector: 'app-card',\n\ttemplateUrl: './card.component.html'\n})\nexport class CardComponent {\n\n\tpublic cards: any[];\n\tfiltro:string = '';\n\tconsulta: ETipoCard = ETipoCard.TODOS;\n\teTipoCard= ETipoCard;\n\n\tconstructor() {\n\n\t\tthis.cards = [\n\t\t\t{\n\t\t\t\tid: 1,\n\t\t\t\ttitulo: 'AGROTÓXICO',\n\t\t\t\trouteLink: '/agrotoxico',\n\t\t\t\timagePath: 'assets/icone-agrotoxico.png',\n\t\t\t\tdescricao: 'Consulte os agrotóxicos liberados no estado.',\n\t\t\t\ttipo: ETipoCard.CONSULTA,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 2,\n\t\t\t\ttitulo: 'ANIMAL IDENTIFICADO',\n\t\t\t\trouteLink: '/animalIdentificado',\n\t\t\t\timagePath: 'assets/icone-animais.png',\n\t\t\t\tdescricao: 'Consulte os Animais Identificados.',\n\t\t\t\ttipo: ETipoCard.CONSULTA,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 3,\n\t\t\t\ttitulo: 'CADASTRO DE PLANTIO',\n\t\t\t\trouteLink: '/plantio',\n\t\t\t\timagePath: 'assets/icone-plantio.png',\n\t\t\t\tdescricao: 'Cadastro de Plantio.',\n\t\t\t\ttipo: ETipoCard.CADASTRO,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 4,\n\t\t\t\ttitulo: 'CADASTRO DE TRANSPORTADORES',\n\t\t\t\trouteLink: '/cadastroTransporte',\n\t\t\t\timagePath: 'assets/icone-transporte.png',\n\t\t\t\tdescricao: 'Cadastro de Transportadores de cargas vivas.',\n\t\t\t\ttipo: ETipoCard.CADASTRO,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 5,\n\t\t\t\ttitulo: 'DOCUMENTO DE TRÂNSITO',\n\t\t\t\trouteLink: '/gta',\n\t\t\t\timagePath: 'assets/icone-caminhao.png',\n\t\t\t\tdescricao: 'Consulte e-GTA/DTA emitidas.',\n\t\t\t\ttipo: ETipoCard.CONSULTA,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 6,\n\t\t\t\ttitulo: 'DAEMS AVULSA',\n\t\t\t\trouteLink: '/daems',\n\t\t\t\timagePath: 'assets/icone-financeiro.png',\n\t\t\t\tdescricao: 'Emite DAEMS para serviços.',\n\t\t\t\ttipo: ETipoCard.CADASTRO,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 7,\n\t\t\t\ttitulo: 'ESTABELECIMENTO',\n\t\t\t\trouteLink: '/estabelecimento',\n\t\t\t\timagePath: 'assets/icone-predio.png',\n\t\t\t\tdescricao: 'Consulte os estabelecimentos credenciados.',\n\t\t\t\ttipo: ETipoCard.CONSULTA,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 8,\n\t\t\t\ttitulo: 'GTS',\n\t\t\t\trouteLink: '/ecise',\n\t\t\t\timagePath: 'assets/icone-ecise.png',\n\t\t\t\tdescricao: 'Consulte Guias de trânsito de subprotudos.',\n\t\t\t\ttipo: ETipoCard.CONSULTA,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 9,\n\t\t\t\ttitulo: 'EVENTO',\n\t\t\t\trouteLink: '/eventos',\n\t\t\t\timagePath: 'assets/icone-calendario.png',\n\t\t\t\tdescricao: 'Consulte os eventos por município.',\n\t\t\t\ttipo: ETipoCard.CONSULTA,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 10,\n\t\t\t\ttitulo: 'EXAMES',\n\t\t\t\trouteLink: '/exame',\n\t\t\t\timagePath: 'assets/icone-laudo-exame-requisicao.png',\n\t\t\t\tdescricao: 'Consulte Requisições e Relatórios de Ensaio.',\n\t\t\t\ttipo: ETipoCard.CONSULTA,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 11,\n\t\t\t\ttitulo: 'FICHA SANITÁRIA',\n\t\t\t\trouteLink: '/ficha',\n\t\t\t\timagePath: 'assets/icone-ficha.png',\n\t\t\t\tdescricao: 'Consulte as informações de fichas habilitadas.',\n\t\t\t\ttipo: ETipoCard.CONSULTA,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 12,\n\t\t\t\ttitulo: 'INFORMAÇÕES OFICIAIS',\n\t\t\t\trouteLink: '/docoficiais',\n\t\t\t\timagePath: 'assets/icone-documento.png',\n\t\t\t\tdescricao: 'Consulte as Informações Oficiais.',\n\t\t\t\ttipo: ETipoCard.CONSULTA,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 13,\n\t\t\t\ttitulo: 'LABORATÓRIO',\n\t\t\t\trouteLink: '/laboratorio',\n\t\t\t\timagePath: 'assets/icone-laboratorio.png',\n\t\t\t\tdescricao: 'Consulte o trâmite da sua solicitação laboratorial.',\n\t\t\t\ttipo: ETipoCard.CONSULTA,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 14,\n\t\t\t\ttitulo: 'NÚCLEO',\n\t\t\t\trouteLink: '/nucleo',\n\t\t\t\timagePath: 'assets/icone-nucleo.png',\n\t\t\t\tdescricao: 'Consulte Núcleos de aves e suínos habilitados em MS.',\n\t\t\t\ttipo: ETipoCard.CONSULTA,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 15,\n\t\t\t\ttitulo: 'PRODUTO',\n\t\t\t\trouteLink: '/vacinas',\n\t\t\t\timagePath: 'assets/icone-vacina.png',\n\t\t\t\tdescricao: 'Consulte a disponibilidade de antígenos e vacinas.',\n\t\t\t\ttipo: ETipoCard.CONSULTA,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 16,\n\t\t\t\ttitulo: 'PROFISSIONAL',\n\t\t\t\trouteLink: '/colaboradores',\n\t\t\t\timagePath: 'assets/icone-colaborador.png',\n\t\t\t\tdescricao: 'Consulte Profissionais Habilitados.',\n\t\t\t\ttipo: ETipoCard.CONSULTA,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 17,\n\t\t\t\ttitulo: 'PTV',\n\t\t\t\trouteLink: '/ptv',\n\t\t\t\timagePath: 'assets/icone-ptv.png',\n\t\t\t\tdescricao: 'Consulte Permissões de Trânsito Vegetal emitidas.',\n\t\t\t\ttipo: ETipoCard.CONSULTA,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 18,\n\t\t\t\ttitulo: 'CADASTRO DO PRODUTOR',\n\t\t\t\trouteLink: '/cadastroFicha',\n\t\t\t\timagePath: 'assets/icone-cadastro-ficha.png',\n\t\t\t\tdescricao: 'Habilitação da Ficha Sanitária.',\n\t\t\t\ttipo: ETipoCard.CADASTRO,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 19,\n\t\t\t\ttitulo: 'ESTABELECIMENTO SIE E SISBI',\n\t\t\t\trouteLink: '/cadastroInstituicao',\n\t\t\t\timagePath: 'assets/_icone-cadastro-instituicao.png',\n\t\t\t\tdescricao: 'Requerimentos das indústrias no SIE e SISBI.',\n\t\t\t\ttipo: ETipoCard.CADASTRO,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 20,\n\t\t\t\ttitulo: 'FERRUGEM DA SOJA',\n\t\t\t\trouteLink: '/ferrugemSoja',\n\t\t\t\timagePath: 'assets/icone-plantio.png',\n\t\t\t\tdescricao: 'Notifique a ocorrência de Ferrugem Asiática da Soja.',\n\t\t\t\ttipo: ETipoCard.CADASTRO,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 21,\n\t\t\t\ttitulo: 'MAPA DAS NOTIFICAÇÕES DE FERRUGEM',\n\t\t\t\trouteLink: '/mapaFerrugemSoja',\n\t\t\t\timagePath: 'assets/icone-mapa-ferrugem.png',\n\t\t\t\tdescricao: 'Mapa de ocorrência de Ferrugem Asiática da Soja no Estado.',\n\t\t\t\ttipo: ETipoCard.CONSULTA,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 22,\n\t\t\t\ttitulo: 'FRUTÍFERAS',\n\t\t\t\trouteLink: '/frutiferas',\n\t\t\t\timagePath: 'assets/icone-citrus-banana.png',\n\t\t\t\tdescricao: 'Cadastro/Manutenção e Relatório Semestral de Vistoria/Monitoramento.',\n\t\t\t\ttipo: ETipoCard.CADASTRO,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 23,\n\t\t\t\ttitulo: 'RECONHECIMENTO DE AMOSTRAS',\n\t\t\t\trouteLink: '/reconhecimentoDeAmostra',\n\t\t\t\timagePath: 'assets/icone-colaborador.png',\n\t\t\t\tdescricao: 'Reconhecimento de amostras de sementes.',\n\t\t\t\ttipo: ETipoCard.CADASTRO,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: 24,\n\t\t\t\ttitulo: 'ESTABELECIMENTO VEGETAL',\n\t\t\t\trouteLink: '/requerimentoVegetal',\n\t\t\t\timagePath: 'assets/icon-predio-vegetal.png',\n\t\t\t\tdescricao: 'Requerimentos dos estabelecimentos da divisão vegetal.',\n\t\t\t\ttipo: ETipoCard.CADASTRO,\n\t\t\t},\n\t\t].map(card => ({\n\t\t\t...card,\n\t\t\tordenacao: card.titulo.toLowerCase()\n\n\n\t\t}));\n\t\tthis.cards.orderBy('ordenacao');\n\t}\n\n\tget cardsList (): any[]{\n\t\treturn this.cards.filter(({tipo}) => tipo == this.consulta || this.consulta == ETipoCard.TODOS);\n\t}\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html'\n})\nexport class FooterComponent {\n\n constructor() { }\n}\n","
","import { Component } from '@angular/core';\nimport { environment } from \"src/environments/environment\";\n\n@Component({\n\tselector: 'app-header',\n\ttemplateUrl: './header.component.html'\n})\nexport class HeaderComponent {\n\n\tpublic isNavbarCollapsed = true;\n\tpublic descricaoTopo = 'Serviços Públicos';\n\tpublic descricaoMeio = 'Agência Estadual de Defesa Sanitária Animal e Vegetal';\n\tpublic descricaoBaixo = 'Governo do Estado do Mato Grosso do Sul';\n\tpublic esaniagroUrl = environment.esaniagroUrl;\n\tpublic ciadeUrl = environment.ciadeUrl;\n\tpublic consultaDaemsUrl = environment.consultaDaemsUrl;\n\n\tconstructor() { }\n\n}\n","
\n
\n
\n
\n
\n
\n
{{descricaoTopo}}
\n
{{descricaoMeio}}
\n
\n
\n
\n
\n","import { Component } from \"@angular/core\";\n\n@Component({\n selector: 'app-linkexterno',\n template: '
',\n})\nexport class LinkExternoComponent {\n\n}\n","import { NgModule, ModuleWithProviders } from \"@angular/core\";\nimport { DatexPipe } from \"src/app/helper/app.services.datexPipe\";\nimport { AuthenticationProvider } from \"src/app/auth/app.auth.token\";\nimport { DirectiveModule } from 'src/app/directive/app.directive.module';\nimport { CommonModule } from '@angular/common';\nimport { BarraprogressaoComponent } from \"./modal/barraprogressao/barraprogressao.component\";\nimport { NgbProgressbar } from \"@ng-bootstrap/ng-bootstrap\";\n\n@NgModule({\n\tdeclarations: [DatexPipe, BarraprogressaoComponent],\n\timports: [\n\t\tDirectiveModule,\n\t\tCommonModule,\n\t\tNgbProgressbar\n\t],\n\texports: [DatexPipe, DirectiveModule, BarraprogressaoComponent]\n})\nexport class SharedModule {\n\tstatic forRoot(): ModuleWithProviders
{\n\t\treturn {\n\t\t\tngModule: SharedModule,\n\t\t\tproviders: [AuthenticationProvider]\n\t\t}\n\t}\n}\n","import { Component, Input } from '@angular/core';\nimport { NgbActiveModal, NgbProgressbarConfig } from \"@ng-bootstrap/ng-bootstrap\";\n\n@Component({\n\tselector: 'app-barraprogressao',\n\ttemplateUrl: './barraprogressao.component.html',\n})\nexport class BarraprogressaoComponent {\n\n\t@Input() mensagem: string;\n\t@Input() valorMaximo: number = 1;\n\t@Input() valor: number = 0;\n\n\tconstructor(private config: NgbProgressbarConfig, public activeModal: NgbActiveModal) {\n\t\tconfig.striped = true;\n\t\tconfig.animated = true;\n\t\tconfig.type = 'success';\n\t\tconfig.height = '20px';\n\t}\n\n\tget porcentagem() { return Math.trunc((this.valor * 100) / this.valorMaximo) }\n\n\taumentarValor(): void { ++this.valor }\n\n\tfecharModal(): void {\n\t\tthis.activeModal.dismiss('Close');\n\t}\n\n}\n","\n\t
{{ mensagem }}\n\t
\n\t
\n\t\t{{ porcentagem }}%\n\t
\n
\n","export enum EStatusCodeAspNetAPI {\n\tOK = 1,\n\tNAO_ENCONTRADO = 2,\n\tERRO_VALIDACAO = 3,\n\tERRO_AUTENTICAÇÃO = 4\n}\n","export enum ETipoInscricao {\n CPF = 1,\n\tCNPJ = 2,\n\tIE = 3\n}\n","import { Directive, ElementRef, HostListener, Input } from '@angular/core'\nimport { NgControl } from '@angular/forms';\n\n@Directive({\n\tselector: 'input[apenasNumeros]',\n})\nexport class ApenasNumerosDirective {\n\n\t@Input() apenasNumeros: boolean;\n\n\tconstructor(private _el: ElementRef, private ngControl: NgControl) { }\n\n\t@HostListener('input', ['$event']) onInputChange(event) {\n\t\tconst initalValue = this._el.nativeElement.value;\n\t\tconst novoValor = initalValue.replace(/[^0-9]*/g, '');\n\t\tthis._el.nativeElement.value = novoValor\n\t\tif(this.ngControl?.control)\n\t\t\tthis.ngControl.control.setValue(novoValor);\n\t}\n}\n","import { Directive, ElementRef, Input } from '@angular/core';\n\n@Directive({\n\tselector: '[desabilitar]'\n})\nexport class DesabilitarDirective {\n\n\t@Input() set desabilitar(condicao: boolean) {\n\t\tthis._disabled(condicao);\n\t}\n\tfield: Element;\n\n\tconstructor(private element: ElementRef) {\n\t\tthis.field = this.element.nativeElement;\n\t\tthis._disabled(true);\n\t}\n\n\t_disabled(condicao: boolean) {\n\t\tif (condicao)\n\t\t\tthis.field.setAttribute('disabled', '');\n\t\telse\n\t\t\tthis.field.removeAttribute('disabled');\n\t}\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ApenasNumerosDirective } from './app.apenasnumeros.directive';\nimport { DesabilitarDirective } from './app.desabilitar.directive';\nimport { InscricaoValidacaoDirective } from './app.inscricao.validacao.directive';\nimport { ObrigatorioDirective } from './app.obrigatorio.directive';\nimport { SelecionarDirective } from './app.selecionar.directive';\nimport { NumeroEnderecoDirective } from './app.numeroendereco.directive';\nimport { MaskCpfCnpjDirective } from './app.maskcpfcnpj.directive';\n\n@NgModule({\n\tdeclarations: [\n\t\tApenasNumerosDirective,\n\t\tDesabilitarDirective,\n\t\tInscricaoValidacaoDirective,\n\t\tObrigatorioDirective,\n\t\tSelecionarDirective,\n\t\tNumeroEnderecoDirective,\n\t\tMaskCpfCnpjDirective\n\t],\n\timports: [\n\t\tCommonModule\n\t],\n\texports: [\n\t\tApenasNumerosDirective,\n\t\tDesabilitarDirective,\n\t\tInscricaoValidacaoDirective,\n\t\tObrigatorioDirective,\n\t\tSelecionarDirective,\n\t\tNumeroEnderecoDirective,\n\t\tMaskCpfCnpjDirective\n\t]\n})\n\nexport class DirectiveModule { }\n","import { Directive } from \"@angular/core\";\nimport { NG_VALIDATORS, UntypedFormControl } from \"@angular/forms\";\n\n@Directive({\n selector: '[appCpfCnpjValidacao]',\n providers: [\n { provide: NG_VALIDATORS, useValue: 'appCpfCnpjValidacao', multi: true }\n ]\n})\nexport class InscricaoValidacaoDirective {\n\n public static validarInscricao(_inscricao: UntypedFormControl): any {\n\n if (_inscricao == null) {\n return null;\n }\n\n if (_inscricao.value == null) {\n return null;\n }\n\n const inscricao: string = _inscricao.value;\n if (inscricao.length === 9) { // ie ou is\n const primeirosDigitos = Number(inscricao.slice(0, 2));\n if (primeirosDigitos === 28 || primeirosDigitos === 82) {\n return InscricaoValidacaoDirective.validarIEIS(_inscricao);\n } else {\n return { 'inscricaoInvalida': true };\n }\n } else if (inscricao.length === 11) { // cpf\n return InscricaoValidacaoDirective.validarCpf(_inscricao);\n } else if (inscricao.length === 14) { // cnpj\n return InscricaoValidacaoDirective.validarCnpj(_inscricao);\n }\n\n return { 'inscricaoInvalida': true };\n }\n\n public static validarCpfCnpj(_cpfCnpj: UntypedFormControl): any {\n\n if (_cpfCnpj == null) {\n return null;\n }\n\n if (_cpfCnpj.value == null) {\n return null;\n }\n\n const cpfCnpj: string = _cpfCnpj.value;\n if (cpfCnpj.length === 11) // cpf\n return InscricaoValidacaoDirective.validarCpf(_cpfCnpj);\n else if (cpfCnpj.length === 14) // cnpj\n return InscricaoValidacaoDirective.validarCnpj(_cpfCnpj);\n else\n return { 'inscricaoInvalida': true };\n\n }\n\n public static validarCpf(_cpf: UntypedFormControl): any {\n\n if (_cpf == null) {\n return null;\n }\n\n if (_cpf.value == null) {\n return null;\n }\n\n const cpf: string = _cpf.value;\n\n if (cpf.length !== 11) {\n return { 'inscricaoInvalida': true };\n }\n\n let soma = 0;\n let resto = 0;\n\n for (let i = 1; i <= 9; i++) {\n soma += Number(cpf.slice(i - 1, i)) * (11 - i);\n }\n\n resto = (soma * 10) % 11;\n\n if ((resto === 10) || (resto === 11)) {\n resto = 0;\n }\n\n if (resto !== Number(cpf.slice(9, 10))) {\n return { 'inscricaoInvalida': true };\n }\n\n soma = 0;\n\n for (let j = 1; j <= 10; j++) {\n soma += Number(cpf.slice(j - 1, j)) * (12 - j);\n }\n\n resto = (soma * 10) % 11;\n\n if ((resto === 10) || (resto === 11)) {\n resto = 0;\n }\n\n if (resto !== Number(cpf.slice(10, 11))) {\n return { 'inscricaoInvalida': true };\n }\n\n return null;\n }\n\n public static validarCnpj(_cnpj: UntypedFormControl): any {\n\n if (_cnpj == null) {\n return null;\n }\n\n if (_cnpj.value == null) {\n return null;\n }\n\n const cnpj: string = _cnpj.value;\n\n if (cnpj.length !== 14) {\n return { 'inscricaoInvalida': true };\n }\n\n let tamanho = cnpj.length - 2;\n let numeros = cnpj.slice(0, tamanho);\n const digitos = cnpj.slice(tamanho);\n let soma = 0;\n let pos = tamanho - 7;\n let resultado;\n\n for (let i = tamanho; i >= 1; i--) {\n soma += Number(numeros.charAt(tamanho - i)) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n }\n\n resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\n\n if (resultado !== Number(digitos.charAt(0))) {\n return { 'inscricaoInvalida': true };\n }\n\n tamanho = tamanho + 1;\n numeros = cnpj.substring(0, tamanho);\n soma = 0;\n pos = tamanho - 7;\n\n for (let i = tamanho; i >= 1; i--) {\n soma += Number(numeros.charAt(tamanho - i)) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n }\n resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\n\n if (resultado !== Number(digitos.charAt(1))) {\n return { 'inscricaoInvalida': true };\n }\n\n return null;\n }\n\n public static validarIEIS(_ie: UntypedFormControl): any {\n\n if (_ie == null) {\n return null;\n }\n\n if (_ie.value == null) {\n return null;\n }\n\n const ie: string = _ie.value;\n\n\n if (ie.length !== 9) {// ie ou is\n return { 'inscricaoInvalida': true };\n }\n\n const primeirosDigitos = Number(ie.slice(0, 2));\n\n if (primeirosDigitos !== 28 && primeirosDigitos !== 82) {\n return { 'inscricaoInvalida': true };\n }\n\n const multiplicador = 9;\n let soma = 0;\n for (let i = 0; i <= 7; i++) {\n soma += Number(ie.charAt(i)) * (multiplicador - i);\n }\n\n const resto = soma % 11;\n let dig = 0;\n if (resto !== 0) {\n dig = 11 - resto;\n }\n\n if (dig > 9) {\n dig = 0;\n }\n const resultado = dig !== Number(ie.charAt(8));\n if (resultado) {\n return { 'inscricaoInvalida': true };\n }\n\n return null;\n }\n}\n","import { Utils } from '../helper/app.services.utils';\nimport { Directive, ElementRef, HostListener, Input } from '@angular/core';\n\n@Directive({\n\tselector: '[maskcpfcnpj]'\n})\nexport class MaskCpfCnpjDirective {\n\n private element: HTMLInputElement;\n\n constructor(\n\tprivate el: ElementRef,\n\tprivate utils: Utils\n ) {\n this.element = el.nativeElement;\n }\n\n @HostListener('input', ['$event.target.value'])\n onInput(value: string) {\n const somenteNumero = value.replace(/\\D/g, '').substring(0, 14);\n\n let valorFormatado = '';\n if (this.utils.validarIE(somenteNumero, false)) {\n valorFormatado = somenteNumero; // Inscrição Estadual\n } else if (somenteNumero.length <= 11) {\n valorFormatado = this.formatCpf(somenteNumero);\n } else if (somenteNumero.length <= 14) {\n valorFormatado = this.formatCnpj(somenteNumero);\n }\n this.element.value = valorFormatado;\n }\n\n private formatCpf(cpf: string): string {\n return cpf\n .replace(/\\D/g, '') // Remove tudo que não é dígito\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d)/, '$1.$2')\n .replace(/(\\d{3})(\\d{1,2})$/, '$1-$2');\n }\n\n private formatCnpj(cnpj: string): string {\n return cnpj\n .replace(/\\D/g, '') // Remove tudo que não é dígito\n .replace(/^(\\d{2})(\\d)/, '$1.$2')\n .replace(/^(\\d{2})\\.(\\d{3})(\\d)/, '$1.$2.$3')\n .replace(/\\.(\\d{3})(\\d)/, '.$1/$2')\n .replace(/(\\d{4})(\\d{1,2})$/, '$1-$2');\n }\n\n}\n","import { NgControl } from '@angular/forms';\nimport { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({ selector: 'input[numeroEndereco]' })\nexport class NumeroEnderecoDirective {\n constructor(private _el: ElementRef, private ngControl: NgControl) { }\n\n @HostListener('input', ['$event'])\n handleInputEvent(input: InputEvent): void {\n let novoValor: string;\n\n const valor = this._el.nativeElement.value;\n if (valor.length === 1) {\n if (this.isNumber(input.data))\n novoValor = input.data;\n else if (this.isValidCharacter(input.data))\n novoValor = input.data;\n } else {\n if (this.isNumber(input.data) && this.isNumber(valor))\n novoValor = valor;\n else if (this.isValidCharacter(input.data) && this.isValidCharacter(valor))\n novoValor = valor;\n else novoValor = this.grantInitialType();\n }\n if (!!input.data) this._el.nativeElement.value = novoValor.toUpperCase();\n if (this.ngControl?.control && !!input.data)\n this.ngControl.control.setValue(novoValor.toUpperCase());\n }\n\n private grantInitialType(): string {\n return this._el.nativeElement.value.slice(0, -1);\n }\n\n private isNumber(valor: string): boolean {\n return /^[0-9]+$/.test(valor);\n }\n\n private isValidCharacter(valor: string): boolean {\n return /^[SN\\/]+$/i.test(valor)\n }\n}","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\n\n@Directive({\n\tselector: '[obrigatorio]'\n})\nexport class ObrigatorioDirective implements OnInit {\n\n\tcondicao: boolean;\n\t@Input() set obrigatorio(condicao: boolean) {\n\t\tthis.condicao = condicao;\n\t\tthis._write();\n\t};\n\tfield: Element;\n\tspan: HTMLSpanElement;\n\n\tconstructor(private element: ElementRef) {\n\t\tthis.field = this.element.nativeElement;\n\t\tthis.span = document.createElement('span');\n\t\tthis.span.classList.add('text-danger');\n\t\tthis.span.innerHTML = \" *\";\n\t\tthis.span.style.fontWeight = '700';\n\t}\n\n\tngOnInit(): void {\n\t\tif (this.condicao === undefined)\n\t\t\tthis.condicao = true;\n\t\tthis._write();\n\t}\n\n\t_write(): void {\n\t\tif (this.condicao) {\n\t\t\tthis.field.after(this.span);\n\t\t} else\n\t\t\tthis.span?.remove();\n\t}\n\n}\n","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\n\n@Directive({\n\tselector: '[selecionar]'\n})\nexport class SelecionarDirective implements OnInit {\n\n\tcondicao: boolean;\n\t@Input() set selecionar(condicao: boolean) {\n\t\tthis.condicao = condicao;\n\t\tthis._checked();\n\t}\n\tfield: Element;\n\n\tconstructor(private element: ElementRef) {\n\t\tthis.field = this.element.nativeElement;\n\t}\n\n\tngOnInit(): void {\n\t\tif (this.condicao === undefined)\n\t\t\tthis.condicao = true;\n\t\tthis._checked();\n\t}\n\n\t_checked() {\n\t\tif (this.condicao)\n\t\t\tthis.field.setAttribute('checked', '');\n\t\telse\n\t\t\tthis.field.removeAttribute('checked');\n\t}\n\n}\n","\nimport { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'filter'\n})\nexport class FilterPipe implements PipeTransform {\n transform(value: Array, filtro: string): any {\n\n if (filtro) {\n filtro = filtro.toUpperCase();\n \n return value.filter(card =>\n card.titulo.toUpperCase().indexOf(filtro)>= 0 || card.descricao.toUpperCase().indexOf(filtro)>= 0 \n );\n }\n else {\n return value\n }\n }\n}","\nimport { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Resolve } from '@angular/router';\n\nimport { Token } from './../model/app.token.model';\nimport { AuthenticationProvider } from '../auth/app.auth.token';\n\n@Injectable()\nexport class AuthTokenResolver implements Resolve {\n\n constructor(private auth: AuthenticationProvider) { }\n\n resolve(): Observable | Promise | any {\n return this.auth.getToken();\n }\n}","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, CanActivate, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\ndeclare var GoogleAnalytics: any;\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class GoogleAnalyticsGuard implements CanActivate {\n constructor() { }\n\n canActivate(route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): boolean | UrlTree | Observable | Promise {\n return environment.production ? GoogleAnalytics() : true;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, CanActivate, Router } from '@angular/router';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class LinkExternoGuard implements CanActivate {\n constructor() { }\n\n canActivate(route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): boolean | UrlTree | Observable | Promise {\n\n const rota = route.url[0].path;\n const url = this.redirecionarRota(rota);\n window.open(url, '_blank');\n\n return false;\n }\n\n redirecionarRota(rota) {\n\n if (rota === 'cadastroTransporte') {\n return environment.production ? 'https://www.cadastramento.iagro.ms.gov.br/cadastrotransportadores' : 'https://hom.cadastramento.iagro.ms.gov.br/cadastrotransportadores';\n }\n\n if (rota === 'comercioAgrotoxico') {\n return 'https://paineis.msindicadores.ms.gov.br/publico/extensions/comerciodeagrotoxicos/comerciodeagrotoxicos.html';\n\t }\n\n\tif (rota === 'rebanhoms') {\n\t\treturn 'https://paineis.msindicadores.ms.gov.br/publico/extensions/monitor-rebanho-ms/monitor-rebanho-ms.html';\n\t }\n\n return '';\n }\n\n\n\n}\n","import { Injectable } from \"@angular/core\";\nimport { BlockUIService } from \"ng-block-ui\";\n\n@Injectable()\nexport class BlockUtil {\n\tblockName: string;\n\n\tconstructor(private blockUIService: BlockUIService) { }\n\n\tbloquear(): void {\n\t\tthis.blockUIService.start(this.blockName);\n\t}\n\n\tdesbloquear(): void {\n\t\tthis.blockUIService.stop(this.blockName);\n\t}\n}\n","import { Injectable } from \"@angular/core\";\n\nimport { environment } from \"src/environments/environment\";\nimport { Parametro } from \"../model/app.parametro.model\";\n\n@Injectable()\nexport class Rotas {\n\n\tbaseUrl() {\n\t\treturn environment.apiUrl + 'v1/';\n\t}\n\tbaseUrlCadastro() {\n\t\treturn environment.apiCadastroUrl + 'v1/';\n\t}\n\tpagamentoDaemsUrl() {\n\t\treturn environment.pagamentoDaemsUrl;\n\t}\n\n\tagrotoxico() {\n\t\treturn this.baseUrl() + 'Agrotoxico';\n\t}\n\n\tingredienteAtivo() {\n\t\treturn this.baseUrl() + 'AgrotoxicoIngredienteAtivo';\n\t}\n\n\tagrotoxicoBula() {\n\t\treturn this.baseUrl() + 'Agrotoxico/{0}/bula';\n\t}\n\n\tagrotoxicoCultura() {\n\t\treturn this.baseUrl() + 'AgrotoxicoCulturas';\n\t}\n\n\tagrotoxicoCulturaPraga() {\n\t\treturn this.baseUrl() + 'AgrotoxicoCulturas/{0}/pragas';\n\t}\n\n\tagrotoxicoCulturaProduto() {\n\t\treturn this.baseUrl() + 'AgrotoxicoCulturas/{0}/produtos';\n\t}\n\n\tagrotoxicoCulturaPragaProduto() {\n\t\treturn this.baseUrl() + 'AgrotoxicoCulturas/{0}/pragas/{1}/Produtos';\n\t}\n\n\tagrotoxicoPragas() {\n\t\treturn this.baseUrl() + 'AgrotoxicoPragas';\n\t}\n\n\tobterAtestadoInfluenzaImpressao(atestadoInfluenzaId: number) {\n\t\treturn this.baseUrl() + 'AtestadoInfluenza/' + atestadoInfluenzaId;\n\t}\n\n\tagrotoxicoPragasProdutos() {\n\t\treturn this.baseUrl() + 'AtestadoInfluenza/{0}/Produtos';\n\t}\n\n\tCARPorNumero() {\n\t\treturn this.baseUrl() + 'Ficha/CARDaPropriedade';\n\t}\n\n\tCARsSiriema() {\n\t\treturn this.baseUrl() + 'Ficha/CARSSiriema';\n\t}\n\n\tenderecoTipo() {\n\t\treturn this.baseUrl() + 'Endereco/Tipo';\n\t}\n\n\tenderecoTipoTelefone() {\n\t\treturn this.baseUrl() + 'Endereco/TipoTelefone';\n\t}\n\n\tenderecoTipoCoordenada() {\n\t\treturn this.baseUrl() + 'Endereco/TipoCoordenada';\n\t}\n\n\tenderecoLatitudeGrauMS() {\n\t\treturn this.baseUrl() + 'Endereco/LatitudeGrauMS';\n\t}\n\n\tenderecoLongitudeGrauMS() {\n\t\treturn this.baseUrl() + 'Endereco/LongitudeGrauMS';\n\t}\n\n\tenderecoCepApi() {\n\t\treturn this.baseUrl() + 'Endereco/EnderecoCepApi';\n\t}\n\n\testabelecimento() {\n\t\treturn this.baseUrl() + 'Estabelecimento';\n\t}\n\testabelecimentoTipo() {\n\t\treturn this.baseUrl() + 'Estabelecimento/Tipo';\n\t}\n\testabelecimentoSubtipo() {\n\t\treturn this.baseUrl() + 'Estabelecimento/Subtipo';\n\t}\n\teventos() {\n\t\treturn this.baseUrl() + 'Eventos';\n\t}\n\teventosSituacoes() {\n\t\treturn this.baseUrl() + 'Eventos/Situacoes';\n\t}\n\tmunicipios() {\n\t\treturn this.baseUrl() + 'Municipios';\n\t}\n\tufsMunicipios() {\n\t\treturn this.baseUrl() + 'Municipios/UfsMunicipios';\n\t}\n\tmunicipiosComUF() {\n\t\treturn this.baseUrl() + 'Municipios/MunicipiosComUF';\n\t}\n\tpaises() {\n\t\treturn this.baseUrl() + '';\n\t}\n\ttipoSexo() {\n\t\treturn this.baseUrl() + '';\n\t}\n\ttipoEstadoCivil() {\n\t\treturn this.baseUrl() + '';\n\t}\n\ttipoEndereco() {\n\t\treturn this.baseUrl() + '';\n\t}\n\ttipoTelefone() {\n\t\treturn this.baseUrl() + '';\n\t}\n\ttipoPropriedade() {\n\t\treturn this.baseUrl() + '';\n\t}\n\tsubTipoPropriedade() {\n\t\treturn this.baseUrl() + 'Ficha/ObterSubTipoPropriedade';\n\t}\n\tficha() {\n\t\treturn this.baseUrl() + 'Ficha';\n\t}\n\tObterTiposCoordenadas() {\n\t\treturn this.baseUrl() + 'Ficha/ObterTiposCoordenadas';\n\t}\n\tObterPaises() {\n\t\treturn this.baseUrl() + 'Ficha/ObterPaises';\n\t}\n\tcontribuinteCCE() {\n\t\treturn this.baseUrl() + 'Ficha/ObterContribuinteCCE';\n\t}\n\tgerarCodigoAcesso() {\n\t\treturn this.baseUrl() + 'Ficha/GerarCodigoAcesso';\n\t}\n\tgerarCodigoAcessoRequerimentoEstabelecimento() {\n\t\treturn this.baseUrlCadastro() + 'CodigoAcesso/{0}/requerimento';\n\t}\n\tVerificaCoordenadasSiriema() {\n\t\treturn this.baseUrl() + 'Ficha/verificaCoordenadasSiriema';\n\t}\n\tValidarCodigoAcesso() {\n\t\treturn this.baseUrl() + 'Ficha/ValidarCodigoAcesso';\n\t}\n\tReenviarCodigoAcesso() {\n\t\treturn this.baseUrl() + 'Ficha/ReenviarCodigoAcesso';\n\t}\n\tInserirFichaSanitaria() {\n\t\treturn this.baseUrl() + 'Ficha/InserirFicha';\n\t}\n\tTransmitirFichaSanitariaDocumento() {\n\t\treturn this.baseUrl() + 'Ficha/TransmitirFichaSanitariaDocumento';\n\t}\n\tTransmitirFichaSanitariaMarcaRebanho() {\n\t\treturn this.baseUrl() + 'Ficha/TransmitirFichaSanitariaMarcaRebanho';\n\t}\n\tObterFichaSanitariaMarcaRebanho() {\n\t\treturn this.baseUrl() + 'Ficha/ObterFichaSanitariaMarcaRebanho';\n\t}\n\tObterRelacaoFichaSanianitariaAnexo() {\n\t\treturn this.baseUrl() + 'Ficha/ObterRelacaoFichaSanianitariaAnexo';\n\t}\n\tnucleos() {\n\t\treturn this.baseUrl() + 'Nucleo/NucleosDoMS';\n\t}\n\tlaboratorio() {\n\t\treturn this.baseUrl() + 'Laboratorio';\n\t}\n\tautenticidadeGta() {\n\t\treturn this.baseUrl() + 'AutenticidadeGta';\n\t}\n\tautenticidadeGtaDownload() {\n\t\treturn this.baseUrl() + 'AutenticidadeGta/{0}';\n\t}\n\tautenticidadeGtaSaniagroDownload() {\n\t\treturn this.baseUrl() + 'AutenticidadeGta/{0}/Saniagro';\n\t}\n\trelatorioSaldoGeral() {\n\t\treturn this.baseUrl() + 'relatorio/saldogeral/{0}';\n\t}\n\trelatorioDocumentosDeTransito() {\n\t\treturn this.baseUrl() + 'relatorio/DocumentosDeTransitoRel?especieAnimalID={0}&periodoInicial={1}&periodoFinal={2}&municipioIDOrigem={3}&municipioIDDestino={4}&municipioUFDestino={5}&finalidadeID={6}';\n\t}\n\ttiposVacina() {\n\t\treturn this.baseUrl() + 'TiposVacina';\n\t}\n\ttiposVacinaEspecificado() {\n\t\treturn this.baseUrl() + 'TiposVacina/{0}/especificado';\n\t}\n\ttipoCoordenadaFicha() {\n\t\treturn this.baseUrl() + 'Endereco/TipoCoordenada';\n\t}\n\tvacina() {\n\t\treturn this.baseUrl() + 'Vacina';\n\t}\n\tcolaborador() {\n\t\treturn this.baseUrl() + 'Colaborador';\n\t}\n\treponsavelTecnico() {\n\t\treturn this.baseUrl() + 'Colaborador/ResponsavelTecnico';\n\t}\n\treponsavelTecnicoNoCREAPorCPF() {\n\t\treturn this.baseUrl() + 'CREA/ResponsavelTecnicoNoCREAPorCPF';\n\t}\n\tcampanhaMesAno() {\n\t\treturn this.baseUrl() + 'relatorio/CampanhaMesAno?mes={0}&ano={1}';\n\t}\n\tcampanhaMes() {\n\t\treturn this.baseUrl() + 'relatorio/CampanhaMes';\n\t}\n\tcampanhaAno() {\n\t\treturn this.baseUrl() + 'relatorio/CampanhaAno';\n\t}\n\tcampanhaMesAnoRel() {\n\t\treturn this.baseUrl() + 'relatorio/CampanhaMesAnoRel?mes={0}&ano={1}&campanhaID={2}';\n\t}\n\tcoordenadasSiriema() {\n\t\treturn this.baseUrl() + 'Ficha/verificaCoordenadasSiriema';\n\t}\n\tobterHistoricoHabilitacaoFicha() {\n\t\treturn this.baseUrl() + 'Ficha/ObterHistoricoHabilitacao'\n\t}\n\tplantioCultura() {\n\t\treturn this.baseUrl() + 'PlantioCulturas';\n\t}\n\tplantioCultivarComprovante() {\n\t\treturn this.baseUrl() + 'PlantioCulturas/{0}/Comprovante';\n\t}\n\tplantioCultivar() {\n\t\treturn this.baseUrl() + 'PlantioCulturas/{0}/Cultivar';\n\t}\n\tplantio() {\n\t\treturn this.baseUrl() + 'PlantioCulturas/Plantio';\n\t}\n\tenviarEmailComprovantePlantio() {\n\t\treturn this.baseUrl() + 'PlantioCulturas/EnviarEmailComprovantePlantio';\n\t}\n\tenviarEmailComprovanteFrutiferas() {\n\t\treturn this.baseUrl() + 'PlantioCulturas/ComprovantePlantioFrutiferas';\n\t}\n\tanimalIdentificado() {\n\t\treturn this.baseUrl() + 'Animal/AutenticidadeAnimal';\n\t}\n\tanimalEspecie() {\n\t\treturn this.baseUrl() + 'Animal/Especies';\n\t}\n\tanimalIdentificadoCertificadoDownload() {\n\t\treturn this.baseUrl() + 'Animal/AutenticidadeAnimal/{0}';\n\t}\n\tanimalIdentificadoCertificadoComMarcaDAguaDownload() {\n\t\treturn this.baseUrl() + 'Animal/{0}/publico';\n\t}\n\tfinalidades() {\n\t\treturn this.baseUrl() + 'Gta/Finalidades';\n\t}\n\tptv() {\n\t\treturn this.baseUrl() + 'Ptv';\n\t}\n\tlaudoExamesRequisicao() {\n\t\treturn this.baseUrl() + 'LaudoExame/Requisicao';\n\t}\n\tcertificadoRequisicaoExameDownload() {\n\t\treturn this.baseUrl() + 'LaudoExame/CertificadoRequisicao/{0}';\n\t}\n\tlaudoExame() {\n\t\treturn this.baseUrl() + 'LaudoExame/{0}';\n\t}\n\tobterRequisicaoAnimalParaImpressao() {\n\t\treturn this.baseUrl() + 'Requisicao/ObterRequisicaoParaImpressaoPublico';\n\t}\n\tptvDownload() {\n\t\treturn this.baseUrl() + 'Ptv/VisualizarPTV?id={0}&inscricaoOrigem={1}&numero={2}';\n\t}\n\tecise() {\n\t\treturn this.baseUrl() + 'ECISE';\n\t}\n\teciseDownload() {\n\t\treturn this.baseUrl() + 'ECISE/{0}';\n\t}\n\n\tpessoa() {\n\t\treturn this.baseUrl() + 'Pessoa/ObterDadosPessoa';\n\t}\n\n\tservicos() {\n\t\treturn this.baseUrl() + 'ServicoFinanceiro/ServicoPublico';\n\t}\n\n\tguia() {\n\t\treturn this.baseUrl() + 'Guia';\n\t}\n\n\tguiaRequerimento():string {\n\t\treturn this.baseUrl() + 'Guia/GerarGuiaRequerimento';\n\t}\n\n\timprimirGuia() {\n\t\treturn this.baseUrl() + 'Guia/cobranca/{0}';\n\t}\n\n\tuferms() {\n\t\treturn this.baseUrl() + 'UFERMS';\n\t}\n\n\tobterDocumentoManutencaoPlantio() {\n\t\treturn this.baseUrl() + 'PlantioCulturas/DocumentoManutencaoUP'\n\t}\n\n\tadicionarParametros(urlBase: string, parametros: Parametro[]) {\n\t\tlet parametrosUrl: string = urlBase + '?';\n\n\t\tfor (let i = 0; i < parametros.length; i++) {\n\t\t\tparametrosUrl += parametros[i].nome + '=' + parametros[i].data;\n\t\t\tif (i !== parametros.length - 1) {\n\t\t\t\tparametrosUrl += '&';\n\t\t\t}\n\t\t}\n\t\treturn parametrosUrl;\n\t}\n\n\tparseRota(urlBase: string, valores: any[]) {\n\t\tlet rota = urlBase;\n\t\tfor (let i = 0; i < valores.length; i++) {\n\t\t\tconst local = '{' + i + '}';\n\t\t\trota = rota.replace(local, valores[i]);\n\t\t}\n\t\treturn rota;\n\t}\n};\n","import { Injectable } from \"@angular/core\";\nimport { environment } from \"src/environments/environment\";\nimport { Parametro } from \"../model/app.parametro.model\";\n\n@Injectable()\nexport class RotasArquivo {\n\n\treadonly _baseUrlArquivo: string = `${environment.apiArquivoUrl}v1/`;\n\n\tget ObterAnexo(): string { return `${this._baseUrlArquivo}Minio/Download`}\n\t\n\tadicionarParametros(urlBase: string, parametros: Parametro[]) {\n\t\tlet parametrosUrl: string = urlBase + '?';\n\n\t\tfor (let i = 0; i < parametros.length; i++) {\n\t\t\tparametrosUrl += parametros[i].nome + '=' + parametros[i].data;\n\t\t\tif (i !== parametros.length - 1) {\n\t\t\t\tparametrosUrl += '&';\n\t\t\t}\n\t\t}\n\t\treturn parametrosUrl;\n\t}\n\n\tparseRota(urlBase: string, valores: any[]) {\n\t\tlet rota = urlBase;\n\t\tfor (let i = 0; i < valores.length; i++) {\n\t\t\tconst local = '{' + i + '}';\n\t\t\trota = rota.replace(local, valores[i]);\n\t\t}\n\t\treturn rota;\n\t}\n}\n","import { Injectable } from \"@angular/core\";\n\nimport { environment } from \"src/environments/environment\";\nimport { Parametro } from \"../model/app.parametro.model\";\n\n@Injectable()\nexport class RotasCadastro {\n\n\treadonly _baseUrlCadastro: string = `${environment.apiCadastroUrl}v1/`;\n\n\tget GerarCodigoAcessoRequerimentoEstabelecimento(): string { return `${this._baseUrlCadastro}CodigoAcesso/GerarCodigoAcesso/RequerimentoEstabelecimento`; }\n\tget GerarCodigoAcessoRequerimentoVegetal(): string { return `${this._baseUrlCadastro}CodigoAcesso/GerarCodigoAcesso/RequerimentoVegetal`; }\n\tget PossuiCodigoAcessoRequerimentoVegetal(): string { return `${this._baseUrlCadastro}CodigoAcesso/PossuiCodigoAcesso/RequerimentoVegetal?inscricao={0}&tipoRequerimentoId={1}`; }\n\tget ValidarCodigoAcessoRequerimentoEstabelecimento(): string { return `${this._baseUrlCadastro}CodigoAcesso/ValidarCodigoAcesso/RequerimentoEstabelecimento?inscricao={0}&codigo={1}&tipoRequerimentoId={2}`; }\n\tget ValidarCadastroInstituicaoParaTipoRequerimento(): string { return `${this._baseUrlCadastro}Instituicao/ValidarCadastroInstituicaoParaTipoRequerimento/{0}?tipoRequerimento={1}`; }\n\tget UrlValidarCodigo(): string { return `${this._baseUrlCadastro}CodigoAcesso/ValidarCodigo`; }\n\tget ObterTipoConstrucaoInstituicao(): string { return `${this._baseUrlCadastro}Instituicao/TipoConstrucao`; }\n\tget ObterTipoAnexo(): string { return `${this._baseUrlCadastro}Anexo/TipoAnexo`; }\n\tget ObterUnidadeMedida(): string { return `${this._baseUrlCadastro}UnidadeMedida`; }\n\tget ObterGruposEspeciesAbatidas(): string { return `${this._baseUrlCadastro}Instituicao/GruposEspeciesAbatidas`; }\n\tget ObterEspeciesAbatidas(): string { return `${this._baseUrlCadastro}Instituicao/Grupo/{0}/EspeciesAbatidas`; }\n\tget ObterTiposAtivadadesInstituicaoPorTipoInstituicao(): string { return `${this._baseUrlCadastro}Instituicao/Atividades/{0}`; }\n\tget ObterInstituicaoCCE(): string { return `${this._baseUrlCadastro}Instituicao/ObterInstituicaoCCE`; }\n\tget ObterResponsavelTecnico(): string { return `${this._baseUrlCadastro}Colaborador/ResponsavelTecnico`; }\n\tget ObterPessoaPorCPF(): string { return `${this._baseUrlCadastro}Pessoa/ObterPessoa/{0}`; }\n\tget SalvarFerrugemSoja(): string { return `${this._baseUrlCadastro}FerrugemSoja` };\n\tget ObterFerrugemMapa(): string { return `${this._baseUrlCadastro}FerrugemSoja/MapaServicosPublicos` };\n\tget ObterFichaFerrugem(): string { return `${this._baseUrlCadastro}FerrugemSoja/FichaSanitaria` };\n\tget VerificarSePossuiNotificacao(): string { return `${this._baseUrlCadastro}FerrugemSoja/JaPossuiNotificacao` };\n\tget ObterFichasParaPlantio(): string { return `${this._baseUrlCadastro}Plantio/FichaSanitaria` };\n\tget JaPossuiPlantioParaSafra(): string { return `${this._baseUrlCadastro}PlantioFrutiferas/JaPossuiPlantioParaSafra` };\n\tget plantioSafra(): string { return `${this._baseUrlCadastro}Plantio/{0}/Safra` };\n\tget ObterFichaSanitariaPlantio(): string { return `${this._baseUrlCadastro}FichaSanitaria/{0}/ProdutorPropriedade` };\n\tget ObterCAR(): string { return `${this._baseUrlCadastro}Propriedade/CAR` };\n\tget ObterCARSiriema(): string { return `${this._baseUrlCadastro}Propriedade/CARSiriema` };\n\tget ObterReponsavelTecnicoPorCPF(): string { return `${this._baseUrlCadastro}Colaborador/ResponsavelTecnicoParaPlantio` };\n\tget ObterEnxertoVariedade(): string { return `${this._baseUrlCadastro}Enxertos/Variedade` };\n\tget ObterEnxertoCultivar(): string { return `${this._baseUrlCadastro}Enxertos/Cultivar` };\n\tget ObterPortaEnxerto(): string { return `${this._baseUrlCadastro}Enxertos/PortaEnxertos` };\n\tget ObterCultivar(): string { return `${this._baseUrlCadastro}Plantio/{0}/Cultivar` };\n\tget ObterUnidadesProducao(): string { return `${this._baseUrlCadastro}PlantioFrutiferas/UnidadesProducaoPorFicha` };\n\tget SalvarPlantioFrutiferas(): string { return `${this._baseUrlCadastro}PlantioFrutiferas/NovoPlantio` };\n\tget ObterPlantios(): string { return `${this._baseUrlCadastro}PlantioFrutiferas/Plantios` };\t\n\tget RelatorioSemetral(): string { return `${this._baseUrlCadastro}PlantioFrutiferas/CadastrarRelatorioSemestral` };\n\tget PossuiCadastroCCE(): string { return `${this._baseUrlCadastro}Contribuinte/PossuiCadastroCCE?inscricao={0}` };\n\n\tadicionarParametros(urlBase: string, parametros: Parametro[]) {\n\t\tlet parametrosUrl: string = urlBase + '?';\n\n\t\tfor (let i = 0; i < parametros.length; i++) {\n\t\t\tparametrosUrl += parametros[i].nome + '=' + parametros[i].data;\n\t\t\tif (i !== parametros.length - 1) {\n\t\t\t\tparametrosUrl += '&';\n\t\t\t}\n\t\t}\n\t\treturn parametrosUrl;\n\t}\n\n\tparseRota(urlBase: string, valores: any[]) {\n\t\tlet rota = urlBase;\n\t\tfor (let i = 0; i < valores.length; i++) {\n\t\t\tconst local = '{' + i + '}';\n\t\t\trota = rota.replace(local, valores[i]);\n\t\t}\n\t\treturn rota;\n\t}\n}\n","import { Injectable } from \"@angular/core\";\n\nimport { environment } from \"src/environments/environment\";\nimport { Parametro } from \"../model/app.parametro.model\";\n\n@Injectable()\nexport class RotasConsulta {\n\n\treadonly _baseUrlConsulta: string = `${environment.apiConsultaUrl}v1/`;\n\n\tget ObterIndustriasAgrotoxico(): string { return `${this._baseUrlConsulta}Industria`; }\n\tget ObterTiposAtividadesInstituicao(): string { return `${this._baseUrlConsulta}Instituicao/ObterTiposAtividadesInstituicao`; }\n\tget ObterInstituicaoConsultaPublica(): string { return `${this._baseUrlConsulta}Instituicao/ConsultaPublica`; }\n\tget ObterInstituicaoPorInscricao(): string { return `${this._baseUrlConsulta}Instituicao/InstituicaoDadosComplementaresPorInscricao`; }\n\tget ObterInstituicaoPorInscricaoResumida(): string { return `${this._baseUrlConsulta}Instituicao`; }\n\tget ObterOrgaosEmissores(): string { return `${this._baseUrlConsulta}OrgaoEmissor/ObterOrgaosEmissores`; }\n\tget ObterCentraisRecebimentoEmbalagens(): string { return `${this._baseUrlConsulta}CentralPostoRecebimento/ObterCentraisRecebimentoEmbalagens`; }\n\tget ObterTiposLicencaAmbiental(): string { return `${this._baseUrlConsulta}TipoLicencaAmbiental/ObterTiposLicencaAmbiental`; }\n\n\tget ObterTiposVacina(): string { return `${this._baseUrlConsulta}TipoVacina`; }\n\tget ObterTipoVacinaEspecificado(): string { return `${this._baseUrlConsulta}TipoVacina/{0}/TipoVacinaEspecificado`; }\n\tget ObterInstituicaoRevendaVacina(): string { return `${this._baseUrlConsulta}Instituicao/RevendaVacina`; }\n\n\tget ObterRelatorioSemestralVistoriaMonitoramento(): string { return `${this._baseUrlConsulta}Plantio/ObterRelatorioSemestralVistoriaMonitoramento`; }\n\tget ObterUnidadeProducao(): string { return `${this._baseUrlConsulta}Plantio/ObterUnidadeProducao`; }\n\tget ObterMesesPorSemestre(): string { return `${this._baseUrlConsulta}Plantio/ObterMesesPorSemestre`; }\n\tget ObterSemestres(): string { return `${this._baseUrlConsulta}Plantio/ObterSemestres` };\n\n\n\tadicionarParametros(urlBase: string, parametros: Parametro[]) {\n\t\tlet parametrosUrl: string = urlBase + '?';\n\n\t\tfor (let i = 0; i < parametros.length; i++) {\n\t\t\tparametrosUrl += parametros[i].nome + '=' + parametros[i].data;\n\t\t\tif (i !== parametros.length - 1) {\n\t\t\t\tparametrosUrl += '&';\n\t\t\t}\n\t\t}\n\t\treturn parametrosUrl;\n\t}\n\n\tparseRota(urlBase: string, valores: any[]) {\n\t\tlet rota = urlBase;\n\t\tfor (let i = 0; i < valores.length; i++) {\n\t\t\tconst local = '{' + i + '}';\n\t\t\trota = rota.replace(local, valores[i]);\n\t\t}\n\t\treturn rota;\n\t}\n}\n","import { Injectable } from \"@angular/core\";\n\nimport { environment } from \"src/environments/environment\";\nimport { Parametro } from \"../model/app.parametro.model\";\n\n@Injectable()\nexport class RotasCultura {\n\n\treadonly _baseUrlCultura: string = `${environment.apiCulturaUrl}v1/`;\n\n\tget ValidarCodigoAcesso(): string { return `${this._baseUrlCultura}CodigoAcesso/Amostrador?cpf={0}&protocolo={1}&codigo={2}`;}\n\tget ObterSolicitacao(): string { return `${this._baseUrlCultura}Solicitacao/{0}`;}\n\n\tget ReconhecimentoAmostra(): string { return `${this._baseUrlCultura}Solicitacao/{0}/Situacao/{1}`};\n\t\n\tadicionarParametros(urlBase: string, parametros: Parametro[]) {\n\t\tlet parametrosUrl: string = urlBase + '?';\n\n\t\tfor (let i = 0; i < parametros.length; i++) {\n\t\t\tparametrosUrl += parametros[i].nome + '=' + parametros[i].data;\n\t\t\tif (i !== parametros.length - 1) {\n\t\t\t\tparametrosUrl += '&';\n\t\t\t}\n\t\t}\n\t\treturn parametrosUrl;\n\t}\n\n\tparseRota(urlBase: string, valores: any[]) {\n\t\tlet rota = urlBase;\n\t\tfor (let i = 0; i < valores.length; i++) {\n\t\t\tconst local = '{' + i + '}';\n\t\t\trota = rota.replace(local, valores[i]);\n\t\t}\n\t\treturn rota;\n\t}\n};\n","import { Injectable } from \"@angular/core\";\nimport { environment } from \"src/environments/environment\";\nimport { Parametro } from \"../model/app.parametro.model\";\n\n@Injectable()\nexport class RotasRequerimento {\n\n\treadonly _baseUrlRequerimento: string = `${environment.apiRequerimentoUrl}v1/`;\n\n\tget RequerimentoAnexo(): string { return `${this._baseUrlRequerimento}RequerimentoAnexo/TransmitirAnexoRequerimento` }\n\tget RequerimentoAnexoVegetal(): string { return `${this._baseUrlRequerimento}RequerimentoAnexo/TransmitirAnexoRequerimentoVegetal` }\n\tget ObterHistoricoRequerimento(): string { return `${this._baseUrlRequerimento}Requerimento/ObterHistoricoRequerimento` }\n\tget RemoverRequerimentoAnexo(): string { return `${this._baseUrlRequerimento}RequerimentoAnexo` }\n\tget ObterRequerimentoIndustriaPorInscricao(): string { return `${this._baseUrlRequerimento}Requerimento/ObterRequerimentoPorInscricao` }\n\tget InserirRequerimento(): string { return `${this._baseUrlRequerimento}Requerimento/CadastrarRequerimentoIndustria` };\n\tget AtualizarRequerimento(): string { return `${this._baseUrlRequerimento}Requerimento/AtualizarRequerimentoIndustria` };\n\tget ComunicarDesistencia(): string { return `${this._baseUrlRequerimento}Requerimento/ComunicarDesistencia?requerimentoID={0}` };\n\tget ComunicarDesistenciaVegetal(): string { return `${this._baseUrlRequerimento}RequerimentoVegetal/ComunicarDesistencia?requerimentoID={0}` };\n\tget ComunicarCoclusaoObra(): string { return `${this._baseUrlRequerimento}Requerimento/ComunicarConclusaoObra?requerimentoID={0}` };\n\tget ValidarSeFoiEnviadoAnexosObrigatorios(): string { return `${this._baseUrlRequerimento}RequerimentoAnexo/validarSeFoiEnviadoAnexosObrigatorios?requerimentoID={0}` };\n\tget AtualizarRequerimentoAnexo(): string { return `${this._baseUrlRequerimento}RequerimentoAnexo/AtualizarRequerimentoAnexo` };\n\tget AtualizarSituacaoRequerimentoComAnexo(): string { return `${this._baseUrlRequerimento}RequerimentoAnexo/AtualizarSituacaoRequerimentoComAnexo` };\n\tget AtualizarSituacaoRequerimento(): string { return `${this._baseUrlRequerimento}Requerimento/AtualizarSituacaoRequerimento` };\n\tget ObterAtividadesRequerimentoVegetal(): string { return `${this._baseUrlRequerimento}CategoriaEstabelecimentoVegetal/{0}/TipoAtividadesInstituicao` };\n\tget ObterAtividadesCadastradasRequerimentoVegetal(): string { return `${this._baseUrlRequerimento}RequerimentoVegetal/ObterClassificacao` };\n\tget ObterContribuinteResumido(): string { return `${this._baseUrlRequerimento}Contribuinte/{0}/resumido` };\n\tget ObterEmailCodigoAcessoEstabelecimento(): string { return `${this._baseUrlRequerimento}CodigoAcesso/{0}/{1}/email` };\n\tget InserirRequerimentoVegetal(): string { return `${this._baseUrlRequerimento}RequerimentoVegetal/CadastrarRequerimentoVegetal` };\n\tget AtualizarSituacaoRequerimentoVegetalComAnexo(): string { return `${this._baseUrlRequerimento}RequerimentoVegetal/AtualizarSituacaoRequerimentoVegetalComAnexo` };\n\tget ObterRequerimentoVegetalPorIECPFCNPJ(): string { return `${this._baseUrlRequerimento}RequerimentoVegetal/ObterRequerimentoVegetalPorIECPFCNPJ` }\n\tget ObterHistoricoRequerimentoVegetal(): string { return `${this._baseUrlRequerimento}RequerimentoVegetal/ObterHistoricoRequerimentoVegetal` }\n\tget AtualizarRequerimentoVegetal(): string { return `${this._baseUrlRequerimento}RequerimentoVegetal/AtualizarRequerimentoVegetal` };\n\n\tadicionarParametros(urlBase: string, parametros: Parametro[]) {\n\t\tlet parametrosUrl: string = urlBase + '?';\n\n\t\tfor (let i = 0; i < parametros.length; i++) {\n\t\t\tparametrosUrl += parametros[i].nome + '=' + parametros[i].data;\n\t\t\tif (i !== parametros.length - 1) {\n\t\t\t\tparametrosUrl += '&';\n\t\t\t}\n\t\t}\n\t\treturn parametrosUrl;\n\t}\n\n\tparseRota(urlBase: string, valores: any[]) {\n\t\tlet rota = urlBase;\n\t\tfor (let i = 0; i < valores.length; i++) {\n\t\t\tconst local = '{' + i + '}';\n\t\t\trota = rota.replace(local, valores[i]);\n\t\t}\n\t\treturn rota;\n\t}\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport moment from 'moment';\n\n@Pipe({\n\tname: 'datex'\n})\n\nexport class DatexPipe implements PipeTransform {\n\ttransform(value: any, format: string = ''): string {\n\t\t// Try and parse the passed value.\n\t\tconst momentDate = moment(value);\n\n\t\t// If moment didn't understand the value, return it unformatted.\n\t\tif (!momentDate.isValid()) { return value; }\n\n\t\t// Otherwise, return the date formatted as requested.\n\t\treturn momentDate.format(format);\n\t}\n}\n","import { Injectable } from \"@angular/core\";\nimport { UntypedFormControl } from \"@angular/forms\";\nimport { resourceLimits } from \"worker_threads\";\nimport { NgbDate } from \"@ng-bootstrap/ng-bootstrap\";\nimport { Data } from \"../model/app.data.model\";\nimport { ETipoInscricao } from \"../constantes/app.etipoincricao.const\";\n\n@Injectable()\nexport class Utils {\n\n\tmaskHandler(value) {\n\t\tvalue = value.split('_').join('').split('.').join('').split('-').join('');\n\n\t\tif (value.length > 11) {\n\t\t\treturn [/\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/];\n\t\t} else if (value.length <= 11) {\n\t\t\treturn [/\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '.', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/];\n\t\t}\n\t\treturn [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, /\\d/];\n\t}\n\n\tmaskData(value) {\n\t\tvalue = value.split('_').join('').split('.').join('').split('-').join('');\n\t\treturn [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\n\t}\n\n\ttestData(value) {\n\t\tconst regexp = new RegExp(/[0-3][0-9][/][0-1][0-9][/][1-2][0-9][0-9][0-9]/);\n\t\treturn regexp.test(value);\n\t}\n\n\tmaskSegundoCoordenada = function (value) {\n\t\tvalue = value.split('_').join('').split('.').join('').split('-').join('');\n\t\treturn [/\\d/, /\\d/, ',', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/];\n\t}\n\n\tmaskTelefone = function (value) {\n\t\tvar array = [];\n\n\t\tfor (let index = 0; index < value.length; index++) {\n\t\t\tif (index == 9) break;\n\t\t\tarray.push(/\\d/);\n\t\t}\n\t\treturn array;\n\t}\n\n\tgetNameEnum = function (enumerador: any, value: any): string {\n\t\tlet nomeEnum = Object.keys(enumerador).find(nomeEnum => enumerador[nomeEnum] == value);\n\t\treturn nomeEnum;\n\t}\n\n\tsomenteNumeros = function (value: any) {\n\t\treturn value.toString().replace(/\\D+/g, '');\n\t}\n\n\tpublic validarIE(ie: string, ehFichaSanitaria: boolean = true): boolean {\n\t\tconst MIN_INSCRICAO = 280000000;\n \tconst MAX_INSCRICAO = 290000000;\n \tconst INSCRICAO_PADRAO_FICHA = 285000000;\n\n\t\tie = ie.split('.').join(\"\").split(\"-\").join(\"\").split(\"/\").join(\"\");\n\t\tif (!ie || ie.length !== 9) return false;\n\n\t\tconst ieNumber = Number.parseInt(ie);\n\t\tif (isNaN(ieNumber) || ieNumber < MIN_INSCRICAO || ieNumber >= MAX_INSCRICAO) return false;\n\t\tif (ieNumber < INSCRICAO_PADRAO_FICHA && ehFichaSanitaria) return false;\n\n\t\tlet soma = 0;\n\t\tlet digito = 0;\n\t\tsoma += Number.parseInt(ie.slice(0, 1)) * 9;\n\t\tsoma += Number.parseInt(ie.slice(1, 2)) * 8;\n\t\tsoma += Number.parseInt(ie.slice(2, 3)) * 7;\n\t\tsoma += Number.parseInt(ie.slice(3, 4)) * 6;\n\t\tsoma += Number.parseInt(ie.slice(4, 5)) * 5;\n\t\tsoma += Number.parseInt(ie.slice(5, 6)) * 4;\n\t\tsoma += Number.parseInt(ie.slice(6, 7)) * 3;\n\t\tsoma += Number.parseInt(ie.slice(7, 8)) * 2;\n\t\tdigito = 11 - (soma % 11)\n\n\t\tif (digito >= 10)\n\t\t\tdigito = 0;\n\n\t\tif (digito != Number.parseInt(ie.slice(8, 9)))\n\t\t\treturn false;\n\t\telse\n\t\t\treturn true;\n\t}\n\n\tprivate _validarCPFCNPJ(cpfcnpj: string): boolean {\n\t\tif (cpfcnpj === null) return false;\n\t\tif (cpfcnpj === '') return false;\n\n\t\tif (cpfcnpj.length === 11) // cpf\n\t\t\treturn this.validarCpf(cpfcnpj);\n\t\telse if (cpfcnpj.length === 14) // cnpj\n\t\t\treturn this.validarCnpj(cpfcnpj);\n\n\t\treturn false;\n\t}\n\n\tpublic validarCpf(cpf: string): boolean {\n\t\tif (cpf == null) return false;\n\t\tif (cpf === '') return false;\n\t\tif (cpf.length !== 11) return false;\n\n\t\tlet soma = 0;\n\t\tlet resto = 0;\n\n\t\tfor (let i = 1; i <= 9; i++)\n\t\t\tsoma += Number(cpf.slice(i - 1, i)) * (11 - i);\n\n\t\tresto = (soma * 10) % 11;\n\n\t\tif (resto === 10 || resto === 11)\n\t\t\tresto = 0;\n\n\t\tif (resto !== Number(cpf.slice(9, 10)))\n\t\t\treturn false;\n\n\t\tsoma = 0;\n\n\t\tfor (let j = 1; j <= 10; j++)\n\t\t\tsoma += Number(cpf.slice(j - 1, j)) * (12 - j);\n\n\t\tresto = (soma * 10) % 11;\n\n\t\tif (resto === 10 || resto === 11)\n\t\t\tresto = 0;\n\n\t\tif (resto !== Number(cpf.slice(10, 11)))\n\t\t\treturn false;\n\n\t\treturn true;\n\t}\n\n\tpublic validarCnpj(cnpj: string): boolean {\n\t\tif (cnpj == null) return false;\n\t\tif (cnpj === '') return false;\n\t\tif (cnpj.length != 14) return false;\n\n\t\tlet tamanho = cnpj.length - 2;\n\t\tlet numeros = cnpj.slice(0, tamanho);\n\t\tconst digitos = cnpj.slice(tamanho);\n\t\tlet soma = 0;\n\t\tlet pos = tamanho - 7;\n\t\tlet resultado: number;\n\n\t\tfor (let i = tamanho; i >= 1; i--) {\n\t\t\tsoma += Number(numeros.charAt(tamanho - i)) * pos--;\n\t\t\tif (pos < 2)\n\t\t\t\tpos = 9;\n\t\t}\n\n\t\tresultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\n\n\t\tif (resultado !== Number(digitos.charAt(0)))\n\t\t\treturn false;\n\n\t\ttamanho = tamanho + 1;\n\t\tnumeros = cnpj.substring(0, tamanho);\n\t\tsoma = 0;\n\t\tpos = tamanho - 7;\n\n\t\tfor (let i = tamanho; i >= 1; i--) {\n\t\t\tsoma += Number(numeros.charAt(tamanho - i)) * pos--;\n\t\t\tif (pos < 2)\n\t\t\t\tpos = 9;\n\t\t}\n\n\t\tresultado = soma % 11 < 2 ? 0 : 11 - soma % 11;\n\n\t\tif (resultado !== Number(digitos.charAt(1)))\n\t\t\treturn false;\n\n\t\treturn true;\n\t}\n\n\tpublic validarCpfCnpj(cpfcnpj: UntypedFormControl): any {\n\t\tif (cpfcnpj == null) return null;\n\t\tif (cpfcnpj.value == null) return null;\n\n\t\tconst value = cpfcnpj.value.toString().replace(/\\D+/g, '');\n\t\tif (!this._validarCPFCNPJ(value))\n\t\t\treturn { cpfcnpjInvalido: true };\n\t\telse\n\t\t\treturn null;\n\t}\n\n\tpublic ocultarCpfParcialmente(cpf: string): string {\n\t\treturn this.somenteNumeros(cpf).replace(/(\\d{3})(\\d{3})(\\d{3})(\\d{2})/g, '***.$2.$3-**')\n\t}\n\n\tpublic ocultarCnpjParcialmente(cnpj: string): string {\n\t\treturn this.somenteNumeros(cnpj)\n\t\t\t.replace(/(\\d{2})(\\d{3})(\\d{3})(\\d{4})(\\d{2})/g, '**.$2.$3/$4-**')\n\t}\n\n\tpublic ocultarCpfCnpjParcialmente(cpfCnpj: string): string {\n\t\tif (!this._validarCPFCNPJ(cpfCnpj)) {\n\t\t\treturn null;\n\t\t}\n\t\treturn this.somenteNumeros(cpfCnpj).length === 11 ?\n\t\t\tthis.ocultarCpfParcialmente(cpfCnpj)\n\t\t\t: this.ocultarCnpjParcialmente(cpfCnpj);\n\t}\n\n\tpublic validarEmail (email: string) {\n\t\tvar emailPattern = /^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$/;\n\t\treturn emailPattern.test(email);\n\t}\n\n\tpublic validarSite (site: string): boolean {\n\t\tvar sitePattern = /^[(http(s)?):\\/\\/(www\\.)?a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&/=]*)$/igm;\n\t\treturn sitePattern.test(site);\n\t}\n\n\tpublic ehValidoDDD(ddd:string){\n\t\tvar codigosDDDValidos = [\n\t\t\t11, 12, 13, 14, 15, 16, 17, 18, 19,\n\t\t\t21, 22, 24, 27, 28, 31, 32, 33, 34,\n\t\t\t35, 37, 38, 41, 42, 43, 44, 45, 46,\n\t\t\t47, 48, 49, 51, 53, 54, 55, 61, 62,\n\t\t\t64, 63, 65, 66, 67, 68, 69, 71, 73,\n\t\t\t74, 75, 77, 79, 81, 82, 83, 84, 85,\n\t\t\t86, 87, 88, 89, 91, 92, 93, 94, 95,\n\t\t\t96, 97, 98, 99\n\t\t];\n\t\treturn codigosDDDValidos.includes(parseInt(ddd));\n\t}\n\n\tpublic converterCoordenadaParaDecimal(coordenada: string): number {\n\n\t\tlet coordenadaQuebrada = coordenada.split(\" \");\n\t\tlet tipoCoordenda = coordenada.replace(/[^A-Za-z]/g, \"\");\n\t\tlet minutos = parseInt(coordenadaQuebrada[1].replace(/\\D/g, \"\"));\n\t\tlet segundos1 = parseInt(coordenadaQuebrada[2].replace(/[\\'\\\"]/g, \"\")) * 60;\n\t\tlet segundos2 = parseFloat(coordenadaQuebrada[3].replace(/[\\'\\\"]/g, \"\").replace(\",\", \".\"));\n\n\t\tlet sinal = tipoCoordenda == \"S\" || tipoCoordenda == \"W\";\n\n\t\tlet numero = minutos + (segundos1 + segundos2) / 3600;\n\n\t\treturn sinal ? numero * -1 : numero;\n\t}\n\n\tpublic ngbDataParaDataPTBR(data: NgbDate): string {\n\t\treturn new Data(data).toPTBR();\n\t}\n\n\tverificaTipoInscricao(inscricao: string): ETipoInscricao{\n\t\tif(!inscricao)return null;\n\n\t\tif(this.validarCpf(inscricao))\n\t\t\treturn ETipoInscricao.CPF\n\t\tif(this.validarCnpj(inscricao))\n\t\t\treturn ETipoInscricao.CNPJ\n\t\tif(this.validarIE(inscricao,false))\n\t\t\treturn ETipoInscricao.IE\n\n\t\treturn null;\n\t}\n}\n","import { Inject, Injectable, Optional, PLATFORM_ID } from '@angular/core';\nimport { REQUEST } from '@nguniversal/express-engine/tokens';\nimport { Request } from 'express';\nimport { DeviceDetectorService } from 'ngx-device-detector';\nimport { isPlatformServer } from '@angular/common';\n\n@Injectable()\nexport class UniversalDeviceDetectorService extends DeviceDetectorService {\n\tconstructor(@Inject(PLATFORM_ID) platformId: any, @Optional() @Inject(REQUEST) request: Request) {\n\t\tsuper(platformId);\n\t\tif (isPlatformServer(platformId)) {\n\t\t\tsuper.setDeviceInfo((request.headers['user-agent'] as string) || '');\n\t\t}\n\t}\n}\n","import { NgbDateStruct } from \"@ng-bootstrap/ng-bootstrap\";\n\nexport class Data implements NgbDateStruct {\n\tyear: number;\n\tmonth: number;\n\tday: number;\n\n\tget dia() { return String(this.day || 0).padStart(2, '0') };\n\tget mes() { return String(this.month || 0).padStart(2, '0') };\n\tget ano() { return String(this.year || 0).padStart(2, '0') };\n\n\tconstructor(data: any) {\n\t\tif (data) {\n\t\t\tconst { year, month, day } = data;\n\n\t\t\tthis.day = day;\n\t\t\tthis.month = month;\n\t\t\tthis.year = year;\n\t\t}\n\t}\n\n\ttoPTBR(): string {\n\t\treturn `${this.dia}/${this.mes}/${this.ano}`;\n\t}\n\n\ttoISOString(): string {\n\t\treturn `${this.ano}-${this.mes}-${this.dia}T00:00:00.000Z`;\n\t}\n}\n","export class Paginacao {\n data: TResult[];\n paginaAtual: number;\n totalRegistros: number;\n\n constructor(data: TResult[], paginaAtual: number, totalRegistros: number) {\n\t\tthis.data = data;\n\t\tthis.paginaAtual = paginaAtual;\n\t\tthis.totalRegistros = totalRegistros;\n\t}\n}\n","export class Parametro {\n\n public nome: string;\n public data: any;\n\n constructor(nome: string, data: any) {\n this.nome = nome;\n this.data = data;\n }\n}","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\n\nimport { AuthenticationProvider } from '../auth/app.auth.token';\nimport { Rotas } from '../helper/app.rotas.utils'\nimport { Parametro } from '../model/app.parametro.model'\nimport { catchError, filter, map, pluck } from 'rxjs/operators';\nimport { CoordenadaMunicipio } from '../model/app.coordenada.model';\nimport { firstValueFrom } from 'rxjs';\n\n@Injectable()\nexport class CoordenadaService {\n\tprivate _baseUrl: string = \"https://www.pinms.ms.gov.br/arcgis/rest/services/AGRAER_SERVICOS/Estado_de_MS_Politico/MapServer/0/query\"\n\n\tconstructor(private http: HttpClient, private auth: AuthenticationProvider, private rotas: Rotas) {\n\t}\n\n\tgetMunicipioPorCoordenada(latitude: number, longitude: number): Promise {\n\n\t\tconst options = {\n\t\t\theaders: new HttpHeaders(\n\t\t\t\t{\n\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t'Access-Control-Allow-Origin': '*',\n\t\t\t\t\t'Access-Control-Allow-Headers': 'Content-Type, Accept, Access-Control-Request-Origin, Referer'\n\t\t\t\t})\n\t\t};\n\n\t\tvar parametros = new Array();\n\t\tparametros.push(new Parametro('geometry', `${longitude}%2C${latitude}`));\n\t\tparametros.push(new Parametro('geometryType', 'esriGeometryPoint'));\n\t\tparametros.push(new Parametro('spatialRel', 'esriSpatialRelIntersects'));\n\t\tparametros.push(new Parametro('outFields', 'Municipio%2CGeocodigo'));\n\t\tparametros.push(new Parametro('returnGeometry', false));\n\t\tparametros.push(new Parametro('returnDistinctValues', false));\n\t\tparametros.push(new Parametro('returnIdsOnly', false));\n\t\tparametros.push(new Parametro('returnCountOnly', false));\n\t\tparametros.push(new Parametro('returnExtentOnly', false));\n\t\tparametros.push(new Parametro('returnZ', false));\n\t\tparametros.push(new Parametro('returnM', false));\n\t\tparametros.push(new Parametro('f', 'json'));\n\n\t\tvar url = this.rotas.adicionarParametros(this._baseUrl, parametros);\n\t\treturn firstValueFrom(this.http.get(url, options)\n\t\t\t.pipe(\n\t\t\t\tpluck('features'),\n\t\t\t\tfilter((x: any[]) => {\n\t\t\t\t\treturn x.length > 0\n\t\t\t\t}),\n\t\t\t\tmap((data: any) => {\n\t\t\t\t\treturn data.at(0);\n\t\t\t\t}),\n\t\t\t\tpluck('Geocodigo'),\n\t\t\t\tmap((geocodigo: string) => parseInt(geocodigo))\n\t\t\t));\n\t}\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpStatusCode } from '@angular/common/http';\n\nimport { AuthenticationProvider, Token } from '../auth/app.auth.token';\nimport { Rotas } from '../helper/app.rotas.utils'\nimport { Parametro } from '../model/app.parametro.model'\nimport { DtoPacote } from '../model/retorno/app.dtopacote.model';\nimport { Anexo } from '../model/app.anexo.model';\nimport { map, filter, take, switchMap, pluck, catchError } from 'rxjs/operators';\nimport { BehaviorSubject, Observable, pipe, Subject } from 'rxjs';\nimport { TipoCoordenada } from '../model/app.tipocoordenada.model';\nimport { Historico } from '../model/app.historicohabilitacaoficha.model';\nimport { Pais } from '../model/app.pais.model';\n\n@Injectable()\nexport class FichaService {\n\n\tconstructor(private http: HttpClient, private auth: AuthenticationProvider, private rotas: Rotas) {\n\t}\n\n\tgetFichas(ieCpfCnpj: string, cpfCnpj: string, codPGA: string): Promise {\n\t\treturn this.auth.getToken().then(token => {\n\n\t\t\tlet autorization = token.token_type + ' ' + token.access_token;\n\t\t\tconst options = { headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': autorization }) };\n\n\t\t\tvar parametros = new Array();\n\t\t\tparametros.push(new Parametro('IECPFCNPJ', ieCpfCnpj));\n\t\t\tparametros.push(new Parametro('CPFCNPJ', cpfCnpj));\n\t\t\tparametros.push(new Parametro('PGA', codPGA));\n\n\t\t\tvar url = this.rotas.adicionarParametros(this.rotas.ficha(), parametros);\n\n\t\t\treturn this.http.get(url, options)\n\t\t\t\t.toPromise()\n\t\t\t\t.then(resp => (resp as DtoPacote).data as any[])\n\t\t\t\t.catch(this.handleError);\n\t\t})\n\t}\n\n\tgetContribuinteCCE(ieCpfCnpj: string): Promise {\n\t\treturn this.auth.getToken().then(token => {\n\n\t\t\tlet autorization = token.token_type + ' ' + token.access_token;\n\t\t\tconst options = { headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': autorization }) };\n\n\t\t\tvar parametros = new Array();\n\t\t\tparametros.push(new Parametro('ieCpfCnpj', ieCpfCnpj));\n\n\t\t\tvar url = this.rotas.adicionarParametros(this.rotas.contribuinteCCE(), parametros);\n\n\t\t\treturn this.http.get(url, options)\n\t\t\t\t.toPromise()\n\t\t\t\t.then(resp => (resp as DtoPacote) as any)\n\t\t\t\t.catch(this.handleError);\n\t\t})\n\t}\n\n\tObterTiposCoordenadas(): Promise {\n\t\treturn this.auth.getToken().then(token => {\n\n\t\t\tlet autorization = token.token_type + ' ' + token.access_token;\n\t\t\tconst options = { headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': autorization }) };\n\n\t\t\tvar url = this.rotas.ObterTiposCoordenadas();\n\n\t\t\treturn this.http.get(url, options)\n\t\t\t\t.toPromise()\n\t\t\t\t.then(resp => (resp as DtoPacote).data as TipoCoordenada[])\n\t\t\t\t.catch(this.handleError);\n\t\t})\n\t}\n\n\tObterHistoricoHabilitacaoObs(inscricaoEstadual: string): Observable {\n\t\treturn this.auth.getTokenObs()\n\t\t\t.pipe(\n\t\t\t\tswitchMap(token => {\n\t\t\t\t\tvar parametros = new Array();\n\t\t\t\t\tparametros.push(new Parametro('inscricao', inscricaoEstadual));\n\t\t\t\t\tvar url = this.rotas.adicionarParametros(this.rotas.obterHistoricoHabilitacaoFicha(), parametros);\n\n\t\t\t\t\treturn this._get(url, token)\n\t\t\t\t\t\t.pipe(map(historicos => historicos ?? []));\n\t\t\t\t})\n\t\t\t)\n\t}\n\n\tObterPaisesObs(): Observable {\n\t\treturn this.auth.getTokenObs()\n\t\t\t.pipe(\n\t\t\t\tswitchMap(token => {\n\t\t\t\t\tvar url = this.rotas.ObterPaises();\n\t\t\t\t\treturn this._get(url, token)\n\t\t\t\t\t\t.pipe(map(paises => paises ?? []));\n\t\t\t\t})\n\t\t\t)\n\t}\n\n\tObterMarcaRebanho(ieCpfCnpj: string): Observable {\n\t\treturn this.auth.getTokenObs()\n\t\t\t.pipe(\n\t\t\t\tswitchMap(token => {\n\t\t\t\t\tconst parametros = new Array();\n\t\t\t\t\tparametros.push(new Parametro('ieCpfCnpj', ieCpfCnpj));\n\t\t\t\t\tconst url = this.rotas.adicionarParametros(this.rotas.ObterFichaSanitariaMarcaRebanho(), parametros);\n\n\t\t\t\t\treturn this._get(url, token);\n\t\t\t\t})\n\t\t\t)\n\t}\n\n\tObterRelacaoFichaSanianitariaAnexo(ieCpfCnpj: string): Observable {\n\t\treturn this.auth.getTokenObs()\n\t\t\t.pipe(\n\t\t\t\tswitchMap(token => {\n\t\t\t\t\tconst parametros = new Array();\n\t\t\t\t\tparametros.push(new Parametro('ieCpfCnpj', ieCpfCnpj));\n\t\t\t\t\tconst url = this.rotas.adicionarParametros(this.rotas.ObterRelacaoFichaSanianitariaAnexo(), parametros);\n\n\t\t\t\t\treturn this._get(url, token)\n\t\t\t\t\t\t.pipe(map(anexos => anexos ?? []));\n\t\t\t\t})\n\t\t\t)\n\t}\n\n\tVerificaCoordenadasSiriema(latitude: number, longitude: number, municipioID: number): Promise {\n\t\treturn this.auth.getToken().then(token => {\n\n\t\t\tlet autorization = token.token_type + ' ' + token.access_token;\n\t\t\tconst options = { headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': autorization }) };\n\n\t\t\tvar parametros = new Array();\n\t\t\tparametros.push(new Parametro('latitude', latitude));\n\t\t\tparametros.push(new Parametro('longitude', longitude));\n\t\t\tparametros.push(new Parametro('geocode', municipioID));\n\n\t\t\tvar url = this.rotas.adicionarParametros(this.rotas.VerificaCoordenadasSiriema(), parametros);\n\n\t\t\treturn this.http.get(url, options)\n\t\t\t\t.toPromise()\n\t\t\t\t.then(resp => (resp as DtoPacote) as any);\n\t\t})\n\t}\n\n\tgerarCodigoAcesso(inscricaoEstadual: string): Promise {\n\t\treturn this.auth.getToken().then(token => {\n\n\t\t\tlet autorization = token.token_type + ' ' + token.access_token;\n\t\t\tconst options = { headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': autorization }) };\n\n\t\t\tvar parametros = new Array();\n\t\t\tparametros.push(new Parametro('inscricao', inscricaoEstadual));\n\n\t\t\tvar url = this.rotas.adicionarParametros(this.rotas.gerarCodigoAcesso(), parametros);\n\n\t\t\treturn this.http.get(url, options)\n\t\t\t\t.toPromise()\n\t\t\t\t.then(resp => (resp as DtoPacote) as any);\n\t\t})\n\t}\n\n\tValidarCodigoAcesso(inscricaoEstadual: string, codigoAcesso: number): Promise {\n\t\treturn this.auth.getToken().then(token => {\n\n\t\t\tlet autorization = token.token_type + ' ' + token.access_token;\n\t\t\tconst options = { headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': autorization }) };\n\n\t\t\tvar parametros = new Array();\n\t\t\tparametros.push(new Parametro('inscricao', inscricaoEstadual));\n\t\t\tparametros.push(new Parametro('codigo', codigoAcesso));\n\n\t\t\tvar url = this.rotas.adicionarParametros(this.rotas.ValidarCodigoAcesso(), parametros);\n\n\t\t\treturn this.http.get(url, options)\n\t\t\t\t.toPromise()\n\t\t\t\t.then(resp => (resp as DtoPacote) as any)\n\t\t\t\t.catch(error => error);\n\t\t})\n\t}\n\n\tReenviarCodigoAcesso(inscricaoEstadual: string): Promise {\n\t\treturn this.auth.getToken().then(token => {\n\n\t\t\tlet autorization = token.token_type + ' ' + token.access_token;\n\t\t\tconst options = { headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': autorization }) };\n\n\t\t\tvar parametros = new Array();\n\t\t\tparametros.push(new Parametro('IE', inscricaoEstadual));\n\n\t\t\tvar url = this.rotas.adicionarParametros(this.rotas.ReenviarCodigoAcesso(), parametros);\n\n\t\t\treturn this.http.get(url, options)\n\t\t\t\t.toPromise()\n\t\t\t\t.then(resp => (resp as DtoPacote) as any);\n\t\t})\n\t}\n\n\tUploadAnexosAsync(anexo: Anexo) {\n\t\treturn this.auth.getToken().then(token => {\n\t\t\tlet autorization = token.token_type + ' ' + token.access_token;\n\t\t\tconst options = { headers: new HttpHeaders({ 'Content-Type': 'application/json', 'Authorization': autorization }) };\n\n\t\t\tvar url = this.rotas.TransmitirFichaSanitariaDocumento();\n\t\t\treturn this.http.post(url, anexo, options)\n\t\t\t\t.toPromise()\n\t\t\t\t.then(resp => (resp as DtoPacote) as any);\n\t\t})\n\t}\n\n\tUploadAnexos(parametros: any): Observable {\n\t\tvar url = this.rotas.TransmitirFichaSanitariaDocumento();\n\t\treturn this._post(url, parametros);\n\t}\n\n\tUploadMarcaRebanho(parametros: any): Observable {\n\t\tvar url = this.rotas.TransmitirFichaSanitariaMarcaRebanho();\n\t\treturn this._post(url, parametros);\n\t}\n\n\tInserirFichaSanitaria(parametros: any): Observable {\n\t\tconst url = this.rotas.InserirFichaSanitaria();\n\t\treturn this._post(url, parametros);\n\t}\n\n\tprivate _post(url: string, parametros: any): Observable {\n\t\treturn this.auth.getTokenObs()\n\t\t\t.pipe(\n\t\t\t\tfilter(token => token != null),\n\t\t\t\ttake(1),\n\t\t\t\tswitchMap(({ token_type, access_token }: Token) => {\n\t\t\t\t\tconst autorization = `${token_type} ${access_token}`;\n\t\t\t\t\tconst options = {\n\t\t\t\t\t\theaders: new HttpHeaders({\n\t\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t\t'Authorization': autorization,\n\t\t\t\t\t\t\t'Access-Control-Allow-Origin': '*'\n\t\t\t\t\t\t})\n\t\t\t\t\t};\n\t\t\t\t\treturn this.http.post(url, parametros, options)\n\t\t\t\t\t\t.pipe(\n\t\t\t\t\t\t\tmap(({ status, data }: any) => {\n\t\t\t\t\t\t\t\tconst { codigo, mensagem } = status;\n\t\t\t\t\t\t\t\tif (codigo != HttpStatusCode.Ok)\n\t\t\t\t\t\t\t\t\tthrow new Error(mensagem);\n\t\t\t\t\t\t\t\treturn data;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t}\n\n\tprivate handleError(error: any): Promise {\n\t\tconsole.error('Um erro ocorreu', error);\n\t\treturn Promise.reject(error.message || error);\n\t}\n\n\tprivate _get(url: string, { token_type, access_token }: Token): Observable {\n\t\tconst dados: Subject = new BehaviorSubject(null);\n\t\tconst autorization = `${token_type} ${access_token}`;\n\n\t\tconst options = {\n\t\t\theaders: new HttpHeaders({\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t'Authorization': autorization,\n\t\t\t\t'Access-Control-Allow-Origin': '*'\n\t\t\t})\n\t\t};\n\n\t\tthis.http.get(url, options)\n\t\t\t.pipe(\n\t\t\t\tpluck('data')\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext: (data: T) => dados.next(data),\n\t\t\t\terror: ({ error, message }) => {\n\t\t\t\t\tconsole.log(\"ERROR\", error.message || message);\n\t\t\t\t\tdados.next(null);\n\t\t\t\t}\n\t\t\t});\n\n\t\treturn dados.asObservable();\n\t}\n}\n","import { environment } from '../../environments/environment';\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\nimport { BehaviorSubject, from, Observable, of, Subject } from \"rxjs\";\nimport { catchError, filter, map, pluck, retry, switchMap, tap } from \"rxjs/operators\";\nimport { Params } from \"../interfaces/app.request.interface\";\nimport { Token } from \"../model/app.token.model\";\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class RequestService {\n\tprivate token: Token;\n\n\tconstructor(private http: HttpClient) {\n\t}\n\n\tpublic Get(url: string, params: Params = null): Observable {\n\t\tconst dados: Subject = new BehaviorSubject(null);\n\t\tthis._token()\n\t\t\t.pipe(\n\t\t\t\tswitchMap((token: Token) => {\n\t\t\t\t\tconst { token_type, access_token } = token;\n\t\t\t\t\tconst autorization = `${token_type} ${access_token}`;\n\t\t\t\t\tconst headers = new HttpHeaders({\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Access-Control-Allow-Origin': '*',\n\t\t\t\t\t\tAuthorization: autorization\n\t\t\t\t\t});\n\n\t\t\t\t\tlet responseType: \"json\" = \"json\";\n\n\t\t\t\t\treturn this.http.get(url, { headers, responseType })\n\t\t\t\t\t\t.pipe(\n\t\t\t\t\t\t\tfilter(resposta => !!resposta)\n\t\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t)\n\t\t\t.subscribe({\n\t\t\t\tnext:(data: any) => {\n\t\t\t\t\tdados.next(data);\n\t\t\t\t\tdados.complete();\n\t\t\t\t},\n\t\t\t\terror: (error)=> dados.error(`Ops! Ocorreu um erro. Tente novamente.`)\n\t\t\t});\n\t\treturn dados.asObservable();\n\t}\n\n\tpublic Post(url: string, params: Params): Observable {\n\n\t\treturn this._token()\n\t\t\t.pipe(\n\t\t\t\tswitchMap((token: Token) => {\n\t\t\t\t\tconst { token_type, access_token } = token;\n\t\t\t\t\tconst autorization = `${token_type} ${access_token}`;\n\t\t\t\t\tconst headers = new HttpHeaders({\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Access-Control-Allow-Origin': '*',\n\t\t\t\t\t\t'Authorization': autorization\n\t\t\t\t\t});\n\n\t\t\t\t\tlet responseType: \"json\" = \"json\";\n\n\t\t\t\t\treturn this.http.post(url, params, { headers, responseType })\n\t\t\t\t\t\t.pipe(\n\t\t\t\t\t\t\tfilter(resp => !!resp)\n\t\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t}\n\n\tpublic Put(url: string, params: Params): Observable {\n\t\treturn this._token()\n\t\t\t.pipe(\n\t\t\t\tswitchMap((token: Token) => {\n\t\t\t\t\tconst { token_type, access_token } = token;\n\t\t\t\t\tconst autorization = `${token_type} ${access_token}`;\n\t\t\t\t\tconst headers = new HttpHeaders({\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Access-Control-Allow-Origin': '*',\n\t\t\t\t\t\t'Authorization': autorization\n\t\t\t\t\t});\n\t\t\t\t\treturn this.http.put(url, params, { headers, responseType: \"json\" })\n\t\t\t\t\t\t.pipe(\n\t\t\t\t\t\t\tfilter(resp => !!resp)\n\t\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t}\n\n\tpublic Patch(url: string, params: Params = null): Observable {\n\t\treturn this._token()\n\t\t\t.pipe(\n\t\t\t\tswitchMap((token: Token) => {\n\t\t\t\t\tconst { token_type, access_token } = token;\n\t\t\t\t\tconst autorization = `${token_type} ${access_token}`;\n\t\t\t\t\tconst headers = new HttpHeaders({\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Access-Control-Allow-Origin': '*',\n\t\t\t\t\t\t'Authorization': autorization\n\t\t\t\t\t});\n\t\t\t\t\treturn this.http.patch(url, params, { headers, responseType: \"json\" })\n\t\t\t\t\t\t.pipe(\n\t\t\t\t\t\t\tfilter(resp => !!resp)\n\t\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t}\n\n\tpublic Delete(url: string, params: Params): Observable {\n\n\t\treturn this._token()\n\t\t\t.pipe(\n\t\t\t\tswitchMap((token: Token) => {\n\t\t\t\t\tconst { token_type, access_token } = token;\n\t\t\t\t\tconst autorization = `${token_type} ${access_token}`;\n\t\t\t\t\tconst headers = new HttpHeaders({\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Access-Control-Allow-Origin': '*',\n\t\t\t\t\t\t'Authorization': autorization\n\t\t\t\t\t});\n\n\t\t\t\t\tlet responseType: \"json\" = \"json\";\n\n\t\t\t\t\treturn this.http.delete(url, { headers, params, responseType })\n\t\t\t\t\t\t.pipe(\n\t\t\t\t\t\t\tfilter(resp => !!resp)\n\t\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t}\n\n\tprivate _token(): Observable {\n\t\tif (this.token) return of(this.token);\n\n\t\tconst clientSecret = `client_secret=${environment.clientSecret}`;\n\t\tconst clientId = `client_id=${environment.clientId}`;\n\t\tconst grantType = 'grant_type=client_credentials';\n\t\tconst data = `${grantType}&${clientId}&${clientSecret}`;\n\t\tconst headers = {\n\t\t\t'content-type': 'application/x-www-form-urlencoded',\n\t\t\tAccept: 'application/json, text/plain, */*',\n\t\t};\n\n\t\treturn this.http.post(environment.tokenUrl, data, { headers, responseType: 'json' }).pipe(\n\t\t\tretry(2),\n\t\t\tmap((token: Token) => token),\n\t\t\ttap((token: Token) => {\n\t\t\t\tthis.token = token;\n\t\t\t\tsetTimeout(() => { this.token = null; }, this.token.expires_in * 1000);\n\t\t\t}),\n\t\t\tcatchError((erro, souce) => {\n\t\t\t\tconsole.log(erro);\n\t\t\t\treturn souce;\n\t\t\t})\n\t\t);\n\t}\n\n\tpublic GetJson(url: string): Observable {\n\t\tconst dados: Subject = new BehaviorSubject([]);\n\t\tthis.http.get(url)\n\t\t\t.pipe(\n\t\t\t\tpluck('data')\n\t\t\t)\n\t\t\t.subscribe((data: T) => dados.next(data));\n\t\treturn dados.asObservable();\n\t}\n}\n","import { RequestService } from './app.request.services';\nimport { Observable } from \"rxjs\";\nimport { Params } from \"../interfaces/app.request.interface\";\nimport { Injectable } from '@angular/core';\nimport { Paginacao } from '../model/app.paginacao.model';\n\n@Injectable()\nexport class RequestAspNetAPIService {\n\n\tconstructor(private request:RequestService ) {\n\t}\n\n\tpublic Get(url: string, params: Params = null): Observable {\n\t\treturn this.request.Get(url,params)\n\t\t\t\t\t.pipeResponseAspNetAPI();\n\t}\n\n\tpublic GetPaginado(url: string, params: Params = null): Observable> {\n\t\treturn this.request.Get(url,params)\n\t\t\t\t\t.pipeResponsePaginadoAspNetAPI();\n\t}\n\n\tpublic Post(url: string, params: Params): Observable {\n\t\treturn this.request.Post(url,params)\n\t\t\t\t\t.pipeResponseAspNetAPI();\n\t}\n\n\tpublic Put(url: string, params: Params): Observable {\n\t\treturn this.request.Put(url,params)\n\t\t\t\t\t.pipeResponseAspNetAPI();\n\t}\n\n\tpublic Patch(url: string, params: Params = null): Observable {\n\t\treturn this.request.Patch(url,params)\n\t\t\t\t\t.pipeResponseAspNetAPI();\n\t}\n\n\tpublic Delete(url: string, params: Params): Observable {\n\t\treturn this.request.Delete(url,params)\n\t\t\t\t\t.pipeResponseAspNetAPI();\n\t}\n}\n","import { environment } from '../../environments/environment';\nimport { HttpClient, HttpHeaders, HttpStatusCode } from \"@angular/common/http\";\nimport { BehaviorSubject, Observable, of, Subject } from \"rxjs\";\nimport { catchError, filter, map, pluck, retry, switchMap, tap } from \"rxjs/operators\";\nimport { Params } from \"../interfaces/app.request.interface\";\nimport { Token } from \"../model/app.token.model\";\nimport { Injectable } from '@angular/core';\n\n@Injectable()\nexport class RESTService {\n\tprivate token: Token;\n\n\tconstructor(private http: HttpClient) {\n\t}\n\n\tpublic Get(url: string, params: Params = null, ehBlob: boolean = false): Observable {\n\t\tconst dados: Subject = new BehaviorSubject(null);\n\t\tthis._token()\n\t\t\t.pipe(\n\t\t\t\tswitchMap((token: Token) => {\n\t\t\t\t\tconst { token_type, access_token } = token;\n\t\t\t\t\tconst autorization = `${token_type} ${access_token}`;\n\t\t\t\t\tconst headers = new HttpHeaders({\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Access-Control-Allow-Origin': '*',\n\t\t\t\t\t\t'Authorization': autorization\n\t\t\t\t\t});\n\n\t\t\t\t\tlet responseType: any = \"json\";\n\t\t\t\t\tif (ehBlob)\n\t\t\t\t\t\tresponseType = \"blob\";\n\n\t\t\t\t\treturn this.http.get(url, { headers, params, responseType })\n\t\t\t\t\t\t.pipe(\n\t\t\t\t\t\t\tfilter(resposta => !!resposta),\n\t\t\t\t\t\t\tmap((retorno: any) => {\n\t\t\t\t\t\t\t\tif (!ehBlob) {\n\t\t\t\t\t\t\t\t\tconst { status, errors, data } = retorno;\n\t\t\t\t\t\t\t\t\tconst { codigo } = status;\n\t\t\t\t\t\t\t\t\tif (codigo != HttpStatusCode.Ok)\n\t\t\t\t\t\t\t\t\t\tthrow new Error(errors);\n\t\t\t\t\t\t\t\t\treturn data as T;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn retorno as T;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t)\n\t\t\t.subscribe((data: T) => {\n\t\t\t\tdados.next(data);\n\t\t\t\tdados.complete();\n\t\t\t});\n\t\treturn dados.asObservable();\n\t}\n\n\tpublic Post(url: string, params: Params, ehBlob: boolean = false): Observable {\n\t\treturn this._token()\n\t\t\t.pipe(\n\t\t\t\tswitchMap((token: Token) => {\n\t\t\t\t\tconst { token_type, access_token } = token;\n\t\t\t\t\tconst autorization = `${token_type} ${access_token}`;\n\t\t\t\t\tconst headers = new HttpHeaders({\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Access-Control-Allow-Origin': '*',\n\t\t\t\t\t\t'Authorization': autorization\n\t\t\t\t\t});\n\n\t\t\t\t\tlet responseType: \"json\" = \"json\";\n\t\t\t\t\tif (ehBlob)\n\t\t\t\t\t\tresponseType = \"blob\" as \"json\";\n\n\t\t\t\t\treturn this.http.post(url, params, { headers, responseType })\n\t\t\t\t\t\t.pipe(\n\t\t\t\t\t\t\tmap((retorno: any) => {\n\t\t\t\t\t\t\t\tif (!ehBlob) {\n\t\t\t\t\t\t\t\t\tconst { status, errors, data } = retorno;\n\t\t\t\t\t\t\t\t\tconst { codigo, mensagem } = status;\n\t\t\t\t\t\t\t\t\tif (codigo != HttpStatusCode.Ok)\n\t\t\t\t\t\t\t\t\t\tthrow new Error(errors);\n\t\t\t\t\t\t\t\t\tif (codigo === HttpStatusCode.Ok && !data)\n\t\t\t\t\t\t\t\t\t\treturn status;\n\t\t\t\t\t\t\t\t\treturn data as T;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn retorno;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t}\n\n\tpublic Put(url: string, params: Params): Observable {\n\t\treturn this._token()\n\t\t\t.pipe(\n\t\t\t\tswitchMap((token: Token) => {\n\t\t\t\t\tconst { token_type, access_token } = token;\n\t\t\t\t\tconst autorization = `${token_type} ${access_token}`;\n\t\t\t\t\tconst headers = new HttpHeaders({\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t\t'Access-Control-Allow-Origin': '*',\n\t\t\t\t\t\t'Authorization': autorization\n\t\t\t\t\t});\n\t\t\t\t\treturn this.http.put(url, params, { headers, responseType: \"json\" })\n\t\t\t\t\t\t.pipe(\n\t\t\t\t\t\t\tmap((retorno: any) => {\n\t\t\t\t\t\t\t\tconst { status, errors, data } = retorno;\n\t\t\t\t\t\t\t\tconst { codigo } = status;\n\t\t\t\t\t\t\t\tif (codigo != HttpStatusCode.Ok)\n\t\t\t\t\t\t\t\t\tthrow new Error(errors);\n\t\t\t\t\t\t\t\treturn data as T;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t})\n\t\t\t);\n\t}\n\n\tprivate _token(): Observable {\n\t\tif (this.token)\n\t\t\treturn of(this.token);\n\t\tconst authUrl: string = environment.apiUrl + 'auth/token';\n\t\tconst chave: string = `${environment.chave}`;\n\t\tconst person: string = `${environment.pessoa}`;\n\t\tconst grantType: string = 'grant_type=password';\n\t\tconst data: string = `${chave}&${person}&${grantType}`;\n\t\tconst headers = new HttpHeaders({\n\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t'Access-Control-Allow-Origin': '*'\n\t\t});\n\n\t\treturn this.http.post(authUrl, data, { headers: headers })\n\t\t\t.pipe(\n\t\t\t\tretry(2),\n\t\t\t\tmap((token: Token) => token),\n\t\t\t\ttap((token: Token) => {\n\t\t\t\t\tthis.token = token;\n\t\t\t\t\tsetTimeout(() => { this.token = null }, this.token.expires_in * 1000);\n\t\t\t\t}),\n\t\t\t\tcatchError((erro, souce) => {\n\t\t\t\t\tconsole.log(erro);\n\t\t\t\t\treturn souce;\n\t\t\t\t})\n\t\t\t);\n\t}\n\n\tpublic GetJson(url: string): Observable {\n\t\tconst dados: Subject = new BehaviorSubject([]);\n\t\tthis.http.get(url)\n\t\t\t.pipe(\n\t\t\t\tpluck('data')\n\t\t\t)\n\t\t\t.subscribe((data: T) => dados.next(data));\n\t\treturn dados.asObservable();\n\t}\n}\n","export const environment = {\n\ttokenUrl: \"https://hom.id.ms.gov.br/auth/realms/ms/protocol/openid-connect/token\",\n\tclientSecret: \"07537fa2-d37d-417f-858b-752ea3cbcbae\",\n\tclientId: \"esaniagro\",\n\tproduction: false,\n\tapiUrl: \"https://hom.api.ms.gov.br/api-esaniagro/\",\n\tapiCadastroUrl: \"https://hom.gw.sgi.ms.gov.br/d0485/esaniagrocadastro/\",\n\tapiConsultaUrl: \"https://hom.gw.sgi.ms.gov.br/k1049/esaniagro-consultas/\",\n\tapiCulturaUrl: \"https://hom.gw.sgi.ms.gov.br/k1125/esaniagro-cultura/\",\t\n\tapiRequerimentoUrl: \"https://hom.gw.sgi.ms.gov.br/k1248/esaniagro-requerimento/\",\n\tapiArquivoUrl: \"https://hom.gw.sgi.ms.gov.br/k0373/esaniagro-arquivos/\",\t\n\tchave: \"chave=123456\",\n\tpessoa: \"pessoa=03980919000187\",\n\tauth: true,\n\tesaniagroUrl: \"http://hom.gap.ms.gov.br/\",\n\tciadeUrl: \"http://hom1.servicos.iagro.ms.gov.br/ciade/publish.htm\",\n\tconsultaDaemsUrl: \"https://servicos.efazenda.ms.gov.br/daemsabertopublico/consultadaems\",\n\tpagamentoDaemsUrl: \"https://hom.servicos.efazenda.ms.gov.br/daemsabertopublico/PagamentoDAEMS\",\n\tchavePrivada: `-----BEGIN RSA PRIVATE KEY-----\n\tMIIFxAIBAAKCAUEAlsIVfjep1vc/v2TaG7by3lYqdpEHOtbL02y9CPj6m8sZ+LTG\n\tU+cdl/ofAfgp9dykI2AdT2jBhGawpE25+kKN2i5c7fQVtx2zKHf/Kpta5hEpriDY\n\tLHbgFFT+Mo4kZ/xUQsDAAns8zpbnhD+GUQhAdFHRiyILxazdAyBn3son4Ze+Bs4y\n\tBptVcQTyU/ptJpT2kfvKDlCPraquS3fw7YRKD/mPKg2gse1s8k14dg2Ye+JIzFdc\n\tSo/NQpTp91NckQoEgWDJZ6f7ytUflXz+ci/Q+/TO76/jjrmHyMqmEhBo+zyPrUNA\n\tudPuMeryo3XF4uBb/iZTzO2b1B8TUCpbBaGbAPQa/Fy7c1ccfEfg0JnPWFlcnPql\n\trxPnUx0pVTyapNJxFgnWEDCOD4ngBuk4i+YrOsX64a09ZnnwawzUAvXxhKECAwEA\n\tAQKCAUEAj0N690ngXUbyzmgBmMq/e6f4jFn/u9t5ML6p2Uf5p2lXkfAAdKUxi0YG\n\th3GUNm9pj7B7ygWruK15eXnfnUH32Xmrl/kXVb+kjHWUB6JAvFdc+3t80qxY/xlR\n\twysuz56LWDAhh3oja9MdyaAwfPrRfXhvH7/H3h8KnDkEXERRp+DylTcHdR3SESf5\n\tPPLDHSH8OvhCqF3IW+nR3ifpzVykn5pGe1MgEt0Y7/vmYsp16V0zHivDb+49maF4\n\tC4QlaKPaiV2JlGqpU8j5dSnqn07dS7FNivcTWZTx5W0Nq+uc8ERVmQg6um4zA2jJ\n\t5u6hK3f1zbswUPVNddkQWiIhKeL/g+hlQCiNZwTDgWaKUb134NofuCncmS/KT0RG\n\tAk7UWvjpWCYhUneaCJg6sS0/X+Uzd9RH9NkIv5YEllMJWDJXGg0CgaEAwbNU4uwB\n\tTYVParx01U8hOf2JmWyqklwO/pYeW4vf+JIr+ETdZ7Z566xsPo25cBKSlotX4KLy\n\tLqgUsGHq9Ru8anYU/EbJG76R0wm8PksQJfkdTLAekBkdentP7cB9iLNWM18xTE/4\n\tAwX1/6My/oL+8slUmuQOheE72QWwK4wEAgL2ZdnLoQ+dblMx3KW512xp7h3g0PhF\n\tWRmJPQPi18XvuwKBoQDHPwR1y6GBYG+ztElU5Jn998dA9PMJVf2EV1ZiPtexmsrv\n\ttqS/H3fxvnDdRKXI/GReCoVv4v3Jzd3LxFX2IoZs0z7hzgIgvWIEVHw5vG1InR4e\n\tIg4G9zavF1tYQhKmgdIXTxqyxoPylHARlHdLD+oxu2eKtmFrYuos4XVsDa3xL4to\n\tm1fSozBiGRpBG6W3A0KbfzJBu2Y3CifNqyzGhjFTAoGgPV6wGmVj1EfUbaDf82Vq\n\txZDKs812DYEVTxwI6kBa6cqGG9bVvzJVVpH+iaMliZiY0RG8+fMmgBnI1Elxw87R\n\t13kqFPPoa93pHdAL0EDAEQfofI+gX09Vw6SmIlHGdDU9rnEOkXsUvQB6fFAcq/6d\n\tABdBswFmiIxgBdaDhoiKDIkbwBFNLu5flsDNH3dydgpnVYYp4IuIjT5F+QruKCcS\n\tWQKBoFlzul3kSSMbl6q3Y0DgzR4PUv6fuklTuNjkmRzMl+vd0gRjHH3N8/ytgmBk\n\txIWCgtERqiy8XTJv4YbtI6a4g19yS8X2xk/KlqnZAFivduTl3TKsGV4ZOQzM0K7E\n\tIzlsCVV7p0HiDDUpXVMXM6OYho1DVM4a6YvbwcTah+w2DAS/UrhpHbmsmDlCid33\n\tOqP6q7nCFl8acl59ibc1hYmvj48CgaEAkrcUXcGDgbuz9kNqcRo7tnlyqi3UCuRP\n\tke4JkVCKYLPkuoywHmdM/GRgQC9bsc3uNpjJdNbIA7MWlxOmctaE5+1w0Z7C6Wrg\n\tYMlt3q4muRR0PDHmfkS8QukHSdIQ/ObYj/JUlR+noSTuThAQiJwlp8oYRhC5pfwR\n\txzoT/KduIgdl2V+eRjdlodFFVtfsc1EdBQg5ouk/9gkqhChlQvwXyg==\n\t-----END RSA PRIVATE KEY-----`\n};\n","import { enableProdMode, LOCALE_ID } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\nimport { filter, map, Observable } from 'rxjs';\nimport { EStatusCodeAspNetAPI } from './app/constantes/app.estatuscode.const';\nimport { Paginacao } from './app/model/app.paginacao.model';\n\nif (environment.production) {\n\tenableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule, {\n\tproviders: [{ provide: LOCALE_ID, useValue: 'pt-BR' }]\n})\n\t.catch(err => console.error(err));\n\ndeclare global {\n\tinterface String {\n\t\ttoFloat: (this: String) => Number;\n\t\tgetMask: (this: String) => String;\n\t\tcoordiantesInDecimal: () => number;\n\t\tcamelCase: () => String;\n\t}\n\tinterface StringConstructor {\n\t\tisNullOrEmpty: (value: any) => boolean;\n\t}\n\n\tinterface Array {\n\t\torderBy: (ordenador: string, desc?: boolean) => void;\n\t\tdistinct: () => Array;\n\t\tany: () => boolean;\n\t\tfirst: () => T\n\t\tlast: () => T\n\t}\n\tinterface Number {\n\t\ttoStartFixed: (casas: number, caracter: string, comma?: boolean) => string;\n\t\ttoFixedView: (casas: number) => string;\n\t}\n\n\tinterface Element {\n\t\tsetAttributes: (attrs: any) => void\n\t}\n}\n\nArray.prototype.distinct = function(): Array {\n\tconst lista = this;\n\treturn lista\n\t\t.map((item: T) => JSON.stringify(item))\n\t\t.filter((item: T, posicao: number, array: Array) => array.indexOf(item) === posicao)\n\t\t.map((item: string) => JSON.parse(item));\n}\n\nArray.prototype.any = function(): boolean {\n\treturn this.length > 0;\n}\n\nArray.prototype.first = function(): T {\n return this.find((_: any, index: number) => index === 0);\n}\n\nArray.prototype.last = function(): T {\n const ultimo = this.length - 1;\n return this.find((_: any, index: number) => index === ultimo);\n}\n\nString.prototype.toFloat = function (this: String): Number {\n\treturn +this?.replace(/,/g, '.');\n}\n\nString.prototype.camelCase = function(this: String): string{\n\treturn this.toLowerCase().replace(/(^|\\s)[a-z](?=[A-Za-zÀ-ÖØ-öø-ÿ]{2})/g, function (letter) {\n\t\treturn letter.toUpperCase();\n\t});\n}\n\nString.isNullOrEmpty = function (value: any): boolean {\n\treturn value === null || value === undefined || value === '';\n}\n\nString.prototype.getMask = function (): String {\n\tconst number = this.replace(/\\D/g, '');\n\treturn number.length == 9 ? \"00000-0000\" : \"0000-0000\";\n}\n\nNumber.prototype.toStartFixed = function (casas: number, caracter: string, comma: boolean = false): string {\n\tconst number = parseInt(this) + '';\n\tlet numberReverse = this.toString().split('').reverse().join('');\n\tfor (let i = number.length; i < casas; i++)\n\t\tnumberReverse += caracter;\n\tif (comma)\n\t\tnumberReverse = numberReverse.replace('.', ',');\n\treturn numberReverse.split('').reverse().join('');\n}\n\nNumber.prototype.toFixedView = function (casas: number): string {\n\treturn this.toFixed(casas)\n\t\t.split('').reverse().join('')\n\t\t.replace(/\\./, ',')\n\t\t.split('').reverse().join('');\n}\n\nArray.prototype.orderBy = function (ordenador: string, desc: boolean = false): void {\n\t//bubbleSort\n\tlet trocado: boolean;\n\tdo {\n\t\ttrocado = false;\n\t\tfor (let i = 0; i < this.length - 1; i++) {\n\t\t\tlet valorAtual = typeof this[i][ordenador] === \"function\" ? this[i][ordenador]() : this[i][ordenador];\n\t\t\tlet valorSeguinte = typeof this[i + 1][ordenador] === \"function\" ? this[i + 1][ordenador]() : this[i + 1][ordenador];\n\t\t\tif ((valorAtual < valorSeguinte && desc) ||\n\t\t\t\t(valorAtual > valorSeguinte && !desc)) {\n\t\t\t\tlet temp = this[i];\n\t\t\t\tthis[i] = this[i + 1];\n\t\t\t\tthis[i + 1] = temp;\n\t\t\t\ttrocado = true;\n\t\t\t}\n\t\t}\n\t} while (trocado);\n};\n\n\nString.prototype.coordiantesInDecimal = function (): number {\n\tconst tipoCoordenda = this.replace(/[^A-Za-z]/g, \"\");\n\tconst [, grau, minuto, segundo] = this.split(\" \");\n\tconst minutos = parseInt(grau.replace(/\\D/g, \"\"));\n\tconst segundos1 = parseInt(minuto.replace(/[\\'\\\"]/g, \"\")) * 60;\n\tconst segundos2 = parseFloat(segundo.replace(/[\\'\\\"]/g, \"\").replace(\",\", \".\"));\n\tconst ehNegativo = tipoCoordenda == \"S\" || tipoCoordenda == \"W\";\n\tlet numero = minutos + (segundos1 + segundos2) / 3600;\n\n\tif (ehNegativo)\n\t\tnumero *= -1;\n\n\treturn numero;\n}\n\nif (!(Element.prototype.setAttributes instanceof Function)) {\n\tElement.prototype.setAttributes = function (attrs: any) {\n\t\tfor (var idx in attrs) {\n\t\t\tif ((idx == 'styles' || idx == 'style') && typeof attrs[idx] == 'object') {\n\t\t\t\tfor (var prop in attrs[idx]) { this.style[prop] = attrs[idx][prop] }\n\t\t\t} else if (idx == 'html') {\n\t\t\t\tthis.innerHTML = attrs[idx];\n\t\t\t} else {\n\t\t\t\tthis.setAttribute(idx, attrs[idx]);\n\t\t\t}\n\t\t}\n\t};\n}\n\ndeclare module 'rxjs/internal/Observable' {\n\tinterface Observable{\n\t\tpipeResponseAspNetAPI: (this:Observable) => Observable\n\t\tpipeResponsePaginadoAspNetAPI: (this:Observable) => Observable>\n\t}\n}\n\nObservable.prototype.pipeResponseAspNetAPI = function(this:Observable):Observable{\n\treturn this.pipe(\n\t\t\t\t\tfilter(resp => !!resp),\n\t\t\t\t\tmap((retorno: any) => {\n\t\t\t\t\t\tconst { statusCode, errors, data } = retorno;\n\t\t\t\t\t\t\tif(statusCode == EStatusCodeAspNetAPI.OK)\n\t\t\t\t\t\t\t\treturn data as T;\n\n\t\t\t\t\t\t\tthrow errors;\n\t\t\t\t}),\n\n\t);\n}\n\nObservable.prototype.pipeResponsePaginadoAspNetAPI = function(this:Observable):Observable>{\n\treturn this.pipe(\n\t\t\t\t\tfilter(resp => !!resp),\n\t\t\t\t\tmap((retorno: any) => {\n\t\t\t\t\t\tconst { statusCode, errors, data, pagination } = retorno;\n\t\t\t\t\t\t\tif(statusCode == EStatusCodeAspNetAPI.OK)\n\t\t\t\t\t\t\t\treturn new Paginacao(data as T[], pagination.paginaAtual, pagination.totalRegistros );\n\n\t\t\t\t\t\t\tthrow errors;\n\t\t\t\t}),\n\n\t);\n}\n","var map = {\n\t\"./af\": 58685,\n\t\"./af.js\": 58685,\n\t\"./ar\": 254,\n\t\"./ar-dz\": 4312,\n\t\"./ar-dz.js\": 4312,\n\t\"./ar-kw\": 32614,\n\t\"./ar-kw.js\": 32614,\n\t\"./ar-ly\": 18630,\n\t\"./ar-ly.js\": 18630,\n\t\"./ar-ma\": 28674,\n\t\"./ar-ma.js\": 28674,\n\t\"./ar-sa\": 49032,\n\t\"./ar-sa.js\": 49032,\n\t\"./ar-tn\": 24730,\n\t\"./ar-tn.js\": 24730,\n\t\"./ar.js\": 254,\n\t\"./az\": 53052,\n\t\"./az.js\": 53052,\n\t\"./be\": 60150,\n\t\"./be.js\": 60150,\n\t\"./bg\": 63069,\n\t\"./bg.js\": 63069,\n\t\"./bm\": 13466,\n\t\"./bm.js\": 13466,\n\t\"./bn\": 18516,\n\t\"./bn-bd\": 90557,\n\t\"./bn-bd.js\": 90557,\n\t\"./bn.js\": 18516,\n\t\"./bo\": 26273,\n\t\"./bo.js\": 26273,\n\t\"./br\": 9588,\n\t\"./br.js\": 9588,\n\t\"./bs\": 19815,\n\t\"./bs.js\": 19815,\n\t\"./ca\": 83331,\n\t\"./ca.js\": 83331,\n\t\"./cs\": 21320,\n\t\"./cs.js\": 21320,\n\t\"./cv\": 72219,\n\t\"./cv.js\": 72219,\n\t\"./cy\": 68266,\n\t\"./cy.js\": 68266,\n\t\"./da\": 66427,\n\t\"./da.js\": 66427,\n\t\"./de\": 67435,\n\t\"./de-at\": 52871,\n\t\"./de-at.js\": 52871,\n\t\"./de-ch\": 12994,\n\t\"./de-ch.js\": 12994,\n\t\"./de.js\": 67435,\n\t\"./dv\": 82357,\n\t\"./dv.js\": 82357,\n\t\"./el\": 95649,\n\t\"./el.js\": 95649,\n\t\"./en-au\": 59961,\n\t\"./en-au.js\": 59961,\n\t\"./en-ca\": 19878,\n\t\"./en-ca.js\": 19878,\n\t\"./en-gb\": 3924,\n\t\"./en-gb.js\": 3924,\n\t\"./en-ie\": 70864,\n\t\"./en-ie.js\": 70864,\n\t\"./en-il\": 91579,\n\t\"./en-il.js\": 91579,\n\t\"./en-in\": 30940,\n\t\"./en-in.js\": 30940,\n\t\"./en-nz\": 16181,\n\t\"./en-nz.js\": 16181,\n\t\"./en-sg\": 44301,\n\t\"./en-sg.js\": 44301,\n\t\"./eo\": 85291,\n\t\"./eo.js\": 85291,\n\t\"./es\": 54529,\n\t\"./es-do\": 53764,\n\t\"./es-do.js\": 53764,\n\t\"./es-mx\": 12584,\n\t\"./es-mx.js\": 12584,\n\t\"./es-us\": 63425,\n\t\"./es-us.js\": 63425,\n\t\"./es.js\": 54529,\n\t\"./et\": 35203,\n\t\"./et.js\": 35203,\n\t\"./eu\": 70678,\n\t\"./eu.js\": 70678,\n\t\"./fa\": 83483,\n\t\"./fa.js\": 83483,\n\t\"./fi\": 96262,\n\t\"./fi.js\": 96262,\n\t\"./fil\": 52521,\n\t\"./fil.js\": 52521,\n\t\"./fo\": 34555,\n\t\"./fo.js\": 34555,\n\t\"./fr\": 63131,\n\t\"./fr-ca\": 88239,\n\t\"./fr-ca.js\": 88239,\n\t\"./fr-ch\": 21702,\n\t\"./fr-ch.js\": 21702,\n\t\"./fr.js\": 63131,\n\t\"./fy\": 267,\n\t\"./fy.js\": 267,\n\t\"./ga\": 23821,\n\t\"./ga.js\": 23821,\n\t\"./gd\": 71753,\n\t\"./gd.js\": 71753,\n\t\"./gl\": 4074,\n\t\"./gl.js\": 4074,\n\t\"./gom-deva\": 92762,\n\t\"./gom-deva.js\": 92762,\n\t\"./gom-latn\": 5969,\n\t\"./gom-latn.js\": 5969,\n\t\"./gu\": 82809,\n\t\"./gu.js\": 82809,\n\t\"./he\": 45402,\n\t\"./he.js\": 45402,\n\t\"./hi\": 315,\n\t\"./hi.js\": 315,\n\t\"./hr\": 10410,\n\t\"./hr.js\": 10410,\n\t\"./hu\": 38288,\n\t\"./hu.js\": 38288,\n\t\"./hy-am\": 67928,\n\t\"./hy-am.js\": 67928,\n\t\"./id\": 71334,\n\t\"./id.js\": 71334,\n\t\"./is\": 86959,\n\t\"./is.js\": 86959,\n\t\"./it\": 34864,\n\t\"./it-ch\": 51124,\n\t\"./it-ch.js\": 51124,\n\t\"./it.js\": 34864,\n\t\"./ja\": 36141,\n\t\"./ja.js\": 36141,\n\t\"./jv\": 29187,\n\t\"./jv.js\": 29187,\n\t\"./ka\": 42136,\n\t\"./ka.js\": 42136,\n\t\"./kk\": 94332,\n\t\"./kk.js\": 94332,\n\t\"./km\": 18607,\n\t\"./km.js\": 18607,\n\t\"./kn\": 84305,\n\t\"./kn.js\": 84305,\n\t\"./ko\": 70234,\n\t\"./ko.js\": 70234,\n\t\"./ku\": 16003,\n\t\"./ku.js\": 16003,\n\t\"./ky\": 75061,\n\t\"./ky.js\": 75061,\n\t\"./lb\": 32786,\n\t\"./lb.js\": 32786,\n\t\"./lo\": 66183,\n\t\"./lo.js\": 66183,\n\t\"./lt\": 50029,\n\t\"./lt.js\": 50029,\n\t\"./lv\": 24169,\n\t\"./lv.js\": 24169,\n\t\"./me\": 68577,\n\t\"./me.js\": 68577,\n\t\"./mi\": 68177,\n\t\"./mi.js\": 68177,\n\t\"./mk\": 50337,\n\t\"./mk.js\": 50337,\n\t\"./ml\": 65260,\n\t\"./ml.js\": 65260,\n\t\"./mn\": 52325,\n\t\"./mn.js\": 52325,\n\t\"./mr\": 14695,\n\t\"./mr.js\": 14695,\n\t\"./ms\": 75334,\n\t\"./ms-my\": 37151,\n\t\"./ms-my.js\": 37151,\n\t\"./ms.js\": 75334,\n\t\"./mt\": 63570,\n\t\"./mt.js\": 63570,\n\t\"./my\": 97963,\n\t\"./my.js\": 97963,\n\t\"./nb\": 88028,\n\t\"./nb.js\": 88028,\n\t\"./ne\": 86638,\n\t\"./ne.js\": 86638,\n\t\"./nl\": 50302,\n\t\"./nl-be\": 66782,\n\t\"./nl-be.js\": 66782,\n\t\"./nl.js\": 50302,\n\t\"./nn\": 33501,\n\t\"./nn.js\": 33501,\n\t\"./oc-lnc\": 50563,\n\t\"./oc-lnc.js\": 50563,\n\t\"./pa-in\": 50869,\n\t\"./pa-in.js\": 50869,\n\t\"./pl\": 65302,\n\t\"./pl.js\": 65302,\n\t\"./pt\": 49687,\n\t\"./pt-br\": 74884,\n\t\"./pt-br.js\": 74884,\n\t\"./pt.js\": 49687,\n\t\"./ro\": 79107,\n\t\"./ro.js\": 79107,\n\t\"./ru\": 33627,\n\t\"./ru.js\": 33627,\n\t\"./sd\": 30355,\n\t\"./sd.js\": 30355,\n\t\"./se\": 83427,\n\t\"./se.js\": 83427,\n\t\"./si\": 11848,\n\t\"./si.js\": 11848,\n\t\"./sk\": 54590,\n\t\"./sk.js\": 54590,\n\t\"./sl\": 20184,\n\t\"./sl.js\": 20184,\n\t\"./sq\": 56361,\n\t\"./sq.js\": 56361,\n\t\"./sr\": 78965,\n\t\"./sr-cyrl\": 81287,\n\t\"./sr-cyrl.js\": 81287,\n\t\"./sr.js\": 78965,\n\t\"./ss\": 25456,\n\t\"./ss.js\": 25456,\n\t\"./sv\": 70451,\n\t\"./sv.js\": 70451,\n\t\"./sw\": 77558,\n\t\"./sw.js\": 77558,\n\t\"./ta\": 51356,\n\t\"./ta.js\": 51356,\n\t\"./te\": 73693,\n\t\"./te.js\": 73693,\n\t\"./tet\": 21243,\n\t\"./tet.js\": 21243,\n\t\"./tg\": 82469,\n\t\"./tg.js\": 82469,\n\t\"./th\": 55768,\n\t\"./th.js\": 55768,\n\t\"./tk\": 77761,\n\t\"./tk.js\": 77761,\n\t\"./tl-ph\": 35780,\n\t\"./tl-ph.js\": 35780,\n\t\"./tlh\": 29590,\n\t\"./tlh.js\": 29590,\n\t\"./tr\": 33807,\n\t\"./tr.js\": 33807,\n\t\"./tzl\": 93857,\n\t\"./tzl.js\": 93857,\n\t\"./tzm\": 60654,\n\t\"./tzm-latn\": 8806,\n\t\"./tzm-latn.js\": 8806,\n\t\"./tzm.js\": 60654,\n\t\"./ug-cn\": 30845,\n\t\"./ug-cn.js\": 30845,\n\t\"./uk\": 19232,\n\t\"./uk.js\": 19232,\n\t\"./ur\": 47052,\n\t\"./ur.js\": 47052,\n\t\"./uz\": 77967,\n\t\"./uz-latn\": 32233,\n\t\"./uz-latn.js\": 32233,\n\t\"./uz.js\": 77967,\n\t\"./vi\": 98615,\n\t\"./vi.js\": 98615,\n\t\"./x-pseudo\": 12320,\n\t\"./x-pseudo.js\": 12320,\n\t\"./yo\": 31313,\n\t\"./yo.js\": 31313,\n\t\"./zh-cn\": 64490,\n\t\"./zh-cn.js\": 64490,\n\t\"./zh-hk\": 55910,\n\t\"./zh-hk.js\": 55910,\n\t\"./zh-mo\": 98262,\n\t\"./zh-mo.js\": 98262,\n\t\"./zh-tw\": 44223,\n\t\"./zh-tw.js\": 44223\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;"],"names":["RouterModule","CardComponent","GoogleAnalyticsGuard","LinkExternoComponent","LinkExternoGuard","AuthTokenResolver","routes","path","component","resolve","data","preload","loadChildren","then","x","AgrotoxicoModule","canActivate","EventoModule","FichaModule","LaboratorioModule","EstabelecimentoModule","ColaboradorModule","GtaModule","VacinaModule","DocOficiaisModule","AnimalModule","PtvModule","PnseModule","PlantioModule","NucleoModule","ECISeModule","DaemsModule","FichaSanitariaModule","RequerimentoModule","RequerimentoVegetalModule","FerrugemSojaModule","MapaFerrugemModule","FrutiferasModule","ReconhecimentoAmostraModule","AppRoutingModule","imports","forRoot","anchorScrolling","exports","environment","AppComponent","isProdMode","production","selectors","decls","vars","template","i0","RotasCadastro","BrowserModule","BrowserAnimationsModule","HttpClientModule","NgbModule","ToastrModule","FooterComponent","HeaderComponent","SharedModule","Utils","FichaService","Rotas","CoordenadaService","FilterPipe","FormsModule","BlockUtil","RESTService","DeviceDetectorService","UniversalDeviceDetectorService","RequestService","RequestAspNetAPIService","RotasConsulta","RotasArquivo","RotasCultura","RotasRequerimento","AppModule","bootstrap","provide","useClass","declarations","of","HttpClient","HttpHeaders","tap","retry","map","Token","AuthenticationProvider","constructor","http","apiUrl","getTokenObs","token","key","chave","person","grantType","headers","post","authUrl","pipe","setTimeout","expires_in","getToken","auth","Promise","toPromise","handleSuccess","resp","handleError","error","console","reject","message","factory","ETipoCard","TODOS","cards","id","titulo","routeLink","imagePath","descricao","tipo","CONSULTA","CADASTRO","card","ordenacao","toLowerCase","orderBy","cardsList","filter","consulta","consts","esaniagroUrl","ciadeUrl","consultaDaemsUrl","ModuleWithProviders","DatexPipe","DirectiveModule","CommonModule","BarraprogressaoComponent","NgbProgressbar","ngModule","providers","NgbActiveModal","NgbProgressbarConfig","config","activeModal","striped","animated","type","height","porcentagem","Math","trunc","valor","valorMaximo","aumentarValor","fecharModal","dismiss","inputs","mensagem","EStatusCodeAspNetAPI","ETipoInscricao","ElementRef","NgControl","ApenasNumerosDirective","_el","ngControl","onInputChange","event","initalValue","nativeElement","value","novoValor","replace","control","setValue","hostBindings","ctx","DesabilitarDirective","desabilitar","condicao","_disabled","element","field","setAttribute","removeAttribute","InscricaoValidacaoDirective","ObrigatorioDirective","SelecionarDirective","NumeroEnderecoDirective","MaskCpfCnpjDirective","NG_VALIDATORS","validarInscricao","_inscricao","inscricao","length","primeirosDigitos","Number","slice","validarIEIS","validarCpf","validarCnpj","validarCpfCnpj","_cpfCnpj","cpfCnpj","_cpf","cpf","soma","resto","i","j","_cnpj","cnpj","tamanho","numeros","digitos","pos","resultado","charAt","substring","_ie","ie","multiplicador","dig","features","useValue","multi","el","utils","onInput","somenteNumero","valorFormatado","validarIE","formatCpf","formatCnpj","handleInputEvent","input","isNumber","isValidCharacter","grantInitialType","toUpperCase","test","obrigatorio","_write","span","document","createElement","classList","add","innerHTML","style","fontWeight","ngOnInit","undefined","after","remove","selecionar","_checked","transform","filtro","indexOf","pure","ActivatedRouteSnapshot","RouterStateSnapshot","UrlTree","route","state","GoogleAnalytics","providedIn","rota","url","redirecionarRota","window","open","BlockUIService","blockUIService","bloquear","start","blockName","desbloquear","stop","baseUrl","baseUrlCadastro","apiCadastroUrl","pagamentoDaemsUrl","agrotoxico","ingredienteAtivo","agrotoxicoBula","agrotoxicoCultura","agrotoxicoCulturaPraga","agrotoxicoCulturaProduto","agrotoxicoCulturaPragaProduto","agrotoxicoPragas","obterAtestadoInfluenzaImpressao","atestadoInfluenzaId","agrotoxicoPragasProdutos","CARPorNumero","CARsSiriema","enderecoTipo","enderecoTipoTelefone","enderecoTipoCoordenada","enderecoLatitudeGrauMS","enderecoLongitudeGrauMS","enderecoCepApi","estabelecimento","estabelecimentoTipo","estabelecimentoSubtipo","eventos","eventosSituacoes","municipios","ufsMunicipios","municipiosComUF","paises","tipoSexo","tipoEstadoCivil","tipoEndereco","tipoTelefone","tipoPropriedade","subTipoPropriedade","ficha","ObterTiposCoordenadas","ObterPaises","contribuinteCCE","gerarCodigoAcesso","gerarCodigoAcessoRequerimentoEstabelecimento","VerificaCoordenadasSiriema","ValidarCodigoAcesso","ReenviarCodigoAcesso","InserirFichaSanitaria","TransmitirFichaSanitariaDocumento","TransmitirFichaSanitariaMarcaRebanho","ObterFichaSanitariaMarcaRebanho","ObterRelacaoFichaSanianitariaAnexo","nucleos","laboratorio","autenticidadeGta","autenticidadeGtaDownload","autenticidadeGtaSaniagroDownload","relatorioSaldoGeral","relatorioDocumentosDeTransito","tiposVacina","tiposVacinaEspecificado","tipoCoordenadaFicha","vacina","colaborador","reponsavelTecnico","reponsavelTecnicoNoCREAPorCPF","campanhaMesAno","campanhaMes","campanhaAno","campanhaMesAnoRel","coordenadasSiriema","obterHistoricoHabilitacaoFicha","plantioCultura","plantioCultivarComprovante","plantioCultivar","plantio","enviarEmailComprovantePlantio","enviarEmailComprovanteFrutiferas","animalIdentificado","animalEspecie","animalIdentificadoCertificadoDownload","animalIdentificadoCertificadoComMarcaDAguaDownload","finalidades","ptv","laudoExamesRequisicao","certificadoRequisicaoExameDownload","laudoExame","obterRequisicaoAnimalParaImpressao","ptvDownload","ecise","eciseDownload","pessoa","servicos","guia","guiaRequerimento","imprimirGuia","uferms","obterDocumentoManutencaoPlantio","adicionarParametros","urlBase","parametros","parametrosUrl","nome","parseRota","valores","local","apiArquivoUrl","ObterAnexo","_baseUrlArquivo","GerarCodigoAcessoRequerimentoEstabelecimento","_baseUrlCadastro","GerarCodigoAcessoRequerimentoVegetal","PossuiCodigoAcessoRequerimentoVegetal","ValidarCodigoAcessoRequerimentoEstabelecimento","ValidarCadastroInstituicaoParaTipoRequerimento","UrlValidarCodigo","ObterTipoConstrucaoInstituicao","ObterTipoAnexo","ObterUnidadeMedida","ObterGruposEspeciesAbatidas","ObterEspeciesAbatidas","ObterTiposAtivadadesInstituicaoPorTipoInstituicao","ObterInstituicaoCCE","ObterResponsavelTecnico","ObterPessoaPorCPF","SalvarFerrugemSoja","ObterFerrugemMapa","ObterFichaFerrugem","VerificarSePossuiNotificacao","ObterFichasParaPlantio","JaPossuiPlantioParaSafra","plantioSafra","ObterFichaSanitariaPlantio","ObterCAR","ObterCARSiriema","ObterReponsavelTecnicoPorCPF","ObterEnxertoVariedade","ObterEnxertoCultivar","ObterPortaEnxerto","ObterCultivar","ObterUnidadesProducao","SalvarPlantioFrutiferas","ObterPlantios","RelatorioSemetral","PossuiCadastroCCE","apiConsultaUrl","ObterIndustriasAgrotoxico","_baseUrlConsulta","ObterTiposAtividadesInstituicao","ObterInstituicaoConsultaPublica","ObterInstituicaoPorInscricao","ObterInstituicaoPorInscricaoResumida","ObterOrgaosEmissores","ObterCentraisRecebimentoEmbalagens","ObterTiposLicencaAmbiental","ObterTiposVacina","ObterTipoVacinaEspecificado","ObterInstituicaoRevendaVacina","ObterRelatorioSemestralVistoriaMonitoramento","ObterUnidadeProducao","ObterMesesPorSemestre","ObterSemestres","apiCulturaUrl","_baseUrlCultura","ObterSolicitacao","ReconhecimentoAmostra","apiRequerimentoUrl","RequerimentoAnexo","_baseUrlRequerimento","RequerimentoAnexoVegetal","ObterHistoricoRequerimento","RemoverRequerimentoAnexo","ObterRequerimentoIndustriaPorInscricao","InserirRequerimento","AtualizarRequerimento","ComunicarDesistencia","ComunicarDesistenciaVegetal","ComunicarCoclusaoObra","ValidarSeFoiEnviadoAnexosObrigatorios","AtualizarRequerimentoAnexo","AtualizarSituacaoRequerimentoComAnexo","AtualizarSituacaoRequerimento","ObterAtividadesRequerimentoVegetal","ObterAtividadesCadastradasRequerimentoVegetal","ObterContribuinteResumido","ObterEmailCodigoAcessoEstabelecimento","InserirRequerimentoVegetal","AtualizarSituacaoRequerimentoVegetalComAnexo","ObterRequerimentoVegetalPorIECPFCNPJ","ObterHistoricoRequerimentoVegetal","AtualizarRequerimentoVegetal","moment","format","momentDate","isValid","Data","split","join","array","index","push","enumerador","nomeEnum","Object","keys","find","toString","maskHandler","maskData","testData","regexp","RegExp","ehFichaSanitaria","MIN_INSCRICAO","MAX_INSCRICAO","INSCRICAO_PADRAO_FICHA","ieNumber","parseInt","isNaN","digito","_validarCPFCNPJ","cpfcnpj","cpfcnpjInvalido","ocultarCpfParcialmente","somenteNumeros","ocultarCnpjParcialmente","ocultarCpfCnpjParcialmente","validarEmail","email","emailPattern","validarSite","site","sitePattern","ehValidoDDD","ddd","codigosDDDValidos","includes","converterCoordenadaParaDecimal","coordenada","coordenadaQuebrada","tipoCoordenda","minutos","segundos1","segundos2","parseFloat","sinal","numero","ngbDataParaDataPTBR","toPTBR","verificaTipoInscricao","CPF","CNPJ","IE","PLATFORM_ID","REQUEST","isPlatformServer","platformId","request","setDeviceInfo","dia","String","day","padStart","mes","month","ano","year","toISOString","Paginacao","paginaAtual","totalRegistros","Parametro","pluck","firstValueFrom","rotas","getMunicipioPorCoordenada","latitude","longitude","options","Array","_baseUrl","get","at","geocodigo","take","switchMap","BehaviorSubject","Observable","Subject","getFichas","ieCpfCnpj","codPGA","autorization","token_type","access_token","catch","getContribuinteCCE","ObterHistoricoHabilitacaoObs","inscricaoEstadual","_get","historicos","ObterPaisesObs","ObterMarcaRebanho","anexos","municipioID","codigoAcesso","UploadAnexosAsync","anexo","UploadAnexos","_post","UploadMarcaRebanho","status","codigo","Error","dados","subscribe","next","log","asObservable","catchError","Get","params","_token","Authorization","responseType","resposta","complete","Post","Put","put","Patch","patch","Delete","delete","clientSecret","clientId","Accept","tokenUrl","erro","souce","GetJson","pipeResponseAspNetAPI","GetPaginado","pipeResponsePaginadoAspNetAPI","ehBlob","retorno","errors","chavePrivada","enableProdMode","LOCALE_ID","__NgCli_bootstrap_1","bootstrapModule","err","prototype","distinct","lista","item","JSON","stringify","posicao","parse","any","first","_","last","ultimo","toFloat","camelCase","letter","isNullOrEmpty","getMask","number","toStartFixed","casas","caracter","comma","numberReverse","reverse","toFixedView","toFixed","ordenador","desc","trocado","valorAtual","valorSeguinte","temp","coordiantesInDecimal","grau","minuto","segundo","ehNegativo","Element","setAttributes","Function","attrs","idx","prop","statusCode","OK","pagination"],"sourceRoot":"webpack:///","x_google_ignoreList":[49]}