{"version":3,"mappings":"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","names":["i0","ctx_r2","oxw","PopoverJustificarReprovacaoDocMatriculaComponent","constructor","popoverController","this","ngOnInit","select","event","tipoReprovacao","target","checked","tiposSelecionados","push","index","indexOf","splice","reprove","dismiss","selectors","ctx","PopoverAvaliarDocumentoMatriculaComponent","arquivoService","functionsService","inscricaoService","STATUS_ARQUIVO","ionViewWillEnter","alert","arquivo","path","copyFile","presentLoading","copyAndPaste","nome","ENTIDADE","inscricao","candidato","id","tipo","DIRETORIO","subscribe","next","resp","arquivoPublico","body","pathPublico","location","protocol","host","dismissLoading","error","console","log","getFilePublicURL","fullPath","fileName","API_CONFIG","cancel","deleteFromFileSystem","popover","create","component","componentProps","tiposReprovacao","translucent","showBackdrop","backdropDismiss","cssClass","present","onDidDismiss","then","data","length","status","motivosReprovacao","i","motivoReprovacao","MotivoReprovacaoDTO","update","showAlert","approve","showConfirmAlert","temDocReprovadoOuFaltante","configuracoesDocumentosInscricacao","obrigatorio","impeditivo","configuracaoDocumento","achou","j","documentosCandidato","n","_a","termoCompromisso","dataAssinatura","STATUS_INSCRICAO","download","url","fetch","res","blob","FileSaver","PopoverSelecionarDocsMatriculaComponent","configuracaoDocumentoService","getDocuments","configuracoesDocumentoSelecionaveis","configuracoesDocumentoSelecionadas","candidatoMasculino","sexo","TIPO_SEXO","candidatoFeminino","pad","configuracoesDocumentos","matchFormaIngresso","sexoMasculino","sexoFeminino","enviado","reprovado","t","e","documentosTermoCompromisso","_b","vestibularOnline","formaIngresso","TIPO_FORMA_INGRESSO","vestibularPresencial","enem","transferenciaExterna","readmissaoPosAbandono","portadorDiploma","posGraduacao","addDoc","configuracaoDocumentoDTO","issue","TermoCompromissoDTO","validade","addDays","Date","setHours","dataValidade","dataLimite","dataLimiteEntregaDocumentosPendentes","dtc","DocumentoTermoCompromissoDTO","motivoStatus","isDesimpedido","estaDesimpedido","PopoverTermoCompromissoMatriculaComponent","popoverControler","sign","chaveAutenticacao","getRamdonString","PopoverLoginAssinarTermoMatriculaComponent","usuarioService","openPopoverTermoCompromisso","readOnly","validateUser","findByLoginAndSenha","login","senha","usuario","PopoverLogEnvioEmailMatriculaComponent","logService","processando","findByEntidadeAndId","logs","close","ctx_r3","PopoverEnviarEmailDocMatriculaPendenteComponent","getReprovedDocuments","docsRejeitados","documentoDeMatricula","tipoDocumentacao","TIPO_DOCUMENTACAO","selectDocument","documento","documentosSelecionados","send","sendPendingDocumentsNotification","showErrorAlert","openPopoverLogEnvioEmail","PopoverInformarMatriculaComponent","confirm","numeroMatricula","ctx_r26","ctx_r31","ctx_r35","ctx_r39","ctx_r53","ctx_r57","ctx_r61","ctx_r64","ctx_r69","ctx_r73","ctx_r77","ctx_r79","ctx_r80","routes","permissaoAcessoService","toastController","padService","dataSharingService","formaIngressoService","dateFunctionsService","unidadeService","storageService","idInscricaoSelecionada","value","find","filtroIdInscricao","filtroTexto","filtroDataInicio","getLocalDateString","dataInscricao","filtroDataFim","findByFilter","findAll","unidades","checkAccessControl","respPAD","pads","sortDocuments","errorPAD","matriculaRapidaPermitida","isDocMatriculaRapida","arrDocs","arrImpeditivos","sort","a","b","nomeDocumento","arrObrigatorios","concat","getEndDate","getFilterEndDate","getStartDate","getFilterStartDate","resetArray","mensagem","page","inscricoes","infiniteScroll","disabled","filtroClassificados","filtroDocumentacaoEnviada","filtroDocumentacaoPendente","filtroDocumentacaoReenviada","filtroTermoEmitido","filtroTermoAssinado","filtroMatriculadoComRessalvas","filtroMatriculado","prepareFilterString","findAptosParaMatricula","filtroIdUnidade","filtroPeriodoEnvioDocsFechado","size","canCreateAndEdit","window","href","canCreateEdit","canRemove","uploadFile","fileLoader","that","onchange","file","files","nomeArquivo","replace","tipoArquivo","TIPO_ARQUIVO","name","toLocaleLowerCase","endsWith","upload","novoDocumento","DocumentoDTO","dataGravacao","_","save","message","toString","click","uploadContratoAssinado","toLowerCase","contratoAssinado","openPopoverInformarMatricula","text","handler","erroConflito","getFileStatus","getFileName","r","_c","screen","width","substring","getAcceptableFileTypes","tiposAceitos","aceitaPDF","aceitaImagemPNG","aceitaImagemJPG","join","getFilePath","getFile","deleteDoc","showFileStatusDescription","toast","position","animated","keyboardClose","duration","buttons","role","getDocumentos","getPadByName","arrRetorno","sexoNaoBinario","arrOrdenado","getSubscriptionDocuments","openPopoverAvaliar","precisaAtualizar","isSubstituto","d","isSubstitutoDocMatriculaRapida","docSubstituto","getDocSubstituto","dataReprovacaoMatriculaRapida","dataAprovacaoMatriculaRapida","substituidos","getDocsEnviadosSubstituidos","atualizouStatus","precisaAtualizarInscricao","matriculaRapidaAprovada","documentosMatriculaRapida","docMatriculaRapida","findIndex","doc","estaSubstituido","quemSubstituiu","todosDocsAprovados","statusFoiAlterado","getTextoDocObrigatorio","getPad","dispensed","desimpedido","quemDesimpediu","substituido","getNomesPossiveisSubstitutos","desabilitarEmissaoTermoDocsPendentes","configDocMatricula","foiEnviado","docCandidato","matchGender","openPopoverSelecionarDocumentos","openPopoverLoginCandidato","openPopoverEnviarEmail","desabilitarEmailPendencias","achouRejeitado","isProntoParaMatricular","configDocImpeditivo","impeditivoEnviado","impeditivoAprovado","openFile","newWindow","goToPath","finalizar","sobrenome","nomeSocial","msg","docsQueCompoemInscricao","temPendencia","docEnviado","docAprovado","statusInscricao","statusOriginal","generatePersonalFilesFolder","respInscricao","pathDossie","errorInscricao","getTypesAccepted","accept","desabilitarFinalizar","m","confDoc","x","_d","s","_e","_f","g","_g","_h","candidatoEnviou","k","A","_j","estaNoTermo","z","f","_k","disableUploadFile","incluidoDossie","loadMoreData","document","activeElement","blur","complete","focus","copiaFiltro","filtroNumerico","parseInt","err","getStatusFormatado","getNomeFormaIngresso","getNomeFormatado","preventHeaderFocus","preventDefault","toggleFilterVisibility","isFilterVisible","getFilterGridHeight","getSexoFormatado","GcAnalisarDocumentacaoMatriculaPage","IonInfiniteScroll","IonContent","trigger","state","style","height","overflow","transition","animate","GcAnalisarDocumentacaoMatriculaPageRoutingModule","RouterModule","GcAnalisarDocumentacaoMatriculaPageModule","CommonModule","FormsModule","IonicModule","ComponentsModule","UsuarioService","http","router","insert","usuarioDTO","post","funcionario","observe","notificarUsuario","put","changePass","oldPass","newPass","resetPass","iu","sendResetPassLink","get","_platformLocation","origin","sendValidationCode","email","codigoValidacao","findByFilters","perfil","filtro","findFuncionarios","findByUsername","doLogin","delete","sortArray","usuarios","field","factory"],"sources":["./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-justificar-reprovacao-doc-matricula/popover-justificar-reprovacao-doc-matricula.component.html","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-justificar-reprovacao-doc-matricula/popover-justificar-reprovacao-doc-matricula.component.ts","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-avaliar-documento-matricula/popover-avaliar-documento-matricula.component.html","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-avaliar-documento-matricula/popover-avaliar-documento-matricula.component.ts","./src/app/models/documentacao/documentoTermoCompromissoDTO.ts","./src/app/models/documentacao/termoCompromissoDTO.ts","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-selecionar-docs-matricula/popover-selecionar-docs-matricula.component.html","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-selecionar-docs-matricula/popover-selecionar-docs-matricula.component.ts","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-termo-compromisso-matricula/popover-termo-compromisso-matricula.component.html","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-termo-compromisso-matricula/popover-termo-compromisso-matricula.component.ts","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-login-assinar-termo-matricula/popover-login-assinar-termo-matricula.component.ts","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-login-assinar-termo-matricula/popover-login-assinar-termo-matricula.component.html","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-log-envio-email-matricula/popover-log-envio-email-matricula.component.html","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-log-envio-email-matricula/popover-log-envio-email-matricula.component.ts","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-enviar-email-doc-matricula-pendente/popover-enviar-email-doc-matricula-pendente.component.html","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-enviar-email-doc-matricula-pendente/popover-enviar-email-doc-matricula-pendente.component.ts","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-informar-matricula/popover-informar-matricula.component.html","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/components/popover-informar-matricula/popover-informar-matricula.component.ts","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/gc-analisar-documentacao-matricula.page.html","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/gc-analisar-documentacao-matricula-routing.module.ts","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/gc-analisar-documentacao-matricula.page.ts","./src/app/pages/modulo-gc/documentacao/gc-analisar-documentacao-matricula/gc-analisar-documentacao-matricula.module.ts","./src/app/services/usuario/usuario.service.ts"],"sourcesContent":["
\n Motivo da Reprovação\n
\n\n\n\n \n {{tipoReprovacao.nome}}\n\n\n
\n Reprovar\n
","import { PopoverController } from '@ionic/angular';\nimport { TipoReprovacaoDTO } from '../../../../../../models/documentacao/tipoReprovacaoDTO';\nimport { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-popover-justificar-reprovacao-doc-matricula',\n templateUrl: './popover-justificar-reprovacao-doc-matricula.component.html',\n styleUrls: ['./popover-justificar-reprovacao-doc-matricula.component.scss'],\n})\nexport class PopoverJustificarReprovacaoDocMatriculaComponent implements OnInit {\n\n tiposReprovacao: TipoReprovacaoDTO[] = [];\n tiposSelecionados: TipoReprovacaoDTO[] = [];\n\n constructor( private popoverController: PopoverController ) { }\n\n ngOnInit() {}\n\n\n select(event, tipoReprovacao: TipoReprovacaoDTO){\n\n if(event.target.checked){\n this.tiposSelecionados.push(tipoReprovacao);\n }else{\n const index = this.tiposSelecionados.indexOf(tipoReprovacao);\n this.tiposSelecionados.splice(index,1);\n }\n\n }\n\n\n\n reprove(){\n\n this.popoverController.dismiss(this.tiposSelecionados);\n\n }\n\n}\n","
\n\n \n
\n Documento\n
\n\n \n \n \n \n \n\n
\n
\n Cancelar\n
\n
\n Aprovar\n
\n
\n Reprovar\n
\n
\n Download\n
\n
\n \n
","import { InscricaoService } from './../../../../../../services/inscricao/inscricao.service';\nimport { STATUS_INSCRICAO } from './../../../../../../config/status_inscricao.config';\nimport { TIPO_FORMA_INGRESSO } from './../../../../../../config/tipo-forma-ingresso.config';\nimport { MotivoReprovacaoDTO } from '../../../../../../models/documentacao/motivoReprovacaoDTO';\nimport { STATUS_ARQUIVO } from './../../../../../../config/status_arquivo.config';\nimport { FunctionsService } from './../../../../../../services/common/functions.service';\nimport { TipoReprovacaoDTO } from '../../../../../../models/documentacao/tipoReprovacaoDTO';\nimport { PopoverController } from '@ionic/angular';\nimport { API_CONFIG } from 'src/app/config/api.config';\nimport { ArquivoDTO } from 'src/app/models/arquivoDTO';\nimport { DIRETORIO } from './../../../../../../config/diretorio.config';\nimport { InscricaoDTO } from '../../../../../../models/vestibular/inscricaoDTO';\nimport { ENTIDADE } from './../../../../../../config/entidade.config';\nimport { ArquivoService } from './../../../../../../services/arquivo/arquivo.service';\nimport { Component, OnInit } from '@angular/core';\nimport { ConfiguracaoDocumentoDTO } from 'src/app/models/documentacao/configuracaoDocumentoDTO';\nimport { PopoverJustificarReprovacaoDocMatriculaComponent } from '../popover-justificar-reprovacao-doc-matricula/popover-justificar-reprovacao-doc-matricula.component';\nimport { ParametroAnaliseDocumentoDTO } from 'src/app/models/documentacao/parametroAnaliseDocumentoDTO';\nimport { TIPO_DOCUMENTACAO } from 'src/app/config/tipo_documentacao';\n\nimport * as FileSaver from 'file-saver';\n\n@Component({\n selector: 'app-popover-avaliar-documento-matricula',\n templateUrl: './popover-avaliar-documento-matricula.component.html',\n styleUrls: ['./popover-avaliar-documento-matricula.component.scss'],\n})\nexport class PopoverAvaliarDocumentoMatriculaComponent implements OnInit {\n\n arquivo: ArquivoDTO;\n inscricao: InscricaoDTO;\n configuracaoDocumento: ConfiguracaoDocumentoDTO;\n\n //armazenar todas as configurações de docs que devem compor a inscrição\n configuracoesDocumentosInscricacao: ConfiguracaoDocumentoDTO[];\n \n arquivoPublico: ArquivoDTO;\n pathPublico: string;\n tiposReprovacao: TipoReprovacaoDTO[] = [];\n\n STATUS_REJEITADO = STATUS_ARQUIVO.Rejeitado;\n STATUS_APROVADO = STATUS_ARQUIVO.Aprovado;\n\n \n \n constructor( private arquivoService: ArquivoService\n , private popoverController: PopoverController\n , private functionsService: FunctionsService\n , private inscricaoService: InscricaoService ) { }\n\n ngOnInit() {}\n\n ionViewWillEnter(){\n \n alert(this.arquivo.path)\n this.copyFile();\n\n }\n\n\n\n //copia o arquivo para pasta assets para poder ser visualizado\n copyFile(){\n\n this.functionsService.presentLoading();\n\n //é necessário copiar o arquivo para pasta pública do projeto web\n this.arquivoService.copyAndPaste( this.arquivo.path\n , this.arquivo.nome\n , ENTIDADE.CANDIDATO\n , this.inscricao.candidato.id\n , this.arquivo.tipo\n , DIRETORIO.PUBLIC\n , this.arquivo.nome ).subscribe({\n next:(resp)=>{\n this.arquivoPublico = resp.body;\n //public_files está definido em angular.json na sessão assets\n this.pathPublico = location.protocol + \"//\" + location.host + \"/public_files/\" + this.arquivoPublico.nome;\n\n this.functionsService.dismissLoading();\n },\n error:(error)=>{\n console.log(error);\n this.functionsService.dismissLoading();\n } \n });\n\n }\n\n\n\n getFilePublicURL(fullPath: string, fileName: string): string{\n \n if(!fullPath || !fileName){\n return API_CONFIG.iisVirtualDirectoryURL + 'empty_photo.jpg';\n }\n\n return this.arquivoService.getFilePublicURL(fullPath, fileName);\n }\n\n\n cancel(){\n\n this.arquivoService.deleteFromFileSystem( ENTIDADE.CANDIDATO\n , DIRETORIO.PUBLIC\n , this.inscricao.candidato.id\n , this.arquivoPublico.nome ).subscribe();\n this.popoverController.dismiss(null);\n }\n\n async reprove() {\n \n const popover = await this.popoverController.create({\n component: PopoverJustificarReprovacaoDocMatriculaComponent,\n componentProps: {'tiposReprovacao': this.tiposReprovacao},\n translucent: false,\n showBackdrop: true,\n backdropDismiss: false,\n //event: event,\n cssClass: 'popover-justificar-reprovacao', //definido no global.css \n \n });\n \n await popover.present();\n \n await popover.onDidDismiss().then((data)=>{\n \n //só associa o termo uma vez\n if(data.data && data.data.length>0){\n \n this.arquivo.status = STATUS_ARQUIVO.Rejeitado;\n this.arquivo.motivosReprovacao = [];\n\n for(var i=0; i{\n this.popoverController.dismiss(this.arquivo.motivosReprovacao);\n },\n error:(error)=>{\n console.log(error);\n }\n });\n\n\n }else{\n this.functionsService.showAlert( 'Atenção!'\n , 'É obrigatório selecionar ao menos um motivo de reprovação!'\n , ['Ok']);\n }\n \n });\n\n }\n\n\n\n async approve() {\n \n const confirma = await this.functionsService.showConfirmAlert( \"Confirma?\"\n , \"Confirma a aprovação deste documento?\"\n , \"Confirmar\"\n , \"Cancelar\");\n\n if(!confirma){\n return;\n }\n\n this.functionsService.presentLoading();\n\n this.arquivo.status = STATUS_ARQUIVO.Aprovado;\n //limpa o histórico de reprovação do documento\n this.arquivo.motivosReprovacao = [];\n \n this.arquivoService.update(this.arquivo).subscribe({\n next:(resp)=>{\n\n /**\n se todos os docs obrigatórios e impeditivos tiverem sido aprovados então muda o \n status da inscrição para DOCUMENTACAO_ENVIADA\n \n */\n \n let temDocReprovadoOuFaltante = false;\n for(var i=0; i{\n this.functionsService.dismissLoading();\n this.popoverController.dismiss('Aprovou');\n\n },\n error:(error)=>{\n this.functionsService.dismissLoading();\n console.log(error);\n this. functionsService.showAlert( 'Atenção!'\n , 'Ocorreu um erro ao atualizar o status da inscrição.
Por favor, tente novamente.'\n , ['Ok']);\n \n }\n });\n \n }else{ //ainda tem docs obrigatórios e/ou impeditivos reprovados ou faltantes\n //encerra o popup sem alterar o status da inscrição\n this.functionsService.dismissLoading();\n this.popoverController.dismiss('Aprovou');\n\n }\n\n \n },\n error:(error)=>{\n this.functionsService.dismissLoading();\n console.log(error);\n }\n });\n\n }\n\n\n\n download(){\n\n var url = this.getFilePublicURL(this.arquivo.path,this.arquivo.nome);\n\n fetch(url).then((res) => res.blob())\n .then((blob) => {\n FileSaver.saveAs(blob, this.arquivo.nome);\n });\n\n }\n\n\n \n\n}\n","import { ConfiguracaoDocumentoDTO } from './configuracaoDocumentoDTO';\r\n\r\n\r\nexport class DocumentoTermoCompromissoDTO{\r\n\r\n id!: number;\r\n configuracaoDocumento!: ConfiguracaoDocumentoDTO; \r\n \r\n}","import { DocumentoTermoCompromissoDTO } from './documentoTermoCompromissoDTO';\r\n\r\n\r\nexport class TermoCompromissoDTO{\r\n\r\n id!: number;\r\n dataAssinatura!: Date;\r\n chaveAutenticacao!: string;\r\n\tdataValidade!: Date;\r\n\tdataLimiteEntregaDocumentosPendentes!: Date;\r\n\r\n documentosTermoCompromisso!: DocumentoTermoCompromissoDTO[];\r\n \r\n}","
\n\n
\n Selecione os documentos para inserir no Termo de Documentação Pendente\n
\n\n \n \n \n  {{configuracaoDocumento.nomeDocumento}}\n \n \n\n
\n
\n Cancelar\n
\n
\n Emitir Termo\n
\n
\n \n
\n","import { ConfiguracaoDocumentoService } from './../../../../../../services/configuracao-documento/configuracao-documento.service';\nimport { TIPO_SEXO } from './../../../../../../config/tipo-sexo.config';\nimport { STATUS_INSCRICAO } from './../../../../../../config/status_inscricao.config';\nimport { InscricaoService } from './../../../../../../services/inscricao/inscricao.service';\nimport { FunctionsService } from './../../../../../../services/common/functions.service';\nimport { DocumentoTermoCompromissoDTO } from '../../../../../../models/documentacao/documentoTermoCompromissoDTO';\nimport { PopoverController } from '@ionic/angular';\nimport { STATUS_ARQUIVO } from './../../../../../../config/status_arquivo.config';\nimport { TIPO_FORMA_INGRESSO } from './../../../../../../config/tipo-forma-ingresso.config';\nimport { ConfiguracaoDocumentoDTO } from '../../../../../../models/documentacao/configuracaoDocumentoDTO';\nimport { ParametroAnaliseDocumentoDTO } from '../../../../../../models/documentacao/parametroAnaliseDocumentoDTO';\nimport { InscricaoDTO } from '../../../../../../models/vestibular/inscricaoDTO';\nimport { Component, OnInit } from '@angular/core';\nimport { TermoCompromissoDTO } from 'src/app/models/documentacao/termoCompromissoDTO';\n\n\n@Component({\n selector: 'app-popover-selecionar-docs-matricula',\n templateUrl: './popover-selecionar-docs-matricula.component.html',\n styleUrls: ['./popover-selecionar-docs-matricula.component.scss'],\n})\nexport class PopoverSelecionarDocsMatriculaComponent implements OnInit {\n\n inscricao: InscricaoDTO;\n pad: ParametroAnaliseDocumentoDTO;\n\n configuracoesDocumentoSelecionaveis: ConfiguracaoDocumentoDTO[] = [];\n configuracoesDocumentoSelecionadas: ConfiguracaoDocumentoDTO[] = [];\n \n constructor( private popoverController: PopoverController\n , private functionsService: FunctionsService\n , private inscricaoService: InscricaoService\n , private configuracaoDocumentoService: ConfiguracaoDocumentoService ) { }\n\n ngOnInit() {}\n\n ionViewWillEnter(){\n \n this.getDocuments();\n\n }\n\n\n getDocuments(){\n //retornar os documentos que são passíveis de compor o termo de responsabilidade\n\n this.configuracoesDocumentoSelecionaveis = [];\n this.configuracoesDocumentoSelecionadas = [];\n\n const candidatoMasculino: boolean = (this.inscricao.candidato.sexo === TIPO_SEXO.Masculino);\n const candidatoFeminino: boolean = (this.inscricao.candidato.sexo === TIPO_SEXO.Feminino);\n \n for(var i=0; i{\n\n this.functionsService.dismissLoading();\n this.popoverController.dismiss('Emitiu');\n\n },\n error:(error)=>{\n\n console.log(error);\n this.functionsService.dismissLoading();\n\n }\n });\n\n }\n\n\n isDesimpedido(configuracaoDocumento: ConfiguracaoDocumentoDTO): boolean{\n\n return this.configuracaoDocumentoService.estaDesimpedido(this.pad, configuracaoDocumento, this.inscricao.documentosCandidato);\n \n }\n\n}\n","
\n \n
\n\n \n \n \n \n \n \n

FUNDAÇÃO TÉCNICO EDUCACIONAL SOUZA MARQUES

\n Avenida Ernani Cardoso 335/345 - Cascadura - Rio de Janeiro - RJ
\n CEP: 21310-310 - Tel: (021) 2128-4900 - http://www.souzamarques.br \n
\n
\n
\n \n\n
\n\n
\n TERMO DE DOCUMENTAÇÃO PENDENTE
\n SOUZA MARQUES\n
\n\n
\n
\n Nome: \n
\n
\n {{inscricao.candidato.nome}} {{inscricao.candidato.sobrenome}}\n
\n \n
\n Tel: \n
\n
\n {{inscricao.candidato.telefones[0].ddd}} {{inscricao.candidato.telefones[0].numero}}\n
\n \n
\n \n
\n
\n Curso: \n
\n
\n {{inscricao.curso.nome}}     \n
\n \n
\n\n
\n Comprometo-me a entregar os documentos abaixo assinalados até {{inscricao.termoCompromisso.dataLimiteEntregaDocumentosPendentes | date : \"dd/MM/yyyy\"}} sob pena de ter minha matrícula cancelada.\n
\n\n \n \n\n \n \n \n Sim\n \n \n Não\n \n \n Documento\n \n \n \n \n \n    \n \n\n \n  X \n \n \n  {{documento.configuracaoDocumento.nomeDocumento}}\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n\n \n \n  Declaro que li e estou de acordo com o termo acima\n \n \n\n
\n\n
\n Assinado eletronicamente por {{inscricao.candidato.nome}} {{inscricao.candidato.sobrenome}} em {{inscricao.termoCompromisso.dataAssinatura | date : 'dd/MM/yyyy'}} às {{inscricao.termoCompromisso.dataAssinatura | date : 'hh:mm:ss'}} utilizando o e-mail {{inscricao.candidato.email}}.\n
\n\n
\n Autenticação: {{inscricao.termoCompromisso.chaveAutenticacao}}\n
\n\n
\n \n
\n
\n \n Cancelar\n Fechar\n \n
\n\n
\n \n Assinar\n \n
\n
\n\n\n \n\n
\n","import { STATUS_INSCRICAO } from './../../../../../../config/status_inscricao.config';\nimport { PopoverController } from '@ionic/angular';\nimport { FunctionsService } from './../../../../../../services/common/functions.service';\nimport { InscricaoService } from './../../../../../../services/inscricao/inscricao.service';\nimport { InscricaoDTO } from '../../../../../../models/vestibular/inscricaoDTO';\nimport { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-popover-termo-compromisso-matricula',\n templateUrl: './popover-termo-compromisso-matricula.component.html',\n styleUrls: ['./popover-termo-compromisso-matricula.component.scss'],\n})\nexport class PopoverTermoCompromissoMatriculaComponent implements OnInit {\n\n inscricao: InscricaoDTO;\n readOnly: boolean = false;\n\n constructor( private inscricaoService: InscricaoService\n , private functionsService: FunctionsService\n , private popoverControler: PopoverController ) { }\n\n ngOnInit() {}\n\n sign(){\n\n this.functionsService.presentLoading();\n\n\n this.inscricao.termoCompromisso.dataAssinatura = new Date();\n this.inscricao.termoCompromisso.chaveAutenticacao = this.functionsService.getRamdonString(32);\n this.inscricao.status = STATUS_INSCRICAO.TERMO_ASSINADO;\n \n this.inscricaoService.update(this.inscricao).subscribe({\n next:(resp)=>{\n\n this.functionsService.dismissLoading();\n this.popoverControler.dismiss('Assinou');\n\n },\n error:(error)=>{\n console.log(error);\n this.functionsService.dismissLoading();\n }\n });\n }\n\n\n cancel(){\n this.popoverControler.dismiss(null);\n }\n\n \n}\n","import { UsuarioDTO } from '../../../../../../models/controle-acesso/usuarioDTO';\nimport { UsuarioService } from './../../../../../../services/usuario/usuario.service';\nimport { InscricaoDTO } from '../../../../../../models/vestibular/inscricaoDTO';\nimport { STATUS_INSCRICAO } from './../../../../../../config/status_inscricao.config';\nimport { PopoverController } from '@ionic/angular';\nimport { FunctionsService } from './../../../../../../services/common/functions.service';\nimport { Component, OnInit } from '@angular/core';\nimport { PopoverTermoCompromissoMatriculaComponent } from '../popover-termo-compromisso-matricula/popover-termo-compromisso-matricula.component';\n\n@Component({\n selector: 'app-popover-login-assinar-termo-matricula',\n templateUrl: './popover-login-assinar-termo-matricula.component.html',\n styleUrls: ['./popover-login-assinar-termo-matricula.component.scss'],\n})\nexport class PopoverLoginAssinarTermoMatriculaComponent implements OnInit {\n\n inscricao: InscricaoDTO;\n login: string = '';\n senha: string = '';\n\n\n constructor( private usuarioService: UsuarioService \n , private functionsService: FunctionsService\n , private popoverController: PopoverController ) { }\n\n ngOnInit() {}\n\n ionViewWillEnter(){\n \n \n //se o termo já estiver assinado então exibe\n if( this.inscricao.termoCompromisso && \n this.inscricao.termoCompromisso.dataAssinatura ){\n\n this.openPopoverTermoCompromisso();\n \n }\n \n }\n\n\n async openPopoverTermoCompromisso() {\n \n let readOnly = false;\n \n if(this.inscricao.status != STATUS_INSCRICAO.TERMO_EMITIDO){\n readOnly = true;\n }\n \n const popover = await this.popoverController.create({\n component: PopoverTermoCompromissoMatriculaComponent,\n componentProps: {'inscricao': this.inscricao, 'readOnly': readOnly},\n translucent: false,\n showBackdrop: true,\n backdropDismiss: false,\n //event: event,\n cssClass: 'popover-termo-compromisso', //definido no global.css \n \n });\n \n await popover.present();\n \n await popover.onDidDismiss().then((data)=>{\n \n //só associa o termo uma vez\n if(data.data === 'Assinou' ){\n this.popoverController.dismiss('Assinou');\n }else{\n this.popoverController.dismiss(null); \n }\n \n });\n \n }\n\n\n validateUser(){\n this.functionsService.presentLoading();\n\n this.usuarioService.findByLoginAndSenha(this.login, this.senha).subscribe({\n next:(resp)=>{\n\n const usuario: UsuarioDTO = resp;\n\n this.functionsService.dismissLoading();\n\n if(!usuario.candidato || this.inscricao.candidato.id != usuario.candidato.id){\n\n this.functionsService.showAlert( 'Não autorizado!'\n , 'Você não pode assinar o termo desta inscrição!'\n , ['Ok'] );\n return; \n }\n\n this.openPopoverTermoCompromisso();\n \n\n },\n error:(error)=>{\n\n this.functionsService.dismissLoading();\n\n if(error.error.status===403){\n this.functionsService.showAlert( 'Não Autorizado!'\n , 'Login ou senha inválida.'\n , ['Ok'] );\n\n }\n }\n });\n\n }\n\n cancel(){\n this.popoverController.dismiss(null);\n }\n\n \n}\n","
\n Assinatura Eletrônica do Candidato\n
\n\n
\n\n
\n\n \n\n \n \n\n \n\n \n\n \n \n\n \n
\n\n \n
\n
\n Cancelar\n
\n
\n Assinar\n
\n
\n\n\n
\n","
\n
\n
\n\n Histórico de Envio de Email\n\n \n \n Enviado por: {{log.executor.funcionario.nome}} {{log.executor.funcionario.sobrenome}}\n
\n Data do Envio: {{log.dataExecucao | date : 'dd/MM/yyyy HH:mm:ss'}}\n
\n \n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n \n
\n\n\n \n   Não há histórico de envio\n\n\n\n
\n \n Fechar\n \n
\n","import { PopoverController } from '@ionic/angular';\nimport { ENTIDADE } from './../../../../../../config/entidade.config';\nimport { LogDTO } from './../../../../../../models/logDTO';\nimport { InscricaoDTO } from '../../../../../../models/vestibular/inscricaoDTO';\nimport { LogService } from './../../../../../../services/log/log.service';\nimport { FunctionsService } from './../../../../../../services/common/functions.service';\nimport { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-popover-log-envio-email-matricula',\n templateUrl: './popover-log-envio-email-matricula.component.html',\n styleUrls: ['./popover-log-envio-email-matricula.component.scss'],\n})\nexport class PopoverLogEnvioEmailMatriculaComponent implements OnInit {\n\n inscricao: InscricaoDTO;\n logs: LogDTO[] = [];\n processando: boolean = false;\n\n constructor( private logService: LogService\n , private functionsService: FunctionsService\n , private popoverController: PopoverController ) { \n\n}\n\n ngOnInit() {}\n\n\n ionViewWillEnter(){\n \n this.functionsService.presentLoading();\n this.processando = true;\n \n this.logService.findByEntidadeAndId(ENTIDADE.EMAIL, this.inscricao.id).subscribe({\n next:(resp)=>{ \n\n this.logs = [];\n for(var i=0; i{\n console.log(error);\n this.functionsService.dismissLoading();\n\n }\n });\n }\n\n\n\n close(){\n this.popoverController.dismiss(null);\n }\n\n\n}\n","\n
\n \n
\n Atenção!\n
\n\n
\n Para tornar um candidato pronto para matrícula todos os documentos impeditivos precisam estar aprovados.\n
\n\n
\n Documentos Reprovado(s):\n
\n\n
\n\n
\n \n \n  {{doc.configuracaoDocumento.nomeDocumento}}\n \n
\n\n\n \n \n  Confirmo o envio do email de alerta para {{inscricao.candidato.email}}\n \n\n
\n
\n \n Cancelar\n \n
\n\n
\n \n Histórico de Envio\n \n
\n\n
\n \n Enviar\n \n
\n
\n\n
\n\n","import { DocumentoDTO } from '../../../../../../models/documentacao/documentoDTO';\nimport { PopoverController } from '@ionic/angular';\nimport { ParametroAnaliseDocumentoDTO } from '../../../../../../models/documentacao/parametroAnaliseDocumentoDTO';\nimport { TIPO_SEXO } from './../../../../../../config/tipo-sexo.config';\nimport { ConfiguracaoDocumentoDTO } from 'src/app/models/documentacao/configuracaoDocumentoDTO';\nimport { TIPO_FORMA_INGRESSO } from './../../../../../../config/tipo-forma-ingresso.config';\nimport { STATUS_ARQUIVO } from './../../../../../../config/status_arquivo.config';\nimport { InscricaoService } from './../../../../../../services/inscricao/inscricao.service';\nimport { FunctionsService } from './../../../../../../services/common/functions.service';\nimport { InscricaoDTO } from '../../../../../../models/vestibular/inscricaoDTO';\nimport { Component, OnInit } from '@angular/core';\nimport { PopoverLogEnvioEmailMatriculaComponent } from '../popover-log-envio-email-matricula/popover-log-envio-email-matricula.component';\nimport { TIPO_DOCUMENTACAO } from 'src/app/config/tipo_documentacao';\n\n@Component({\n selector: 'app-popover-enviar-email-doc-matricula-pendente',\n templateUrl: './popover-enviar-email-doc-matricula-pendente.component.html',\n styleUrls: ['./popover-enviar-email-doc-matricula-pendente.component.scss'],\n})\nexport class PopoverEnviarEmailDocMatriculaPendenteComponent implements OnInit {\n\n inscricao: InscricaoDTO;\n pad: ParametroAnaliseDocumentoDTO;\n\n qtdFaltante: 0;\n documentosSelecionados: DocumentoDTO[] = [];\n\n constructor( private functionsService: FunctionsService \n , private inscricaoService: InscricaoService\n , private popoverController: PopoverController ) { }\n\n ngOnInit() {}\n\n ionViewWillEnter(){\n \n }\n\n getReprovedDocuments(): DocumentoDTO[]{\n //deve retornar os docs que foram reprovados\n\n let docsRejeitados: DocumentoDTO[] = [];\n for(var i=0; i{\n \n this.functionsService.dismissLoading();\n\n this.functionsService.showAlert( 'Sucesso!'\n , 'E-mail enviado com sucesso!'\n , ['Ok']);\n\n this.cancel(); \n },\n error:(error)=>{\n this.functionsService.dismissLoading();\n this.functionsService.showErrorAlert( 'Atenção!'\n , 'Ocorreu um erro ao enviar a mensagem.'\n , error\n , ['Ok']);\n }\n });\n\n }\n\n\n cancel(){\n this.popoverController.dismiss(null);\n }\n\n\n\n async openPopoverLogEnvioEmail() {\n \n const popover = await this.popoverController.create({\n component: PopoverLogEnvioEmailMatriculaComponent,\n componentProps: {'inscricao': this.inscricao},\n translucent: false,\n showBackdrop: true,\n backdropDismiss: false,\n //event: event,\n cssClass: 'popover-log-envio-email', //definido no global.css \n \n });\n\n await popover.present();\n \n await popover.onDidDismiss().then((data)=>{\n \n });\n \n \n }\n\n}\n","
\n Matrícula do Candidato\n
\n\n
\n\n \n
\n Informe a matrícula do candidato {{inscricao.candidato.nome}} {{inscricao.candidato.sobrenome}}\n
\n
\n Informe a matrícula da candidata {{inscricao.candidato.nome}} {{inscricao.candidato.sobrenome}}\n
\n\n \n\n Matrícula\n \n \n\n \n\n \n
\n
\n Confirmar\n
\n
\n\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { PopoverController } from '@ionic/angular';\nimport { TIPO_SEXO } from 'src/app/config/tipo-sexo.config';\nimport { InscricaoDTO } from 'src/app/models/vestibular/inscricaoDTO';\nimport { FunctionsService } from 'src/app/services/common/functions.service';\n\n@Component({\n selector: 'app-popover-informar-matricula',\n templateUrl: './popover-informar-matricula.component.html',\n styleUrls: ['./popover-informar-matricula.component.scss'],\n})\nexport class PopoverInformarMatriculaComponent implements OnInit {\n\n MASCULINO = TIPO_SEXO.Masculino;\n FEMININO = TIPO_SEXO.Feminino;\n\n inscricao: InscricaoDTO;\n \n constructor( private functionsService: FunctionsService\n , private popoverController: PopoverController ) { }\n\n ngOnInit() {}\n\n ionViewWillEnter(){\n \n \n }\n\n\n async confirm(){\n\n let confirma = await this.functionsService.showConfirmAlert( 'Confirma?'\n , 'O número de matrícula ' + this.inscricao.numeroMatricula + ' está correto?'\n , 'Sim'\n , 'Não');\n \n if(confirma){\n this.popoverController.dismiss('Confirmou');\n } \n\n \n }\n\n}\n","\n\n\n\n \n DOCUMENTAÇÃO DE MATRÍCULA\n \n\n \n \n \n \n \n {{ isFilterVisible ? 'Recolher Filtros' : 'Expandir Filtros' }}\n \n \n \n\n \n\n \n \n \n \n \n\n \n ID da Inscrição\n \n \n\n \n \n \n \n\n \n Filtro Texto\n \n \n\n \n \n \n \n \n \n Unidade\n \n Todas\n {{unidade.nome}}\n \n \n\n \n \n \n \n\n \n \n
\n Data da Inscrição\n
\n \n \n De\n \n \n \n \n \n \n \n Até\n \n \n \n \n
\n
\n\n \n \n \n\n
\n Status das Inscrições\n
\n\n \n \n  Classificados\n \n \n \n \n  Documentação Enviada\n \n \n \n \n  Documentação Pendente\n \n \n \n \n  Documentação Reenviada\n \n\n \n \n  Termo Emitido\n \n\n \n \n  Termo Assinado\n \n \n \n  Matriculado com Ressalvas\n \n\n \n \n  Matriculado\n \n \n
\n
\n
\n\n \n \n \n\n
\n Vestibular\n
\n\n \n \n \n Período envio de docs aberto\n \n \n \n Período envio de docs encerrado\n \n \n \n \n \n \n
\n
\n
\n\n
\n\n \n \n\n Filtrar \n\n \n \n
\n\n \n \n  {{mensagem}}\n \n \n\n \n \n \n \n \n\n \n \n\n
\n
\n #{{inscricao.id}}\n
\n
{{inscricao.dataInscricao | date : 'dd/MM/yy'}}
\n
\n\n
\n
\n {{inscricao.candidato.nome}} {{inscricao.candidato.sobrenome}}\n \n ({{inscricao.candidato.nomeSocial}})\n \n
\n \n
\n {{inscricao.curso.nome}} | {{inscricao.habilitacao.nome}} | {{inscricao.curso.modalidade.nome}} | {{inscricao.turno.nome}} | {{inscricao.unidade.nome}}\n
\n
\n\n
\n Pronto para matrícula\n
\n \n \n
\n\n
\n\n
\n
\n CPF: {{inscricao?.candidato?.documento}}\n
\n
\n |\n
\n \n
\n Gênero: {{getSexoFormatado(inscricao.candidato)}}\n
\n
\n |\n
\n \n
\n e-mail: {{inscricao?.candidato?.email}}\n
\n
\n |\n
\n \n
\n Inscrição: {{inscricao?.id}}\n
\n
\n |\n
\n \n
\n Forma Ingresso: {{getNomeFormaIngresso(inscricao?.formaIngresso)}}\n
\n
\n |\n
\n \n
\n Situação: {{getStatusFormatado(inscricao)}}\n
\n
\n\n\n
\n
acute
\n
Documentos para matrícula imediata
\n
\n\n \n
\n\n \n
\n\n \n \n
\n \n \n
\n \n
\n {{configuracaoDocumento.nomeDocumento}}
\n {{getTextoDocObrigatorio(inscricao, configuracaoDocumento)}}\n
\n \n \n
\n \n Upload\n \n\n \n
\n
\n \n \n
\n \n \n
\n {{getAcceptableFileTypes(configuracaoDocumento)}}\n
\n\n \n
\n {{getFileName(inscricao, configuracaoDocumento)}}\n
\n \n
\n \n
\n\n \n
\n Aprovado \n Rejeitado \n
\n \n
\n \n \n \n \n \n
\n \n
\n \n
\n\n \n \n
\n \n \n
\n \n
\n
\n {{configuracaoDocumento.nomeDocumento}} \n \n acute\n \n
\n
{{getTextoDocObrigatorio(inscricao, configuracaoDocumento)}}
\n
\n \n \n
\n \n Upload\n \n\n \n
\n \n
\n \n \n
\n \n \n
\n {{getAcceptableFileTypes(configuracaoDocumento)}}\n
\n \n \n
\n {{getFileName(inscricao, configuracaoDocumento)}}\n
\n \n
\n \n
\n \n \n
\n Aprovado \n Rejeitado \n
\n \n
\n \n \n \n \n \n
\n \n
\n \n
\n\n
\n \n \n
\n\n \n \n
\n \n
Email de
Pendências
\n
\n
\n\n \n \n
\n \n
Termo de
Documentação Pendente
\n
\n
\n \n \n \n\n \n
\n \n
Assinar Termo de
Documentação Pendente
\n
\n\n \n
\n \n
Visualizar Termo de
Documentação Pendente
\n
\n
\n\n \n \n
\n \n
Gerar Dossiê
Manualmente
\n
\n
\n
\n \n
\n\n
\n\n
\n
\n \n \n\n \n \n \n \n\n
\n  \n
\n \n\n
\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { GcAnalisarDocumentacaoMatriculaPage } from './gc-analisar-documentacao-matricula.page';\n\nconst routes: Routes = [\n {\n path: '',\n component: GcAnalisarDocumentacaoMatriculaPage\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class GcAnalisarDocumentacaoMatriculaPageRoutingModule {}\n","import { CandidatoDTO } from '../../../../models/vestibular/candidatoDTO';\nimport { DataSharingService } from './../../../../services/common/data-sharing.service';\nimport { STATUS_INSCRICAO } from './../../../../config/status_inscricao.config';\nimport { ArquivoDTO } from 'src/app/models/arquivoDTO';\nimport { TIPO_FORMA_INGRESSO } from './../../../../config/tipo-forma-ingresso.config';\nimport { TIPO_SEXO } from './../../../../config/tipo-sexo.config';\nimport { ParametroAnaliseDocumentoDTO } from '../../../../models/documentacao/parametroAnaliseDocumentoDTO';\nimport { ParametroAnaliseDocumentoService } from './../../../../services/parametro-analise-documento/parametro-analise-documento.service';\nimport { ToastController, PopoverController, IonInfiniteScroll, IonContent } from '@ionic/angular';\nimport { API_CONFIG } from 'src/app/config/api.config';\nimport { DocumentoDTO } from '../../../../models/documentacao/documentoDTO';\nimport { DIRETORIO } from './../../../../config/diretorio.config';\nimport { ENTIDADE } from './../../../../config/entidade.config';\nimport { ArquivoService } from './../../../../services/arquivo/arquivo.service';\nimport { TIPO_ARQUIVO } from './../../../../config/tipo-arquivo.config';\nimport { STATUS_ARQUIVO } from './../../../../config/status_arquivo.config';\nimport { ConfiguracaoDocumentoDTO } from '../../../../models/documentacao/configuracaoDocumentoDTO';\nimport { PermissaoAcessoService } from './../../../../services/permissao-acesso/permissao-acesso.service';\nimport { InscricaoDTO } from '../../../../models/vestibular/inscricaoDTO';\nimport { FunctionsService } from './../../../../services/common/functions.service';\nimport { InscricaoService } from './../../../../services/inscricao/inscricao.service';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { ConfiguracaoDocumentoService } from 'src/app/services/configuracao-documento/configuracao-documento.service';\nimport { PopoverAvaliarDocumentoMatriculaComponent } from './components/popover-avaliar-documento-matricula/popover-avaliar-documento-matricula.component';\nimport { PopoverSelecionarDocsMatriculaComponent } from './components/popover-selecionar-docs-matricula/popover-selecionar-docs-matricula.component';\nimport { PopoverLoginAssinarTermoMatriculaComponent } from './components/popover-login-assinar-termo-matricula/popover-login-assinar-termo-matricula.component';\nimport { PopoverEnviarEmailDocMatriculaPendenteComponent } from './components/popover-enviar-email-doc-matricula-pendente/popover-enviar-email-doc-matricula-pendente.component';\nimport { FormaIngressoService } from 'src/app/services/forma-ingresso/forma-ingresso.service';\nimport { FormaIngressoDTO } from 'src/app/models/vestibular/formaIngressoDTO';\nimport { TIPO_DOCUMENTACAO } from 'src/app/config/tipo_documentacao';\nimport { PopoverInformarMatriculaComponent } from './components/popover-informar-matricula/popover-informar-matricula.component';\nimport { DateFunctionsService } from 'src/app/services/common/date-functions.service';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { UnidadeDTO } from 'src/app/models/curso/unidadeDTO';\nimport { UnidadeService } from 'src/app/services/unidade/unidade.service';\nimport { StorageService } from 'src/app/services/storage/storage.service';\n\n\n\n@Component({\n selector: 'app-gc-analisar-documentacao-matricula',\n templateUrl: './gc-analisar-documentacao-matricula.page.html',\n styleUrls: ['./gc-analisar-documentacao-matricula.page.scss'],\n animations: [\n trigger('toggleHeight', [\n state('collapsed', style({ height: '0px', overflow: 'hidden' })),\n state('expanded', style({ height: '*' })),\n transition('collapsed <=> expanded', animate('500ms ease-in-out'))\n ])\n ]\n})\nexport class GcAnalisarDocumentacaoMatriculaPage implements OnInit {\n\n @ViewChild(IonInfiniteScroll) infiniteScroll: IonInfiniteScroll;\n @ViewChild(IonContent) content: IonContent;\n\n\n canCreateEdit: boolean;\n canRemove: boolean; \n\n STATUS_ARQUIVO_APROVADO = STATUS_ARQUIVO.Aprovado;\n STATUS_ARQUIVO_REJEITADO = STATUS_ARQUIVO.Rejeitado;\n\n STATUS_TERMO_EMITIDO = STATUS_INSCRICAO.TERMO_EMITIDO;\n STATUS_TERMO_ASSINADO = STATUS_INSCRICAO.TERMO_ASSINADO;\n STATUS_MATRICULADO = STATUS_INSCRICAO.MATRICULADO;\n\n filtroIdInscricao: number;\n filtroIdUnidade: number;\n filtroTexto: string = '';\n \n filtroDataInicio: string;\n filtroDataFim: string;\n\n filtroPeriodoEnvioDocsFechado: boolean = false;\n filtroClassificados: boolean = false;\n filtroDocumentacaoEnviada: boolean = false;\n filtroDocumentacaoPendente: boolean = false;\n filtroDocumentacaoReenviada: boolean = false;\n filtroTermoEmitido: boolean = false;\n filtroTermoAssinado: boolean = false;\n filtroMatriculadoComRessalvas: boolean = false;\n filtroMatriculado: boolean = false;\n\n scrollPosition = 0;\n page = 0;\n size = 10;\n mensagem = '';\n\n unidades: UnidadeDTO[] = [];\n inscricoes: InscricaoDTO[] = [];\n pads: ParametroAnaliseDocumentoDTO[] = [];\n \n isFilterVisible: boolean = true;\n\n constructor( private inscricaoService: InscricaoService \n , private functionsService: FunctionsService\n , private permissaoAcessoService: PermissaoAcessoService\n , private arquivoService: ArquivoService\n , private toastController: ToastController\n , private padService: ParametroAnaliseDocumentoService\n , private popoverController: PopoverController\n , private dataSharingService: DataSharingService \n , private configuracaoDocumentoService: ConfiguracaoDocumentoService \n , private formaIngressoService: FormaIngressoService\n , private dateFunctionsService: DateFunctionsService \n , private unidadeService: UnidadeService \n , private storageService: StorageService ) { \n\n\n /*\n quando uma inscrição for selecionada na lista de inscrições exibidas no ícone de notificações\n então o id da inscrição é armazenado no data sharing \n */\n this.dataSharingService.idInscricaoSelecionada.subscribe( value => {\n\n if(value!=0){\n\n this.inscricaoService.find(value).subscribe({\n next:(resp)=>{\n this.filtroIdInscricao = value;\n this.filtroTexto = \"\";\n this.filtroDataInicio = this.dateFunctionsService.getLocalDateString(new Date(resp.dataInscricao));\n this.filtroDataFim = this.dateFunctionsService.getLocalDateString(new Date(resp.dataInscricao));\n \n this.findByFilter();\n }\n });\n \n }\n \n }); \n \n \n this.unidadeService.findAll().subscribe({\n next:(resp)=>{\n this.unidades = resp;\n },\n error:(error)=>{\n console.log(error);\n }\n });\n \n }\n\n ngOnInit( ) {\n }\n\n ionViewWillEnter(){\n \n this.functionsService.presentLoading();\n \n //verificar as permissões de acesso\n this.checkAccessControl();\n\n this.padService.findAll().subscribe({\n next:(respPAD)=>{\n\n if(respPAD.length>0){\n this.pads = respPAD;\n }\n \n //ordena o array de documentos de cada pad de acordo com as regras de negócio\n for(var i=0; i{\n\n this.functionsService.dismissLoading();\n console.log(errorPAD);\n\n }\n });\n\n //this.findByFilter();\n \n }\n\n matriculaRapidaPermitida(inscricao: InscricaoDTO): boolean{\n\n return this.inscricaoService.matriculaRapidaPermitida(inscricao); \n\n }\n\n isDocMatriculaRapida(inscricao: InscricaoDTO, configuracaoDocumento: ConfiguracaoDocumentoDTO): boolean{\n\n return this.inscricaoService.isDocMatriculaRapida(inscricao, configuracaoDocumento); \n\n }\n\n sortDocuments(pad: ParametroAnaliseDocumentoDTO){\n //os docs impeditivos devem vir primeiro em ordem alfabética\n //depois os docs obrigatórios em ordem alfabética\n //depois os demais docs\n \n\n let arrDocs: ConfiguracaoDocumentoDTO[] = [];\n \n //add os docs impeditivos\n let arrImpeditivos: ConfiguracaoDocumentoDTO[] = [];\n for(var i=0; i b.nomeDocumento) {\n return 1;\n }\n if (a.nomeDocumento < b.nomeDocumento) {\n return -1;\n }\n // a must be equal to b\n return 0;\n });\n\n\n //add os docs obrigatórios que sobraram no array\n let arrObrigatorios: ConfiguracaoDocumentoDTO[] = [];\n\n for(var i=0; i b.nomeDocumento) {\n return 1;\n }\n if (a.nomeDocumento < b.nomeDocumento) {\n return -1;\n }\n // a must be equal to b\n return 0;\n });\n\n //ordena o que restou do array de docs\n pad.configuracoesDocumentos.sort(function (a, b) {\n if (a.nomeDocumento > b.nomeDocumento) {\n return 1;\n }\n if (a.nomeDocumento < b.nomeDocumento) {\n return -1;\n }\n // a must be equal to b\n return 0;\n });\n\n arrDocs = arrDocs.concat(arrImpeditivos);\n arrDocs = arrDocs.concat(arrObrigatorios);\n arrDocs = arrDocs.concat(pad.configuracoesDocumentos);\n\n pad.configuracoesDocumentos = arrDocs;\n }\n\n\n getEndDate(): Date{\n return this.dateFunctionsService.getFilterEndDate(this.filtroDataFim);\n }\n\n getStartDate(): Date{\n return this.dateFunctionsService.getFilterStartDate(this.filtroDataInicio);\n }\n\n\n findByFilter(resetArray: boolean = true){\n \n this.functionsService.presentLoading();\n\n this.mensagem = 'Aguarde...'\n \n if(resetArray){ //zera a listagem\n this.page = 0;\n this.inscricoes = [];\n this.infiniteScroll.disabled = false;\n }\n\n let filtroClassificados = this.filtroClassificados;\n let filtroDocumentacaoEnviada = this.filtroDocumentacaoEnviada;\n let filtroDocumentacaoPendente = this.filtroDocumentacaoPendente;\n let filtroDocumentacaoReenviada = this.filtroDocumentacaoReenviada;\n let filtroTermoEmitido = this.filtroTermoEmitido;\n let filtroTermoAssinado = this.filtroTermoAssinado;\n let filtroMatriculadoComRessalvas = this.filtroMatriculadoComRessalvas;\n let filtroMatriculado = this.filtroMatriculado;\n\n //se nenhum deles estiver selecionado, então deve retornar todos\n if(!filtroClassificados &&\n !filtroDocumentacaoEnviada &&\n !filtroDocumentacaoPendente &&\n !filtroDocumentacaoReenviada &&\n !filtroTermoEmitido &&\n !filtroTermoAssinado &&\n !filtroMatriculadoComRessalvas &&\n !filtroMatriculado ){\n\n filtroClassificados = true;\n filtroDocumentacaoEnviada = true;\n filtroDocumentacaoPendente = true;\n filtroDocumentacaoReenviada = true;\n filtroTermoEmitido = true;\n filtroTermoAssinado = true;\n filtroMatriculadoComRessalvas = true;\n filtroMatriculado = true;\n\n } \n\n //prepara o formato do filtro em alguns casos específicos\n this.prepareFilterString();\n\n \n this.inscricaoService.findAptosParaMatricula( this.filtroIdInscricao ? this.filtroIdInscricao : 0\n , this.filtroIdUnidade ? this.filtroIdUnidade : 0\n , this.filtroTexto\n , filtroClassificados\n , filtroDocumentacaoEnviada\n , filtroDocumentacaoPendente\n , filtroDocumentacaoReenviada\n , filtroTermoEmitido\n , filtroTermoAssinado\n , filtroMatriculadoComRessalvas\n , filtroMatriculado\n , this.getStartDate()\n , this.getEndDate()\n , this.filtroPeriodoEnvioDocsFechado\n , this.page\n , this.size\n , 'DESC' ).subscribe({\n\n next:(resp)=>{\n \n if(resp.length{\n this.mensagem = 'Tivemos um problema no carregamento da listagem.';\n console.log(error);\n this.functionsService.dismissLoading();\n }\n });\n\n }\n\n\n\n checkAccessControl(){\n\n this.permissaoAcessoService.canCreateAndEdit(window.location.href).subscribe({\n next:(resp)=>{\n this.canCreateEdit = resp;\n },\n error:(error)=>{\n this.canCreateEdit = false;\n }\n });\n\n this.permissaoAcessoService.canRemove(window.location.href).subscribe({\n next:(resp)=>{\n this.canRemove = resp;\n },\n error:(error)=>{\n this.canRemove = false;\n }\n });\n\n\n }\n\n \n\n uploadFile(inscricao: InscricaoDTO, configuracaoDocumento: ConfiguracaoDocumentoDTO, fileLoader: HTMLInputElement){\n\n \n let that = this;\n\n fileLoader.onchange = function () {\n\n let file = fileLoader.files[0];\n \n if(!file){\n return;\n }\n\n \n that.functionsService.presentLoading();\n //os nomes dos arquivos não podem ter espaços\n let nomeArquivo = configuracaoDocumento.nomeDocumento.replace(/ /g, '_') + '_' + inscricao.id;\n \n let tipoArquivo = TIPO_ARQUIVO.IMAGEM;\n if(file.name.toLocaleLowerCase().endsWith('.pdf')){\n \n tipoArquivo = TIPO_ARQUIVO.PDF;\n nomeArquivo = nomeArquivo + '.pdf';\n \n }else if(file.name.toLocaleLowerCase().endsWith('.jpg')){\n \n nomeArquivo = nomeArquivo + '.jpg';\n \n }else if(file.name.toLocaleLowerCase().endsWith('.png')){\n\n nomeArquivo = nomeArquivo + '.png';\n \n }else{\n\n that.functionsService.dismissLoading();\n alert('Formato de arquivo inválido!');\n return;\n\n }\n \n \n that.arquivoService.upload( file\n , ENTIDADE.CANDIDATO\n , inscricao.candidato.id\n , DIRETORIO.DOCUMENTACAO\n , tipoArquivo \n , nomeArquivo).subscribe(\n resp=>{\n \n let novoDocumento = new DocumentoDTO();\n novoDocumento.arquivo = resp.body;\n novoDocumento.configuracaoDocumento = configuracaoDocumento;\n novoDocumento.dataGravacao = new Date();\n\n if(!inscricao.documentosCandidato){\n inscricao.documentosCandidato = [];\n }\n\n inscricao.documentosCandidato.push(novoDocumento);\n that.functionsService.dismissLoading();\n \n //se for substituição de documento, então remove o documento antigo\n for(var i=0; i{\n console.log(error);\n that.functionsService.dismissLoading();\n\n if(error.error.message.toString().indexOf('Maximum upload size exceeded')>-1){\n that.functionsService.showAlert('Atenção!', 'O tamanho máximo do arquivo deve ser 10MB', ['Ok']);\n }\n\n }\n );\n \n }\n\n fileLoader.click();\n\n \n }\n\n\n\n uploadContratoAssinado(inscricao: InscricaoDTO, fileLoader: HTMLInputElement){\n\n \n let that = this;\n\n fileLoader.onchange = function () {\n\n let file = fileLoader.files[0];\n \n if(!file){\n return;\n }\n\n \n that.functionsService.presentLoading();\n //os nomes dos arquivos não podem ter espaços\n let nomeArquivo = 'Contrato_Assinado' + '_' + inscricao.candidato.id;\n \n let tipoArquivo = TIPO_ARQUIVO.IMAGEM;\n if(file.name.toLowerCase().endsWith('.pdf')){\n \n tipoArquivo = TIPO_ARQUIVO.PDF;\n nomeArquivo = nomeArquivo + '.pdf';\n \n }else if(file.name.toLowerCase().endsWith('.jpg')){\n \n nomeArquivo = nomeArquivo + '.jpg';\n \n }else if(file.name.toLowerCase().endsWith('.png')){\n\n nomeArquivo = nomeArquivo + '.png';\n \n }else{\n\n alert('Formato de arquivo inválido!');\n return;\n\n }\n \n \n that.arquivoService.upload( file\n , ENTIDADE.CANDIDATO\n , inscricao.candidato.id\n , DIRETORIO.DOCUMENTACAO\n , tipoArquivo \n , nomeArquivo).subscribe(\n resp=>{\n \n //associa o novo arquivo\n inscricao.contratoAssinado = resp.body;\n fileLoader.value = '';\n that.functionsService.dismissLoading();\n \n //abre a tela para informar o número da mátricula\n that.openPopoverInformarMatricula(inscricao);\n\n\n },\n error=>{\n console.log(error);\n that.functionsService.dismissLoading();\n\n if(error.error.message.toString().indexOf('Maximum upload size exceeded')>-1){\n that.functionsService.showAlert('Atenção!', 'O tamanho máximo do arquivo deve ser 10MB', ['Ok']);\n }\n }\n );\n \n }\n\n fileLoader.click();\n\n \n }\n\n \n save(inscricao: InscricaoDTO){\n\n this.functionsService.presentLoading('');\n\n this.inscricaoService.update(inscricao).subscribe(\n resp=>{\n \n //atualiza a lista de docs da inscricao no array principal, pois lá neste momento ainda está defasado \n inscricao = resp.body;\n for(var i=0; i {\n \n }\n }]);\n\n \n\n \n },\n error=>{\n\n this.functionsService.dismissLoading();\n\n //se for erro de matrícula já utilizada, então deve abrir a tela de informar o número de matrícula novamente\n let erroConflito = false;\n if(error.error.message.toString().indexOf('O número de mátricula')>-1 && \n error.error.message.toString().indexOf('já foi associado a outra inscrição')>-1){\n \n erroConflito = true;\n \n }else if(error.error.message.toString().indexOf('Há um problema com o número de mátricula')>-1 && \n error.error.message.toString().indexOf('Possivelmente ele está associado a mais de um inscrição')>-1){\n \n erroConflito = true;\n\n }\n\n this.functionsService.showErrorAlert( 'Atenção!'\n , 'Ocorreu um erro ao processar a transação.'\n , error\n , [{ \n text: 'Ok',\n handler: () => {\n if(erroConflito){\n this.openPopoverInformarMatricula(inscricao); \n }\n }\n }]);\n \n \n\n });\n } \n\n\n getFileStatus(inscricao: InscricaoDTO, configuracaoDocumento: ConfiguracaoDocumentoDTO): string{\n\n for(var i=0; i700 && nomeArquivo.length>70){\n \n return nomeArquivo.substring(0, 70) + '...' + nomeArquivo.substring(nomeArquivo.length-4);\n \n }else if(window.screen.width<700 && nomeArquivo.length>25){\n \n return nomeArquivo.substring(0, 25) + '...' + nomeArquivo.substring(nomeArquivo.length-4);\n \n }\n\n return nomeArquivo;\n\n }else{\n return '';\n }\n \n }\n\n }\n\n return '';\n\n }\n\n\n getAcceptableFileTypes(configuracaoDocumento: ConfiguracaoDocumentoDTO): string{\n\n let tiposAceitos = [];\n\n if (configuracaoDocumento.aceitaPDF) tiposAceitos.push(\"PDF\");\n if (configuracaoDocumento.aceitaImagemPNG) tiposAceitos.push(\"PNG\");\n if (configuracaoDocumento.aceitaImagemJPG) tiposAceitos.push(\"JPG\");\n\n if(tiposAceitos.length==0){\n tiposAceitos.push(\"PDF\");\n tiposAceitos.push(\"PNG\");\n tiposAceitos.push(\"JPG\");\n }\n\n return 'Aceita ' + tiposAceitos.join(\" | \");\n\n }\n\n \n getFilePath(inscricao: InscricaoDTO, configuracaoDocumento: ConfiguracaoDocumentoDTO): string{\n\n for(var i=0; i';\n }\n \n break;\n }\n }\n\n\n if(!motivosReprovacao){\n motivosReprovacao='Arquivo inválido';\n }\n\n const toast = await this.toastController.create({\n //header: 'Recuperar senha',\n message: motivosReprovacao,\n position: 'middle',\n animated: true,\n keyboardClose: true,\n duration: 10000,\n buttons: [{\n text: 'Fechar',\n role: 'cancel',\n handler: () => {\n console.log('Cancel clicked');\n }\n }]\n });\n await toast.present();\n\n const { role } = await toast.onDidDismiss();\n console.log('onDidDismiss resolved with role', role);\n }\n \n \n\n getDocumentos(inscricao: InscricaoDTO): ConfiguracaoDocumentoDTO[]{\n //retorna os documentos que devem ser enviados pelo candidato de acordo com o perfil da inscrição\n\n let pad: ParametroAnaliseDocumentoDTO;\n\n pad = this.padService.getPadByName(TIPO_DOCUMENTACAO.MATRICULA, this.pads);\n \n let arrRetorno: ConfiguracaoDocumentoDTO[] = [];\n\n for(var i=0; i{\n\n //só associa o termo uma vez\n if(data.data){\n \n if(data.data!=='Aprovou'){//reprovou\n \n let precisaAtualizar = false;\n\n\n //o retorno do popup quando reprova o documento é um array com os motivos de reprovação\n arquivo.motivosReprovacao = data.data;\n arquivo.status = STATUS_ARQUIVO.Rejeitado;\n\n //se é um doc de matrícula rápida ou um substituto que está sendo reprovado pela primeira vez\n const isDocMatriculaRapida = this.isDocMatriculaRapida(inscricao, configuracaoDocumento);\n let isSubstituto = false;\n\n for(var i=0; i{\n \n if(atualizouStatus){\n this.functionsService.showAlert( 'Atenção'\n , 'O status dessa inscrição foi alterado para Documentação Pendente'\n , ['Ok'] );\n } \n },\n error:(error)=>{\n console.log(error);\n }\n });\n }\n\n }\n\n }else if(data.data=='Aprovou'){//aprovou o documento\n\n let precisaAtualizarInscricao = false;\n\n if(this.matriculaRapidaPermitida(inscricao) && !inscricao.dataAprovacaoMatriculaRapida){\n \n let matriculaRapidaAprovada = true;\n for(var i=0; i doc.configuracaoDocumento.id == docMatriculaRapida.configuracaoDocumento.id );\n \n //está enviado, então verifica se está aprovado\n if(index>=0){\n\n console.log('está enviado') \n if(inscricao.documentosCandidato[index].arquivo.status!=STATUS_ARQUIVO.Aprovado){\n //doc enviado, porém não aprovado\n console.log('enviado, mas não aprovado')\n \n const estaSubstituido = this.configuracaoDocumentoService.estaSubstituido( docMatriculaRapida.configuracaoDocumento\n , inscricao.documentosCandidato\n , inscricao.formaIngresso);\n\n if(estaSubstituido){\n\n //valida o status do substituto\n const quemSubstituiu = this.configuracaoDocumentoService.getDocSubstituto( docMatriculaRapida.configuracaoDocumento\n , inscricao.documentosCandidato\n , inscricao.formaIngresso );\n\n \n console.log('está substituído por ', quemSubstituiu.configuracaoDocumento.nomeDocumento) \n if(quemSubstituiu.arquivo.status!=STATUS_ARQUIVO.Aprovado){ \n console.log('quem substituiu não está aprovado') \n matriculaRapidaAprovada = false;\n break;\n } \n }else{//doc enviado, não aprovado e não substituído\n console.log('enviado, não aprovado e não substituído')\n matriculaRapidaAprovada = false;\n break;\n\n } \n \n }\n\n }else{//não enviado\n\n console.log('nao enviado')\n const estaSubstituido = this.configuracaoDocumentoService.estaSubstituido( docMatriculaRapida.configuracaoDocumento\n , inscricao.documentosCandidato\n , inscricao.formaIngresso);\n if(estaSubstituido){\n\n //valida o status do substituto\n const quemSubstituiu = this.configuracaoDocumentoService.getDocSubstituto( docMatriculaRapida.configuracaoDocumento\n , inscricao.documentosCandidato\n , inscricao.formaIngresso );\n\n \n console.log('está substituído por ', quemSubstituiu.configuracaoDocumento.nomeDocumento) \n if(quemSubstituiu.arquivo.status!=STATUS_ARQUIVO.Aprovado){ \n matriculaRapidaAprovada = false;\n break;\n } \n }else{//não enviado e não substituído\n console.log('não enviado e não substituído')\n matriculaRapidaAprovada = false;\n break;\n }\n }\n }\n\n console.log(matriculaRapidaAprovada)\n if(matriculaRapidaAprovada){\n //envia a notificação pro candidato de que ele está apto a receber o benefício\n inscricao.dataAprovacaoMatriculaRapida = new Date();\n precisaAtualizarInscricao = true;\n\n }\n }\n \n let todosDocsAprovados = true;\n for(var i=0; i{\n\n if(statusFoiAlterado){\n this.functionsService.showAlert( 'Atenção'\n , 'O status dessa inscrição foi alterado!'\n , ['Ok'] );\n }\n\n },\n error:(error)=>{\n console.log(error);\n }\n });\n\n } \n } \n }\n \n });\n \n \n }\n\n\n\n \n\n getTextoDocObrigatorio(inscricao: InscricaoDTO, configuracaoDocumento: ConfiguracaoDocumentoDTO): string{\n \n const pad = this.padService.getPad(this.pads, inscricao);\n\n if(this.dispensed(inscricao, configuracaoDocumento)){\n return 'Dispensado do termo de compromisso';\n }\n \n //docs de matrícula rápida podem ter substitutos\n if(this.matriculaRapidaPermitida(inscricao)){\n\n if(this.isDocMatriculaRapida(inscricao, configuracaoDocumento)){\n\n let enviado = false;\n //se não foi enviado, verifica se foi substituído\n for(var i=0; i{\n\n //só associa o termo uma vez\n if(data.data){\n \n \n \n }\n \n });\n \n \n }\n\n\n\n\n async openPopoverLoginCandidato(inscricao: InscricaoDTO) {\n \n \n const popover = await this.popoverController.create({\n component: PopoverLoginAssinarTermoMatriculaComponent,\n componentProps: {'inscricao': inscricao},\n translucent: false,\n showBackdrop: true,\n backdropDismiss: false,\n //event: event,\n cssClass: 'popover-login-assinar-termo', //definido no global.css \n \n });\n\n await popover.present();\n \n await popover.onDidDismiss().then((data)=>{\n\n //só associa o termo uma vez\n if(data.data === 'Assinou' ){\n \n }\n \n });\n \n }\n\n\n async openPopoverEnviarEmail(inscricao: InscricaoDTO) {\n \n const pad = this.padService.getPad(this.pads, inscricao);\n\n const popover = await this.popoverController.create({\n component: PopoverEnviarEmailDocMatriculaPendenteComponent,\n componentProps: {'inscricao': inscricao, 'pad': pad},\n translucent: false,\n showBackdrop: true,\n backdropDismiss: false,\n //event: event,\n cssClass: 'popover-enviar-email-doc-pendente', //definido no global.css \n \n });\n\n await popover.present();\n \n await popover.onDidDismiss().then((data)=>{\n \n });\n \n }\n\n\n async openPopoverInformarMatricula(inscricao: InscricaoDTO) {\n \n \n const popover = await this.popoverController.create({\n component: PopoverInformarMatriculaComponent,\n componentProps: {'inscricao': inscricao},\n translucent: false,\n showBackdrop: true,\n backdropDismiss: false,\n //event: event,\n cssClass: 'popover-informar-matricula', //definido no global.css \n \n });\n\n await popover.present();\n \n await popover.onDidDismiss().then((data)=>{\n\n if(data.data === 'Confirmou' ){\n this.save(inscricao);\n }\n \n });\n \n }\n\n \n\n desabilitarEmailPendencias(inscricao: InscricaoDTO): boolean{\n\n let pad: ParametroAnaliseDocumentoDTO;\n\n if(inscricao.formaIngresso.tipo==TIPO_FORMA_INGRESSO.POS_GRADUACAO){\n pad = this.padService.getPadByName(TIPO_DOCUMENTACAO.POS_GRADUACAO, this.pads);\n }else{\n pad = this.padService.getPadByName(TIPO_DOCUMENTACAO.MATRICULA, this.pads);\n }\n\n //procura por docs de matrícula que estejam rejeitados, independente de serem impeditivos ou não\n let achouRejeitado = false;\n for(var i=0; i{\n\n //atualiza a inscricao no array principal, pois ela no array está defasada \n this.inscricaoService.find(inscricao.id).subscribe({\n next:(respInscricao)=>{\n\n for(var i=0; iEndereço do dossiê: ' + resp.pathDossie + \"
Status da inscrição:\" + statusInscricao\n , ['Ok']);\n },\n error:(errorInscricao)=>{\n console.log(errorInscricao);\n this.functionsService.dismissLoading();\n }\n });\n \n\n\n \n\n\n },\n error:(error)=>{\n\n this.functionsService.dismissLoading();\n console.log(error);\n \n //retorna ao status anterior\n inscricao.status = statusOriginal;\n\n this.functionsService.showErrorAlert( 'Atenção!'\n , 'Ocorreu um erro ao salvar o status do dossiê.'\n , error\n , ['Ok']);\n }\n });\n }\n \n }\n\n\n\n dispensed(inscricao: InscricaoDTO, configuracaoDocumento: ConfiguracaoDocumentoDTO): boolean{\n /**\n * se a inscrição possui um termo de compromisso e o documento não está listado no termo\n * ele está dispensado de ser enviado\n * \n */\n\n if(inscricao.termoCompromisso){\n for(var i=0; i document.activeElement;\n active.blur();\n \n if(this.page>0){ \n this.findByFilter(false);\n event.target.complete();\n \n }else{\n this.findByFilter(true);\n event.target.complete();\n event.target.focus();\n \n }\n\n \n }\n\n prepareFilterString(){\n let copiaFiltro = this.filtroTexto;\n\n //tenta preparar para cpf\n try{\n //remove todos os pontos e traços\n let filtroNumerico = copiaFiltro;\n filtroNumerico.replace(/\\./g,'').replace(/\\-/g, '');\n \n if(!parseInt(filtroNumerico)){\n //deu erro\n return;\n }\n\n \n //se chegou aqui é pq não caiu em erro durante parse\n if(filtroNumerico.length===11){\n filtroNumerico = filtroNumerico.substring(0,3) + \n '.' + \n filtroNumerico.substring(3,6) + \n '.' + \n filtroNumerico.substring(6,9) + \n '-' + \n filtroNumerico.substring(9);\n return this.filtroTexto = filtroNumerico;\n }\n\n }catch(err){\n \n }\n \n }\n\n\n getStatusFormatado(inscricao: InscricaoDTO): string{\n return this.inscricaoService.getStatusFormatado(inscricao);\n }\n\n getNomeFormaIngresso(formaIngresso: FormaIngressoDTO): string{\n return this.formaIngressoService.getNomeFormatado(formaIngresso.tipo)\n }\n\n\n preventHeaderFocus(event: FocusEvent) {\n event.preventDefault(); // Impede o evento padrão\n const target = event.target as HTMLElement;\n target.blur(); // Remove o foco imediatamente\n\n console.log('focus')\n }\n \n toggleFilterVisibility() {\n this.isFilterVisible = !this.isFilterVisible;\n }\n\n\n getFilterGridHeight() {\n return this.isFilterVisible ? 'auto' : '0px'; // ajuste a altura mínima conforme necessário\n }\n\n getSexoFormatado(candidato: CandidatoDTO): string{\n if(candidato.sexo==TIPO_SEXO.NAO_BINARIO){\n return \"Não Binário\";\n }else{\n return candidato.sexo;\n }\n }\n \n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { IonicModule } from '@ionic/angular';\n\nimport { GcAnalisarDocumentacaoMatriculaPageRoutingModule } from './gc-analisar-documentacao-matricula-routing.module';\n\nimport { GcAnalisarDocumentacaoMatriculaPage } from './gc-analisar-documentacao-matricula.page';\nimport { ComponentsModule } from 'src/app/components/components.module';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n GcAnalisarDocumentacaoMatriculaPageRoutingModule,\n ComponentsModule\n ],\n declarations: [GcAnalisarDocumentacaoMatriculaPage]\n})\nexport class GcAnalisarDocumentacaoMatriculaPageModule {}\n","import { Router } from '@angular/router';\nimport { UsuarioDTO } from '../../models/controle-acesso/usuarioDTO';\nimport { HttpClient } from '@angular/common/http';\nimport { API_CONFIG } from './../../config/api.config';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UsuarioService {\n\n constructor( private http: HttpClient\n , private router: Router ) { }\n\n\n\n insert(usuarioDTO: UsuarioDTO) : Observable {\n\n if(usuarioDTO.funcionario !== null && usuarioDTO.funcionario !== undefined){\n \n return this.http.post( API_CONFIG.apiURL+'/usuarios'\n , usuarioDTO\n , { observe: 'response' });\n \n }else{\n\n return this.http.post( API_CONFIG.apiURL+'/usuarios/candidato'\n , usuarioDTO\n , { observe: 'response' });\n\n }\n\n }\n\n\n update(usuarioDTO: UsuarioDTO, notificarUsuario: boolean = true) : Observable {\n\n if(usuarioDTO.funcionario !== null && usuarioDTO.funcionario !== undefined){\n \n return this.http.put( API_CONFIG.apiURL+'/usuarios/' + usuarioDTO.id + '/' + notificarUsuario\n , usuarioDTO\n , { observe: 'response' });\n \n }else{\n\n return this.http.put( API_CONFIG.apiURL+'/usuarios/updateCandidato/' + usuarioDTO.id + '/' + notificarUsuario\n , usuarioDTO\n , { observe: 'response' });\n\n } \n\n }\n\n \n\n changePass(id: number, oldPass: string, newPass: string) : Observable{\n\n return this.http.put( API_CONFIG.apiURL+'/usuarios/changePass?id=' + id + '&oldPass='+ oldPass + '&newPass=' + newPass\n , null\n , { observe: 'response' });\n\n }\n\n resetPass(iu: string,newPass: string) : Observable{\n\n return this.http.put( API_CONFIG.apiURL+'/usuarios/resetPass?iu=' + iu + '&newPass=' + newPass\n , null\n , { observe: 'response' });\n\n }\n\n sendResetPassLink(login: string) : Observable{\n\n //console.log(this.router['location']._platformLocation.location.origin);\n const sitePath: string = this.router['location']._platformLocation.location.origin;\n const routeResetPath: string = '/modulo-gc/gc-alterar-senha';\n\n return this.http.get( API_CONFIG.apiURL+'/usuarios/sendResetPassLink?login=' + login + '&urlResetSenha='+ sitePath + routeResetPath);\n\n }\n\n sendValidationCode(email: string, codigoValidacao: string) : Observable{\n\n return this.http.get( API_CONFIG.apiURL+'/usuarios/sendValidationCode?email=' + email + '&codigoValidacao='+ codigoValidacao);\n\n }\n\n findAll() : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/usuarios');\n\n }\n\n findByFilters(tipo: string, login: string, email: string, nome: string, perfil: string) : Observable {\n\n const filtro = 'tipo='+tipo+'&login='+login+'&email='+email+'&nome='+nome+'&perfil='+perfil;\n return this.http.get( API_CONFIG.apiURL+'/usuarios/filtros?'+filtro);\n\n }\n\n findByFilter(filtro: string, tipo: string) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/usuarios/filtro?'+ 'tipo='+tipo+'&filtro='+filtro);\n\n }\n\n findFuncionarios(status: string) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/usuarios/findFuncionarios?status='+status);\n\n }\n \n\n findByUsername(login: string) : Observable {\n \n return this.http.get( API_CONFIG.apiURL+'/usuarios/findByLogin?login='+login);\n\n }\n\n\n findByLoginAndSenha(login: string, senha: string) : Observable {\n \n return this.http.get( API_CONFIG.apiURL+'/usuarios/findByLoginAndSenha?login='+login+'&senha='+senha);\n\n }\n\n\n\n find(id: number) : Observable {\n\n return this.http.get( API_CONFIG.apiURL+'/usuarios/' + id);\n\n }\n\n \n doLogin(login: string, senha: string) : Observable {\n \n return this.http.post( API_CONFIG.apiURL+'/login'\n , {'login': login, 'senha': senha}\n , { observe: 'response' });\n\n \n \n }\n\n delete(id: number) : Observable {\n\n return this.http.delete( API_CONFIG.apiURL + '/usuarios/' + id);\n\n }\n\n\n sortArray(usuarios: UsuarioDTO[], field: string){\n\n if(field === 'Funcionário'){\n\n usuarios.sort(function (a, b) {\n if (a.funcionario.nome > b.funcionario.nome) {\n return 1;\n }\n if (a.funcionario.nome < b.funcionario.nome) {\n return -1;\n }\n // a must be equal to b\n return 0;\n });\n\n }else if(field === 'Candidato'){\n\n usuarios.sort(function (a, b) {\n if (a.candidato.nome > b.candidato.nome) {\n return 1;\n }\n if (a.candidato.nome < b.candidato.nome) {\n return -1;\n }\n // a must be equal to b\n return 0;\n });\n\n }else{\n\n usuarios.sort(function (a, b) {\n if (a.login > b.login) {\n return 1;\n }\n if (a.login < b.login) {\n return -1;\n }\n // a must be equal to b\n return 0;\n });\n }\n \n }\n}\n"],"sourceRoot":"webpack:///","file":"8925.c47ce4612e77c437.js"}