{"version":3,"mappings":"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","names":["i0","ctx_r17","ctx_r19","ctx_r21","ctx_r25","oxw","ctx_r27","ctx_r29","routes","path","component","constructor","arquivoService","popoverController","functionsService","cursoService","formaIngressoService","inscricaoService","permissaoAcessoService","vestibularService","storageService","activatedRoute","configuracaoPagamentoService","tipoPagamentoService","padService","this","VestibularDTO","FormaIngressoDTO","findAll","subscribe","next","resp","configuracoesPgto","error","console","log","respPAD","length","padMatricula","getPadByName","TIPO_DOCUMENTACAO","sortDocuments","errorPAD","ngOnInit","arrDocs","arrImpeditivos","i","configuracoesDocumentos","impeditivo","push","splice","sort","a","b","nomeDocumento","arrObrigatorios","concat","getMandatoryText","configuracaoDocumento","obrigatorio","addDocument","event","formaIngresso","documentosMatriculaRapida","index","findIndex","doc","id","target","checked","docMatRapida","DocumentoMatriculaRapidaDTO","docAdded","openPopoverSelecionarSubstitutos","documentoMatriculaRapidaPrincipal","t","_a","popover","create","PopoverSelecionarSubstitutosComponent","componentProps","translucent","showBackdrop","backdropDismiss","cssClass","present","onDidDismiss","then","data","getSubstitutesNames","substitutos","_b","map","substituto","join","getNomeTipoPagamento","tipo","getName","paymentTypeNotImplemented","tipoPagamento","TIPO_PAGAMENTO","disablePaymentType","cp","disponivelTodasAgendas","forEach","checkPaymentType","vtp","VestibularTipoPagamentoDTO","vestibular","vestibularTiposPagamento","ionViewWillEnter","checkAccessControl","presentLoading","cursoExtensao","TIPO_FORMA_INGRESSO","findByStatus","STATUS","cursos","queryParams","param","find","respVest","setTextoCursosSelecionados","formasIngresso","fi","cont","dismissLoading","errorVest","errorParam","paymentTypeChecked","o","canCreateAndEdit","window","location","href","canCreateEdit","canRemove","uploadEdital","fileLoader","that","onchange","upload","files","ENTIDADE","DIRETORIO","TIPO_ARQUIVO","arquivoEdital","body","value","click","openPopoverSelecionarCurso","PopoverSelecionarCursosVestibularComponent","extensao","posGraduacao","graduacao","vestibularCursosSelecionados","vestibularCursos","cursosUnicos","reduce","acc","vcAtual","some","curso","textoCursosSelecionados","habilitacao","nome","modalidade","primeirosCursosTexto","slice","validate","codigoEdital","showAlert","valorTaxaInscricao","dataInicioInscricao","Date","dataFimInscricao","getTime","habilitarBeneficioMatriculaRapida","qtdDiasMatriculaRapida","qtdDiasCorrecaoMatriculaRapida","urlProvaMoodle","habilitarEnvioDocumentacaoMatricula","dataInicioMatricula","getNomeFormatado","dataFimMatricula","save","update","text","handler","showErrorAlert","usuarioLogado","getUsuarioLogado","criador","dataCriacao","ultimoEditor","dataUltimaEdicao","insert","openPopoverSelecionarData","dataAtualmenteSelecionada","titulo","objetivo","horaAtualmenteSelecionada","hora","getHours","min","getMinutes","toString","PopoverSelecionarDataComponent","selectedDate","hour","hourMandatory","title","toLocaleLowerCase","indexOf","dataInicioEntregaDocumentacaoInscricao","dataFimEntregaDocumentacaoInscricao","dataLimiteProvaSemAgendamento","dataLimiteCursoOnlineMoodle","openPopoverSelecionarPeriodo","selectedRanges","PopoverSelecionarPeriodoComponent","startHour","endHour","vacanciesMandatory","vacanciesPerDate","n","_c","vacancies","rangesSelecionados","p","j","dates","prova","ProvaDTO","dataInicio","horaInicio","dataFim","horaFim","totalVagas","local","getDateBrPattern","getDay","existe","indexProva","f","provas","datesEqual","sortArrayProvas","getDayOfWeekName","substring","edit","ranges","getRangesSameHour","provaSelecionada","range","RangeDTO","lastDateRange","nextDate","beforeNextDay","setDate","getDate","start","end","removeProva","dataInicioProva","horaInicioProva","minInicioProva","dataFimProva","horaFimProva","minFimProva","setHours","parseInt","countByDataProva","msg","setTaxaInscricao","valor","replace","valueOf","Number","parseFloat","getCurrencyValue","removeEdital","showConfirmAlert","idArquivoEdital","delete","open","arquivo","newWindow","publicURL","getFilePublicURL","goToPath","fullPath","fileName","API_CONFIG","outOfDate","validateMinDaysInAdvance","input","err","GcAgendarExtensaoPage","selectors","ctx","GcAgendarExtensaoPageRoutingModule","RouterModule","GcAgendarExtensaoPageModule","CommonModule","FormsModule","IonicModule","ComponentsModule","BrMaskerModule","QuillModule"],"sources":["./src/app/pages/modulo-gc/vestibular/gc-agendar-extensao/gc-agendar-extensao.page.html","./src/app/pages/modulo-gc/vestibular/gc-agendar-extensao/gc-agendar-extensao-routing.module.ts","./src/app/pages/modulo-gc/vestibular/gc-agendar-extensao/gc-agendar-extensao.page.ts","./src/app/pages/modulo-gc/vestibular/gc-agendar-extensao/gc-agendar-extensao.module.ts"],"sourcesContent":["\n\n\n\n \n \n \n \n \n \n \n \n \n \n\n \n \n AGENDAMENTO PARA CURSO DE EXTENSÃO\n \n\n \n\n\n \n \n \n \n \n\n \n Dados do Edital \n \n \n
\n\n \n \n Código do Edital\n \n \n\n
\n\n \n \n Período Letivo\n \n \n \n \n \n \n \n  Edital\n \n \n \n Upload Edital  \n \n \n \n \n \n \n \n \n \n Nenhum edital adicionado\n \n \n\n \n \n \n \n \n \n\n
\n
\n\n \n \n \n \n\n \n Cursos \n \n \n
\n\n \n\n Cursos\n Selecionar\n \n \n \n 0\">\n {{textoCursosSelecionados}}\n \n \n
\n
\n \n\n \n \n \n \n\n \n Formas de Pagamento \n \n \n
\n\n \n \n \n \n  {{getNomeTipoPagamento(configPgto.tipoPagamento)}}\n   (não implementada)\n   (obrigatório em todas agendas)\n \n \n
\n
\n\n\n \n \n \n \n\n \n \n Curso de Extensão \n \n \n
\n\n \n \n \n \n \n \n Taxa de Inscrição\n \n \n \n \n\n \n \n \n
Período de Inscrição
\n \n \n\n \n \n Início\n \n\n \n \n {{cursoExtensao.dataInicioInscricao | date: 'dd/MM/yyyy HH:mm' }}\n \n\n \n Não definido\n \n\n \n \n \n \n \n \n \n \n Fim\n \n\n \n \n {{cursoExtensao.dataFimInscricao | date: 'dd/MM/yyyy HH:mm' }}\n \n\n \n Não definido\n \n\n \n \n\n \n \n \n \n \n \n \n \n  Curso de Extensão Online\n \n\n
\n\n \n \n \n \n \n URL do Curso de Extensão no Moodle\n \n \n\n \n \n \n \n
\n Data limite para realizar curso online no Moodle\n
\n \n \n
\n \n \n \n {{cursoExtensao.dataLimiteCursoOnlineMoodle | date: 'dd/MM/yyyy HH:mm' }}\n \n\n \n Não definida\n \n\n \n \n \n\n
\n
\n
\n \n\n
\n
\n
\n\n\n\n \n \n \n \n \n Voltar  \n \n \n \n\n \n \n Salvar  \n \n \n \n \n \n \n\n\n
","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { GcAgendarExtensaoPage } from './gc-agendar-extensao.page';\n\nconst routes: Routes = [\n {\n path: '',\n component: GcAgendarExtensaoPage\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class GcAgendarExtensaoPageRoutingModule {}\n","import { PermissaoAcessoService } from './../../../../services/permissao-acesso/permissao-acesso.service';\nimport { InscricaoService } from './../../../../services/inscricao/inscricao.service';\nimport { PopoverSelecionarDataComponent } from '../components/popover-selecionar-data/popover-selecionar-data.component';\nimport { FormaIngressoService } from './../../../../services/forma-ingresso/forma-ingresso.service';\nimport { ProvaDTO } from './../../../../models/vestibular/provaDTO';\nimport { PopoverSelecionarPeriodoComponent } from '../components/popover-selecionar-periodo/popover-selecionar-periodo.component';\nimport { FormaIngressoDTO } from './../../../../models/vestibular/formaIngressoDTO';\nimport { TIPO_FORMA_INGRESSO } from './../../../../config/tipo-forma-ingresso.config';\nimport { STATUS } from './../../../../config/status.config';\nimport { CursoService } from './../../../../services/curso/curso.service';\nimport { VestibularCursoDTO } from './../../../../models/vestibular/vestibularCursoDTO';\nimport { FunctionsService } from './../../../../services/common/functions.service';\nimport { PopoverSelecionarCursosVestibularComponent } from '../components/popover-selecionar-cursos-vestibular/popover-selecionar-cursos-vestibular.component';\nimport { PopoverController, IonToggle, IonAccordion, IonInput } from '@ionic/angular';\nimport { CursoDTO } from './../../../../models/curso/cursoDTO';\nimport { ArquivoService } from './../../../../services/arquivo/arquivo.service';\nimport { TIPO_ARQUIVO } from './../../../../config/tipo-arquivo.config';\nimport { DIRETORIO } from './../../../../config/diretorio.config';\nimport { ENTIDADE } from './../../../../config/entidade.config';\nimport { VestibularDTO } from './../../../../models/vestibular/vestibularDTO';\nimport { Component, OnInit, ViewChild } from '@angular/core';\nimport { RangeDTO } from 'src/app/models/vestibular/rangeDTO';\nimport { VestibularService } from 'src/app/services/vestibular/vestibular.service';\nimport { StorageService } from 'src/app/services/storage/storage.service';\nimport { ArquivoDTO } from 'src/app/models/arquivoDTO';\nimport { API_CONFIG } from 'src/app/config/api.config';\nimport { ActivatedRoute } from '@angular/router';\nimport { ConfiguracaoPagamentoService } from 'src/app/services/configuracao-pagamento/configuracao-pagamento.service';\nimport { ConfiguracaoPagamentoDTO } from 'src/app/models/financeiro/configuracaoPagamentoDTO';\nimport { TipoPagamentoService } from 'src/app/services/tipo-pagamento/tipo-pagamento.service';\nimport { TIPO_PAGAMENTO } from 'src/app/config/tipo-pagamento.config';\nimport { VestibularTipoPagamentoDTO } from 'src/app/models/vestibular/vestibularTipoPagamentoDTO';\nimport { ParametroAnaliseDocumentoService } from 'src/app/services/parametro-analise-documento/parametro-analise-documento.service';\nimport { ParametroAnaliseDocumentoDTO } from 'src/app/models/documentacao/parametroAnaliseDocumentoDTO';\nimport { ConfiguracaoDocumentoDTO } from 'src/app/models/documentacao/configuracaoDocumentoDTO';\nimport { TIPO_DOCUMENTACAO } from 'src/app/config/tipo_documentacao';\nimport { DocumentoMatriculaRapidaDTO } from 'src/app/models/vestibular/documentoMatriculaRapidaDTO';\nimport { PopoverSelecionarSubstitutosComponent } from '../components/popover-selecionar-substitutos/popover-selecionar-substitutos.component';\n\n@Component({\n selector: 'app-gc-agendar-extensao',\n templateUrl: './gc-agendar-extensao.page.html',\n styleUrls: ['./gc-agendar-extensao.page.scss'],\n})\nexport class GcAgendarExtensaoPage implements OnInit {\n\n \n canCreateEdit: boolean;\n canRemove: boolean;\n \n vestibular: VestibularDTO = new VestibularDTO();\n\n cursos: CursoDTO[] = [];\n textoCursosSelecionados: string;\n\n cursoExtensao: FormaIngressoDTO = new FormaIngressoDTO();\n\n configuracoesPgto: ConfiguracaoPagamentoDTO[] = [];\n padMatricula: ParametroAnaliseDocumentoDTO;\n\n\n constructor( private arquivoService: ArquivoService \n , private popoverController: PopoverController\n , private functionsService: FunctionsService\n , private cursoService: CursoService\n , private formaIngressoService: FormaIngressoService \n , private inscricaoService: InscricaoService\n , private permissaoAcessoService: PermissaoAcessoService\n , private vestibularService: VestibularService\n , private storageService: StorageService\n , private activatedRoute: ActivatedRoute \n , private configuracaoPagamentoService: ConfiguracaoPagamentoService\n , private tipoPagamentoService: TipoPagamentoService\n , private padService: ParametroAnaliseDocumentoService ) {\n\n \n this.configuracaoPagamentoService.findAll().subscribe({\n next:(resp)=>{\n\n this.configuracoesPgto = resp;\n \n },\n error:(error)=>{\n console.log(error);\n }\n });\n\n //documentos de matricula que serão configurados no benefício de matrícula rápida\n this.padService.findAll().subscribe({\n next:(respPAD)=>{\n\n if(respPAD.length>0){\n this.padMatricula = this.padService.getPadByName(TIPO_DOCUMENTACAO.MATRICULA, respPAD);\n //ordena o array de documentos de acordo com as regras de negócio\n this.sortDocuments();\n }\n \n\n },\n error:(errorPAD)=>{\n console.log(errorPAD);\n }\n });\n\n\n }\n\n\n\n ngOnInit() {\n }\n\n sortDocuments(){\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 this.padMatricula.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 = [];\n arrDocs = arrDocs.concat(arrImpeditivos);\n arrDocs = arrDocs.concat(arrObrigatorios);\n arrDocs = arrDocs.concat(this.padMatricula.configuracoesDocumentos);\n\n this.padMatricula.configuracoesDocumentos = arrDocs;\n }\n\n getMandatoryText(configuracaoDocumento: ConfiguracaoDocumentoDTO): string{\n \n if(configuracaoDocumento.impeditivo){\n if(configuracaoDocumento.obrigatorio){\n return 'Impeditivo e Obrigatório';\n }else{\n return 'Impeditivo';\n }\n }else if(configuracaoDocumento.obrigatorio){\n return 'Obrigatório';\n }else{\n return '';\n } \n\n }\n\n addDocument(event, formaIngresso: FormaIngressoDTO, configuracaoDocumento: ConfiguracaoDocumentoDTO){\n\n if(!formaIngresso.documentosMatriculaRapida){\n formaIngresso.documentosMatriculaRapida = [];\n }\n\n const index = formaIngresso.documentosMatriculaRapida.findIndex(doc => doc.configuracaoDocumento.id === configuracaoDocumento.id);\n \n if(event.target.checked){\n if(index === -1) { // Documento não está na lista, então adicione\n let docMatRapida = new DocumentoMatriculaRapidaDTO();\n docMatRapida.configuracaoDocumento = configuracaoDocumento;\n\n formaIngresso.documentosMatriculaRapida.push(docMatRapida);\n }\n } else {\n if(index !== -1) { // Documento está na lista, então remova\n formaIngresso.documentosMatriculaRapida.splice(index, 1);\n }\n }\n }\n\n\n \n docAdded(formaIngresso: FormaIngressoDTO, configuracaoDocumento: ConfiguracaoDocumentoDTO): boolean{\n \n if(!formaIngresso.documentosMatriculaRapida){\n formaIngresso.documentosMatriculaRapida = [];\n }\n\n const index = formaIngresso.documentosMatriculaRapida.findIndex(doc => doc.configuracaoDocumento.id === configuracaoDocumento.id);\n \n return index>=0;\n }\n\n async openPopoverSelecionarSubstitutos(configuracaoDocumento: ConfiguracaoDocumentoDTO, formaIngresso: FormaIngressoDTO) {\n \n let documentoMatriculaRapidaPrincipal: DocumentoMatriculaRapidaDTO;\n for(var i=0; i{\n\n //console.log('data',data)\n if(data.data){\n //console.log(data.data)\n documentoMatriculaRapidaPrincipal = data.data; \n \n }\n \n });\n }\n\n\n getSubstitutesNames(configuracaoDocumento: ConfiguracaoDocumentoDTO, formaIngresso: FormaIngressoDTO){\n\n let documentoMatriculaRapidaPrincipal: DocumentoMatriculaRapidaDTO;\n for(var i=0; i substituto.configuracaoDocumento.nomeDocumento) || [];\n \n\n if (substitutos.length === 0) {\n return 'Nenhum substituto';\n }\n \n return 'Pode ser substituído por: ' + substitutos.join(', ');\n }\n\n getNomeTipoPagamento(tipo: string): string{\n return this.tipoPagamentoService.getName(tipo);\n }\n\n paymentTypeNotImplemented(tipoPagamento: string): boolean{\n \n if(tipoPagamento!=TIPO_PAGAMENTO.BOLETO && \n tipoPagamento!=TIPO_PAGAMENTO.CREDITO_VISTA && \n tipoPagamento!=TIPO_PAGAMENTO.CHECKOUT_GETNET &&\n tipoPagamento!=TIPO_PAGAMENTO.PIX_QRCODE){\n\n return true; //pq não estão implementados \n }\n\n return false;\n }\n\n disablePaymentType(tipoPagamento: string): boolean{\n\n \n if(tipoPagamento!=TIPO_PAGAMENTO.BOLETO && \n tipoPagamento!=TIPO_PAGAMENTO.CREDITO_VISTA && \n tipoPagamento!=TIPO_PAGAMENTO.CHECKOUT_GETNET &&\n tipoPagamento!=TIPO_PAGAMENTO.PIX_QRCODE){\n\n return true; //pq não estão implementados \n }\n\n\n if(tipoPagamento==TIPO_PAGAMENTO.BOLETO || tipoPagamento==TIPO_PAGAMENTO.CREDITO_VISTA ){\n\n //se checkout getnet estiver obrigatório em todas as agendas então desabilita boleto e crédito\n for(var i=0; i{\n\n for(var i=0; i{\n\n this.cursos = resp;\n \n //se for edição de um vestibular\n this.activatedRoute.queryParams.subscribe(\n param=>{\n \n if(param.id){\n\n this.vestibularService.find(param.id).subscribe({\n next:(respVest)=>{\n this.vestibular = respVest;\n\n this.setTextoCursosSelecionados();\n\n //configura cada forma de ingresso incluída no vestibular\n for(var i=0; i{\n console.log(errorVest);\n this.functionsService.dismissLoading();\n }\n });\n\n }else{ //vestibular novo\n \n this.vestibular = new VestibularDTO();\n \n this.vestibular.formasIngresso = []; \n this.vestibular.formasIngresso.push(this.cursoExtensao);\n \n this.setTextoCursosSelecionados();\n\n this.vestibular.vestibularTiposPagamento = [];\n let cont = 0;\n //add os tipos de pgto definidos como obrigatórios em todas agendas\n for(var i=0; i{\n console.log(errorParam);\n this.functionsService.dismissLoading();\n });\n \n },\n error:(error)=>{\n\n console.log(error);\n this.functionsService.dismissLoading();\n\n }\n });\n \n\n\n \n\n \n }\n\n paymentTypeChecked(tipoPagamento: string): boolean{\n\n for(var i=0; i{\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 uploadEdital(fileLoader: HTMLInputElement){\n\n let that = this;\n\n fileLoader.onchange = function () {\n\n let banner = fileLoader.files[0];\n \n that.arquivoService.upload( banner\n , ENTIDADE.VESTIBULAR\n , that.vestibular.id\n , DIRETORIO.EDITAL\n , TIPO_ARQUIVO.PDF ).subscribe(\n resp=>{\n \n that.vestibular.arquivoEdital = resp.body;\n fileLoader.value = '';\n\n },\n error=>{\n console.log(error);\n }\n ); \n \n }\n\n fileLoader.click();\n\n \n }\n\n\n async openPopoverSelecionarCurso() {\n \n \n const popover = await this.popoverController.create({\n component: PopoverSelecionarCursosVestibularComponent,\n componentProps: {'cursos': this.cursos,\n 'extensao': true,\n 'posGraduacao': false,\n 'graduacao': false,\n 'vestibularCursosSelecionados': this.vestibular.vestibularCursos },\n translucent: false,\n showBackdrop: true,\n backdropDismiss: false,\n //event: event,\n cssClass: 'global-popover', //definido no global.css \n \n });\n\n await popover.present();\n \n await popover.onDidDismiss().then((data)=>{\n\n if(data.data){\n\n if(!this.vestibular.vestibularCursos){\n this.vestibular.vestibularCursos = [];\n }\n\n this.vestibular.vestibularCursos = data.data; \n \n this.setTextoCursosSelecionados();\n\n }\n \n });\n }\n\n\n setTextoCursosSelecionados() {\n\n if(!this.vestibular.vestibularCursos){\n this.vestibular.vestibularCursos = [];\n }\n // Cria um conjunto único de cursos a partir dos cursosSelecionados\n const cursosUnicos = this.vestibular.vestibularCursos.reduce((acc, vcAtual) => {\n\n console.log(acc)\n // Verifica se o curso já está no array de cursos únicos\n if (!acc.some(curso => curso.id === vcAtual.curso.id)) {\n acc.push(vcAtual.curso);\n }\n return acc;\n }, []);\n\n if (cursosUnicos.length === 0) {\n this.textoCursosSelecionados = 'Nenhum curso selecionado';\n } else if (cursosUnicos.length === this.cursos.length) {\n this.textoCursosSelecionados = 'Todos os cursos';\n } else if (cursosUnicos.length < 4) {\n this.textoCursosSelecionados = cursosUnicos.map(curso => {\n const habilitacaoTexto = curso.habilitacao ? `${curso.nome} - ${curso.habilitacao.nome} (${curso.modalidade.nome})` : `${curso.nome} (${curso.modalidade.nome})`;\n return habilitacaoTexto;\n }).join(', ');\n } else {\n const primeirosCursosTexto = cursosUnicos.slice(0, 2).map(curso => {\n const habilitacaoTexto = curso.habilitacao ? `${curso.nome} - ${curso.habilitacao.nome} (${curso.modalidade.nome})` : `${curso.nome} (${curso.modalidade.nome})`;\n return habilitacaoTexto;\n }).join(', ');\n this.textoCursosSelecionados = `${primeirosCursosTexto} e outros ${cursosUnicos.length - 2} cursos`;\n }\n }\n\n\n\n validate(): boolean{\n\n\n if(!this.vestibular.codigoEdital){\n this.functionsService.showAlert( 'Atenção!'\n , 'Informe o Código do Edital.'\n , ['Ok']);\n\n return false; \n\n }\n\n if(!this.vestibular.vestibularCursos || this.vestibular.vestibularCursos.length==0){\n this.functionsService.showAlert( 'Atenção!'\n , 'Inclua ao menos um curso no agendamento.'\n , ['Ok']);\n\n return false; \n }\n\n if(!this.vestibular.formasIngresso || this.vestibular.formasIngresso.length==0){\n this.functionsService.showAlert( 'Atenção!'\n , 'Ative ao menos uma forma de ingresso.'\n , ['Ok']);\n\n return false; \n }\n\n //loop em todas as formas de ingresso adicionadas na agenda\n for(var i=0; i {\n this.functionsService.dismissLoading();\n this.functionsService.showAlert('Sucesso!', 'Agendamento criado com sucesso!', [{\n text: 'Ok',\n handler: () => {\n //this.functionsService.navigate('modulo-gc/gc-listar-vestibulares');\n }\n }]);\n },\n error: (error) => {\n console.log(error);\n this.functionsService.dismissLoading();\n this.functionsService.showErrorAlert('Atenção!', 'Ocorreu um erro ao criar o agendamento.', error, ['Ok']);\n }\n });\n } else {\n // Atualiza o vestibular existente\n this.vestibularService.update(this.vestibular).subscribe({\n next: (resp) => {\n this.functionsService.dismissLoading();\n this.functionsService.showAlert('Sucesso!', 'Agendamento atualizado com sucesso!', [{\n text: 'Ok',\n handler: () => {\n //this.functionsService.navigate('modulo-gc/gc-listar-vestibulares');\n }\n }]);\n },\n error: (error) => {\n console.log(error);\n this.functionsService.dismissLoading();\n this.functionsService.showErrorAlert('Atenção!', 'Ocorreu um erro ao atualizar o agendamento.', error, ['Ok']);\n }\n });\n }\n }\n\n\n\n \n async openPopoverSelecionarData(formaIngresso: FormaIngressoDTO, dataAtualmenteSelecionada: Date, titulo: string, objetivo: string) {\n \n let horaAtualmenteSelecionada: string;\n if(dataAtualmenteSelecionada){\n\n dataAtualmenteSelecionada = new Date(dataAtualmenteSelecionada);\n let hora = dataAtualmenteSelecionada.getHours();\n let min = dataAtualmenteSelecionada.getMinutes();\n\n if(hora<10){\n horaAtualmenteSelecionada = '0' + hora.toString() + ':';\n }else{\n horaAtualmenteSelecionada = hora.toString() + ':';\n }\n\n //complementa com os minutos\n if(min<10){\n horaAtualmenteSelecionada += '0' + min.toString();\n }else{\n horaAtualmenteSelecionada += min.toString();\n }\n\n \n }\n \n const popover = await this.popoverController.create({\n component: PopoverSelecionarDataComponent,\n cssClass: 'popover-calendar',\n translucent: false,\n showBackdrop: true,\n backdropDismiss: false,\n componentProps: { selectedDate: dataAtualmenteSelecionada\n , hour: horaAtualmenteSelecionada\n , hourMandatory: true\n , title: titulo }\n });\n\n \n await popover.present();\n \n await popover.onDidDismiss().then((data)=>{\n\n if(data.data){\n\n \n \n dataAtualmenteSelecionada = data.data;\n\n if(objetivo.toLocaleLowerCase().indexOf('início inscrição')>-1){\n formaIngresso.dataInicioInscricao = new Date(dataAtualmenteSelecionada);\n\n if( formaIngresso.dataFimInscricao && \n new Date(formaIngresso.dataFimInscricao).getTime()<=formaIngresso.dataInicioInscricao.getTime()){\n \n this.functionsService.showAlert( 'Atenção!'\n , 'O início do período de inscrição deve ser anterior ao encerramento do período.'\n , ['Ok']);\n }\n\n }else if(objetivo.toLocaleLowerCase().indexOf('fim inscrição')>-1){\n formaIngresso.dataFimInscricao = new Date(dataAtualmenteSelecionada);\n\n if( formaIngresso.dataInicioInscricao && \n new Date(formaIngresso.dataInicioInscricao).getTime()>=formaIngresso.dataFimInscricao.getTime()){\n \n this.functionsService.showAlert( 'Atenção!'\n , 'O encerramento do período de inscrição deve ser posterior ao início do período.'\n , ['Ok']);\n }\n\n }else if(objetivo.toLocaleLowerCase().indexOf('início entrega documentação para inscrição')>-1){\n formaIngresso.dataInicioEntregaDocumentacaoInscricao = new Date(dataAtualmenteSelecionada);\n \n if( formaIngresso.dataFimEntregaDocumentacaoInscricao && \n new Date(formaIngresso.dataFimEntregaDocumentacaoInscricao).getTime()<=formaIngresso.dataInicioEntregaDocumentacaoInscricao.getTime()){\n \n this.functionsService.showAlert( 'Atenção!'\n , 'O início do período de entrega de documentação para inscrição deve ser anterior ao encerramento do período.'\n , ['Ok']);\n }\n \n }else if(objetivo.toLocaleLowerCase().indexOf('fim entrega documentação para inscrição')>-1){\n formaIngresso.dataFimEntregaDocumentacaoInscricao = new Date(dataAtualmenteSelecionada);\n \n if( formaIngresso.dataInicioEntregaDocumentacaoInscricao && \n new Date(formaIngresso.dataInicioEntregaDocumentacaoInscricao).getTime()>=formaIngresso.dataFimEntregaDocumentacaoInscricao.getTime()){\n \n this.functionsService.showAlert( 'Atenção!'\n , 'O encerramento do período de entrega de documentação para inscrição deve ser posterior ao início período.'\n , ['Ok']);\n \n }\n \n \n }else if(objetivo.toLocaleLowerCase().indexOf('início matrícula')>-1){\n formaIngresso.dataInicioMatricula = new Date(dataAtualmenteSelecionada);\n \n if( formaIngresso.dataFimMatricula && \n new Date(formaIngresso.dataFimMatricula).getTime()<=formaIngresso.dataInicioMatricula.getTime()){\n \n this.functionsService.showAlert( 'Atenção!'\n , 'O início do período de matrícula deve ser anterior ao encerramento do período.'\n , ['Ok']);\n }\n \n }else if(objetivo.toLocaleLowerCase().indexOf('fim matrícula')>-1){\n formaIngresso.dataFimMatricula = new Date(dataAtualmenteSelecionada);\n \n if( formaIngresso.dataInicioMatricula && \n new Date(formaIngresso.dataInicioMatricula).getTime()>=formaIngresso.dataFimMatricula.getTime()){\n \n this.functionsService.showAlert( 'Atenção!'\n , 'O encerramento do período de matrícula deve ser posterior ao início período.'\n , ['Ok']);\n \n }\n \n \n }else if(objetivo.toLocaleLowerCase().indexOf('limite prova online')>-1){\n formaIngresso.dataLimiteProvaSemAgendamento = new Date(dataAtualmenteSelecionada);\n \n }else if(objetivo.toLocaleLowerCase().indexOf('limite curso online')>-1){\n formaIngresso.dataLimiteCursoOnlineMoodle = new Date(dataAtualmenteSelecionada);\n \n }\n \n }\n \n });\n \n \n }\n\n\n async openPopoverSelecionarPeriodo(formaIngresso: FormaIngressoDTO, selectedRanges: RangeDTO[] = []) {\n \n \n let title = 'Calendário';\n\n if(formaIngresso.tipo.nome === TIPO_FORMA_INGRESSO.VESTIBULAR_ONLINE){\n title = 'Agendar Prova Online'\n }else if(formaIngresso.tipo.nome === TIPO_FORMA_INGRESSO.VESTIBULAR_PRESENCIAL){\n title = 'Agendar Prova Presencial'\n }\n \n const popover = await this.popoverController.create({\n component: PopoverSelecionarPeriodoComponent,\n cssClass: 'popover-calendar',\n translucent: false,\n showBackdrop: true,\n backdropDismiss: false,\n componentProps: { selectedRanges: selectedRanges\n , startHour: selectedRanges[0]?.startHour\n , endHour: selectedRanges[0]?.endHour\n , hourMandatory: true\n , vacanciesMandatory: true\n , vacanciesPerDate: selectedRanges[0]?.vacancies\n , title: title }\n });\n\n \n await popover.present();\n \n await popover.onDidDismiss().then((data)=>{\n \n //datas que foram selecionadas no calendário\n let rangesSelecionados: RangeDTO[] = data.data;\n\n for(var i=0; iEscolha uma data posterior a ' + this.functionsService.getDateBrPattern(formaIngresso.dataInicioInscricao)\n , [{\n text: 'Ok',\n handler: () => {\n this.openPopoverSelecionarPeriodo(formaIngresso, rangesSelecionados);\n }\n }]);\n \n return; \n \n }\n }\n\n //não add se for domingo\n if(new Date(prova.dataInicio).getDay()!==0){\n\n \n let existe = false;\n //não inserir novamente data que já está agendada\n for(var indexProva=0; indexProva0){\n const lastDateRange = new Date(range.dates[ range.dates.length-1 ]); \n const nextDate = new Date(formaIngresso.provas[i].dataInicio); //próxima data a ser inserida \n \n let beforeNextDay = nextDate;\n beforeNextDay.setDate(nextDate.getDate()-1); //um dia antes da próxima data a ser inserida\n \n //se a próxima data não for 1 dia após a última data então é um novo range \n if(lastDateRange && (lastDateRange.getTime() !== beforeNextDay.getTime())){\n \n //armazena o último range montado\n ranges.push(range);\n //inicia um novo range\n range = new RangeDTO();\n range.dates = [];\n }\n }\n \n //inicializa o range\n if(!range.start){\n range.start = new Date(formaIngresso.provas[i].dataInicio);\n range.startHour = formaIngresso.provas[i].horaInicio;\n range.endHour = formaIngresso.provas[i].horaFim;\n range.vacancies = formaIngresso.provas[i].totalVagas;\n \n }\n \n //depois de inicializado só atualiza a data fim \n range.end = new Date(formaIngresso.provas[i].dataFim);\n range.dates.push( formaIngresso.provas[i].dataInicio );\n \n\n }\n \n i++;\n }\n\n //add o último range trabalhado\n ranges.push(range);\n\n return ranges;\n }\n\n\n\n removeProva(formaIngresso: any, indexProva: number){\n\n this.functionsService.presentLoading('');\n\n //se não tiver salvo no bd ainda, então não precisa validar se já tem inscritos\n if(!formaIngresso.provas[indexProva].id){\n formaIngresso.provas.splice(indexProva,1);\n this.functionsService.dismissLoading();\n return;\n }\n\n\n let dataInicioProva: Date = new Date(formaIngresso.provas[indexProva].dataInicio);\n const horaInicioProva: string = formaIngresso.provas[indexProva].horaInicio.substring(0,2);\n const minInicioProva: string = formaIngresso.provas[indexProva].horaInicio.substring(3,5);\n \n let dataFimProva: Date = new Date(formaIngresso.provas[indexProva].dataFim);\n const horaFimProva: string = formaIngresso.provas[indexProva].horaFim.substring(0,2);\n const minFimProva: string = formaIngresso.provas[indexProva].horaFim.substring(3,5);\n \n dataInicioProva.setHours(parseInt(horaInicioProva), parseInt(minInicioProva), 0);\n dataFimProva.setHours(parseInt(horaFimProva), parseInt(minFimProva), 0);\n\n\n this.inscricaoService.countByDataProva(dataInicioProva,dataFimProva, formaIngresso.id).subscribe(\n resp=>{\n\n //se tiver alguma inscrição agendada na data e hora desta prova então ela não pode ser removida\n if(resp>0){\n \n this.functionsService.dismissLoading();\n \n let msg = 'Não é possível excluir este agendamento, pois há ' + resp + ' inscrições agendadas nesta data.';\n if(resp===1){\n msg = 'Não é possível excluir este agendamento, pois há 1 inscrição agendada nesta data.';\n } \n this.functionsService.showAlert('Atenção!', msg, ['Ok']);\n }else{\n //remove a data\n formaIngresso.provas.splice(indexProva,1);\n this.functionsService.dismissLoading();\n }\n \n },\n error=>{\n this.functionsService.dismissLoading();\n }\n );\n \n \n\n }\n\n\n\n setTaxaInscricao(formaIngresso: FormaIngressoDTO, valor: any){\n valor = valor.replace('R$','').replace('.','').replace(',','.').valueOf();\n \n if(Number.parseFloat(valor)>99999.99){\n this.functionsService.showAlert('Atenção!','Valor inválido.
Máximo: R$ 99.999,99',['Ok']);\n formaIngresso.valorTaxaInscricao = 0;\n return;\n }\n \n formaIngresso.valorTaxaInscricao = Number.parseFloat(valor);\n \n }\n\n getCurrencyValue(valor: any): string{\n return this.functionsService.getCurrencyValue(valor); \n }\n\n\n async removeEdital(){\n \n const confirma = await this.functionsService.showConfirmAlert( \"Confirma?\"\n , \"Confirma a exclusão do edital?\"\n , \"Confirmar\"\n , \"Cancelar\" );\n\n\n if(!confirma){\n return;\n }\n\n this.functionsService.presentLoading();\n\n const idArquivoEdital = this.vestibular.arquivoEdital.id;\n\n this.vestibular.arquivoEdital = null;\n //remove o edital para quebrar a constraint\n this.vestibularService.update(this.vestibular).subscribe({\n next:(resp)=>{\n\n //remove o arquivo do edital\n this.arquivoService.delete(idArquivoEdital).subscribe(\n resp=>{\n this.vestibular.arquivoEdital = null;\n this.functionsService.dismissLoading();\n },\n error=>{\n console.log(error);\n this.functionsService.dismissLoading();\n }\n );\n\n },\n error:(error)=>{\n console.log(error);\n this.functionsService.dismissLoading();\n }\n });\n \n \n }\n\n open(arquivo: ArquivoDTO, newWindow: boolean = true){\n\n const publicURL = this.getFilePublicURL(arquivo.path, arquivo.nome);\n\n this.functionsService.goToPath(publicURL,newWindow);\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 outOfDate(prova: ProvaDTO, formaIngresso: FormaIngressoDTO): boolean{\n\n //prova começa antes do período de inscrição?\n if(new Date(prova.dataInicio).getTime() < new Date(formaIngresso.dataInicioInscricao).getTime() ){\n return true;\n }\n\n return false;\n }\n\n\n\n validateMinDaysInAdvance(input: IonInput){\n\n //a antecedência mínima deve ser de 1 dia\n\n let valor;\n try{\n \n valor = parseInt(input.value.toString());\n \n if(valor<1){\n this.functionsService.showAlert( 'Atenção!'\n , 'A antecedência mínima possível é de 1 dia!
Isso equivale a permitir aos candidatos se inscreverem em determinada prova até no máximo as 23:59h do dia anterior à sua realização.'\n , ['Ok']);\n input.value = 1; \n }\n\n }catch(err){\n\n }\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 { GcAgendarExtensaoPageRoutingModule } from './gc-agendar-extensao-routing.module';\n\nimport { GcAgendarExtensaoPage } from './gc-agendar-extensao.page';\nimport { QuillModule } from 'ngx-quill';\nimport { BrMaskerModule } from 'br-mask';\nimport { ComponentsModule } from 'src/app/components/components.module';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n IonicModule,\n ComponentsModule,\n BrMaskerModule,\n QuillModule,\n GcAgendarExtensaoPageRoutingModule\n ],\n declarations: [GcAgendarExtensaoPage]\n})\nexport class GcAgendarExtensaoPageModule {}\n"],"sourceRoot":"webpack:///","file":"1159.26877a8be9b6fe8f.js"}