\n
\n \n `})\nexport class BaseListFilterPrestacaoContaComponent extends BaseComponent {\n @Input() filtro: FormGroup;\n @Input() gestorCRC;\n @Input() listagem: DatatableComponent;\n listaExercicios: any[] = [];\n listaSituacoes: any[] = [\n { id: Situacoes.Iniciado, nome: \"Iniciado\" },\n { id: Situacoes['Em Análise'], nome: \"Em Análise\" },\n { id: Situacoes.Concluído, nome: \"Concluído\" }];\n listaLotacoes: any[] = [];\n\n ngOnInit(): void {\n this.listaExercicios = [];\n this.limpar();\n this.service.ListarTodosGenerics('prestacaoConta/obterExercicios').subscribe(exercicios => {\n this.listaExercicios = exercicios\n });\n this.service.ListarTodos('uf').subscribe(\n data => this.listaLotacoes = data\n );\n }\n\n consultar(event: any) {\n if (this.filtro.valid) {\n const params = new URLSearchParams();\n const formValue = this.filtro.value;\n this.listagem.pDatatableComponent.first = 0;\n\n for (const key in formValue) {\n params.append(key, formValue[key]);\n }\n sessionStorage.setItem('funcionalidade', this.router.url.split('/')[2]);\n sessionStorage.setItem('filtro', params.toString());\n this.listagem.refresh();\n }\n }\n\n limpar() {\n this.filtro.reset();\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/base-list-filter-prestacao-conta.component.ts","import { Component, Input } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { DatatableComponent } from '@basis/angular-components';\nimport { BaseComponent } from './base.component';\nimport { Situacoes, MotivoJustificativa } from 'app/entity/enumeraveis';\nimport { SelectItem } from 'primeng/primeng';\nimport { environment } from '../../environments/environment';\n\n@Component({\n selector: 'base-list-filter',\n template: `\n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n `})\nexport class BaseListFilterComponent extends BaseComponent {\n @Input() btnEnabled : boolean = true;\n @Input() labelPersonalizada : string = \"Digite aqui sua consulta\";\n @Input() disabledBtnAdicionar : boolean;\n @Input() btnLabel : string = \"Adicionar\";\n @Input() ehNumero : boolean = false;\n @Input() filtro : FormGroup;\n @Input() listagem : DatatableComponent;\n @Input() isGerenciamentoJustificativas : boolean = false;\n @Input() listaMotivosJustificativas: any[] = [];\n @Input() listaSituacao: SelectItem[] = [];\n currentUrl: string = this.router.url;\n baseUrl = `${environment.apiEndpoint}`;\n\n init() {\n if (this.isGerenciamentoJustificativas) {\n this.loadListAsEnum(this.listaSituacao, Situacoes);\n this.loadListAsEnum(this.listaMotivosJustificativas, MotivoJustificativa);\n }\n }\n\n consultar(event){\n const params = new URLSearchParams();\n const formValue = this.filtro.value;\n this.listagem.pDatatableComponent.first = 0;\n\n for (const key in formValue) {\n if(formValue[key] !== null)\n params.append(key, formValue[key]);\n }\n if(this.router.url.split('/')[2] == 'curso-prestacao-conta' || this.router.url.split('/')[2] == 'evento-prestacao-conta'){\n sessionStorage.setItem('turma_edicao',this.router.url.split('/')[2]);\n sessionStorage.setItem('filtro_turma_edicao',params.toString());\n }else{\n sessionStorage.setItem('funcionalidade',this.router.url.split('/')[2]);\n sessionStorage.setItem('filtro',params.toString());\n }\n this.listagem.url = this.addNecessaryParams(params, this.listagem.url);\n this.listagem.refresh();\n }\n\n addNecessaryParams(filter: any = null, url: string ): string {\n try {\n const query = sessionStorage.getItem('filtro');\n const lotacao = localStorage.getItem('lotacao') || '';\n const params = new URLSearchParams();\n \n const filtroAtualizado = { ...filter, id_lotacao: lotacao };\n this.addParams(params, filtroAtualizado);\n \n if (query) {\n const parametrosQuery = this.obterParametros(query);\n parametrosQuery.id_lotacao = lotacao;\n this.addParams(params, parametrosQuery);\n }\n \n return `${url}/?${params.toString()}`;\n } catch (error) {\n console.error('Error generating URL:', error);\n return '';\n }\n }\n \n private addParams(params: URLSearchParams, filter: any): void {\n Object.keys(filter).forEach(key => params.set(key, filter[key]));\n }\n \n obterParametros(query: string): any {\n try {\n const parametros = query.split('&')\n .map(str => {\n const [key, value] = str.split('=');\n return { [key]: decodeURIComponent(value) };\n })\n .reduce((prev, curr) => ({ ...prev, ...curr }), {});\n \n return this.processarParametros(parametros);\n \n } catch (error) {\n console.error('Error processing query parameters:', error);\n return {};\n }\n }\n \n private processarParametros(parametros: any): any {\n Object.keys(parametros).forEach(key => {\n let valor = parametros[key];\n \n if (valor.indexOf('%2C') !== -1) {\n parametros[key] = valor.split('%2C');\n return;\n }\n \n valor = valor.replace('%2F', '/').split('+').join(' ');\n parametros[key] = valor === 'null' ? null : valor;\n \n if (key === 'exercicios' || key === 'situacoes') {\n parametros[key] = Array.isArray(parametros[key]) ? parametros[key].map(Number) : [Number(parametros[key])];\n }\n });\n return parametros;\n }\n\n adicionar(){\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['./cadastrar'], { relativeTo: this.activatedRoute });\n }\n\n limpar() {\n this.filtro.reset();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/base-list-filter.component.ts","import { Component, OnInit, ViewChild, EventEmitter, Output } from '@angular/core';\nimport { FormGroup, Validators } from '@angular/forms';\nimport { DatatableClickEvent, DatatableComponent } from '@basis/angular-components';\nimport { URLSearchParams } from '@angular/http';\nimport { environment } from '../../environments/environment';\nimport { Situacoes } from '../entity/enumeraveis';\nimport { BaseComponent } from './base.component';\nimport { HomologacaoCurso } from '../entity/homologacao-curso.model';\nimport { HomologacaoCapacitadora } from 'app/entity/homologacao-capacitadora.model';\nimport { HomologacaoEvento } from '../entity/homologacao-evento.model';\nimport { HomologacaoDocencia } from '../entity/homologacao-docencia.model';\nimport * as FileSaver from 'file-saver';\nimport { HomologacaoBanca } from '../entity/homologacao-banca.model';\nimport { HomologacaoCursoExterior } from '../entity/homologacao-curso-exterior.model';\nimport { HomologacaoComissao } from '../entity/homologacao-comissao.model';\nimport { HomologacaoProducaoIntelectual } from '../entity/homologacao-producao-intelectual.model';\nimport { HomologacaoPosGraduacao } from '../entity/homologacao-pos-graduacao.model';\nimport { Homologacao } from 'app/entity/homologacao';\n\n@Component({ template: '' })\nexport class BaseListComponent extends BaseComponent implements OnInit {\n filtro: FormGroup;\n @ViewChild('listagem') listagem: DatatableComponent;\n homologacao_capacitadora: HomologacaoCapacitadora = new HomologacaoCapacitadora;\n homologacao_atividade: any;\n displayAlterarMembroComissao = false;\n homologacao: Homologacao = new Homologacao;\n alterar_membro = this.formBuilder.group({\n id_usuario_receptor: [null, [Validators.required]],\n id: [null]\n });\n improcedente = this.formBuilder.group({\n descricao: [null, [Validators.required]],\n id: [null]\n });\n listaMembrosComissao: any[] = [];\n\n baseUrl = `${environment.apiEndpoint}`;\n displayImprocedente = false;\n codigoImprocedente: string;\n tituloImprocedente: string;\n atividadeImprocedente: any;\n dataDia: Date = new Date();\n linhaSelecionada: any;\n eventRecurso: DatatableClickEvent;\n modalRecurso = false;\n hoje: Date = new Date();\n dataPrazo: Date;\n disableButton: boolean = true;\n ehAberto: boolean = true;\n emptyMessage: string = \"Nenhum registro encontrado.\";\n nullMessage: string = \"Preencha um dos campos acima para consultar.\";\n eventLGPD: DatatableClickEvent;\n modalTermoAceiteLGPD = false;\n\n url(route: string, appendController: boolean = true, filter: any = null): string {\n const query = sessionStorage.getItem('filtro');\n let parametros;\n const params: URLSearchParams = new URLSearchParams();\n\n filter = Object.assign({}, filter, { id_lotacao: localStorage.getItem('lotacao') ? localStorage.getItem('lotacao') : '' });\n if (filter != null) {\n Object.keys(filter).map(k => params.set(k, filter[k]));\n }\n\n if (query) {\n parametros = this.obterParametros(query);\n const id_lotacao = localStorage.getItem('lotacao')\n parametros = { ...parametros, id_lotacao };\n Object.keys(parametros).map(k => params.set(k, parametros[k]));\n }\n\n return appendController ? `${this.baseUrl}/${this.controllerName}/${route}?${params.toString()}` : `${this.baseUrl}/${route}?${params.toString()}`;\n }\n\n ngOnInit() {\n this.listagem.pDatatableComponent.onHeaderCheckboxToggle.subscribe(x => {\n this.linhaSelecionada = x.checked ? undefined : this.linhaSelecionada;\n this.listagem.disableView = x.checked;\n this.listagem.extraButtons.forEach((button) => {\n button.disabled = button.name !== 'julgamento_lote' ? x.checked : button.disabled;\n })\n });\n\n if (this.filtro) {\n this.linhaSelecionada = undefined;\n this.activatedRoute.data.subscribe(data => {\n if (data && Object.keys(data).length > 0) {\n this.filtro.patchValue(data);\n }\n });\n this.activatedRoute.params.subscribe(param => {\n if (param && Object.keys(param).length > 0) {\n this.filtro.patchValue(param);\n }\n });\n }\n\n if (this.listagem) {\n // this.listagem.extraParams = { emptyMessage: 'Nenhum registro encontrado.' };\n this.listagem.pDatatableComponent.headerCheckboxToggleAllPages = true;\n }\n\n this.init();\n\n }\n\n excluirRegistro(registroId) {\n this.confirmacao.confirm({\n header: 'Confirmação',\n message: 'Deseja realmente remover este registro?',\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Deletar(this.controllerName, registroId).subscribe(\n () => {\n this.listagem.refresh(this.filtro);\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgSucess('Registro excluído com sucesso.');\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`Houve um erro ao excluir o registro. ${err._body}`)\n }\n );\n }\n });\n }\n\n tratarExclusaoTurma(turma: any) {\n\n const listaCondicoes = [\n { condicao: this.listagem.value.length === 1, msg: 'É necessário ao menos uma turma no curso' },\n { condicao: turma.concluido, msg: 'Não é possível excluir turma com situação concluída' },\n { condicao: turma.em_execucao, msg: 'Não é possível excluir uma turma em execução' },\n {\n condicao: !this.ehGestorEpc && turma.aguardando,\n msg: 'É necessário perfil de Gestor CFC ou Gestor CRC para excluir turmas nesta situação'\n },\n {\n condicao: !turma.aguardando && !turma.editar_remover,\n msg: 'Não é possível excluir a turma faltando menos de 5 dias para o seu início'\n },\n ];\n\n const alerta = listaCondicoes.find(x => x.condicao);\n return alerta ? this.showMsgWarn(alerta.msg) : this.excluirRegistro(turma.id);\n }\n\n\n cancelarMembroComissao() {\n this.displayAlterarMembroComissao = false;\n }\n\n alterarMembroComissao() {\n if (this.alterar_membro.valid) {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.homologacao.id = this.alterar_membro.get('id').value;\n this.homologacao.id_usuario_receptor = this.alterar_membro.get('id_usuario_receptor').value;\n this.service.Atualizar('homologacao/alterar-membro-comissao', this.homologacao).subscribe(() => {\n this.displayAlterarMembroComissao = false;\n this.alterar_membro.reset();\n this.listagem.refresh();\n this.observableUtilPanelDoc.setBlockedPanel(false);\n }, () => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n }, () => this.observableUtilPanelDoc.setBlockedPanel(false));\n } else {\n this.touchAll(this.alterar_membro);\n }\n }\n\n improcedenteEnviar() {\n if (this.improcedente.valid) {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Adicionar(`${this.controllerName}/improcedente`, this.improcedente.value).subscribe(() => {\n this.displayImprocedente = false;\n this.improcedente.reset();\n this.codigoImprocedente = '';\n this.tituloImprocedente = '';\n this.listagem.refresh();\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgSucess('Registro rejeitado como improcedente com sucesso')\n },\n () => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError('Ocorreu um erro inesperado!}')\n\n })\n } else {\n this.touchAll(this.improcedente);\n }\n }\n\n cancelarImprocedente() {\n this.displayImprocedente = false;\n this.improcedente.reset();\n this.codigoImprocedente = '';\n this.tituloImprocedente = '';\n }\n\n carregarEstadoPaginacao() {\n const pagina = sessionStorage.getItem('pagina');\n\n if (pagina != null) {\n this.listagem.pDatatableComponent.first = Number(pagina);\n }\n }\n\n carregarEstadoFiltro() {\n let query, parametros;\n if (sessionStorage.getItem('turma_edicao') != null) {\n sessionStorage.removeItem('turma_edicao');\n sessionStorage.removeItem('filtro_turma_edicao');\n }\n\n query = sessionStorage.getItem('filtro');\n if (sessionStorage.getItem('funcionalidade') == this.router.url.split('/')[2] && query != null) {\n parametros = query.split('&')\n .map(str => {\n const [key, value] = str.split('=');\n return { [key]: decodeURI(value) };\n })\n .reduce((prev, curr) => Object.assign(prev, curr));\n Object.keys(parametros).forEach(key => {\n parametros[key] = parametros[key].split('%2C').length > 1 ? parametros[key].split('%2C') : parametros[key];\n if (!Array.isArray(parametros[key])) {\n parametros[key] = parametros[key].split('+').length > 1 ? this.concatStringFiltro(parametros[key].split('+')) : parametros[key];\n parametros[key] = parametros[key].replace('%2F', '/');\n }\n parametros[key] = parametros[key] == 'null' ? null : parametros[key];\n\n if (key == \"exercicios\" || key == \"situacoes\") {\n let params = parametros[key];\n parametros[key] = [] as number[];\n\n if (Array.isArray(params)) {\n params.forEach(element => {\n parametros[key].push(element);\n });\n }\n else {\n parametros[key].push(params);\n }\n }\n });\n\n setTimeout(() => this.filtro.patchValue(parametros), 2000);\n }\n }\n\n carregarEstado() {\n if (sessionStorage.getItem('funcionalidade') == this.router.url.split('/')[2]) {\n this.carregarEstadoPaginacao();\n this.carregarEstadoFiltro();\n\n } else {\n sessionStorage.removeItem('funcionalidade');\n sessionStorage.removeItem('filtro');\n sessionStorage.removeItem('pagina');\n }\n }\n\n tratarTurmaPrestarConta(obj, turma_status_aguardando) {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n let permitePrazo: any;\n const dataFimString = obj.data_inicio_fim.split('-')[1];\n const dataFim = this.gerarData(dataFimString);\n\n this.service.obterPrazoPrestacao(dataFim.getFullYear()).subscribe((prazo: string) => {\n this.dataPrazo = new Date(prazo);\n })\n\n this.service.Obter(\"turma/verificarPrazoPorId/\", obj['id']).subscribe(\n item => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n\n permitePrazo = item;\n\n if (item.prazoCapacitadoraAcabou) {\n this.showMsgWarn(`O Prazo para prestação de contas de turmas de ${item.exercicio} está finalizado`);\n }\n else {\n if (Number(obj.id_situacao) !== 12) { return this.showMsgWarn('Para prestar conta, o Curso deve estar deferido.'); }\n if (!turma_status_aguardando) { return this.showMsgWarn('Não é possível Prestar Conta.'); }\n const dataFimString = obj.data_inicio_fim.split('-')[1];\n const dataFim = this.gerarData(dataFimString);\n const anoTurma = dataFim.getFullYear();\n\n if (this.ehCapacitadora && new Date(this.hoje.setHours(0, 0, 0, 0)) > this.dataPrazo) {\n return this.showMsgWarn(`A data limite para prestar contas das turmas de ${anoTurma} é ${this.dataPrazo.toLocaleDateString()}`);\n }\n else if (this.ehCapacitadora && (anoTurma != 2019 && anoTurma != 2020) && permitePrazo.prazoCapacitadoraAcabou) {\n return this.showMsgWarn(`A data limite para prestar contas das turmas de ${anoTurma} é ${this.dataPrazo.toLocaleDateString()}`);\n }\n\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/turma/prestar-conta', obj['id']], { relativeTo: this.activatedRoute });\n\n }\n }, err => {\n super.showMsg('error', 'Mensagem de Erro', `Houve um erro ao verificar o prazo do registro.
${err._body}`)\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n\n }\n\n tratarEdicaoPrestarConta(obj, edicaoStatusAguardando) {\n let permitePrazo: any;\n let exercicio = Number(obj.data_fim.substring(0, 4));\n\n this.service.obterPrazoPrestacao(exercicio).subscribe(\n (prazo: string) => {\n this.dataPrazo = new Date(prazo);\n }\n );\n\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Obter(\"edicaoEvento/verificarPrazoPorId/\", obj['id']).subscribe(\n item => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n permitePrazo = item;\n if (item.prazoCapacitadoraAcabou) {\n this.showMsgWarn(`o prazo para envio das atividades do exercício de ${item.exercicio} está finalizado.`);\n }\n else {\n if (Number(obj.evento.id_situacao) !== 12) { return this.showMsgWarn('Para prestar conta, o Evento deve estar deferido.'); }\n if (!edicaoStatusAguardando) { return this.showMsgWarn('Não é possível Prestar Conta.'); }\n const dataFimString = obj.data_inicio_fim.split('-')[1];\n const dataFim = this.gerarData(dataFimString);\n const anoEdicao = dataFim.getFullYear();\n\n if (this.ehCapacitadora && new Date(this.hoje.setHours(0, 0, 0, 0)) > this.dataPrazo) {\n return this.showMsgWarn(`A data limite para prestar contas das edições de ${anoEdicao} é ${this.dataPrazo.toLocaleDateString()}`);\n }\n else if (this.ehCapacitadora && (anoEdicao != 2019 && anoEdicao != 2020) && permitePrazo.prazoCapacitadoraAcabou) {\n return this.showMsgWarn(`A data limite para prestar contas das edições de ${anoEdicao} é ${this.dataPrazo.toLocaleDateString()}`);\n }\n\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n\n this.service.Obter(\"edicaoEvento/VerificaTermoAceiteLGPD\", obj.id).subscribe(data => {\n if (!data) {\n this.modalTermoAceiteLGPD = true;\n this.eventLGPD = new DatatableClickEvent(\"edicao_prestar_conta\", obj);\n return;\n }\n else {\n return Number(obj.id_tipo_certificacao) === 2 ?\n this.router.navigate(['/atividades/edicao-evento/prestar-conta', obj['id']], { relativeTo: this.activatedRoute })\n : this.router.navigate(['/atividades/edicao-evento/prestar-conta-individual', obj['id']], { relativeTo: this.activatedRoute });\n }\n });\n }\n }, err => {\n super.showMsg('error', 'Mensagem de Erro', `Houve um erro ao verificar o prazo do registro.
${err._body}`)\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n }\n\n lotacao(codigo: string, situacao: number) {\n const estado = codigo.split('-')[0];\n return situacao == 10 || situacao == 11 || estado == 'CF' ? 'CFC' : 'CRC-' + estado;\n }\n\n onRowSelected(event: any) {\n if (event.length === 0) {\n this.linhaSelecionada = undefined;\n this.listagem.disableView = false;\n } else if (event.length === 1) {\n this.linhaSelecionada = event[0];\n this.listagem.disableView = false;\n } else if (event.length > 1) {\n this.linhaSelecionada = undefined;\n this.listagem.disableView = true;\n }\n }\n\n onButtonClick(event: DatatableClickEvent) {\n\n if (!event.selection || event.selection.length === 0) {\n this.showMsgWarn('Antes de executar esta ação selecione um registro na tabela.');\n return;\n }\n\n if (event.selection.length > 1 && event.button !== 'julgamento_lote') {\n this.showMsgWarn('Não é possível executar esta ação com mais de um registro selecionado.');\n return;\n }\n\n let obj;\n let situacao;\n let listSituacao = [];\n let codigo;\n let nome;\n let atividade;\n let turma_status_aguardando;\n let edicao_status_aguardando;\n let flg_termoLGPD;\n\n obj = event.selection;\n\n if (event.selection && event.button !== 'julgamento_lote') {\n\n if (event.selection.length === 1) {\n obj = event.selection[0];\n } else {\n obj = event.selection;\n }\n\n Object.keys(obj).forEach(x => {\n if (x === 'norma') {\n situacao = obj.norma.situacao == null ? null : obj.norma.situacao.id;\n } else if (x === 'situacao') {\n situacao = obj.situacao == null ? null : obj.situacao.id;\n } else if (x == 'curso') {\n situacao = obj.curso.situacao == null ? null : obj.curso.situacao.id;\n codigo = obj.curso.codigo == null ? null : obj.curso.codigo;\n nome = obj.curso.titulo_original == null ? null : obj.curso.titulo_original;\n atividade = 'Curso';\n } else if (x == 'evento') {\n situacao = obj.evento.situacao == null ? null : obj.evento.situacao.id;\n codigo = obj.evento.codigo == null ? null : obj.evento.codigo;\n nome = obj.evento.titulo == null ? null : obj.evento.titulo;\n atividade = 'Evento';\n } else if (x == 'docencia') {\n situacao = obj.docencia.situacao == null ? null : obj.docencia.situacao.id;\n codigo = obj.docencia.codigo == null ? null : obj.docencia.codigo;\n nome = obj.docencia.titulo == null ? null : obj.docencia.titulo;\n atividade = 'Docência';\n } else if (x == 'capacitadora' && obj.capacitadora != null) {\n situacao = obj.capacitadora == null ? null : obj.capacitadora.id_situacao;\n codigo = obj.capacitadora.codigo == null ? null : obj.capacitadora.codigo;\n nome = obj.capacitadora.nome == null ? null : obj.capacitadora.nome;\n atividade = 'Capacitadora';\n } else if (x == 'banca') {\n situacao = obj.banca.situacao.id == null ? null : obj.banca.situacao.id;\n codigo = obj.banca.codigo == null ? null : obj.banca.codigo;\n nome = obj.banca.titulo == null ? null : obj.banca.titulo;\n atividade = 'Banca';\n } else if (x == 'producao_intelectual') {\n situacao = obj.producao_intelectual.situacao.id == null ? null : obj.producao_intelectual.situacao.id;\n codigo = obj.producao_intelectual.codigo == null ? null : obj.producao_intelectual.codigo;\n nome = obj.producao_intelectual.titulo == null ? null : obj.producao_intelectual.titulo;\n atividade = 'Produção Intelectual';\n } else if (x == 'pos_graduacao') {\n situacao = obj.pos_graduacao.situacao.id == null ? null : obj.pos_graduacao.situacao.id;\n codigo = obj.pos_graduacao.codigo == null ? null : obj.pos_graduacao.codigo;\n nome = obj.pos_graduacao.titulo == null ? null : obj.pos_graduacao.titulo;\n atividade = 'Pós Graduação';\n } else if (x == 'curso_exterior') {\n situacao = obj.curso_exterior.situacao.id == null ? null : obj.curso_exterior.situacao.id;\n codigo = obj.curso_exterior.codigo == null ? null : obj.curso_exterior.codigo;\n nome = obj.curso_exterior.titulo == null ? null : obj.curso_exterior.titulo;\n atividade = 'Curso Exterior';\n } else if (x == 'comissao') {\n situacao = obj.comissao.situacao.id == null ? null : obj.comissao.situacao.id;\n codigo = obj.comissao.codigo == null ? null : obj.comissao.codigo;\n nome = obj.comissao.titulo == null ? null : obj.comissao.titulo;\n atividade = 'Comissão';\n } else if (x == 'id_situacao') {\n situacao = obj.id_situacao == null ? null : obj.id_situacao;\n }\n });\n Object.keys(obj).forEach(x => {\n if (x === 'aguardando') {\n turma_status_aguardando = obj.aguardando == true ? true : false;\n }\n if (x === 'aguardando_evento') {\n edicao_status_aguardando = obj.aguardando_evento == true ? true : false;\n }\n });\n } else if (Array.isArray(event.selection)) {\n\n obj = event.selection;\n const tiposDeAtividades = ['curso', 'evento', 'docencia', 'capacitadora', 'banca',\n 'producao_intelectual', 'pos_graduacao', 'curso_exterior', 'comissao'];\n\n obj.forEach(objetoPercorrido => {\n\n const propriedadesFiltradas = Object.keys(objetoPercorrido)\n .filter(prop => tiposDeAtividades.some(tipoAtividade => tipoAtividade === prop));\n\n propriedadesFiltradas.forEach((tipoAtividade: string) => {\n if (tipoAtividade == 'curso') {\n listSituacao.push(objetoPercorrido.curso.id_situacao);\n return;\n } else if (tipoAtividade == 'evento') {\n listSituacao.push(objetoPercorrido.evento.id_situacao);\n return;\n } else if (tipoAtividade == 'docencia') {\n listSituacao.push(objetoPercorrido.docencia.id_situacao);\n return;\n } else if (tipoAtividade == 'capacitadora') {\n listSituacao.push(objetoPercorrido.capacitadora.id_situacao);\n return;\n } else if (tipoAtividade == 'banca') {\n listSituacao.push(objetoPercorrido.banca.situacao.id);\n return;\n } else if (tipoAtividade == 'producao_intelectual') {\n listSituacao.push(objetoPercorrido.producao_intelectual.situacao.id);\n return;\n } else if (tipoAtividade == 'pos_graduacao') {\n listSituacao.push(objetoPercorrido.pos_graduacao.situacao.id);\n return;\n } else if (tipoAtividade == 'curso_exterior') {\n listSituacao.push(objetoPercorrido.curso_exterior.situacao.id);\n return;\n } else if (tipoAtividade == 'comissao') {\n listSituacao.push(objetoPercorrido.comissao.situacao.id);\n return;\n }\n });\n\n });\n\n listSituacao = listSituacao.filter((x, i) => listSituacao.indexOf(x) === i);\n }\n\n // TODO Remover\n switch (event.button) {\n case 'julgar':\n let isComissao = this.perfisLotado.filter(y => y.nome.toLowerCase() == 'comissão cfc').length > 0\n let isGestor = this.perfisLotado.filter(y => y.nome.toLowerCase() == 'gestor cfc').length > 0\n\n if (isComissao && !isGestor\n && situacao != Situacoes['Em análise no CFC - Comissão']\n && situacao != Situacoes['Em análise no CRC - Comissão']\n && situacao != Situacoes['Aguardando análise no CFC - Comissão']\n && situacao != Situacoes['Aguardando análise no CRC - Comissão']) {\n this.showMsgWarn('Não é possível julgar, pois esse registro não está para a comissão')\n }\n else if (situacao == null) {\n this.showMsgWarn('Situação não mapeada para ação de homologação! Favor entrar em contato com o CFC!');\n }\n else if (situacao == 12) {\n this.showMsgWarn('Não é possível julgar, pois o registro selecionado se encontra Deferido.');\n } else if (situacao == 3) {\n this.showMsgWarn('Antes do julgamento, é necessario receber a documentação.');\n } else if (situacao == 13 || situacao == 14 || situacao == 16) {\n this.showMsgWarn('Não é possivel julgar, o mesmo está com o responsável.');\n } else if (situacao == Situacoes['Aguardando Câmara/Plenária - CFC - Deferido'] ||\n situacao == Situacoes['Aguardando Câmara/Plenária - CFC - Indeferido'] ||\n situacao == Situacoes['Aguardando Câmara/Plenária - CRC - Deferido'] ||\n situacao == Situacoes['Aguardando Câmara/Plenária - CRC - Indeferido']) {\n this.showMsgWarn(`Não é possível realizar julgamento em registros com a situação: ${Situacoes[situacao]}`);\n } else if (situacao == 8 || situacao == 9) {\n this.observableUser.getValue.subscribe(\n usuario => {\n const permissaoGestor = this.perfisLotado.filter(y => y.nome.toLowerCase() == 'gestor cfc');\n if (permissaoGestor.length > 0 || usuario.obj.id == obj['id_usuario_receptor']) {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['./homologar', obj['id']], { relativeTo: this.activatedRoute });\n } else {\n this.showMsgWarn('Não é possivel julgar, pois o mesmo não está para seu perfil, o registro está apenas para visualização.');\n }\n },\n error => (error.status == 403) ? window.location.href =\n `${environment.apiEndpoint}/api/Autenticar/login` : null\n );\n } else if (situacao == 4 || situacao == 5) {\n this.observableUser.getValue.subscribe(\n usuario => {\n const permissaoGestor = this.perfisLotado.filter(y => y.nome.toLowerCase() == 'gestor crc');\n if (permissaoGestor.length > 0 || usuario.obj.id == obj['id_usuario_receptor']) {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['./homologar', obj['id']], { relativeTo: this.activatedRoute });\n } else {\n this.showMsgWarn('Não é possivel julgar, pois o mesmo não está para seu perfil, o registro está apenas para visualização.');\n }\n },\n error => (error.status == 403) ? window.location.href =\n `${environment.apiEndpoint}/api/Autenticar/login` : null\n );\n } else {\n this.observableUser.getValue.subscribe(\n usuario => {\n const permissaoGestor = this.perfisLotado.filter(y => y.nome.toLowerCase() == obj['nome_perfil_receptor']).length > 0;\n if (permissaoGestor || usuario.obj.id == obj['id_usuario_receptor']) {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['./homologar', obj['id']], { relativeTo: this.activatedRoute });\n } else {\n this.showMsgWarn('Não é possivel julgar, pois o mesmo não está para seu perfil, o registro está apenas para visualização.');\n }\n },\n error => (error.status == 403) ? window.location.href =\n `${environment.apiEndpoint}/api/Autenticar/login` : null\n );\n }\n break;\n case 'julgamento_lote':\n\n this.observableUtilPanelDoc.setBlockedPanel(true)\n\n const registrosComRascunho = obj.every(x =>\n x.possui_rascunho_de_julgamento_federal ||\n x.possui_rascunho_de_julgamento_regional);\n\n const registrosComSituacaoValida = listSituacao.every(x =>\n x === Situacoes['Aguardando análise no CRC - Comissão'] ||\n x === Situacoes['Em análise no CRC - Comissão'] ||\n x === Situacoes['Aguardando análise no CFC - Comissão'] ||\n x === Situacoes['Em análise no CFC - Comissão']);\n\n if (!(registrosComSituacaoValida && registrosComRascunho)) {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError('Não é possível concluir um Julgamento em Lote com registros que não possuem rascunho salvo ou em situações indevidas.');\n break;\n }\n\n const idsHomologacoes = obj.map(x => x.id);\n\n this.service.ObterTodosPorListaDeIds(this.controllerName, idsHomologacoes).subscribe(\n list => {\n this.confirmacao.confirm({\n header: 'Confirmação',\n message: idsHomologacoes.length > 1 ?\n 'Deseja realmente realizar um Julgamento em Lote com o registro selecionado?' :\n 'Deseja realmente realizar um Julgamento em Lote com os registros selecionados?',\n accept: () => {\n this.service.v2JulgamentoEmLote(this.controllerName, list).subscribe(\n () => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.listagem.pDatatableComponent.selectionChange.emit();\n this.listagem.refresh(this.filtro);\n this.showMsgSucess('Julgamento em Lote realizado com sucesso');\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.listagem.pDatatableComponent.selectionChange.emit();\n this.showMsgError('Houve algum erro no prosseguimento do julgamento em Lote dos registros.')\n }\n );\n },\n reject: () => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n }\n })\n },\n err => {\n this.listagem.pDatatableComponent.selectionChange.emit();\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError('Houve algum erro na busca dos Rascunhos de Julgamento.')\n }\n );\n\n break;\n\n case 'edit':\n if (situacao == 18) {\n this.showMsgWarn('Não é possível editar, pois o registro selecionado se encontra com status de autorizado.');\n return;\n } else if (situacao == 3) {\n this.showMsgWarn('Não é possível editar, pois o registro selecionado foi enviado e está aguardando entrega de documentação física.');\n return;\n } else if (situacao == 4) {\n this.showMsgWarn('Não é possível editar, pois o registro selecionado já está aguardando análise no CRC - Gestor');\n return;\n } else if (situacao == 5) {\n this.showMsgWarn('Não é possível editar, pois o registro selecionado já está em análise no CRC - Gestor.');\n return;\n } else if (situacao == 6) {\n this.showMsgWarn('Não é possível editar, pois o registro selecionado já está aguardando julgamento no CRC - Comissão.');\n return;\n } else if (situacao == 7) {\n this.showMsgWarn('Não é possível editar, pois o registro selecionado já está em julgamento no CRC - Comissão.');\n return;\n } else if (situacao == 8) {\n this.showMsgWarn('Não é possível editar, pois o registro selecionado já está aguardando análise no CFC - Gestor.');\n return;\n } else if (situacao == 9) {\n this.showMsgWarn('Não é possível editar, pois o registro selecionado já está em análise no CFC - Gestor.');\n return;\n } else if (situacao == 10) {\n this.showMsgWarn('Não é possível editar, pois o registro selecionado já está aguardando julgamento no CFC - Comissão.');\n return;\n } else if (situacao == 11) {\n this.showMsgWarn('Não é possível editar, pois o registro selecionado já está em julgamento no CFC - Comissão.');\n return;\n } else if (situacao == 12) {\n this.showMsgWarn('Não é possível editar, pois o registro selecionado já está deferido.');\n return;\n } else if (situacao == 15) {\n this.showMsgWarn('Não é possível editar, pois o registro selecionado já está com processo finalizado.');\n return;\n } else if (situacao == 25) {\n this.showMsgWarn('Não é possível editar, pois o registro selecionado foi rejeitado por improcedência.');\n return;\n } else if (this.controllerName === 'prestacaoConta') {\n this.tratarPrestacaoConta(obj, './editar');\n } else {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['./editar', obj['id']], { relativeTo: this.activatedRoute });\n }\n break;\n case 'autorizar':\n if (situacao == Situacoes.Autorizado) {\n this.showMsgWarn('Não é possível autorizar novamente um registro que já foi autorizado.');\n return;\n } else {\n this.confirmacao.confirm({\n header: 'Confirmação',\n message: 'Deseja realmente autorizar este registro?',\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Atualizar(this.controllerName, { id: obj['id'], id_situacao: Situacoes.Autorizado }, { parcial: 'id_situacao' }).subscribe(\n () => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.listagem.refresh(this.filtro);\n this.showMsgSucess('Registro autorizado com sucesso.');\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`Houve um erro ao autorizar o registro. ${err}`)\n }\n );\n }\n })\n }\n break;\n case 'autorizar_norma':\n if (situacao == Situacoes.Autorizado) {\n this.showMsgWarn('Não é possível autorizar novamente um registro que já foi autorizado.');\n return;\n } else if (!obj['hasNatureza'] || !obj['hasPontuacao'] || !obj['hasRegraGAP']) {\n this.showMsgWarn(`Para autorizar a norma é necessario que a mesma tenha Pontuação, Natureza e regra de Pontuação e grupo de Atividade.`);\n return;\n } else {\n this.confirmacao.confirm({\n header: 'Confirmação',\n message: 'Deseja realmente autorizar este registro?',\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Atualizar(this.controllerName, { id: obj['id'], id_situacao: Situacoes.Autorizado }, { parcial: 'id_situacao' }).subscribe(\n () => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.listagem.refresh(this.filtro);\n this.showMsgSucess('Registro autorizado com sucesso.');\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`Houve um erro ao autorizar o registro. ${err}`)\n }\n );\n }\n })\n }\n break;\n case 'profissionais_pendentes':\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate([`/parametrizacao/prazo-prestacao-conta/profissionais-pendentes`, obj['id']], { relativeTo: this.activatedRoute });\n break;\n case 'exibir_lancamento':\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Obter(`${this.controllerName}/baixarRemessa`, obj['id']).subscribe(\n () => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n const dateInclusao = new Date(obj.data_inclusao);\n const nomeArquivo = `remessa-${dateInclusao.getFullYear()}-${obj.id}.zip`;\n // FileSaver.saveAs(this.b64toFile(data, null, \"application/octet-stream\"), nomeArquivo)\n this.showMsgSucess(`O arquivo '${nomeArquivo}' foi baixado automaticamente, verifique na pasta de downloads.`);\n }\n , err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`Houve um erro ao baixar o arquivo. ${err}`)\n }\n );\n break;\n case 'ativar_inativar':\n if (situacao != Situacoes.Ativo && situacao != Situacoes.Inativo) {\n this.showMsgWarn('Não é possível inativar/ativar este registro.');\n return;\n } else {\n this.confirmacao.confirm({\n header: 'Confirmação',\n message: `Deseja realmente ${situacao == 1 ? 'ativar' : 'inativar'} este registro?`,\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Atualizar(this.controllerName, { id: obj['id'], id_situacao: (situacao == 1 ? 2 : 1) }, { parcial: 'id_situacao' }).subscribe(\n () => {\n this.listagem.refresh(this.filtro);\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgSucess(`Registro ${situacao == 1 ? 'ativado' : 'inativado'} com sucesso.`);\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`Houve um erro ao ${situacao == 1 ? 'ativar' : 'inativar'} o registro. ${err}`)\n });\n }\n })\n }\n break;\n case 'enviar_cadastro':\n if (situacao != Situacoes.Iniciado) {\n this.showMsgWarn('Não é possível enviar este cadastro, o mesmo já foi enviado.');\n return;\n } else if (obj['funcao_exercida_prestacao_conta'].length == 0) {\n this.showMsgWarn('Não é possível enviar este cadastro, é necessário cadastrar ao menos uma função exercida');\n return;\n } else {\n this.service.Obter(this.controllerName + \"/verificarPrazoPorExercicio/\", obj['exercicio']).subscribe(\n item => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n if (item.prazoProfissionalAcabou && !this.ehGestorEpc) {\n if (!item.profissionalPrazoExtra) {\n this.showMsgWarn(`O prazo para envio da prestação de contas do exercício ${item.exercicio} acabou.`);\n return;\n }\n }\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.tratarPrestacaoConta(obj, './enviar-cadastro');\n }, err => {\n super.showMsg('error', 'Mensagem de Erro', `Houve um erro ao verificar o prazo do registro.
${err._body}`)\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n }\n break;\n case 'alterar_responsavel':\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['./alterar-responsavel', obj['id']], { relativeTo: this.activatedRoute });\n break;\n case 'alterar_responsavel_homologacao':\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/capacitadora/homologacao-capacitadora/alterar-responsavel-homologacao', obj.capacitadora.id], { relativeTo: this.activatedRoute });\n break;\n case 'abrir_lancamento':\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['./boleto', obj['id']], { relativeTo: this.activatedRoute });\n break;\n case 'view': ''\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n if (obj.length != undefined) {\n this.router.navigate(['./visualizar', obj[0]['id']], { relativeTo: this.activatedRoute });\n break;\n }\n\n // if(this.activatedRoute.component.name == \"PrazoPrestacaoContaComponent\"){\n // this.router.navigate(['./visualizar', obj['id']], { relativeTo: this.activatedRoute });\n // break;\n // }\n\n this.router.navigate(['./visualizar', obj['id']], { relativeTo: this.activatedRoute });\n break;\n case 'julgar_capacitadora':\n if (obj.capacitadora.id_situacao === Situacoes['Aguardando análise no CRC - Gestor'] ||\n obj.capacitadora.id_situacao === Situacoes['Em análise no CRC - Gestor'] ||\n obj.capacitadora.id_situacao === Situacoes['Aguardando análise no CRC - Comissão'] ||\n obj.capacitadora.id_situacao === Situacoes['Em análise no CRC - Comissão'] ||\n obj.capacitadora.id_situacao === Situacoes['Aguardando análise no CFC - Gestor'] ||\n obj.capacitadora.id_situacao === Situacoes['Em análise no CFC - Gestor'] ||\n obj.capacitadora.id_situacao === Situacoes['Aguardando análise no CFC - Comissão'] ||\n obj.capacitadora.id_situacao === Situacoes['Em análise no CFC - Comissão']) {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['./homologar', obj['id']], { relativeTo: this.activatedRoute });\n } else {\n // tslint:disable-next-line: max-line-length\n this.showMsgWarn('Não foi possível prosseguir com a Homologação da Capacitodora devido a Situação que a mesma se encontra.');\n }\n break;\n\n case 'imprimir_cadastro_capacitadora':\n this.printById(obj['id'], 'Capacitadora_' + obj['codigo'], 'capacitadora', 'print');\n break;\n case 'imprimir_homologacao_capacitadora':\n this.printById(obj.capacitadora['id'], 'Capacitadora_' + obj.capacitadora['codigo'], 'capacitadora', 'print');\n break;\n case 'imprimir_cadastro_curso':\n this.printById(obj['id'], 'Curso_' + obj['codigo'], 'gerenciamentoCurso', 'print');\n break;\n case 'imprimir_cadastro_evento':\n this.printById(obj['id'], 'Evento_' + obj['codigo'], 'gerenciamentoEvento', 'print');\n break;\n case 'imprimir_homologacao_curso':\n this.printById(obj.curso.id, 'Curso_' + obj.curso.codigo, 'gerenciamentoCurso', 'print');\n break;\n case 'imprimir_homologacao_evento':\n this.printById(obj.evento.id, 'Evento_' + obj.evento.codigo, 'gerenciamentoEvento', 'print');\n break;\n case 'delete':\n if (obj.curso && this.gestorCfc) {\n this.excluirRegistro(obj.id);\n } else if (situacao == 18) {\n this.showMsgWarn('Não é possível excluir, pois o registro selecionado se encontra com status de autorizado.');\n return;\n } else if (situacao == 3) {\n this.showMsgWarn('Não é possível excluir, pois o registro selecionado foi enviado e aguardando entrega de documentação física.');\n return;\n } else if (situacao == 4) {\n this.showMsgWarn('Não é possível excluir, pois o registro selecionado já está aguardando análise no CRC - Gestor');\n return;\n } else if (situacao == 5) {\n this.showMsgWarn('Não é possível excluir, pois o registro selecionado já está em análise no CRC - Gestor.');\n return;\n } else if (situacao == 6) {\n this.showMsgWarn('Não é possível excluir, pois o registro selecionado já está aguardando julgamento no CRC - Comissão.');\n return;\n } else if (situacao == 7) {\n this.showMsgWarn('Não é possível excluir, pois o registro selecionado já está em julgamento no CRC - Comissão.');\n return;\n } else if (situacao == 8) {\n this.showMsgWarn('Não é possível excluir, pois o registro selecionado já está aguardando análise no CFC - Gestor.');\n return;\n } else if (situacao == 9) {\n this.showMsgWarn('Não é possível excluir, pois o registro selecionado já está em análise no CFC - Gestor.');\n return;\n } else if (situacao == 10) {\n this.showMsgWarn('Não é possível excluir, pois o registro selecionado já está aguardando julgamento no CFC - Comissão.');\n return;\n } else if (situacao == 11) {\n this.showMsgWarn('Não é possível excluir, pois o registro selecionado já está em julgamento no CFC - Comissão.');\n return;\n } else if (situacao == 12 && this.controllerName !== 'turma') {\n this.showMsgWarn('Não é possível excluir, pois o registro selecionado já está deferido.');\n return;\n } else if (situacao == 15) {\n this.showMsgWarn('Não é possível excluir, pois o registro selecionado já está com processo finalizado.');\n return;\n } else if (situacao != Situacoes.Iniciado && this.perfisLotado.some(y => y.nome.toLowerCase() == 'Profissional')) {\n this.showMsgWarn('Não é possível excluir, o profissional precisa ter a Situação Iniciada.');\n return;\n } else if (obj.curso && (this.gestorCrc || this.ehCapacitadora)) {\n\n if (obj.curso.id_situacao == Situacoes.Deferido) {\n this.showMsgWarn('Não é possível excluir, pois o curso da turma selecionada se encontra com status de deferido.');\n return;\n } else {\n this.tratarExclusaoTurma(obj);\n }\n\n } else if (this.controllerName === 'turma') {\n this.tratarExclusaoTurma(obj);\n } else if (this.dataDia > new Date(obj.prazo_capacitadora) && this.dataDia > new Date(obj.prazo_profissional)) {\n this.showMsgWarn('Não é possível excluir o registro pois o Prazo encontra-se como Finalizado.');\n return;\n }\n else {\n this.excluirRegistro(obj.id);\n }\n break;\n case 'curso-turma':\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/curso-prestacao-conta/listar-turma', obj['id']], { relativeTo: this.activatedRoute });\n break;\n case 'listar_turma_homologacao':\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/curso-prestacao-conta/listar-turma-homologacao', obj.curso.id], { relativeTo: this.activatedRoute });\n break;\n case 'turma_prestar_conta':\n var dataCadastroCurso = new Date(obj.curso ? obj.curso.data_cadastro : obj.data_cadastro);\n var dataValidadeCurso = new Date(dataCadastroCurso.getFullYear() + 1, 12, 31);\n if ((this.gestorCrc || this.ehCapacitadora) && dataValidadeCurso < this.hoje) {\n this.showMsgWarn('Não é possível Prestar Conta em cursos que estão com a validade expirada.');\n return;\n } else {\n //codigo de abrir a modal \n this.service.Obter(\"turma/VerificaTermoAceiteLGPD\", obj.id).subscribe(data => {\n if (!data) {\n this.modalTermoAceiteLGPD = true;\n this.eventLGPD = new DatatableClickEvent(event.button, event.selection);\n return;\n }\n else {\n //TODO: Colocar o codigo normal do processamento\n this.tratarTurmaPrestarConta(obj, turma_status_aguardando);\n }\n });\n }\n break;\n case 'turma_prestar_conta_homologacao':\n var dataCadastroCurso = new Date(obj.curso ? obj.curso.data_cadastro : obj.data_cadastro);\n var dataValidadeCurso = new Date(dataCadastroCurso.getFullYear() + 1, 12, 31);\n if ((this.gestorCrc || this.ehCapacitadora) && dataValidadeCurso < this.hoje) {\n this.showMsgWarn('Não é possível Prestar Conta em cursos que estão com a validade expirada.');\n return;\n } else if (obj.id_situacao == 12) {\n if (turma_status_aguardando) {\n //colocar codigo da modal, se der certo abre a proxima tela.\n this.service.Obter(\"turma/VerificaTermoAceiteLGPD\", obj.id).subscribe(data => {\n if (!data) {\n this.modalTermoAceiteLGPD = true;\n this.eventLGPD = new DatatableClickEvent(event.button, event.selection);\n return;\n }\n else {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/turma/prestar-conta-homologacao', obj['id']], { relativeTo: this.activatedRoute });\n }\n });\n } else {\n this.showMsgWarn('Não é possível Prestar Conta.');\n return;\n }\n } else {\n this.showMsgWarn('Para prestar conta, o Curso deve estar deferido.');\n }\n break;\n case 'turma_editar':\n if (obj.editar_remover) {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Obter(\"turma/verificarPrazoPorId/\", obj['id']).subscribe(\n item => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n if (item.prazoCapacitadoraAcabou) {\n this.showMsgWarn(`Não é possível editar atividades de exercícios que estão com os prazos para prestação de contas finalizados.`);\n }\n else {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/turma/editar', obj['id']], { relativeTo: this.activatedRoute });\n }\n }, err => {\n super.showMsg('error', 'Mensagem de Erro', `Houve um erro ao verificar o prazo do registro.
${err._body}`)\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n\n } else {\n const dtInicioString = obj.data_inicio_fim.substring(6, 10) + '-' + obj.data_inicio_fim.substring(3, 5) + '-' + obj.data_inicio_fim.substring(0, 2);\n const dtInicio = new Date(dtInicioString + 'T00:00:00');\n const dtFinalString = obj.data_inicio_fim.substring(19, 23) + '-' + obj.data_inicio_fim.substring(16, 18) + '-' + obj.data_inicio_fim.substring(13, 15);\n const dtFim = new Date(dtFinalString + 'T00:00:00');\n\n const dateDifInicio = Math.ceil(dtInicio.getTime()) - Math.ceil(this.dataDia.getTime());\n //let dateDifFim = Math.ceil(dtFim.getTime()) - Math.ceil(this.dataDia.getTime());\n\n const diffDaysInicio = Math.ceil(dateDifInicio / (1000 * 3600 * 24));\n //let diffDaysFim = Math.ceil(dateDifFim / (1000 * 3600 * 24));\n\n if (dtFim < this.dataDia) {\n this.showMsgWarn('Esta turma já foi encerrada.');\n } else if (diffDaysInicio > 0 && diffDaysInicio < 5) {\n this.showMsgWarn('Não é possível editar turma, faltando menos de 5 dias para execução.');\n } else if (obj.em_execucao) {\n this.showMsgWarn('Não é possível editar um evento que já está Em Execução.');\n } else {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Obter(\"turma/verificarPrazoPorId/\", obj['id']).subscribe(\n item => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n if (item.prazoCapacitadoraAcabou) {\n this.showMsgWarn(`Não é possível editar atividades de exercícios que estão com os prazos para prestação de contas finalizados.`);\n }\n else {\n return;\n }\n }, err => {\n super.showMsg('error', 'Mensagem de Erro', `Houve um erro ao verificar o prazo do registro.
${err._body}`)\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n }\n }\n break;\n case 'turma_editar_homologacao':\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/turma/editar-homologacao', obj['id']], { relativeTo: this.activatedRoute });\n break;\n case 'turma_visualizar':\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/turma/turma-visualizar', obj['id']], { relativeTo: this.activatedRoute });\n break;\n case 'turma_visualizar_homologacao':\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/turma/turma-visualizar-homologacao', obj['id']], { relativeTo: this.activatedRoute });\n break;\n case 'enviar_cadastro_capacitadora':\n if (situacao == Situacoes['Processo Finalizado']) {\n this.showMsgWarn('Não é possível enviar este cadastro, o mesmo está finalizado.');\n } else if ((situacao != Situacoes.Iniciado) && (situacao != Situacoes['Devolvido para Adequação'])\n && (situacao != Situacoes['Aberto para Recurso'])) {\n this.showMsgWarn('Não é possível enviar este cadastro, o mesmo já foi enviado.');\n } else {\n let id_situacao: number;\n this.homologacao_capacitadora.id_capacitadora = obj['id'];\n if (situacao == Situacoes['Aberto para Recurso']) {\n this.homologacao_capacitadora.nome_perfil_receptor = 'gestor cfc';\n id_situacao = 8;\n } else if (situacao == Situacoes['Devolvido para Adequação']) {\n this.homologacao_capacitadora.nome_perfil_receptor = obj['nome_pendencia_receptor'];\n\n if (this.homologacao_capacitadora.nome_perfil_receptor == 'gestor cfc') {\n id_situacao = 8\n } else if (this.homologacao_capacitadora.nome_perfil_receptor == 'gestor crc') {\n id_situacao = 4\n } else if (this.homologacao_capacitadora.nome_perfil_receptor == 'comissao crc') {\n id_situacao = 6\n } else {\n id_situacao = 10\n }\n } else {\n this.homologacao_capacitadora.nome_perfil_receptor = 'gestor crc';\n }\n\n this.confirmacao.confirm({\n header: 'Confirmação',\n message: `Deseja realmente enviar este registro?`,\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Atualizar(this.controllerName + '/atualizaSituacao', { id: obj['id'], id_situacao }, { parcial: 'id_situacao' }).subscribe(\n () => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.listagem.refresh(this.filtro);\n this.showMsgSucess(`Registro foi enviado com sucesso.`);\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`Houve um erro ao enviar o registro. ${err}`)\n }\n );\n this.service.Atualizar(this.controllerName + '/atualizaParcial', this.homologacao_capacitadora).subscribe(() => { });\n }\n })\n }\n break;\n case 'enviar_cadastro_justificativa':\n if (situacao === Situacoes['Processo Finalizado']) {\n this.showMsgWarn('Não é possível enviar este cadastro, o mesmo está finalizado.');\n return;\n }\n\n if (situacao !== Situacoes.Iniciado &&\n situacao !== Situacoes['Devolvido para Adequação'] &&\n situacao !== Situacoes['Aberto para Recurso']) {\n this.showMsgWarn('Não é possível enviar este cadastro, o mesmo já foi enviado.');\n return;\n }\n\n const questionamento = situacao === Situacoes['Aberto para Recurso'] ?\n 'A justificativa selecionada está aberta para recurso. Deseja realmente interpor recurso?' :\n 'Deseja realmente enviar este registro?';\n\n this.confirmacao.confirm({\n header: 'Confirmação',\n message: questionamento,\n accept: () => {\n if (situacao === Situacoes['Aberto para Recurso']) {\n this.router.navigate(['./abrir-recurso', obj['id']], { relativeTo: this.activatedRoute });\n }\n\n if (situacao !== Situacoes['Aberto para Recurso']) {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.EnviarParaJulgamento(this.controllerName, obj['id']).subscribe(\n () => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.listagem.refresh(this.filtro);\n this.showMsgSucess(`Registro foi enviado com sucesso.`);\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n if (err.status === 412) {\n this.showMsgWarn(`Atenção.
${err._body}`)\n this.listagem.refresh(this.filtro);\n return;\n }\n\n this.showMsgError(`Houve um erro ao enviar o registro. ${err}`)\n });\n }\n },\n reject: () => {\n if (situacao === Situacoes['Aberto para Recurso']) {\n this.naoAbrirRecurso(obj['id'], this.controllerName, true, 500);\n }\n }\n });\n\n break;\n case 'enviar_cadastro_homologacao':\n if (situacao == Situacoes['Processo Finalizado']) {\n this.showMsgWarn('Não é possível enviar este cadastro, o mesmo está finalizado.');\n } else if ((situacao != Situacoes.Iniciado) && (situacao != Situacoes['Devolvido para Adequação'])\n && (situacao != Situacoes['Aberto para Recurso'])) {\n this.showMsgWarn('Não é possível enviar este cadastro, o mesmo já foi enviado.');\n return;\n } else {\n var today = new Date();\n today.setDate(today.getDate() + 5);\n if (situacao === Situacoes.Iniciado && this.controllerName == 'gerenciamentoCurso') {\n this.service.Obter(\"turma/VerificaDataInicio\", obj['id']).subscribe(dataTurma => {\n var data_inicio = new Date(dataTurma);\n if (today.toISOString().split('T')[0].replace(/-/g, '') <= data_inicio.toISOString().split('T')[0].replace(/-/g, '')) {\n this.service.Obter(\"turma/VerificaTermoAceiteLGPDCurso\", obj['id']).subscribe(data => {\n if (!data) {\n this.modalTermoAceiteLGPD = true;\n this.eventLGPD = new DatatableClickEvent(event.button, event.selection);\n return;\n }\n else\n this.enviarCadastroHomologacao(obj, situacao);\n }, err => {\n super.showMsg('error', 'Mensagem de Erro', `Houve um erro ao verificar termo de aceite LGPD.
${err._body}`)\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n }\n else {\n this.showMsgWarn(`Cadastro fora do prazo permitido. Favor verificar a data de início das turmas.`);\n return;\n }\n }, err => {\n super.showMsg('error', 'Mensagem de Erro', `Houve um erro ao verificar Data inicio da Turma.
${err._body}`)\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n }\n else if (situacao === Situacoes.Iniciado && this.controllerName == 'gerenciamentoEvento') {\n this.service.Obter(\"edicaoEvento/VerificaDataInicio\", obj['id']).subscribe(dataEdicao => {\n var data_inicio = new Date(dataEdicao);\n if (today.toISOString().split('T')[0].replace(/-/g, '') <= data_inicio.toISOString().split('T')[0].replace(/-/g, '')) {\n this.service.Obter(\"edicaoEvento/VerificaTermoAceiteLGPDEvento\", obj['id']).subscribe(data => {\n if (!data) {\n this.modalTermoAceiteLGPD = true;\n this.eventLGPD = new DatatableClickEvent(event.button, event.selection);\n return;\n }\n else\n this.enviarCadastroHomologacao(obj, situacao);\n }, err => {\n super.showMsg('error', 'Mensagem de Erro', `Houve um erro ao verificar termo de aceite LGPD.
${err._body}`)\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n }\n else {\n this.showMsgWarn(`Cadastro fora do prazo permitido. Favor verificar a data de início das edições.`);\n return;\n }\n }, err => {\n super.showMsg('error', 'Mensagem de Erro', `Houve um erro ao verificar Data inicio da Edição.
${err._body}`)\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n }\n else {\n //se nao processo como era antes\n this.enviarCadastroHomologacao(obj, situacao);\n }\n }\n break;\n case 'turma_incluir':\n var dataCadastroCurso = new Date(obj.curso ? obj.curso.data_cadastro : obj.data_cadastro);\n var dataValidadeCurso = new Date(dataCadastroCurso.getUTCFullYear() + 1, 11, 31);\n\n var anoValidadeCurso = dataValidadeCurso.getUTCFullYear();\n var data2020 = new Date('2020');\n var ano2020 = data2020.getUTCFullYear();\n\n if (!this.gestorCfc) {\n if ((this.gestorCrc || this.ehCapacitadora)\n && dataValidadeCurso < this.hoje\n && anoValidadeCurso != ano2020) {\n this.showMsgWarn('Não é possível incluir turmas em Cursos com a Data de Validade expirada.');\n return;\n }\n }\n if (situacao == Situacoes.Deferido || situacao == Situacoes.Iniciado || situacao == Situacoes['Devolvido para Adequação'] || situacao == Situacoes['Aberto para Recurso']) {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/turma/turma-incluir', obj['id']], { relativeTo: this.activatedRoute });\n } else {\n this.showMsgWarn(`Só é possível incluir turma para curso com a Situação Deferido`);\n }\n break;\n case 'turma_incluir_homologacao':\n var dataCadastroCurso = new Date(obj.curso ? obj.curso.data_cadastro : obj.data_cadastro);\n var dataValidadeCurso = new Date(dataCadastroCurso.getFullYear() + 1, 11, 31);\n\n var anoValidadeCurso = dataValidadeCurso.getUTCFullYear();\n var data2020 = new Date('2020');\n var ano2020 = data2020.getUTCFullYear();\n\n if (!this.gestorCfc) {\n if ((this.gestorCrc || this.ehCapacitadora)\n && dataValidadeCurso < this.hoje\n && anoValidadeCurso != ano2020) {\n this.showMsgWarn('Não é possível incluir turma, pois o curso selecionado está com a validade expirada.');\n return;\n }\n }\n if (!(situacao == Situacoes.Indeferido || situacao == Situacoes[\"Aguardando Câmara/Plenária - CFC - Indeferido\"] || situacao == Situacoes[\"Aguardando Câmara/Plenária - CRC - Indeferido\"])) {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/turma/turma-incluir-homologacao', obj.curso.id], { relativeTo: this.activatedRoute });\n } else {\n this.showMsgWarn(`Só é possível incluir turma para curso com a Situação Deferido`);\n }\n break;\n case 'evento-edicao':\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/evento-prestacao-conta/listar-edicao', obj['id']], { relativeTo: this.activatedRoute });\n break;\n case 'evento_edicao_homologacao':\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/evento-prestacao-conta/listar-edicao-homologacao', obj.evento.id], { relativeTo: this.activatedRoute });\n break;\n case 'edicao_editar':\n if (obj.editar_remover) {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Obter(\"edicaoEvento/verificarPrazoPorId/\", obj['id']).subscribe(\n item => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n if (item.prazoCapacitadoraAcabou) {\n this.showMsgWarn(`Não é possível editar atividades de exercícios que estão com os prazos para prestação de contas finalizados.`);\n }\n else {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/edicao-evento/editar', obj['id']], { relativeTo: this.activatedRoute });\n }\n }, err => {\n super.showMsg('error', 'Mensagem de Erro', `Houve um erro ao verificar o prazo do registro.
${err._body}`)\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n\n } else {\n this.showMsgWarn('Não é possível editar turma, faltando menos de 5 dias para execução.');\n return;\n }\n break;\n case 'edicao_editar_homologacao':\n if (obj.editar_remover || this.perfisLotado.some(x => x.nome == 'Gestor CFC')) {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/edicao-evento/editar-homologacao', obj['id']], { relativeTo: this.activatedRoute });\n } else {\n this.showMsgWarn('Apenas perfil \"Gestor CFC\" pode alterar turmas que não estão em execução ou faltando menos de 5 dias.');\n return;\n }\n break;\n case 'edicao_visualizar':\n if (obj['id_tipo_certificacao'] == 2) {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/edicao-evento/edicao-visualizar', obj['id']], { relativeTo: this.activatedRoute });\n } else {\n\n this.showMsgWarn('Não é possível Visualizar a edição Individual.');\n }\n break;\n case 'edicao_visualizar_homologacao':\n if (obj['id_tipo_certificacao'] == 2) {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/edicao-evento/edicao-visualizar-homologacao', obj['id']], { relativeTo: this.activatedRoute });\n } else {\n\n this.showMsgWarn('Não é possível Visualizar a edição Individual.');\n }\n break;\n case 'edicao_prestar_conta':\n this.tratarEdicaoPrestarConta(obj, edicao_status_aguardando);\n break;\n case 'edicao_prestar_conta_homologacao':\n if (obj.evento.id_situacao == 12) {\n if (edicao_status_aguardando) {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n\n this.service.Obter(\"edicaoEvento/VerificaTermoAceiteLGPD\", obj.id).subscribe(data => {\n if (!data) {\n this.modalTermoAceiteLGPD = true;\n this.eventLGPD = new DatatableClickEvent(\"edicao_prestar_conta_homologacao\", obj);\n return;\n }\n else {\n if (obj['id_tipo_certificacao'] == 2) {\n this.router.navigate(['/atividades/edicao-evento/prestar-conta-homologacao', obj['id']], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['/atividades/edicao-evento/prestar-conta-individual-homologacao', obj['id']], { relativeTo: this.activatedRoute });\n }\n }\n });\n\n } else {\n this.showMsgWarn('Não é possível Prestar Conta.');\n return;\n }\n } else {\n this.showMsgWarn('Para prestar conta, o Evento deve estar deferido.');\n }\n break;\n case 'edicao_incluir':\n var dataCadastroEvento = new Date(obj.evento ? obj.evento.data_cadastro : obj.data_cadastro);\n var dataValidadeEvento = new Date(dataCadastroEvento.getFullYear() + 1, 11, 31);\n\n var anoValidadeEvento = dataValidadeEvento.getUTCFullYear();\n var data2020 = new Date('2020');\n var ano2020 = data2020.getUTCFullYear();\n\n if (situacao == Situacoes.Deferido ||\n situacao == Situacoes.Iniciado ||\n situacao == Situacoes['Devolvido para Adequação'] ||\n situacao == Situacoes['Aberto para Recurso']\n && dataValidadeEvento < this.hoje\n && anoValidadeEvento != ano2020) {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/edicao-evento/incluir-edicao', obj['id']], { relativeTo: this.activatedRoute });\n } else if (situacao == Situacoes.Indeferido) {\n this.showMsgWarn('Não é possível cadastrar edições para evento que foram indeferidos.');\n } else {\n this.showMsgWarn(`Não é possível incluir Edições para Eventos com a situação ${Situacoes[situacao]}`);\n }\n break;\n case 'edicao_incluir_homologacao':\n var dataCadastroEvento = new Date(obj.evento ? obj.evento.data_cadastro : obj.data_cadastro);\n var dataValidadeEvento = new Date(dataCadastroEvento.getFullYear() + 1, 11, 31);\n\n var anoValidadeEvento = dataValidadeEvento.getUTCFullYear();\n var data2020 = new Date('2020');\n var ano2020 = data2020.getUTCFullYear();\n\n if (situacao == Situacoes.Deferido ||\n situacao == Situacoes.Iniciado ||\n situacao == Situacoes['Devolvido para Adequação'] ||\n situacao == Situacoes['Aberto para Recurso']\n && dataValidadeEvento < this.hoje\n && anoValidadeEvento != ano2020) {\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['/atividades/edicao-evento/incluir-edicao-homologacao', obj.evento.id], { relativeTo: this.activatedRoute });\n } else if (situacao == Situacoes.Indeferido) {\n this.showMsgWarn('Não é possível cadastrar edições para evento que foram indeferidos.');\n }\n else {\n this.showMsgWarn(`Não é possível incluir Edições para Eventos com a situação ${Situacoes[situacao]}`);\n }\n break;\n case 'relatorio_atividade':\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate(['./simular', obj['id']], { relativeTo: this.activatedRoute });\n break;\n case 'certificado_prestacao_conta':\n if (situacao == Situacoes['Em Análise'] || obj['nome_situacao'] == 'Em Análise') {\n this.service.ObterPermissaoGerarCertificado(`prestacaoConta/verificarSituacaoAtividadesProfissionais/${obj['id']}`).subscribe(\n data => {\n if (data == true) {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.GerarCertidao('relatorio/gerarCertificado', { id: obj['id'], id_lotacao: localStorage.getItem('lotacao'), logo: localStorage.getItem('path') }).subscribe(x => {\n FileSaver.saveAs(new Blob([x.blob()], { type: x['_body'].type }), obj['cpf']);\n this.observableUtilPanelDoc.setBlockedPanel(false);\n },\n () => {\n this.showMsgError(`Houve uma pequena instabilidade na geração do seu certificado. Por favor, tente novamente em alguns instantes.`);\n this.observableUtilPanelDoc.setBlockedPanel(false);\n })\n } else {\n this.showMsgWarn('Para gerar o certificado é necessário que a situação esteja concluída ou todas as atividades da Prestação de Contas estarem Deferidas, Finalizadas ou Abertas para Recurso');\n return;\n }\n\n })\n } else if (situacao == Situacoes.Concluído || obj['nome_situacao'] == 'Concluído') {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.GerarCertidao('relatorio/gerarCertificado', { id: obj['id'], id_lotacao: localStorage.getItem('lotacao'), logo: localStorage.getItem('path') }).subscribe(x => {\n FileSaver.saveAs(new Blob([x.blob()], { type: x['_body'].type }), obj['cpf']);\n this.observableUtilPanelDoc.setBlockedPanel(false);\n },\n () => {\n this.showMsgError(`Houve uma pequena instabilidade na geração do seu certificado. Por favor, tente novamente em alguns instantes.`);\n this.observableUtilPanelDoc.setBlockedPanel(false);\n })\n } else {\n this.showMsgWarn('Para gerar o certificado é necessário que a situação esteja concluída ou todas as atividades da Prestação de Contas estarem Deferidas, Finalizadas ou Abertas para Recurso');\n return;\n }\n break;\n case 'alterar_membro_comissao':\n if (situacao == 10 || situacao == 11) {\n if (this.perfisLotado.some(x => x.nome == 'Gestor CFC')) {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n const lotacao = this.lotacao(codigo, situacao);\n this.service.ListarTodosUsuarios('usuario', 'Comissão CFC', lotacao).subscribe(\n data => {\n this.listaMembrosComissao = data;\n this.displayAlterarMembroComissao = true;\n this.alterar_membro.get('id').setValue(obj['id']);\n this.observableUtilPanelDoc.setBlockedPanel(false);\n },\n () => this.observableUtilPanelDoc.setBlockedPanel(false),\n () => this.observableUtilPanelDoc.setBlockedPanel(false)\n )\n } else {\n this.showMsgWarn('Somente perfis Gestores CFC podem alterar o membro da comissao');\n return;\n }\n } else if (situacao == 6 || situacao == 7) {\n if (this.perfisLotado.some(x => x.nome == 'Gestor CRC')) {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n const lotacao = this.lotacao(codigo, situacao);\n this.service.ListarTodosUsuarios('usuario', 'Comissão CRC', lotacao).subscribe(\n data => {\n this.listaMembrosComissao = data;\n this.displayAlterarMembroComissao = true;\n this.alterar_membro.get('id').setValue(obj['id']);\n this.observableUtilPanelDoc.setBlockedPanel(false);\n },\n () => this.observableUtilPanelDoc.setBlockedPanel(false),\n () => this.observableUtilPanelDoc.setBlockedPanel(false)\n )\n } else {\n this.showMsgWarn('Somente perfis Gestores CRC podem alterar o membro da comissao');\n return;\n }\n } else {\n this.showMsgWarn('Não é possível alterar o membro da comissão');\n return;\n }\n break;\n case 'improcedente':\n if (situacao == 9 || situacao == 8 || situacao == 5 || situacao == 4\n || situacao == 6 || situacao == 7 || situacao == 10 || situacao == 11) {\n this.displayImprocedente = true;\n this.improcedente.get('id').setValue(obj['id']);\n this.codigoImprocedente = codigo;\n this.tituloImprocedente = nome;\n this.atividadeImprocedente = atividade;\n } else {\n this.showMsgWarn('Não é possível julgar como improcedente.');\n return;\n }\n break;\n case 'abrir-recurso':\n if (obj['id_situacao'] === Situacoes['Aberto para Recurso']) {\n this.eventRecurso = new DatatableClickEvent(event.button, event.selection);\n this.modalRecurso = true;\n } else {\n this.showMsgWarn('Não é permitido abrir recurso nesse momento.');\n }\n break;\n case 'abrir-recurso2':\n if (obj.situacao.id === Situacoes['Aberto para Recurso']) {\n this.eventRecurso = new DatatableClickEvent(event.button, event.selection);\n this.modalRecurso = true;\n } else {\n this.showMsgWarn('Não é permitido abrir recurso nesse momento.');\n }\n break;\n case 'desfazer_transicao':\n if (situacao == Situacoes['Aguardando análise no CFC - Comissão'] ||\n situacao == Situacoes['Aguardando análise no CFC - Gestor'] ||\n situacao == Situacoes['Aguardando análise no CRC - Gestor'] ||\n situacao == Situacoes['Aguardando análise no CRC - Comissão'] ||\n situacao == Situacoes['Deferido'] ||\n situacao == Situacoes['Indeferido'] ||\n situacao == Situacoes['Aguardando Câmara/Plenária - CRC - Deferido'] ||\n situacao == Situacoes['Aguardando Câmara/Plenária - CFC - Deferido'] ||\n situacao == Situacoes['Aguardando Câmara/Plenária - CRC - Indeferido'] ||\n situacao == Situacoes['Aguardando Câmara/Plenária - CFC - Indeferido'] ||\n situacao == Situacoes['Rejeitado por Improcedência']\n ) {\n this.confirmacao.confirm({\n header: 'Confirmação',\n message: `Deseja realmente desfazer o julgamento?`,\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.DesfazerTransicaoHomologacao(this.controllerName, obj).subscribe(\n () => {\n this.listagem.refresh(this.filtro);\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgSucess(`Julgamento desfeito com sucesso.`);\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`Houve um erro ao desfazer julgamento. ${err._body}`)\n });\n }\n });\n } else {\n this.showMsgWarn(`Não há julgamento a ser desfeito.`);\n }\n break;\n }\n }\n\n tratarPrestacaoConta(obj, rota) {\n\n if (this.ehProfissional &&\n this.DataSemHora(new Date()) > this.DataSemHora(new Date(obj.anoExercicio + 1, 1, 7))) {\n return this.showMsgWarn(`A data limite para prestar contas do ano de ${obj.exercicio} é 31/01/${obj.exercicio + 1}`);\n }\n this.salvarEstadoPaginacao(this.listagem.pDatatableComponent.first);\n this.router.navigate([rota, obj['id']], { relativeTo: this.activatedRoute });\n }\n\n obterParametros(query) {\n let parametros;\n parametros = query.split('&')\n .map(str => {\n const [key, value] = str.split('=');\n return { [key]: decodeURI(value) };\n })\n .reduce((prev, curr) => Object.assign(prev, curr));\n Object.keys(parametros).forEach(key => {\n parametros[key] = parametros[key].split('%2C').length > 1 ? parametros[key].split('%2C') : parametros[key];\n if (!Array.isArray(parametros[key])) {\n parametros[key] = parametros[key].split('+').length > 1 ? this.concatStringFiltro(parametros[key].split('+')) : parametros[key];\n parametros[key] = parametros[key].replace('%2F', '/');\n }\n parametros[key] = parametros[key] == 'null' ? null : parametros[key];\n\n if (key == \"exercicios\" || key == \"situacoes\") {\n let param = parametros[key];\n parametros[key] = [] as number[];\n\n if (Array.isArray(param)) {\n param.forEach(element => {\n parametros[key].push(element);\n });\n }\n else {\n parametros[key].push(param);\n }\n }\n });\n\n return parametros;\n }\n mostrarMensagemDeErroExclusao(err: any) {\n this.showMsgError(`Houve um erro ao excluir o registro. ${err._body}`)\n }\n\n enviarCadastroHomologacao(obj: any, situacao: any) {\n let id_situacao: number;\n let propriedades: string[];\n let nome_perfil_receptor: string;\n if (situacao === Situacoes.Iniciado || situacao === Situacoes['Devolvido para Adequação']) {\n propriedades = ['id_situacao'];\n }\n if (situacao == Situacoes['Aberto para Recurso']) {\n nome_perfil_receptor = 'gestor crc';\n id_situacao = Situacoes['Aguardando análise no CRC - Gestor'];\n } else {\n obj['nome_pendencia_receptor'] ? nome_perfil_receptor = obj['nome_pendencia_receptor'] : nome_perfil_receptor = 'gestor crc';\n if (nome_perfil_receptor == 'gestor cfc') {\n id_situacao = Situacoes['Aguardando análise no CFC - Gestor']\n } else if (nome_perfil_receptor == 'gestor crc') {\n id_situacao = Situacoes['Aguardando análise no CRC - Gestor']\n } else if (nome_perfil_receptor == 'comissao crc') {\n id_situacao = Situacoes['Aguardando análise no CRC - Comissão']\n } else {\n id_situacao = Situacoes['Aguardando análise no CFC - Comissão']\n }\n }\n\n if (this.controllerName == 'gerenciamentoDocencia') {\n this.homologacao_atividade = new HomologacaoDocencia();\n this.homologacao_atividade.nome_perfil_receptor = nome_perfil_receptor;\n this.homologacao_atividade.id_docencia = obj['id'];\n this.homologacao_atividade.docencia = { id: obj['id'], id_situacao };\n propriedades.push('data_envio');\n } else if (this.controllerName == 'gerenciamentoCurso') {\n this.homologacao_atividade = new HomologacaoCurso();\n this.homologacao_atividade.nome_perfil_receptor = nome_perfil_receptor;\n this.homologacao_atividade.id_curso = obj['id'];\n this.homologacao_atividade.curso = { id: obj['id'], id_situacao };\n } else if (this.controllerName == 'gerenciamentoEvento') {\n this.homologacao_atividade = new HomologacaoEvento();\n this.homologacao_atividade.nome_perfil_receptor = nome_perfil_receptor;\n this.homologacao_atividade.id_evento = obj['id'];\n this.homologacao_atividade.evento = { id: obj['id'], id_situacao };\n } else if (this.controllerName == 'gerenciamento-banca') {\n this.homologacao_atividade = new HomologacaoBanca();\n this.homologacao_atividade.nome_perfil_receptor = nome_perfil_receptor;\n this.homologacao_atividade.id_banca = obj['id'];\n this.homologacao_atividade.banca = { id: obj['id'], id_situacao };\n propriedades.push('data_envio');\n } else if (this.controllerName == 'gerenciamentoCursoExterior') {\n this.homologacao_atividade = new HomologacaoCursoExterior();\n this.homologacao_atividade.nome_perfil_receptor = nome_perfil_receptor;\n this.homologacao_atividade.id_curso_exterior = obj['id'];\n this.homologacao_atividade.curso_exterior = { id: obj['id'], id_situacao };\n } else if (this.controllerName == 'gerenciamento-comissao') {\n this.homologacao_atividade = new HomologacaoComissao();\n this.homologacao_atividade.nome_perfil_receptor = nome_perfil_receptor;\n this.homologacao_atividade.id_comissao = obj['id'];\n this.homologacao_atividade.comissao = { id: obj['id'], id_situacao };\n propriedades.push('data_envio');\n } else if (this.controllerName == 'gerenciamentoProducaoIntelectual') {\n this.homologacao_atividade = new HomologacaoProducaoIntelectual();\n this.homologacao_atividade.nome_perfil_receptor = nome_perfil_receptor;\n this.homologacao_atividade.id_producao_intelectual = obj['id'];\n this.homologacao_atividade.producao_intelectual = { id: obj['id'], id_situacao };\n propriedades.push('data_envio');\n } else if (this.controllerName == 'gerenciamento-pos-graduacao') {\n this.homologacao_atividade = new HomologacaoPosGraduacao();\n this.homologacao_atividade.nome_perfil_receptor = nome_perfil_receptor;\n this.homologacao_atividade.id_pos_graduacao = obj['id'];\n this.homologacao_atividade.pos_graduacao = { id: obj['id'], id_situacao };\n propriedades.push('data_envio');\n }\n\n const questionamento = situacao === Situacoes['Aberto para Recurso'] ?\n 'A atividade selecionada está aberta para recurso. Deseja realmente interpor recurso?' :\n 'Deseja realmente enviar este registro?';\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Adicionar(this.controllerName + \"/verificarPrazo/\", this.homologacao_atividade).subscribe(\n item => {\n\n this.observableUtilPanelDoc.setBlockedPanel(false);\n if (situacao !== Situacoes['Devolvido para Adequação']) {\n if (item.prazoProfissionalAcabou && this.controllerName !== \"gerenciamentoCurso\" && this.controllerName !== \"gerenciamentoEvento\") {\n if (!item.profissionalPrazoExtra) {\n this.showMsgWarn(`O prazo para envio das atividades do exercício de ${item.exercicio} está finalizado.`);\n return;\n }\n }\n else if (item.prazoCapacitadoraAcabou && (this.controllerName === \"gerenciamentoCurso\" || this.controllerName === \"gerenciamentoEvento\")) {\n this.showMsgWarn(`O prazo para envio das atividades do exercício de ${item.exercicio} está finalizado.`);\n return;\n }\n }\n this.confirmacao.confirm({\n header: 'Confirmação',\n message: questionamento,\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n\n if (situacao === Situacoes['Aberto para Recurso']) {\n this.router.navigate(['./abrir-recurso', obj['id']], { relativeTo: this.activatedRoute });\n }\n if (situacao !== Situacoes['Aberto para Recurso']) {\n this.service.AtualizarAtividadeHomologacao(this.controllerName, this.homologacao_atividade, { parcial: propriedades }).subscribe(\n () => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.listagem.refresh(this.filtro);\n this.showMsgSucess(`Registro foi enviado com sucesso.`);\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n if (err.status === 412) {\n this.showMsgWarn(`Atenção.
${err._body}`)\n this.listagem.refresh(this.filtro);\n return;\n }\n\n this.showMsgError(`Houve um erro ao enviar o registro. ${err}`)\n });\n }\n },\n reject: () => {\n if (situacao === Situacoes['Aberto para Recurso']) {\n this.naoAbrirRecurso(obj['id'], this.controllerName, true, 500);\n }\n }\n });\n }, err => {\n super.showMsg('error', 'Mensagem de Erro', `Houve um erro ao verificar o prazo do registro.
${err._body}`)\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n }\n\n protected toggleLoading(loading: boolean): void {\n this.observableUtilPanelDoc.setBlockedPanel(loading);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/base-list.component.ts","import { Component, Input } from '@angular/core';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseCrudComponent } from 'app/base';\nimport { PrestacaoConta } from 'app/entity/prestacao-conta.model';\nimport * as FileSaver from 'file-saver';\nimport { ResultadoPrestacaoConta } from 'app/entity/resultado-prestacao-conta.model';\nimport { ResultadoPrestacaoContaPontuacao } from 'app/entity/resultado-prestacao-conta-pontuacao.model';\nimport { FuncaoExercidaPrestacaoConta } from 'app/entity/funcao-exercida_prestacao_conta.model';\nimport { GrupoAtividade } from 'app/entity/enumeraveis';\n\n@Component({ template: '' })\nexport class BasePrestacaoContaComponent extends BaseCrudComponent {\n controllerName = 'prestacaoConta';\n\n listaAquisicaoConhecimento: any[] = [];\n listaSomatorioAquisicaoConhecimento: any[] = [];\n\n listaDocencia: any[] = [];\n listaSomatorioDocencia: any[] = [];\n\n listaAtuacaoComoParticipante: any = [];\n listaSomatorioAtuacaoComoParticipante: any = [];\n\n listaProducaoIntelectual: any = [];\n listaSomatorioProducaoIntelectual: any = [];\n\n listaSomatorioTotal: any[] = [];\n\n resultadoPrestaoConta: ResultadoPrestacaoConta = new ResultadoPrestacaoConta;\n resultadoPrestaoContaPontuacao: ResultadoPrestacaoContaPontuacao = new ResultadoPrestacaoContaPontuacao;\n listResultadoPrestacaoConta: ResultadoPrestacaoConta[] = [];\n listaResultadoPrestaoContaPontuacao: ResultadoPrestacaoContaPontuacao[] = [];\n\n funcaoExercidaPrestacaoConta: FuncaoExercidaPrestacaoConta = new FuncaoExercidaPrestacaoConta;\n listFuncaoExercidaPrestacaoConta: FuncaoExercidaPrestacaoConta[] = [];\n\n PrestacaoContaDto: PrestacaoConta = new PrestacaoConta();\n\n @Input() listaFuncao: any[] = [];\n @Input() listaEnderecos: any[] = [];\n @Input() listaTelefones: any[] = [];\n @Input() listaEmails: any[] = [];\n\n funcaoExercida: SelectItem[] = [];\n idEditar: number = 0;\n modalTermoAceiteLGPD: any = false;\n\n pesquisaPorDados(cpf?: any) {\n\n this.service.ServicoPrestacaoConta(this.controllerName + \"/listarPrestacaoConta\", this.idEditar, this.limpaCaracterEspecial(cpf), this.listaFuncao).subscribe(retorno => {\n this.listaDocencia = retorno.pontuacaoTodasAtividadeDoProfissional.filter(x => x.id_grupo_atividade == GrupoAtividade.Docencia);\n this.listaSomatorioDocencia = retorno.somatorioDocencia;\n\n this.listaAquisicaoConhecimento = retorno.pontuacaoTodasAtividadeDoProfissional.filter(x => x.id_grupo_atividade == GrupoAtividade.Aquisição_de_conhecimento);\n this.listaSomatorioAquisicaoConhecimento = retorno.somatorioAquisicaoConhecimento;\n\n this.listaAtuacaoComoParticipante = retorno.pontuacaoTodasAtividadeDoProfissional.filter(x => x.id_grupo_atividade == GrupoAtividade.Atuação_como_participante);\n this.listaSomatorioAtuacaoComoParticipante = retorno.somatorioAtuacaoComoParticipante;\n\n this.listaProducaoIntelectual = retorno.pontuacaoTodasAtividadeDoProfissional.filter(x => x.id_grupo_atividade == GrupoAtividade.Producao_Intelectual);\n this.listaSomatorioProducaoIntelectual = retorno.somatorioProducaoIntelectual;\n\n this.listaSomatorioTotal = retorno.somatorioTotal;\n this.idEditar = retorno.id_prestacao_conta;\n });\n\n }\n\n finalizar() {\n if (this.acao != \"visualizar\") {\n if (this.acao == \"enviar-cadastro\") {\n if (!this.cadastro.get('etapa3.aceite').value) {\n this.showMsgWarn(`É necessário aceitar os termos de aceite para enviar a sua Prestação de Contas.`);\n } else {\n //se nao processo como era antes\n this.confirmacao.confirm({\n header: 'Mensagem de Confirmação',\n message: `Atenção! Ao confirmar esta operação, a Prestação de Contas será enviada para Análise.\n Deseja realmente confirmar esta operação?`,\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.EnviarPrestacaoConta(this.controllerName, { id: this.idEditar, id_situacao: 17, aceite: true }, { parcial: \"id_situacao\" })\n .subscribe(() => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n if(this.acao == 'cadastrar'){\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n }else{\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }\n return this.TratarMsgEnviarEditar(true);\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false)\n super.showMsgError(`Erro ao Enviar o Cadastro. ${err._body}`)\n });\n }\n });\n this.observableUtilPanelDoc.setBlockedPanel(false);\n }\n return;\n }\n this.listResultadoPrestacaoConta = [];\n this.listaSomatorioTotal.map(x => {\n this.listaResultadoPrestaoContaPontuacao = [];\n this.resultadoPrestaoConta = new ResultadoPrestacaoConta;\n x.resultado_prestacao_conta_pontuacao.map(y => {\n this.resultadoPrestaoContaPontuacao = new ResultadoPrestacaoContaPontuacao;\n this.resultadoPrestaoContaPontuacao.id = y.id;\n this.resultadoPrestaoContaPontuacao.id_pontuacao = y.id_pontuacao;\n this.resultadoPrestaoContaPontuacao.id_resultado_prestacao_conta = y.id_resultado_prestacao_conta;\n this.resultadoPrestaoContaPontuacao.resultado = y.resultado;\n this.resultadoPrestaoContaPontuacao.valor_pontuacao = y.valor_pontuacao;\n this.listaResultadoPrestaoContaPontuacao.push(this.resultadoPrestaoContaPontuacao);\n })\n this.resultadoPrestaoConta.id = x.id;\n this.resultadoPrestaoConta.resultado_final = x.resultado_final;\n this.resultadoPrestaoConta.id_funcao_exercida = x.id_funcao_exercida;\n this.resultadoPrestaoConta.id_prestacao_conta = x.id_prestacao_conta;\n this.resultadoPrestaoConta.resultado_prestacao_conta_pontuacao = this.listaResultadoPrestaoContaPontuacao;\n this.listResultadoPrestacaoConta.push(this.resultadoPrestaoConta);\n });\n\n this.listFuncaoExercidaPrestacaoConta = [];\n this.listaFuncao.map(x => {\n this.funcaoExercidaPrestacaoConta = new FuncaoExercidaPrestacaoConta;\n this.funcaoExercidaPrestacaoConta.id_funcao_exercida = x.id_funcao_exercida;\n this.funcaoExercidaPrestacaoConta.id_hipoteses = x.id_hipoteses;\n this.listFuncaoExercidaPrestacaoConta.push(this.funcaoExercidaPrestacaoConta);\n });\n\n //PASSO A PASSO\n //1- ADICIONAR EM CADA OBJETO DA LISTA A PROPRIEDADE CLASSE COM NOME DEFAULT JÁ PREENCHIDO\n //2- PERCORRER A LISTA COM FOR E ADICIONAR UM A UM CADA ELEMENTO NA VARIÁVEL PARAMETROS DO FORMULÁRIO\n //3- VALIDAR SE TODOS OS ELEMENTOS DO FORMULÁRIO DA TELA SÃO PREENCHIDOS E ENVIADOS AO CONTROLLER\n //4- VALIDAR SE TODOS OS VALORES ENVIADOS AO CONTROLLER SÃO DEVIDAMENTE ATUALIZADOS SEM ERRO\n //5- VALIDAR SE O MÉTODO EXCLUIR REALMENTE FUNCIONA\n //6- VALIDAR SE O MÉTODO SALVAR REALMENTE FUNCIONA\n\n\n var ParametrosDoFormulario = [];\n\n //ADICIONANDO OS OBJETOS DO TIPO EnderecoProfissionalPrestacaoContaDto\n if (this.listaEnderecos.length > 0) {\n this.listaEnderecos.forEach(endereco => {\n endereco.classe = \"EnderecoProfissionalPrestacaoContaDto\",\n endereco.num_cep = this.limpaCaracterEspecial(endereco.num_cep);\n ParametrosDoFormulario.push(endereco);\n });\n }\n\n //ADICIONANDO OS OBJETOS DO TIPO FuncaoExercidaPrestacaoContaDto\n if (this.listFuncaoExercidaPrestacaoConta.length > 0) {\n this.listFuncaoExercidaPrestacaoConta.forEach(funcao => {\n funcao.classe = \"FuncaoExercidaPrestacaoContaDto\";\n ParametrosDoFormulario.push(funcao);\n });\n }\n\n //ADICIONANDO OS OBJETOS DO TIPO EmailProfissionalPrestacaoContaDto\n if (this.listaEmails.length > 0) {\n this.listaEmails.forEach(email => {\n email.classe = \"EmailProfissionalPrestacaoContaDto\";\n ParametrosDoFormulario.push(email);\n });\n }\n\n //ADICIONANDO OS OBJETOS DO TIPO TelefoneProfissionalPrestacaoContaDto\n if (this.listaTelefones.length > 0) {\n this.listaTelefones.forEach(telefone => {\n telefone.classe = \"TelefoneProfissionalPrestacaoContaDto\";\n ParametrosDoFormulario.push(telefone);\n });\n }\n\n //ADICIONANDO OS OBJETOS DO TIPO ResultadoPrestacaoContaDto\n\n if (this.listResultadoPrestacaoConta.length > 0) {\n this.listResultadoPrestacaoConta.forEach(resultado => {\n resultado.classe = \"ResultadoPrestacaoContaDto\";\n ParametrosDoFormulario.push(resultado);\n });\n }\n\n //ADICIONAR A PROPRIEDADE CLASSE EM TODOS\n var idPrestacaoContaDto = { \"idPrestacaoContaDto\": this.idEditar, \"classe\": \"id\" };\n ParametrosDoFormulario.push(idPrestacaoContaDto);\n\n this.confirmacao.confirm({\n header: 'Mensagem de Confirmação',\n message: `Atenção! Ao confirmar esta operação, a Prestação de Contas será atualizada na base de dados.\n Deseja realmente confirmar esta operação?`,\n accept: () => {\n if (this.acao == 'editar' || this.acao == 'cadastrar') {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.AtualizarPrestacaoConta(this.controllerName, ParametrosDoFormulario, this.PrestacaoContaDto).subscribe(() => {\n const rota = this.acao == 'cadastrar' ? '../' : '../../';\n this.router.navigate([rota], { relativeTo: this.activatedRoute });\n this.observableUtilPanelDoc.setBlockedPanel(false);\n return this.TratarMsgEnviarEditar();\n }, err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`Erro ao gravar. ${err._body}`);\n });\n }\n }\n });\n }\n else {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.GerarCertidao('relatorio/gerarRelatorio', { id: this.idEditar, id_lotacao: localStorage.getItem(\"lotacao\"), logo: localStorage.getItem(\"path\") }).subscribe(x => {\n FileSaver.saveAs(new Blob([x.blob()], { type: x['_body'].type }), \"Relatório Prestação de Conta\");\n this.observableUtilPanelDoc.setBlockedPanel(false)\n }, err => {\n this.observableUtilPanelDoc.setBlockedPanel(false)\n this.showMsgError(`Erro ao gerar a impressão. ${err._body}`)\n });\n }\n }\n\n TratarMsgEnviarEditar(enviar: boolean = false): void {\n return !this.profissionalEnviouAposPrazoInicial\n ? sessionStorage.setItem('msg', 'Registro salvo com sucesso.')\n : sessionStorage.setItem('msgWarn', `A sua prestação de contas foi ${(enviar ? 'enviada' : 'editada')} após\n o dia 31 de janeiro de ${this.obj.exercicio}, portanto está intempestiva e\n será analisada pelas Comissões de Educação Profissional Continuada do CFC/CRCs\n quanto à intempestividade da entrega.`);\n }\n\n get profissionalEnviouAposPrazoInicial(): boolean {\n return this.ehProfissional &&\n this.DataSemHora(new Date()) > this.DataSemHora(new Date(this.obj.anoExercicio + 1, 0, 31))\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/base-prestacao-conta.component.ts","import { Component, OnInit, Input } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { BaseComponent } from './base.component';\n\n@Component({ template: '' })\nexport class BaseStepComponent extends BaseComponent implements OnInit {\n // tslint:disable-next-line: no-input-rename\n @Input('form') cadastro: FormGroup;\n @Input() acao = '';\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/base-step.component.ts","import { RecursoFiltro } from './../entity/recurso-filtro.model';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup } from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CabecalhoMensagens, TipoMensagem, Situacoes } from 'app/entity/enumeraveis';\nimport { EventEmitterService } from 'app/util/emitter-service/emitter-service';\nimport { EVENT_MSGS_UPDATE } from 'app/util/emitter-service/nome-evento';\nimport * as FileSaver from 'file-saver';\nimport { SelectItem } from 'primeng/components/common/selectitem';\nimport { ConfirmationService, Message } from 'primeng/primeng';\n// tslint:disable-next-line: import-blacklist\nimport { ReplaySubject } from 'rxjs';\nimport { Observable } from 'rxjs/Observable';\n\nimport { PadraoService } from '../service/padrao.service';\nimport { Helpers } from '../util/helpers';\nimport { Locale } from '../util/locale.ptbr';\nimport {\n bObservableListaPrestacaoConta,\n bObservableUsuario,\n ObservableBlockPanel,\n ObservableBlockPanelDoc,\n ObservableLotacao,\n ObservableVariable,\n} from '../util/observable-util';\nimport { setImmediate } from 'timers';\nimport { dataFimLimite } from 'app/util/custom.validators';\n\n@Component({ template: '' })\nexport class BaseComponent implements OnInit {\n controllerName = '';\n today = Date.now();\n hoje = new Date();\n dataLimitePrestacaoDeContas = new Date(`${new Date().getFullYear().toString()}/01/31`);\n primeiroDiaDoAnoAnteriorAoAnoVigente = new Date(`${(new Date().getFullYear() - 1).toString()}/01/01`);\n primeiroDiaDoAnoVigente = new Date(`${new Date().getFullYear().toString()}/01/01`);\n ultimoDiaDoAnoVigente = new Date(`${new Date().getFullYear().toString()}/12/31`);\n lastYear = new Date(new Date().setFullYear(new Date().getFullYear() - 1));\n msgs: Message[] = [];\n siglaUsuarioLogado: any;\n perfisLotado: any[];\n @Input() isValid = false;\n @Output() isValidChange = new EventEmitter
();\n profissionalPodePrestarConta = true;\n\n constructor(public formBuilder: FormBuilder,\n public router: Router,\n public activatedRoute: ActivatedRoute,\n public service: PadraoService,\n public observableUtil: ObservableVariable,\n public confirmacao: ConfirmationService,\n public locale: Locale,\n public help: Helpers,\n public observableUtilPanel: ObservableBlockPanel,\n public observableUtilPanelDoc: ObservableBlockPanelDoc,\n public observableUtilLotacao: ObservableLotacao,\n public observableUser: bObservableUsuario,\n public bObservableListaPrestacaoConta: bObservableListaPrestacaoConta\n ) {\n this.observableUser.getValue.subscribe(x => {\n if (x) {\n const dadoUsuario = x.obj\n this.perfisLotado = dadoUsuario.lotacaoDTO.find(x => x.id == localStorage.getItem('lotacao')).perfilDTO;\n this.siglaUsuarioLogado = dadoUsuario.lotacaoDTO.find(x => x.id == localStorage.getItem('lotacao')).sigla;\n }\n });\n }\n\n init(optional1?: any, optional2?: any) {\n if (sessionStorage.getItem('msg')) {\n this.showMsgSucess(sessionStorage.getItem('msg'))\n } else if (sessionStorage.getItem('msgError')) {\n this.showMsgError(sessionStorage.getItem('msgError'));\n } else if (sessionStorage.getItem('msgWarn')) {\n this.showMsgWarn(sessionStorage.getItem('msgWarn'));\n }\n sessionStorage.removeItem('msg');\n sessionStorage.removeItem('msgError');\n sessionStorage.removeItem('msgWarn');\n };\n afterInit() { };\n afterLoad() { };\n\n ngOnInit() {\n this.init();\n }\n\n get ehGestorEpc() {\n return this.gestorCfc || this.gestorCrc\n }\n\n get gestorCfc() {\n return this.perfisLotado && this.perfisLotado\n .some(x => x.sistemaDTO.nome.toLowerCase() === 'epc' && x.nome.toLowerCase() === 'gestor cfc');\n }\n\n get gestorCrc() {\n return this.perfisLotado && this.perfisLotado\n .some(x => x.sistemaDTO.nome.toLowerCase() === 'epc' && x.nome.toLowerCase() === 'gestor crc');\n }\n\n get comissaoCfc() {\n return this.perfisLotado && this.perfisLotado\n .some(x => x.sistemaDTO.nome.toLowerCase() === 'epc' && x.nome.toLowerCase() === 'comissão cfc');\n }\n\n get comissaoCrc() {\n return this.perfisLotado && this.perfisLotado\n .some(x => x.sistemaDTO.nome.toLowerCase() === 'epc' && x.nome.toLowerCase() === 'comissão crc');\n }\n get ehCapacitadora() {\n return this.perfisLotado && this.perfisLotado\n .some(x => x.sistemaDTO.nome.toLowerCase() === 'epc' &&\n (x.nome.toLowerCase() === 'capacitadora'));\n }\n\n get ehProfissional() {\n return this.perfisLotado && this.perfisLotado\n .some(x => x.sistemaDTO.nome.toLowerCase() === 'epc' &&\n (x.nome.toLowerCase() === 'profissional'));\n }\n\n getItemBy(arr: any, filter: any) {\n if (arr == null) {\n return '';\n }\n const ret = arr.find(item => {\n let select = true;\n Object.keys(filter).forEach(fkey => {\n if (select && item[fkey] !== filter[fkey]) {\n select = false;\n }\n });\n return select;\n });\n return ret ? ret : '';\n }\n\n listItemBy(arr: any, filter: any) {\n if (arr == null) {\n return [];\n }\n const ret = arr.filter(item => {\n let select = true;\n Object.keys(filter).forEach(fkey => {\n if (select && item[fkey] !== filter[fkey]) {\n select = false;\n }\n });\n return select;\n });\n return ret ? ret : [];\n }\n\n showMsg(severity: string, summary: string, detail: string) {\n this.msgs = [];\n this.msgs.push({ severity: severity, summary: summary, detail: detail });\n EventEmitterService.get(EVENT_MSGS_UPDATE).emit(this.msgs);\n }\n\n showMsgError(mensagem: string) {\n this.showMsg(TipoMensagem[4], CabecalhoMensagens[4], mensagem);\n }\n\n showMsgWarn(mensagem: string) {\n this.showMsg(TipoMensagem[3], CabecalhoMensagens[3], mensagem);\n }\n\n showMsgInfo(mensagem: string) {\n this.showMsg(TipoMensagem[2], CabecalhoMensagens[5], mensagem);\n }\n\n showMsgSucess(mensagem: string) {\n this.showMsg(TipoMensagem[1], CabecalhoMensagens[1], mensagem);\n }\n\n touchAll(formGroup: FormGroup | FormArray, func = 'markAsDirty', opts = { onlySelf: false }): void {\n Object.keys(formGroup.controls).map((key, index) => {\n const obj = formGroup.controls[key];\n if (obj instanceof FormGroup || obj instanceof FormArray) {\n this.touchAll(obj, func, opts);\n } else {\n obj[func](opts);\n }\n });\n }\n\n setValidators(formGroup: FormGroup | FormArray, validator: any): void {\n Object.keys(formGroup.controls).map((key, index) => {\n const obj = formGroup.controls[key];\n if (obj instanceof FormGroup || obj instanceof FormArray) {\n this.setValidators(obj, validator);\n } else {\n obj.setValidators(validator);\n }\n });\n }\n\n verifyControlsEmpty(formGroup: FormGroup | FormArray, controlNameExcept?: string): boolean {\n let count = 0;\n Object.keys(formGroup.controls).map((key, index) => {\n const obj = formGroup.controls[key];\n if ((obj.value === undefined || obj.value === null || obj.value === '') && controlNameExcept !== key) {\n count++;\n }\n });\n if (count > 0) { return false; } else { return true; }\n }\n\n validateListExists(list: any, obj: any) {\n if (this.getItemBy(list, obj) != '') {\n this.showMsgWarn(`Já existe um registro na lista com esses dados.`)\n return true;\n } else {\n return false;\n }\n }\n\n addToList(list: any, listEmit: EventEmitter, form: any, event: any, validationObj: any = null, customData: any = null) {\n if (validationObj != null && this.validateListExists(list, validationObj)) {\n return false;\n }\n if (form.valid) {\n // tslint:disable-next-line: max-line-length\n if (list.length > 0 ? form.value.id_funcao_exercida !== undefined ?\n !list.some(x => x.id_funcao_exercida === form.value.id_funcao_exercida \n && x.id_pontuacao === form.value.id_pontuacao \n && x.id_grupo_atividade === form.value.id_grupo_atividade\n && x.id_hipoteses === form.value.id_hipoteses) : true : true)\n {\n list.push(Object.assign({}, form.value, customData));\n list = [...list];\n listEmit.emit(list);\n\n form.reset();\n this.touchAll(form, 'markAsPristine');\n } else {\n this.showMsg(TipoMensagem[3], CabecalhoMensagens[3], 'Não é possível adicionar Função Exercida com a mesma Hipótese Legal já incluída anteriormente.')\n this.touchAll(form);\n return false;\n }\n } else {\n this.touchAll(form);\n return false;\n }\n\n }\n\n editElementToList(list: any[], listEmit: EventEmitter, index: number, form: FormGroup) {\n let dado: any;\n dado = list.splice(index, 1);\n form.patchValue(dado[0]);\n list = [...list];\n listEmit.emit(list);\n return dado[0];\n }\n\n removeFromList(list: any[], listEmit: EventEmitter, index: number, message: string, minLength: number = 0) {\n this.confirmacao.confirm({\n header: 'Mensagem de Confirmação',\n message: `Atenção! Deseja mesmo remover esse item da lista ${message}?`,\n accept: () => {\n list.splice(index, 1);\n list = [...list];\n listEmit.emit(list)\n if (list.length < minLength) {\n this.showMsgWarn(`É necessária a inclusão de ao menos ${minLength} ${message}`);\n }\n }\n });\n }\n loadEnumAsList(enumeration: any): any {\n const half = typeof enumeration == 'object' ? (Object.keys(enumeration).length * 0.5) : enumeration.length;\n return Object.keys(Object.assign({}, enumeration))\n .filter((key, i) => (i < half)).map((key, i, obj) => obj[key] = { value: key, label: obj[key] });\n }\n\n /**\n * Preenche uma lista a partir de um enum passado pelo usuario\n * @param lista lista a ser preenchida\n * @param enumeration enum a ser usada para preencher a lista\n */\n loadListAsEnum(lista: SelectItem[], enumeration: any) {\n for (var n in enumeration) {\n if (isNaN(Number(n))) {\n lista.push({ value: enumeration[n], label: n });\n }\n }\n }\n\n\n getControlName(c: AbstractControl): string | null {\n const formGroup = c.parent.controls;\n return Object.keys(formGroup).find(name => c === formGroup[name]) || null;\n }\n\n limpaCaracterEspecial(campo: string): string {\n if (campo != null) {\n return campo.replace(/[^0-9A-Za-z]/g, '');\n } else { return ''; }\n }\n\n FormatCodigoCFC(campo: string): string {\n if (campo != null) {\n return campo.replace(/[^0-9A-Za-z\\-]/g, '');\n } else { return ''; }\n }\n\n public readFile(fileToRead: File): Observable {\n const base64Observable = new ReplaySubject(1);\n\n const fileReader = new FileReader();\n fileReader.onload = event => {\n base64Observable.next(fileReader.result);\n };\n fileReader.readAsDataURL(fileToRead);\n\n return base64Observable;\n }\n\n b64toFile(b64Data, filename, contentType) {\n const sliceSize = 512;\n const byteCharacters = atob(b64Data);\n const byteArrays = [];\n\n for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n const slice = byteCharacters.slice(offset, offset + sliceSize);\n const byteNumbers = new Array(slice.length);\n\n for (let i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n const byteArray = new Uint8Array(byteNumbers);\n byteArrays.push(byteArray);\n }\n const file = new File(byteArrays, filename, { type: contentType });\n return file;\n }\n\n downloadFile(id: number, fileName: string, key: string, classtype: string) {\n this.service.ObterAnexo(`arquivo`, id, key, classtype).subscribe(\n data => {\n FileSaver.saveAs(this.b64toFile(data, null, 'application/octet-stream'), fileName);\n this.showMsgSucess(`O arquivo '${fileName}' foi baixado automaticamente, verifique na pasta de downloads.`);\n }\n , err => this.showMsgError(`Houve um erro ao baixar o arquivo. ${err._body}`)\n );\n }\n\n downloadFileById(id: number, key: string, fileName: string) {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.ObterAnexoById(`anexo/download`, id, key).subscribe(\n data => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n FileSaver.saveAs(new Blob([data.blob()], { type: data['_body'].type }), fileName);\n this.showMsgSucess(`O arquivo '${fileName}' foi baixado automaticamente, verifique na pasta de downloads.`);\n }\n , err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`Houve um erro ao baixar o arquivo.`);\n }\n );\n }\n\n onSelectFileUploadList(event, uploadedFiles: any[], uploadedFilesChange: EventEmitter,\n customData: any = null) {\n for (const file of event.files) {\n if (file.size < 10000000) {\n this.readFile(file).subscribe(f => {\n uploadedFiles.push(Object.assign({\n nome_upload: f, nome_arquivo: file.name,\n tamanho_arquivo: file.size, extensao: null, id: 0\n }, customData));\n uploadedFiles = [...uploadedFiles];\n uploadedFilesChange.emit(uploadedFiles);\n });\n }\n }\n }\n IncluirArquivo(file, uploadedFiles: any[], uploadedFilesChange: EventEmitter,\n customData: any = null) {\n if (file.size < 10000000) {\n this.readFile(file).subscribe(f => {\n uploadedFiles.push(Object.assign({\n nome_upload: f, nome_arquivo: file.name,\n tamanho_arquivo: file.size, extensao: null, id: 0\n }, customData));\n uploadedFiles = [...uploadedFiles];\n uploadedFilesChange.emit(uploadedFiles);\n });\n }\n }\n\n adicionaZeroEsquerda(num, size) {\n let s = num + '';\n while (s.length < size) { s = '0' + s; }\n return s;\n }\n\n\n concatStringFiltro(list: any[]) {\n let string = '';\n let primeira = false;\n list.forEach(x => {\n if (!primeira) {\n string = string.concat(x);\n primeira = true;\n } else {\n string = string.concat(' ', x);\n }\n });\n\n return string;\n }\n\n salvarEstadoPaginacao(pagina: number) {\n sessionStorage.setItem('funcionalidade', this.router.url.split('/')[2]);\n sessionStorage.setItem('pagina', pagina.toString());\n }\n\n logar(obj: any) {\n }\n\n calcularValidadeCurso(data_cadastro: string, data_validade: string) {\n // if(data_validade){\n // var d = new Date(data_validade),\n // month = '' + (d.getMonth() + 1),\n // day = '' + d.getDate(),\n // year = d.getFullYear();\n\n // if (month.length < 2) \n // month = '0' + month;\n // if (day.length < 2) \n // day = '0' + day;\n\n // return [day, month, year].join('/');\n // }\n if (data_cadastro != null) {\n const data = new Date(data_cadastro);\n const ano: number = data.getFullYear() + 1;\n return '31/12/' + ano;\n }\n return null;\n }\n\n gerarData(data: string): Date {\n return data ?\n new Date(data.replace(/[/]/g, '-').replace(/(\\d{2})-(\\d{2})-(\\d{4})/, '$2/$1/$3'))\n : null;\n }\n /**\n * Retorn um arquivo\n * @param id id da entidade a ser impressa\n * @param fileName nome do arquivo que será salvo\n * @param controller controlador a ser chamado\n * @param action ação a ser chamada\n */\n printById(id: number, fileName: string, controller: string, action: string) {\n\n this.confirmacao.confirm({\n header: 'Confirmação',\n message: `Deseja realmente imprimir?`,\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.GetFileById(id, controller, action, null).subscribe(\n x => {\n FileSaver.saveAs(new Blob([x.blob()], { type: x['_body'].type }), fileName);\n this.showMsg('success', 'Mensagem de Sucesso', `Impressão realizada com sucesso.`);\n this.observableUtilPanelDoc.setBlockedPanel(false);\n },\n err => {\n this.showMsg('danger', 'Mensagem de Erro', `Houve algum erro ao imprimir. ${err}`);\n this.observableUtilPanelDoc.setBlockedPanel(false);\n }\n );\n }\n });\n }\n\n /**\n * Está função é usada para quando náo se deseja abrir um recurso de uma atividade\n * @param id id da atividade para o qual o recurso não será aberto\n * @param route rota do controller para a função não-interpor-recurso\n * @param retornoLink link de retorno ao final da execução\n */\n naoAbrirRecurso(id: number, route: string, refresh: boolean, timeOut: number = 0) {\n setTimeout(() => {\n this.confirmacao.confirm({\n header: 'Confirmação',\n message: `Concordo com a decisão proferida pelo CRC/CFC. Não desejo interpor recurso.`,\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n const body = new RecursoFiltro();\n body.IdModel = id\n body.Interpor = false;\n this.service.InteporRecurso(body, route).subscribe(() => {\n this.showMsgSucess('Recurso não interposto com sucesso.');\n this.observableUtilPanelDoc.setBlockedPanel(false);\n if (refresh !== null) {\n setTimeout(() => location.reload(), 3000);\n }\n },\n err => {\n this.showMsgError(`Houve um erro ao salvar o registro. ${err._body}`)\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this\n });\n }\n });\n }, timeOut);\n }\n /**\n * Está função é usada para quando se deseja abrir um recurso de uma atividade\n * @param body dados do recurso a ser aberto\n * @param controller rota do controller para a função não-interpor-recurso\n * @param retornoLink link de retorno ao final da execução\n */\n abrirRecurso(body: RecursoFiltro, controller: string, retornoLink: string = null) {\n body.Interpor = true;\n if (body.Justificativa.length === 0) {\n this.showMsgWarn('É necessário justificativa para interpor recurso.');\n return;\n }\n this.confirmacao.confirm({\n header: 'Confirmação',\n message: 'Não concordo com a decisão proferida pelo CRC/CFC e desejo interpor recurso.',\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.InteporRecurso(body, controller).subscribe(() => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsg('success', 'Mensagem de Aviso', `Recurso interposto com sucesso.`);\n if (retornoLink !== null) {\n this.router.navigate([retornoLink]);\n }\n },\n err => {\n this.showMsgError(`Houve um erro ao salvar o registro. ${err._body}`)\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n }\n });\n }\n\n DataSemHora(data) {\n const d = new Date(data);\n d.setHours(0, 0, 0, 0);\n return d;\n }\n\n prestacaoForaDoPrazo(data: Date): boolean {\n const anoExercicio = data.getFullYear();\n var retorno: boolean = false;\n retorno = (anoExercicio == 2019 || anoExercicio == 2020) &&\n this.ehProfissional &&\n this.DataSemHora(new Date()) > this.DataSemHora(new Date(2021, 3, 31));\n retorno = this.ehProfissional &&\n (anoExercicio != 2019 && anoExercicio != 2020) &&\n this.DataSemHora(new Date()) > this.DataSemHora(new Date(anoExercicio + 0, 1, 7));\n return retorno;\n }\n prestacaoForaDoPrazoObj(obj: any): boolean {\n return (!obj || obj.id_situacao !== Situacoes['Devolvido para Adequação']);\n }\n\n desconsiderarForaDoPrazoObj(obj: any): boolean {\n return (!obj || obj.id_situacao !== Situacoes['Devolvido para Adequação'] || obj.id_situacao !== Situacoes['Aberto para Recurso']);\n }\n \n\n verificarPrestacaoForaDoPrazo(data: Date, cadastro: FormGroup){\n this.service.temPendencia(data.getFullYear()).subscribe(pendencia => {\n this.service.obterPrazoPrestacaoProfissional(data.getFullYear()).subscribe((prazo: string) => {\n var foraDoPrazo: boolean = false;\n foraDoPrazo = this.ehProfissional && this.DataSemHora(new Date()) > this.DataSemHora(prazo);\n let fim = new Date(cadastro.get('data_fim').value);\n let id_situacao = cadastro.get('id_situacao').value\n if (data && foraDoPrazo && !pendencia && (id_situacao != 13 && id_situacao != 14)) {\n const anoPrestacao = data.getFullYear();\n this.exibirPrestacaoForaDoPrazo(anoPrestacao);\n this.profissionalPodePrestarConta = false;\n cadastro.get('data_fim').setErrors({ error: `Prestação do ano ${anoPrestacao} já encerrada` });\n }\n else if (!dataFimLimite(fim)) {\n cadastro.get('data_fim').setErrors({ error: `Não é possível cadastrar esta atividade para o ano seguinte.` });\n this.showMsg('warn', 'Data Fim', `Não é possível cadastrar esta atividade para o ano seguinte.`);\n }\n });\n });\n }\n\n exibirPrestacaoForaDoPrazo(ano: number) {\n this.showMsgWarn(`A data limite para prestar contas foi atingida. Entre em contato com o CFC para obter mais informações.`);\n // this.showMsgWarn(`A data limite para prestar contas do ano de ${ano} é 31/01/${ano + 1}`);\n }\n\n retornaDataString(data: Date, isFormatBrazil: boolean = false): string {\n\n if (!data) { return null };\n const dia = data.getDate().toString(),\n mes = (data.getMonth() + 1).toString(), // + 1 pois no getMonth Janeiro começa com zero.\n ano = data.getFullYear();\n\n return isFormatBrazil ? `${dia}/${mes}/${ano}` : `${mes}-${dia}-${ano}`;\n }\n\n agruparLista(lista: Array, chaveAgrupamento: string): object {\n return lista.reduce((rv, x) => {\n (rv[x[chaveAgrupamento]] = rv[x[chaveAgrupamento]] || []).push(x);\n return rv;\n }, {});\n }\n\n GetItemLista(id: number, list: any[]): string {\n if (id && id > 0 && list && list.length > 0) {\n return list.find(x => x.value === id).label\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/base.component.ts","import { BaseCrudComponent } from '../base';\nimport { SelectItem, MenuItem } from 'primeng/primeng';\nimport { environment } from 'environments/environment';\nimport { Validators, FormArray } from '@angular/forms';\nimport { ResumoHomologacaoCurso } from '../entity/resumo-homologacao.model';\nimport { Situacoes, TipoDecisao } from 'app/entity/enumeraveis';\nimport { Component } from '@angular/core';\nimport { HomologacaoEvento } from 'app/entity/homologacao-evento.model';\nimport { RascunhoDeJulgamento } from 'app/entity/rascunho-de-julgamento.model';\nimport { PontuacaoRascunhoDeJulgamento } from 'app/entity/pontuacao-rascunho-de-julgamento.model';\n\n@Component({ template: '' })\nexport class HomologacaoAtividadeComponent extends BaseCrudComponent {\n pontuacaoNaturezaMinima: any;\n etapaPontuacao = 3\n listaPntCFC: any[];\n listaPntCRC: any[];\n listaPntCFCEvento: any[];\n listaPntCRCEvento: any[];\n pontuacaoNaturezaMaxima: any;\n dataVigencia: Date;\n resumoHomologacao: ResumoHomologacaoCurso = new ResumoHomologacaoCurso();\n modal: number;\n listaResumo: SelectItem[] = [];\n pontuacaoNatureza = 0;\n listaAtividade: SelectItem[] = [];\n listaValorAtividade: any[] = [];\n deferido: string = 'Deferimento';\n isValid = false;\n nomeCapacitadora: string;\n nomeInstituicao: string;\n pendente = false;\n AptoNApto = false;\n pontuacao_homologacao_atividade: FormArray;\n contador = 0;\n pontuacao_conteudo_evento: FormArray; //pontuacao por evento ind.\n decisaoComissaoCrc: any;\n disabledCheckbox: boolean;\n listaRelatores: SelectItem[] = [];\n\n anos: number;\n etapa = 0;\n etapas: MenuItem[] = [\n { label: 'Em homologação no CRC - Gestor' },\n { label: 'Em homologação no CRC - Comissão' },\n { label: 'Em homologação no CFC - Gestor' },\n { label: 'Em homologação no CFC - Comissão' }\n ];\n listaUsuarioPedencia: any = [\n { nome: 'Profissional', id: 1 },\n { nome: 'Gestor CRC', id: 2 }\n ];\n mostrarGestor = false;\n liberarBtns: boolean = false;\n textoDeferimento = '';\n\n cadastro = this.formBuilder.group({\n pontuacao_homologacao_atividade: this.formBuilder.array([]),\n pontuacao_conteudo_evento: this.formBuilder.array([]), //pontuacao por evento ind.\n id: [null],\n id_atividade_natureza: [null, [Validators.required]],\n id_situacao: [null],\n observacao: [null, [Validators.required, Validators.maxLength(4000)]],\n id_usuario_receptor: [null, [Validators.required]],\n id_usuario_emissor: [null],\n data_julgamento: [new Date],\n id_pendencia: [null, [Validators.required]]\n });\n\n init() {\n this.observableUser.getValue.subscribe(\n usuario => {\n if (usuario && usuario !== '') {\n const dadoUsuario = usuario.obj\n this.cadastro.get('id_usuario_emissor').setValue(dadoUsuario.id);\n }\n },\n error => (error.status === 403) ? window.location.href =\n `${environment.apiEndpoint}/api/Autenticar/login` : null\n );\n }\n afterLoad() {\n this.contador = this.obj.contador !== undefined ? this.obj.contador : 0;\n this.cadastro.get('pontuacao_homologacao_atividade').patchValue(this.obj.pontuacao_homologacao_atividade);\n const id = this.cadastro.get('id').value;\n this.service.ListarPontuacaoHomologacao(this.controllerName, id, 'Comissão CRC').subscribe(retorno => {\n this.listaPntCRC = retorno;\n });\n this.service.ListarPontuacaoHomologacao(this.controllerName, id, 'Comissão CFC').subscribe(retorno => {\n this.listaPntCFC = retorno;\n });\n\n //Carrega pontuacoes por conteudo/evento\n this.service.ListarHomologacaoConteudoEvento(this.controllerName, id, \"Comissão CRC\").subscribe(retorno => {\n this.listaPntCRCEvento = retorno;\n });\n this.service.ListarHomologacaoConteudoEvento(this.controllerName, id, \"Comissão CFC\").subscribe(retorno => {\n this.listaPntCRCEvento = retorno;\n });\n\n this.CarregarListaResumo();\n this.verificaEtapa();\n this.carregarListaRelatores();\n }\n carregarListaRelatores() {\n this.service.ListarRelatores('listaRelatoresHomologacao', { query: this.obj.id }).subscribe(\n data => {\n this.listaRelatores = data;\n }\n );\n }\n /**\n * Carrega as naturezas ligadas atividade do parametro.\n * @param atividade nome da atividade\n */\n carregarlistAtividade(atividade: string, id_atividade: number) {\n this.service.ListarTodos('natureza', { query: atividade, id_natureza: id_atividade }).subscribe(data => {\n this.listaAtividade = data;\n this.listaValorAtividade = data;\n });\n }\n\n /**\n * Método que lista as pontuações parametrizadas em Pontuação.\n * @param atividadeHomologacao nome da atividade da homologação Ex: Se a homologacao e de docencia entao a atividade é docencia\n */\n carregarPontuacaoCadastro(atividadeHomologacao: string, id_atividade: string, rascunhoFinal: any) {\n this.service.ListarPorAtividadeAvulsas('atividadePontuacao', { query: atividadeHomologacao, id_atividade: id_atividade }).subscribe(\n data => {\n let i = 0;\n const ultimoRegistro = data.length - 1;\n this.anos = data[ultimoRegistro].pontuacao.norma.ano_exercicio;\n\n this.pontuacao_homologacao_atividade = this.cadastro.controls['pontuacao_homologacao_atividade'] as FormArray;\n this.pontuacao_conteudo_evento = this.cadastro.controls['pontuacao_conteudo_evento'] as FormArray;\n data.forEach(pontuacao => {\n const pontoResgatado = rascunhoFinal\n ? rascunhoFinal.pontuacao_rascunho_de_julgamento.filter(x => x.id_pontuacao === pontuacao.pontuacao.id)\n : [];\n const valorPontuacao = pontoResgatado.length > 0 ? pontoResgatado[0].valor_pontuacao : null;\n const item = this.formularioPontuacao(pontuacao.id_pontuacao, pontuacao.pontuacao.sigla, valorPontuacao);\n this.pontuacao_homologacao_atividade.insert(i, item);\n i++;\n });\n\n const complemento =\n this.controllerName === 'homologacao-curso-exterior' || this.controllerName === 'homologacao-evento' ?\n 'do ' : 'da ';\n\n if (this.acao !== 'visualizar' && (this.etapa === 1 || this.etapa === 3)) {\n if (rascunhoFinal) {\n this.cadastro.get('decisao_julgamento').setValue(rascunhoFinal.id_decisao);\n this.cadastro.get('data_julgamento').setValue(new Date(rascunhoFinal.data_julgamento));\n this.cadastro.get('observacao').setValue(rascunhoFinal.parecer);\n } else {\n this.cadastro.get('observacao').setValue(this.retornaTextoPadraoDeJulgamento(complemento + atividadeHomologacao));\n }\n }\n }\n );\n }\n /**\n * Carrega a lista de resumo da homologacao\n */\n CarregarListaResumo() {\n const i = 0;\n this.service.ListarTodos('resumoHomologacao', { query: this.obj.id }).subscribe(\n data => {\n this.listaResumo = data;\n const resumoComissaoCrcBd = data.find(x => x.nome_perfil === 'Comissão CRC');\n\n if (resumoComissaoCrcBd) {\n this.decisaoComissaoCrc = {\n decisao: resumoComissaoCrcBd.id_situacao ===\n Situacoes['Aguardando Câmara/Plenária - CRC - Deferido'] ||\n Situacoes['Aguardando análise no CFC - Gestor'] ?\n 'Deferido' : 'Indeferido',\n parecer: resumoComissaoCrcBd.observacao\n }\n }\n }\n );\n }\n /**\n * Método criado para carregar cada formulario de pontuação no FormArray.\n * @param cod Codigo da pontuacao\n * @param text sigla da pontuacao\n */\n formularioPontuacao(cod: number, text: string, pontoResgatado: number) {\n return this.formBuilder.group({\n valor_pontuacao: [null],\n valor: [pontoResgatado ? pontoResgatado : 0, [Validators.required, Validators.min(0)]],\n id_pontuacao: [cod],\n label: [text]\n })\n }\n\n validaRascunho(): string {\n const isDeferimento = Number.parseInt(this.cadastro.get('decisao_julgamento').value) === TipoDecisao.Deferir;\n\n if (!(this.cadastro.controls.pontuacao_homologacao_atividade.valid &&\n this.cadastro.controls.observacao.valid &&\n this.cadastro.controls.data_julgamento.valid)) {\n return 'É necessário preencher todos os campos para prosseguir com a solicitação.';\n }\n\n if (isDeferimento && !(this.cadastro.get('pontuacao_homologacao_atividade').value.some(x => x.valor > 0))) {\n return 'Para deferir essa Atividade é necessário que pelo menos uma das notas seja maior que zero!';\n }\n }\n\n montarRascunho(idHomologacaoDaAtividade: number): RascunhoDeJulgamento {\n const rascunho = new RascunhoDeJulgamento();\n rascunho.id = 0;\n rascunho.id_homologacao = idHomologacaoDaAtividade;\n rascunho.id_decisao = this.cadastro.get('decisao_julgamento').value;\n rascunho.parecer = this.cadastro.get('observacao').value;\n rascunho.data_julgamento = this.cadastro.get('data_julgamento').value;\n rascunho.perfil = this.etapa === 1 ? 'Comissão CRC' : 'Comissão CFC';\n this.montarPontuacaoDoRascunho(rascunho);\n\n return rascunho;\n }\n\n montarPontuacaoDoRascunho(rascunho: RascunhoDeJulgamento) {\n const pontuacaoDoRascunho = this.cadastro.get('pontuacao_homologacao_atividade').value;\n\n pontuacaoDoRascunho.forEach(element => {\n const objeto = new PontuacaoRascunhoDeJulgamento();\n objeto.id = 0;\n objeto.id_rascunho_de_julgamento = rascunho.id;\n objeto.id_pontuacao = element.id_pontuacao;\n objeto.perfil = rascunho.perfil;\n objeto.valor_pontuacao = element.valor;\n rascunho.pontuacao_rascunho_de_julgamento.push(objeto);\n });\n }\n\n salvarRascunho(idHomologacaoDaAtividade: number) {\n const mensagem = this.validaRascunho();\n\n if (mensagem) {\n this.showMsgWarn(mensagem);\n return;\n }\n\n this.confirmacao.confirm({\n header: 'Mensagem de Confirmação',\n message: 'Deseja realmente prosseguir com a criação do Rascunho de Julgamento da Homologação desse Curso?',\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n const rascunho = this.montarRascunho(idHomologacaoDaAtividade);\n this.service.SalvarRascunhoDeJulgamento(this.controllerName, rascunho).subscribe(mensagemDeRetorno => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgSucess(mensagemDeRetorno);\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError('Ocorreu um erro ao salvar o Rascunho do Julgamento.');\n });\n }\n });\n }\n\n /**\n * Abre a modal de homologacao com os valores\n * @param valor true ou false usado pra abrir ou fechar o modal\n * @param texto valor usado no texto na etapa 1 e 3.\n * @param nomeAtividade\n\n */\n AbrirModal(valor: number, texto: string) {\n this.cadastro.get('observacao').reset();\n this.modal = valor;\n this.deferido = texto;\n this.cadastro.get('id_pendencia').setValue('');\n this.cadastro.markAsPristine();\n }\n\n retornaTextoPadraoDeJulgamento(atividadeHomologacao: string): string {\n const nomeDoEstabelecimento = this.nomeCapacitadora ? this.nomeCapacitadora : this.nomeInstituicao;\n const complemento =\n this.controllerName === 'homologacao-curso-exterior' || this.controllerName === 'homologacao-evento' ?\n 'oferecido' : 'oferecida';\n if (this.etapa === 1 || this.etapa === 3) {\n this.textoDeferimento = this.montarTextoPadrao(atividadeHomologacao, complemento, nomeDoEstabelecimento);\n }\n\n return this.textoDeferimento;\n }\n\n /**\n * @param anoVigencia\n */\n retornaanoVigencia(anoVigencia: Date) {\n this.dataVigencia = anoVigencia;\n }\n\n montarTextoPadrao(atividadeHomologacao: string, complemento: string, nomeDoEstabelecimento: string): string {\n if (this.controllerName === 'homologacao-pos-graduacao' ||\n this.controllerName === 'homologacao-docencia' ||\n this.controllerName === 'homologacao-producao-intelectual') {\n\n return this.deferido === 'Deferimento' ?\n `Sou pelo ${this.deferido.toLowerCase()} do pedido de credenciamento, para o exercício de ` +\n `${new Date(this.dataVigencia.toString()).getFullYear()}, ${atividadeHomologacao}, atribuindo-se pontuação conforme tabela.` :\n\n `Sou pelo ${this.deferido.toLowerCase()} do pedido de credenciamento, para o exercício de ` +\n `${new Date(this.dataVigencia.toString()).getFullYear()}, ${atividadeHomologacao}.`;\n\n } else {\n return this.deferido === 'Deferimento' ?\n `Sou pelo ${this.deferido.toLowerCase()} do pedido de credenciamento, para o exercício de ` +\n `${new Date(this.dataVigencia.toString()).getFullYear()}, ${atividadeHomologacao} ${complemento} ` +\n `pela ${nomeDoEstabelecimento}, atribuindo-se pontuação conforme tabela.` :\n\n `Sou pelo ${this.deferido.toLowerCase()} do pedido de credenciamento, para o exercício de ` +\n `${new Date(this.dataVigencia.toString()).getFullYear()}, ${atividadeHomologacao} ${complemento} ` +\n `pela ${nomeDoEstabelecimento}.`;\n }\n }\n /**\n * método de validacao customizado utilizada na interface.\n */\n validation(): boolean {\n\n if (!this.cadastro.get('observacao').valid) {\n return false;\n }\n\n if (this.deferido === 'Pendente') {\n if (this.etapa !== 0 && !this.cadastro.get('id_pendencia').valid) {\n return false;\n }\n } else if (this.etapa === 0) {\n\n if (!this.cadastro.get('id_atividade_natureza').valid || !this.cadastro.get('id_usuario_receptor').valid) {\n return false;\n }\n } else if (this.etapa === 2) {\n if (!this.cadastro.get('id_usuario_receptor').valid) {\n return false;\n }\n } else if (this.etapa === 3 || this.etapa === 1) {\n if (this.deferido === 'Deferimento' && !this.cadastro.get('pontuacao_homologacao_atividade').valid) {\n return false;\n }\n }\n return true;\n }\n /**\n * set perfil resumo para cada etapa encontrada.\n */\n setPerfil(autonomia: boolean = false) {\n if (this.etapa === 0) {\n this.resumoHomologacao.nome_perfil = 'Gestor CRC';\n } else if (this.etapa === 1) {\n this.resumoHomologacao.nome_perfil = 'Comissão CRC';\n } else if (this.etapa === 2) {\n this.resumoHomologacao.nome_perfil = 'Gestor CFC';\n } else if (this.etapa === 3) {\n this.resumoHomologacao.nome_perfil = 'Comissão CFC';\n }\n\n }\n /**\n * verifica se a etapa está no gestor ou comissao.\n */\n verificaEtapa() {\n this.mostrarGestor = this.etapa === 0 || this.etapa === 2\n this.liberarBtns = true;\n }\n /**\n * set o perfil de acordo com a etapa.\n * @param pontuacao\n */\n setPerfilPnt(pontuacao: any) {\n if (this.etapa === 1) {\n pontuacao.perfil = 'Comissão CRC';\n } else {\n pontuacao.perfil = 'Comissão CFC';\n }\n }\n /**\n atribui a situacao e perfil de acordo com a fluxo\n acaoSistema = ação que esta sendo executada sendo ela confirmar pendente apto nao apto ...\n */\n setSituacaoConfirmar(resumoHomologacaoAtividade: ResumoHomologacaoCurso, acaoSistema: string,\n homologacao: HomologacaoEvento, autonomia: boolean = false) {\n // qualquer etapa se a ação for pendente terá esta situacao (Devolvido para adequação)\n if (acaoSistema == 'Pendente') {\n\n switch (this.etapa) {\n case 0:\n homologacao.nome_pendencia_receptor = 'gestor crc';\n break;\n case 1:\n homologacao.nome_pendencia_receptor = 'comissao crc';\n break;\n case 2:\n homologacao.nome_pendencia_receptor = 'gestor cfc';\n break;\n case 3:\n homologacao.nome_pendencia_receptor = 'comissao cfc';\n break;\n }\n\n let pendencia = this.cadastro.get('id_pendencia').value;\n\n if (pendencia == 2) {\n homologacao.nome_perfil_receptor = 'gestor crc';\n resumoHomologacaoAtividade.id_situacao = Situacoes['Aguardando análise no CRC - Gestor'];\n } else if (pendencia == 3) {\n homologacao.nome_perfil_receptor = 'gestor cfc';\n resumoHomologacaoAtividade.id_situacao = Situacoes['Aguardando análise no CFC - Gestor'];\n } else {\n // Devolvido para adequação\n resumoHomologacaoAtividade.id_situacao = Situacoes['Devolvido para Adequação'];\n }\n } else if (homologacao.nome_pendencia_receptor) {\n\n homologacao.nome_perfil_receptor = homologacao.nome_pendencia_receptor;\n homologacao.nome_pendencia_receptor = null;\n\n if (homologacao.nome_perfil_receptor === 'gestor cfc') {\n resumoHomologacaoAtividade.id_situacao = Situacoes['Aguardando análise no CFC - Gestor'];\n\n } else if (homologacao.nome_perfil_receptor === 'gestor crc') {\n resumoHomologacaoAtividade.id_situacao = Situacoes['Aguardando análise no CRC - Gestor'];\n\n } else if (homologacao.nome_perfil_receptor === 'comissao crc') {\n resumoHomologacaoAtividade.id_situacao = Situacoes['Aguardando análise no CRC - Comissão'];\n } else {\n resumoHomologacaoAtividade.id_situacao = Situacoes['Aguardando análise no CFC - Comissão'];\n }\n } else if (this.etapa === 0) {\n resumoHomologacaoAtividade.id_situacao = Situacoes['Aguardando análise no CRC - Comissão'];\n homologacao.nome_perfil_receptor = null;\n homologacao.id_usuario_receptor = this.cadastro.get('id_usuario_receptor').value;\n } else if (this.etapa === 1) {\n if (autonomia) {\n homologacao.nome_perfil_receptor = null;\n homologacao.id_usuario_receptor = null;\n if (acaoSistema === 'Deferimento') {\n resumoHomologacaoAtividade.id_situacao = Situacoes['Aguardando Câmara/Plenária - CRC - Deferido'];\n } else {\n this.resumoHomologacao.id_situacao = Situacoes['Aguardando Câmara/Plenária - CRC - Indeferido'];\n }\n } else {\n if (acaoSistema === 'Indeferimento') {\n resumoHomologacaoAtividade.id_situacao = Situacoes['Aguardando Câmara/Plenária - CRC - Indeferido'];\n } else {\n homologacao.id_usuario_receptor = null;\n homologacao.nome_perfil_receptor = 'gestor cfc';\n resumoHomologacaoAtividade.id_situacao = Situacoes['Aguardando Câmara/Plenária - CRC - Deferido']\n }\n }\n } else if (this.etapa === 2) {\n resumoHomologacaoAtividade.id_situacao = Situacoes['Aguardando análise no CFC - Comissão'];\n homologacao.nome_perfil_receptor = null;\n homologacao.id_usuario_receptor = this.cadastro.get('id_usuario_receptor').value;\n } else if (this.etapa === 3) {\n homologacao.nome_perfil_receptor = null;\n homologacao.id_usuario_receptor = null;\n if (acaoSistema === 'Deferimento') {\n resumoHomologacaoAtividade.id_situacao = Situacoes['Aguardando Câmara/Plenária - CFC - Deferido'];\n } else {\n this.resumoHomologacao.id_situacao = Situacoes['Aguardando Câmara/Plenária - CFC - Indeferido'];\n }\n }\n }\n /**\n * Verifica a regra de negócio para cada pontuação.\n * Regra se encontra na parametrização de natureza.\n * @param ptsForm valor da pontuação\n */\n verificarRegraPontuacao(ptsForm: number) {\n let retorno = true;\n if (!this.pontuacaoNaturezaMaxima && !this.pontuacaoNaturezaMinima) {\n return true;\n }\n if (ptsForm > this.pontuacaoNaturezaMaxima) {\n retorno = false;\n } else if (ptsForm < this.pontuacaoNaturezaMinima) {\n retorno = false;\n }\n return retorno;\n }\n\n /**\n * Salva um obj do tipo homologacaoAtividade ficando assim, apenas o vinculo do Id do gerenciamento do mesmo.\n * @param homologacaoAtividade\n * @param cadastro\n * @param ptsForm\n */\n CarregarDadosSalvar(homologacaoAtividade: any, cadastro: any, textoObs: string, autonomia: boolean = false) {\n homologacaoAtividade.contador = this.contador;\n homologacaoAtividade.id_usuario_receptor = cadastro.id_usuario_receptor;\n homologacaoAtividade.id = cadastro.id;\n homologacaoAtividade.id_atividade_natureza = cadastro.id_atividade_natureza;\n\n // resumo da homologacao\n homologacaoAtividade.resumo_homologacao = [];\n this.resumoHomologacao.data_julgamento = cadastro.data_julgamento;\n this.resumoHomologacao.id_homologacao = cadastro.id;\n this.setSituacaoConfirmar(this.resumoHomologacao, this.deferido, homologacaoAtividade, autonomia);\n this.setPerfil(autonomia);\n this.resumoHomologacao.id_usuario_emissor = cadastro.id_usuario_emissor;\n this.resumoHomologacao.observacao = textoObs;\n homologacaoAtividade.resumo_homologacao.push(this.resumoHomologacao);\n\n }\n\n FecharModal() {\n if (this.etapa === 1 || this.etapa === 3) {\n this.cadastro.get('observacao').setValue(this.textoDeferimento);\n }\n this.modal = null;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/homologacao-atividade.component.ts","export * from './base-crud.component';\nexport * from './base-crud-navigation.component';\nexport * from './base-info.component';\nexport * from './base-list.component';\nexport * from './base-list-filter.component';\nexport * from './base-step.component';\nexport * from './base.component';\nexport * from './base-list-filter-prestacao-conta.component';\nexport * from './base-list-filter-atividade-capacitadora.component';\nexport * from './base-list-filter-atividade-profissional.component';\nexport * from './base-prestacao-conta.component';\nexport * from './base-list-filter-participantes-por-evento.component';\nexport * from './base-list-filter-participantes-por-curso.component';\nexport * from './base-list-filter-homologacao-profissional.component';\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/index.ts","module.exports = \" \\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 \\n
\\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/curso-prestacao-conta/crud/curso-prestacao-conta-crud.component.html\n// module id = ./src/app/curso-prestacao-conta/crud/curso-prestacao-conta-crud.component.html\n// module chunks = main","import { Component } from '@angular/core';\nimport { FormGroup, Validators } from '@angular/forms';\nimport { MenuItem } from 'primeng/primeng';\nimport { BaseCrudComponent } from \"../../base/base-crud.component\";\nimport { Turma } from '../../entity/turma-model';\nimport { Participantes } from '../../entity/participantes';\nimport { ValidCpfORCnpj, ValidarData } from '../../util/custom.validators';\n\n@Component({\n selector: 'curso-prestacao-conta-crud',\n templateUrl: 'curso-prestacao-conta-crud.component.html'\n})\n\n//[minDateValue]=\"hoje\" colocar ela nas datas de inicio e fim\nexport class CrudCursoPrestacaoContaComponent extends BaseCrudComponent {\n controllerName = 'cursoPrestacaoConta';\n listaInstrutorCargaHoraria: any[] = [];\n\n validateForm: any = false;\n turma: Turma = new Turma;\n isValid: boolean = false;\n private steps: any = null;\n etapas: MenuItem[] = [];\n listaDiasSemana: any[] = [];\n listaPais: any[] = [];\n listaCidades: any[] = [];\n listaUf: any[] = [];\n isPrestarConta: number = 0;\n listaConteudo: any[] = [];\n listaCursoInstrutores: any[] = [];\n listaParticipantes: any[] = [];\n participantes: Participantes = new Participantes;\n turmaSelecionada: number = 0;\n linkEtapa: string;\n turmaDataValida = new Date();\n isHomologacao: boolean = false;\n hoje = new Date();\n dataPrazo: Date = new Date();\n modalTermoAceiteLGPD: boolean = false;\n\n stepObject: any;\n setStepObject(obj: any) {\n this.stepObject = obj;\n }\n cadastro = this.formBuilder.group({\n etapa1: this.formBuilder.group({\n participantes: this.formBuilder.group({\n nome: [null, [Validators.required, Validators.maxLength(100)]],\n cpf: [null, [Validators.required, ValidCpfORCnpj]],\n id_turma: [null],\n tipo_inclusao: [2]\n })\n\n }),\n etapa2: this.formBuilder.group({\n turma_titulo: [null, [Validators.required]],\n data_inicio: [null, [Validators.required]],\n data_fim: [null, [Validators.required]],\n turma_dia_semana: this.formBuilder.group({\n id_dia_semana: [null],\n id_turma: [null],\n id: [null],\n list: [null]\n }),\n id_pais: [null, [Validators.required]],\n id_uf: [null],\n id_cidade: [null],\n id_curso: [],\n id: [null]\n }),\n etapa3: this.formBuilder.group({\n turma_titulo: [null, [Validators.required]],\n data_inicio: [null, [Validators.required]],\n data_fim: [null, [Validators.required]],\n dia_semana: [null, [Validators.required]],\n id_pais: [null, [Validators.required]],\n id_uf: [null],\n id_cidade: [null],\n }),\n etapa4: this.formBuilder.group({\n turma_titulo: [null],\n data_inicio: [null],\n data_fim: [null],\n dia_semana: [null],\n id_pais: [null],\n id_uf: [null],\n id_cidade: [null],\n participantes: [null]\n })\n });\n\n init() {\n this.hoje = new Date(this.hoje.setDate(new Date().getDate() + 5));\n this.turmaDataValida = new Date(this.turmaDataValida.setDate(new Date().getDate() + 5))\n this.turmaDataValida = new Date(this.turmaDataValida.getFullYear(), this.turmaDataValida.getMonth(), this.turmaDataValida.getDate())\n\n this.service.ListarTodos('uf').subscribe(data => {\n this.listaUf = data;\n });\n this.service.ListarTodos('combo/dia_semana').subscribe(data => {\n this.listaDiasSemana = data;\n });\n this.service.ListarTodos('pais').subscribe(data => {\n this.listaPais = data;\n });\n\n this.cadastro.get('etapa2.data_fim').valueChanges.subscribe(x => {\n let inicio = new Date(this.cadastro.get('etapa2.data_inicio').value);\n let fim = new Date(this.cadastro.get('etapa2.data_fim').value);\n if (!ValidarData(inicio, fim)) {\n this.cadastro.get('etapa2.data_fim').setErrors({ error: 'A data fim não pode ser menor que a data de início da turma.' });\n super.showMsg('warn', 'Turma', 'A data fim não pode ser menor que a data de início da turma.');\n return;\n }\n });\n\n var listaLink = location.href.split(\"/\")\n var etapaSelecionada = listaLink[6];\n this.turmaSelecionada = +listaLink[7];\n this.linkEtapa = etapaSelecionada;\n\n if (etapaSelecionada === \"prestar-conta\" || etapaSelecionada === \"prestar-conta-homologacao\") {\n this.etapas = [\n { label: 'Prestar Conta' }\n ];\n this.etapa = 0;\n }\n if (etapaSelecionada === \"editar\" || etapaSelecionada === \"editar-homologacao\") {\n this.etapas = [\n { label: 'Editar Turma' }\n ];\n this.etapa = 1;\n this.cadastro.get('etapa2.id_uf').valueChanges.subscribe(x => {\n if (x != null) {\n this.service.ListarTodos('cidade', { id_estado: x }).subscribe(data => {\n this.listaCidades = data;\n });\n }\n });\n }\n if (etapaSelecionada === \"turma-incluir\" || etapaSelecionada === \"turma-incluir-homologacao\") {\n this.etapas = [\n { label: 'Incluir Turma' }\n ];\n this.etapa = 2;\n\n this.cadastro.get('etapa3.id_uf').valueChanges.subscribe(x => {\n if (x != null) {\n this.service.ListarTodos('cidade', { id_estado: x }).subscribe(data => {\n this.listaCidades = data;\n });\n }\n });\n }\n if (etapaSelecionada === \"turma-visualizar\" || etapaSelecionada === \"turma-visualizar-homologacao\") {\n this.etapas = [\n { label: 'Visualizar Turma' }\n ];\n this.etapa = 3;\n this.cadastro.get('etapa4.id_uf').valueChanges.subscribe(x => {\n if (x != null) {\n this.service.ListarTodos('cidade', { id_estado: x }).subscribe(data => {\n this.listaCidades = data;\n });\n }\n });\n }\n\n this.observableUser.getValue.subscribe(data => {\n if (data && data != \"\") {\n if (data.obj.lotacaoDTO.find(y => y.id == localStorage.getItem('lotacao')).sigla == 'CFC'\n && data.obj.lotacaoDTO.find(y => y.id == localStorage.getItem('lotacao'))\n .perfilDTO.filter(x => x.nome == 'Gestor CFC')\n .length > 0) {\n this.isHomologacao = true;\n }\n else {\n this.isHomologacao = false;\n }\n }\n });\n }\n\n afterLoad() {\n if (this.etapa === 1) {\n this.cadastro.get('etapa2.id').setValue(this.obj.id);\n if (this.obj.id_uf !== null) {\n this.cadastro.get('etapa2.id_uf').setValue(this.obj.id_uf);\n }\n if (this.obj.id_cidade !== null) {\n this.cadastro.get('etapa2.id_cidade').setValue(this.obj.id_cidade);\n }\n\n var listDiaSemana = this.obj.turma_dia_semana.map(item => {\n return item.id_dia_semana;\n })\n\n\n this.cadastro.get('etapa2.turma_dia_semana.list').setValue(listDiaSemana);\n\n this.cadastro.get('etapa2.id_pais').setValue(this.obj.id_pais);\n this.cadastro.get('etapa2.id_curso').setValue(this.obj.id_curso);\n this.cadastro.get('etapa2.turma_titulo').setValue(this.obj.turma_titulo);\n this.cadastro.get('etapa2.data_inicio').setValue(this.obj.data_inicio);\n this.cadastro.get('etapa2.data_fim').setValue(this.obj.data_fim);\n }\n if (this.etapa === 0) {\n\n\n this.verificaCapacitadoraPodePrestarConta();\n\n this.listaConteudo = this.obj.curso.conteudo.map(item => {\n item.justificar = this.obj.justificar.filter(valor => item.id == valor.id_conteudo);\n item.prestar_conta = this.obj.prestar_conta.filter(valor => item.id == valor.id_conteudo);\n item.curso = this.obj.curso;\n return item;\n });\n\n this.listaCursoInstrutores = this.obj.curso.curso_instrutor.map(item => {\n return item.instrutor;\n });\n this.listaParticipantes = this.obj.participantes;\n }\n if (this.etapa === 3) {\n this.cadastro.get('etapa4.turma_titulo').setValue(this.obj.turma_titulo);\n this.cadastro.get('etapa4.data_inicio').setValue(this.obj.data_inicio);\n this.cadastro.get('etapa4.data_fim').setValue(this.obj.data_fim);\n this.cadastro.get('etapa4.id_pais').setValue(this.obj.id_pais);\n this.cadastro.get('etapa4.id_uf').setValue(this.obj.id_uf);\n this.cadastro.get('etapa4.id_cidade').setValue(this.obj.id_cidade);\n this.cadastro.get('etapa4.dia_semana').setValue(this.obj.turma_dia_semana);\n this.cadastro.get('etapa4.participantes').setValue(this.obj.participantes);\n }\n }\n\n verificaCapacitadoraPodePrestarConta() {\n\n let permitePrazo: any;\n let exercicio = Number(this.obj.data_fim.getFullYear());\n\n this.service.obterPrazoPrestacao(exercicio).subscribe((prazo: string) => {\n this.dataPrazo = new Date(prazo);\n\n this.service\n .Obter(\"turma/verificarPrazoPorId/\", this.obj[\"id\"])\n .subscribe((item) => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n permitePrazo = item;\n\n const anoTurma = this.obj.data_fim.getFullYear();\n\n if (this.ehCapacitadora && new Date(new Date().setHours(0, 0, 0, 0)) > this.dataPrazo) {\n return this.showMsgWarn(`A data limite para prestar contas das turmas de ${anoTurma} é ${this.dataPrazo.toLocaleDateString()}`);\n }\n else if (this.ehCapacitadora && (anoTurma != 2019 && anoTurma != 2020) && new Date(new Date().setHours(0, 0, 0, 0)) && permitePrazo.prazoCapacitadoraAcabou) {\n this.showMsgWarn(`A data limite para prestar contas das turmas de ${anoTurma} é ${this.dataPrazo.toLocaleDateString()}`);\n return this.voltar(null, this.etapa);\n }\n });\n });\n }\n\n voltar(event: any, etapa: number) {\n if (etapa === 1) {\n if (this.linkEtapa === \"editar\") {\n this.router.navigate(['/atividades/curso-prestacao-conta/listar-turma', this.obj.id_curso], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['/atividades/curso-prestacao-conta/listar-turma-homologacao', this.obj.id_curso], { relativeTo: this.activatedRoute });\n }\n }\n else if (etapa === 0) {\n if (this.linkEtapa === \"prestar-conta\") {\n this.router.navigate(['/atividades/curso-prestacao-conta/listar-turma', this.obj.id_curso], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['/atividades/curso-prestacao-conta/listar-turma-homologacao', this.obj.id_curso], { relativeTo: this.activatedRoute });\n }\n } else if (etapa === 2) {\n if (this.linkEtapa === \"turma-incluir\") {\n this.router.navigate(['/atividades/gerenciamento-curso'], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['/atividades/homologacao-curso'], { relativeTo: this.activatedRoute });\n }\n }\n else if (etapa === 3) {\n if (this.linkEtapa === \"turma-visualizar\") {\n this.router.navigate(['/atividades/curso-prestacao-conta/listar-turma', this.obj.id_curso], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['/atividades/curso-prestacao-conta/listar-turma-homologacao', this.obj.id_curso], { relativeTo: this.activatedRoute });\n }\n }\n }\n\n finalizar(event: any, etapa: number) {\n if (etapa === 0) {\n this.listaParticipantes = this.listaParticipantes.map(item => {\n item.id_turma = this.turmaSelecionada;\n item.id = null;\n item.turma = null;\n return item;\n });\n }\n if (etapa === 1) {\n if (this.cadastro.get('etapa2').valid) {\n let inicio = new Date(this.cadastro.get('etapa2.data_inicio').value);\n let fim = new Date(this.cadastro.get('etapa2.data_fim').value);\n if (!ValidarData(inicio, fim)) {\n this.cadastro.get('etapa2.data_fim').setErrors({ error: 'A data fim não pode ser menor que a data de início da turma.' });\n super.showMsg('warn', 'Turma', 'A data fim não pode ser menor que a data de início da turma.');\n return;\n }\n this.turma.data_inicio = this.cadastro.get('etapa2.data_inicio').value;\n this.turma.data_fim = this.cadastro.get('etapa2.data_fim').value;\n this.turma.id = this.cadastro.get('etapa2.id').value;\n this.turma.id_uf = this.cadastro.get('etapa2.id_uf').value;\n this.turma.id_pais = this.cadastro.get('etapa2.id_pais').value;\n this.turma.id_cidade = this.cadastro.get('etapa2.id_cidade').value;\n this.turma.id_curso = this.cadastro.get('etapa2.id_curso').value;\n this.turma.turma_titulo = this.cadastro.get('etapa2.turma_titulo').value;\n this.turma.turma_dia_semana = this.cadastro.get('etapa2.turma_dia_semana.list').value.map(item => {\n var valor = { id: null, id_turma: this.turma.id, id_dia_semana: item }\n return valor;\n });\n }\n else {\n this.touchAll(this.cadastro);\n return;\n }\n }\n if (etapa === 2) {\n if (this.cadastro.get('etapa3').valid) {\n let inicio = new Date(this.cadastro.get('etapa3.data_inicio').value);\n let fim = new Date(this.cadastro.get('etapa3.data_fim').value);\n if (!this.ehGestorEpc && (inicio < this.turmaDataValida)) {\n super.showMsg('warn', 'Turma', 'A data de início preenchida deve ser de, pelo menos, 5 dias após a data atual.');\n return;\n }\n else if (!ValidarData(inicio, fim)) {\n super.showMsg('warn', 'Turma', 'A data fim não pode ser menor que a data de início da turma.');\n return;\n }\n this.turma.id = null;\n this.turma.id_uf = this.cadastro.get('etapa3.id_uf').value;\n this.turma.id_pais = this.cadastro.get('etapa3.id_pais').value;\n this.turma.id_cidade = this.cadastro.get('etapa3.id_cidade').value;\n this.turma.id_curso = this.turmaSelecionada;\n this.turma.turma_titulo = this.cadastro.get('etapa3.turma_titulo').value;\n this.turma.data_inicio = this.cadastro.get('etapa3.data_inicio').value;\n this.turma.data_fim = this.cadastro.get('etapa3.data_fim').value;\n this.turma.turma_dia_semana = this.cadastro.get('etapa3.dia_semana').value.map(item => {\n var valor = { id: null, id_turma: this.turma.id, id_dia_semana: item }\n return valor;\n });\n }\n else {\n this.touchAll(this.cadastro);\n return;\n }\n }\n this.confirmacao.confirm({\n header: 'Mensagem de Confirmação',\n message: `Atenção! Ao confirmar esta operação, a Prestação de Contas do Curso será\n ${this.acao == 'cadastrar' ? 'salva' : 'atualizada'} na base de dados.\n Deseja realmente confirmar esta operação?`,\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n if (etapa === 1) {\n this.service.Atualizar('turma', this.turma).subscribe(sucess => {\n this.observableUtilPanelDoc.setBlockedPanel(false); \n if (this.linkEtapa === \"editar\") {\n this.router.navigate(['/atividades/curso-prestacao-conta/listar-turma', this.obj.id_curso], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['/atividades/curso-prestacao-conta/listar-turma-homologacao', this.obj.id_curso], { relativeTo: this.activatedRoute });\n }\n super.showMsgSucess('Registro salvo com sucesso.');\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`Erro ao gravar. ${err._body}`)\n })\n }\n else if (etapa === 0) { \n this.service.Adicionar('participantes/salvarLista', { dto: this.listaParticipantes, id_turma_empty_lista: this.turmaSelecionada }).subscribe(sucess => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n if (this.linkEtapa === \"prestar-conta\") {\n this.router.navigate(['/atividades/curso-prestacao-conta/listar-turma', this.obj.id_curso], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['/atividades/curso-prestacao-conta/listar-turma-homologacao', this.obj.id_curso], { relativeTo: this.activatedRoute });\n }\n this.showMsgSucess('Registro salvo com sucesso.');\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`Erro ao gravar. ${err._body}`)\n })\n }\n else if (etapa === 2) {\n this.service.Adicionar('turma', this.turma).subscribe(sucess => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n if (this.linkEtapa === \"turma-incluir-homologacao\") {\n this.router.navigate(['/atividades/homologacao-curso'], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['/atividades/gerenciamento-curso'], { relativeTo: this.activatedRoute });\n }\n super.showMsgSucess('Registro salvo com sucesso.');\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`Erro ao gravar. ${err._body}`)\n });\n }\n }\n });\n\n\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/curso-prestacao-conta/crud/curso-prestacao-conta-crud.component.ts","module.exports = \"\\n\\n \\n
\\n
\\n \\n \\n {{ obj['titulo'] }}\\n \\n \\n \\n \\n \\n Pendente \\n 0\\\">Concluído \\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\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/curso-prestacao-conta/crud/etapas/curso-prestacao-conta-etapa1.component.html\n// module id = ./src/app/curso-prestacao-conta/crud/etapas/curso-prestacao-conta-etapa1.component.html\n// module chunks = main","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\nimport { DatatableClickEvent } from '@basis/angular-components';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport { SelectItem, FileUpload } from 'primeng/primeng';\nimport { BaseStepComponent } from '../../../base/base-step.component';\nimport { PrestarConta } from '../../../entity/prestar-conta';\nimport { Justificar } from '../../../entity/justificar';\nimport { PrestarContaInstrutor } from '../../../entity/prestar-conta-instrutor';\nimport * as FileSaver from 'file-saver';\n\n@Component({\n selector: 'curso-prestacao-conta-etapa1',\n templateUrl: './curso-prestacao-conta-etapa1.component.html',\n})\nexport class CrudCursoPrestacaoContaEtapa1Component extends BaseStepComponent {\n @Input() listaConteudo: any[] = [];\n @Input() listaInstrutorCargaHoraria: any[] = [];\n @Output() listaInstrutorCargaHorariaChange = new EventEmitter();\n\n @Input() listaCursoInstrutores: any[] = [];\n @Input() validateForm: any = false;\n @Output() validateFormChange = new EventEmitter();\n @Input() listaParticipantes: any[] = [];\n @Output() listaParticipantesChange: EventEmitter = new EventEmitter();\n @Input() turmaSelecionada = 0;\n\n @Input() modalTermoAceiteLGPD: any = false;\n\n @Output() stepObject: EventEmitter = new EventEmitter(true);\n\n displayIntrutorModal = false;\n displayPrestarContaModal = false;\n displayJustificarModal = false;\n emLote = false;\n instrucao: any[];\n\n prestar_conta: PrestarConta = new PrestarConta;\n justificar: Justificar = new Justificar;\n prestar_conta_instrutor: PrestarContaInstrutor = new PrestarContaInstrutor;\n modal_obj: any;\n form_prestacao_conta = null;\n form_justificar = null;\n\n listaSelectParticipantes: any[] = [];\n\n valor: any = {};\n\n\n\n init() {\n this.form_prestacao_conta = this.formBuilder.group({\n id_instrutor: [null, [Validators.required]],\n carga_horaria: [null, [Validators.required]]\n });\n this.form_justificar = this.formBuilder.group({\n id: [null],\n justificativa: [null]\n });\n\n this.cadastro.get('participantes.tipo_inclusao').valueChanges.subscribe(item => {\n if (item === '2') {\n this.emLote = false;\n }\n if (item === '1') {\n this.emLote = true;\n }\n });\n }\n addList(event: any) {\n const cpf = this.limpaCaracterEspecial(this.cadastro.get('participantes.cpf').value)\n this.cadastro.get('participantes.cpf').setValue(cpf)\n this.addToList(this.listaParticipantes, this.listaParticipantesChange, this.cadastro.get('participantes') as FormGroup, event, { cpf: cpf })\n }\n AddListaInstrutor(form_prestacao_conta: FormGroup, event: any) {\n let valorCargaHorariaLista = 0\n this.listaInstrutorCargaHoraria.forEach(x => {\n valorCargaHorariaLista += x.carga_horaria;\n })\n\n const soma = valorCargaHorariaLista + form_prestacao_conta.get('carga_horaria').value;\n\n const valido = soma > this.modal_obj.curso.carga_horaria ? false : true;\n\n if (valido) {\n this.addToList(this.listaInstrutorCargaHoraria, this.listaInstrutorCargaHorariaChange, form_prestacao_conta, event, { id_instrutor: form_prestacao_conta.get('id_instrutor').value })\n } else {\n form_prestacao_conta.get('carga_horaria').setErrors({ error: 'Carga horária superior a do curso.' })\n }\n }\n\n removerParticipantes() {\n this.listaSelectParticipantes.forEach(x => {\n this.listaParticipantes = this.listaParticipantes.filter(y => y.cpf != x.cpf);\n })\n this.listaParticipantesChange.emit(this.listaParticipantes);\n }\n\n salvarPrestacaoConta() {\n this.prestar_conta.conteudo = null;\n this.prestar_conta.turma = null;\n this.prestar_conta.prestacao_conta_instrutor = [];\n this.listaInstrutorCargaHoraria.forEach(\n item => {\n item.id = 0;\n item.instrutor = null;\n item.prestar_conta = null;\n this.prestar_conta.prestacao_conta_instrutor.push(item)\n });\n this.prestar_conta.id_turma = this.turmaSelecionada;\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Adicionar('prestarConta', this.prestar_conta).subscribe(sucess => {\n this.dysplayModal(1);\n super.showMsgSucess('Registro salvo com sucesso.')\n this.observableUtilPanelDoc.setBlockedPanel(false);\n },\n err => {\n super.showMsgWarn(`${err._body}`);\n this.observableUtilPanelDoc.setBlockedPanel(false);\n }\n );\n }\n salvarJustificar() {\n this.justificar.id_turma = this.turmaSelecionada;\n this.justificar.justificativa = this.form_justificar.get('justificativa').value;\n this.justificar.id = this.form_justificar.get('id').value;\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Adicionar('justificar', this.justificar).subscribe(sucess => {\n this.atualizarJustificativaConteudo();\n this.dysplayModal(2);\n super.showMsgSucess('Registro salvo com sucesso.');\n this.observableUtilPanelDoc.setBlockedPanel(false);\n\n }, err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n super.showMsgError(`Erro ao Gravar. ${err._body}`)\n });\n }\n\n atualizarJustificativaConteudo() {\n const obj = this.listaConteudo.find(x => x.id === this.justificar.id_conteudo);\n const indice = this.listaConteudo.indexOf(obj);\n obj.justificar[0] = this.justificar;\n this.listaConteudo.splice(indice, 1, obj);\n }\n\n dysplayModal(modal: number, obj: any = null) {\n if (modal === 1) {\n this.displayPrestarContaModal = !this.displayPrestarContaModal;\n if (obj != null) {\n this.prestar_conta.id_conteudo = obj.id;\n this.modal_obj = obj;\n if (obj.prestar_conta[0] != null) {\n this.prestar_conta = obj.prestar_conta[0];\n this.listaInstrutorCargaHoraria = obj.prestar_conta[0].prestacao_conta_instrutor;\n }\n }\n }\n\n if (modal === 2) {\n this.displayJustificarModal = !this.displayJustificarModal;\n if (obj != null) {\n this.justificar.id_conteudo = obj.id;\n if (obj.justificar != null) {\n this.form_justificar.patchValue(obj.justificar[0]);\n }\n }\n }\n }\n\n dysplayAnexo(btnclick: number) {\n if (btnclick == 1) {\n this.displayIntrutorModal = true;\n this.instrucao = [];\n this.instrucao.push('1. Utilize o modelo correto: ');\n this.instrucao.push('\\tBaixe o modelo padrão clicando no botão \"Documento\" ao lado de \"Instrução\";');\n\n this.instrucao.push('2. Preencha os dados em uma única coluna: ');\n this.instrucao.push('\\tInsira o nome completo do participante, seguido de vírgula (,) e o CPF (11 números) no formato 000.000.000-00 ou 00000000000;');\n this.instrucao.push('\\tExemplo: João da Silva,000.000.000-00;');\n\n this.instrucao.push('3. Atenção ao preencher: ');\n this.instrucao.push('\\tComece na linha 2: A primeira linha é reservada para os títulos das colunas');\n this.instrucao.push('\\tNome: Não utilize caracteres especiais como: @, #, $, %, &, *, (, ), !, ?, +, =, etc');\n this.instrucao.push('\\tCPF: Preencha com todos os 11 números, utilizando um dos dois modelos citados acima');\n\n this.instrucao.push('4. Revise antes de enviar: ');\n this.instrucao.push('\\tVerifique atentamente todos os dados. Qualquer erro impedirá o processamento');\n \n this.instrucao.push('5. Salve o arquivo: ');\n this.instrucao.push('\\tSalve a planilha no formato CSV UTF-8');\n } else {\n this.service.ObterDocumento(`arquivo/documentoEvento`).subscribe(\n data => {\n FileSaver.saveAs(this.b64toFile(data, null, 'application/octet-stream'), 'Participantes_Lote.csv');\n this.showMsgSucess(`O arquivo Participantes_Lote.csv foi baixado automaticamente, verifique na pasta de downloads.`);\n }\n , err => this.showMsgError(`Houve um erro ao baixar o arquivo. ${err._body}`)\n )\n }\n }\n\n uploadArquivoLote(event) {\n for (const file of event.files) {\n if (file.size < 10000000) {\n const fileReader = new FileReader();\n fileReader.readAsDataURL(file);\n fileReader.onload = event => {\n this.valor = {\n filename: file.name,\n filetype: file.type,\n value: fileReader.result.split(',')[1],\n id_prestar_conta: this.turmaSelecionada\n }\n this.service.UploadExcel('participantes', this.valor).subscribe(data => {\n data.forEach(element => {\n const existe = this.listaParticipantes.find(x => x.cpf == this.limpaCaracterEspecial(element.cpf) ||\n x.cpf == element.cpf);\n if (existe == null) {\n element.cpf = this.limpaCaracterEspecial(element.cpf);\n this.listaParticipantes.push(element);\n }\n });\n this.listaParticipantes = [... this.listaParticipantes];\n this.listaParticipantesChange.emit(this.listaParticipantes);\n },\n err => {\n this.showMsg('error', 'Mensagem de Erro', `${err._body}`)\n });\n };\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/curso-prestacao-conta/crud/etapas/curso-prestacao-conta-etapa1.component.ts","module.exports = \"\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/curso-prestacao-conta/crud/etapas/curso-prestacao-conta-etapa2.component.html\n// module id = ./src/app/curso-prestacao-conta/crud/etapas/curso-prestacao-conta-etapa2.component.html\n// module chunks = main","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { DatatableClickEvent } from '@basis/angular-components';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseStepComponent } from \"../../../base/base-step.component\";\n \n@Component({\n selector: 'curso-prestacao-conta-etapa2',\n templateUrl: './curso-prestacao-conta-etapa2.component.html',\n})\nexport class CrudCursoPrestacaoContaEtapa2Component extends BaseStepComponent {\n \n @Input() validateForm: any = false;\n @Input() listaUf: SelectItem[] = [];\n @Input() listaDiasSemana: any[] = [];\n @Input() listaPais: SelectItem[] = [];\n @Input() listaMunicipios: SelectItem[] = [];\n @Input() hoje = new Date();\n \n @Output() stepObject: EventEmitter = new EventEmitter(true);\n @Output() validateFormChange = new EventEmitter();\n\n listaCidades:SelectItem[] = [];\n requiredValidator:boolean = false;\n\n init(){\n this.cadastro.get('id_uf').valueChanges.subscribe(id_uf => {\n this.service.ListarTodos('cidade',{id_estado:id_uf}).subscribe(data => {\n this.listaCidades = data;\n })\n });\n this.cadastro.get('id_pais').valueChanges.subscribe(id => {\n this.requiredValidator = id === 31 ? true : false\n });\n\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/curso-prestacao-conta/crud/etapas/curso-prestacao-conta-etapa2.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/curso-prestacao-conta/crud/etapas/curso-prestacao-conta-etapa3.component.html\n// module id = ./src/app/curso-prestacao-conta/crud/etapas/curso-prestacao-conta-etapa3.component.html\n// module chunks = main","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { DatatableClickEvent } from '@basis/angular-components';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport { SelectItem, FileUpload } from 'primeng/primeng';\nimport { BaseStepComponent } from \"../../../base/base-step.component\";\nimport { PrestarConta } from '../../../entity/prestar-conta';\nimport { Justificar } from '../../../entity/justificar';\nimport { PrestarContaInstrutor } from '../../../entity/prestar-conta-instrutor';\n \n@Component({\n selector: 'curso-prestacao-conta-etapa3',\n templateUrl: './curso-prestacao-conta-etapa3.component.html',\n})\nexport class CrudCursoPrestacaoContaEtapa3Component extends BaseStepComponent{\n @Input() validateForm: any = false;\n @Input() listaDiasSemana:any[] = [];\n @Input() listaPais:any[] = [];\n @Input() listaUf:any[] = [];\n @Input() listaCidades:any[] = [];\n @Input() hoje = new Date();\n DataMinima = new Date();\n @Input() isHomologacao: boolean = false;\n turmaDataValida = new Date();\n \n @Output() stepObject: EventEmitter = new EventEmitter(true);\n @Output() validateFormChange = new EventEmitter();\n\n init() {\n let rota = this.activatedRoute.snapshot.url[0].path;\n if (rota == \"turma-incluir\"){\n this.DataMinima.setDate(this.DataMinima.getDate() + 5);\n }\n else{\n this.DataMinima = new Date(98, 0);\n }\n \n\n this.cadastro.get('id_pais').valueChanges.subscribe(x => {\n if(x == 31){\n this.cadastro.get('id_uf').setValidators([Validators.required]);\n this.cadastro.get('id_cidade').setValidators([Validators.required]);\n this.cadastro.get('id_uf').updateValueAndValidity();\n this.cadastro.get('id_cidade').updateValueAndValidity();\n this.cadastro.get('id_uf').valueChanges.subscribe(value => {\n if (value !== null && value !== undefined && value !== '') {\n this.service.ListarTodos('cidade', { id_estado: value }).subscribe(data =>{\n this.listaCidades = data\n }\n );\n }\n });\n }else{\n \n this.cadastro.get('id_uf').clearValidators();\n this.cadastro.get('id_cidade').clearValidators();\n this.cadastro.get('id_uf').updateValueAndValidity();\n this.cadastro.get('id_cidade').updateValueAndValidity();\n this.cadastro.get('id_uf').setValue(null);\n this.cadastro.get('id_cidade').setValue(null);\n }\n })\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/curso-prestacao-conta/crud/etapas/curso-prestacao-conta-etapa3.component.ts","module.exports = \"\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/curso-prestacao-conta/crud/etapas/curso-prestacao-conta-etapa4.component.html\n// module id = ./src/app/curso-prestacao-conta/crud/etapas/curso-prestacao-conta-etapa4.component.html\n// module chunks = main","import { Component, OnInit, Input, Output } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { DatatableClickEvent } from '@basis/angular-components';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseStepComponent } from \"../../../base/base-step.component\";\n\n@Component({\n selector: 'curso-prestacao-conta-etapa4',\n templateUrl: './curso-prestacao-conta-etapa4.component.html',\n})\nexport class CrudCursoPrestacaoContaEtapa4Component extends BaseStepComponent {\n\n listaDiasSemana: any[] = [];\n listaPais: any[] = [];\n @Input() listaCidades: any[] = [];\n listaUf: any[] = [];\n\n init() {\n this.service.ListarTodos('uf').subscribe(data => {\n this.listaUf = data;\n });\n this.service.ListarTodos('combo/dia_semana').subscribe(data => {\n this.listaDiasSemana = data;\n });\n this.service.ListarTodos('pais').subscribe(data => {\n this.listaPais = data;\n }); \n \n }\n \n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/curso-prestacao-conta/crud/etapas/curso-prestacao-conta-etapa4.component.ts","module.exports = \"\\n \\n \\n \\n \\n \\n\\n\\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n Turma agendada \\n Em Execução \\n Aguardando cadastro de Participantes \\n Concluído \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n
\\n \\n\\n\\n\\n\\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/curso-prestacao-conta/curso-prestacao-conta.component.html\n// module id = ./src/app/curso-prestacao-conta/curso-prestacao-conta.component.html\n// module chunks = main","import { Component } from '@angular/core';\nimport { BaseListComponent } from \"../base/base-list.component\";\n\n@Component({\n selector: 'curso-prestacao-conta',\n templateUrl: './curso-prestacao-conta.component.html',\n})\nexport class CursoPrestacaoContaComponent extends BaseListComponent {\n controllerName = 'turma';\n filtro = this.formBuilder.group({\n query: [null],\n id_curso: [null]\n });\n\n filtroTurma = this.formBuilder.group({\n id_curso: [null]\n });\n\n dataDia: Date = new Date();\n\n curso: any = null;\n listaTurma: any[] = [];\n idCurso: number = null;\n linkTipoListar: string;\n namePrestarConta: string;\n nameEditar: string;\n query: any;\n nameVisualizar: string;\n algo: any;\n\n init() {\n\n if (sessionStorage.getItem(\"msg\") != null) {\n this.showMsgSucess(sessionStorage.getItem(\"msg\"))\n sessionStorage.removeItem(\"msg\");\n }\n\n this.listagem.pDatatableComponent.sortOrder = 2;\n var listaLink = location.href.split(\"/\");\n this.linkTipoListar = listaLink[6];\n this.idCurso = +listaLink[7];\n this.filtroTurma.get('id_curso').setValue(this.idCurso);\n if (this.linkTipoListar === 'listar-turma') {\n this.namePrestarConta = 'turma_prestar_conta';\n this.nameEditar = \"turma_editar\";\n this.nameVisualizar = 'turma_visualizar';\n } else {\n this.namePrestarConta = 'turma_prestar_conta_homologacao';\n this.nameEditar = \"turma_editar_homologacao\";\n this.nameVisualizar = 'turma_visualizar_homologacao';\n }\n\n\n if (sessionStorage.getItem('turma_edicao') == this.router.url.split('/')[2]) {\n this.query = sessionStorage.getItem('filtro_turma_edicao');\n this.algo = this.query.split('&')\n .map(str => {\n let [key, value] = str.split('=');\n return { [key]: decodeURI(value) };\n })\n .reduce((prev, curr) => Object.assign(prev, curr));\n Object.keys(this.algo).forEach(key => {\n this.algo[key] = this.algo[key].split('%2C').length > 1 ? this.algo[key].split('%2C') : this.algo[key];\n if (!Array.isArray(this.algo[key])) {\n this.algo[key] = this.algo[key].split('+').length > 1 ? this.concatStringFiltro(this.algo[key].split('+')) : this.algo[key];\n }\n this.algo[key] = this.algo[key] == \"null\" ? null : this.algo[key];\n });\n this.filtro.patchValue(this.algo);\n this.carregarEstadoPaginacao();\n } else if (sessionStorage.getItem('funcionalidade') != 'gerenciamento-curso' && sessionStorage.getItem('funcionalidade') != 'homologacao-curso') {\n sessionStorage.removeItem('funcionalidade');\n sessionStorage.removeItem('filtro');\n sessionStorage.removeItem('pagina');\n }\n\n }\n\n urlturma (route: string, appendController: boolean = true, filter: any = null): string{\n let params: URLSearchParams = new URLSearchParams();\n\n filter = Object.assign({}, filter, { id_lotacao: localStorage.getItem('lotacao') ? localStorage.getItem('lotacao') : '' });\n if (filter != null) {\n Object.keys(filter).map(k => params.set(k, filter[k]));\n }\n\n\n return appendController ? `${this.baseUrl}/${this.controllerName}/${route}?${params.toString()}` : `${this.baseUrl}/${route}?${params.toString()}`;\n }\n\n voltar(event: any) {\n if (this.linkTipoListar === 'listar-turma') {\n this.router.navigate(['/atividades/gerenciamento-curso'], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['/atividades/homologacao-curso'], { relativeTo: this.activatedRoute });\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/curso-prestacao-conta/curso-prestacao-conta.component.ts","export * from './curso-prestacao-conta.component';\nexport * from './crud/curso-prestacao-conta-crud.component';\nexport * from './crud/etapas/curso-prestacao-conta-etapa1.component';\nexport * from './crud/etapas/curso-prestacao-conta-etapa2.component';\nexport * from './crud/etapas/curso-prestacao-conta-etapa3.component';\nexport * from './crud/etapas/curso-prestacao-conta-etapa4.component';\n\n\n// WEBPACK FOOTER //\n// ./src/app/curso-prestacao-conta/index.ts","import { Anexo } from './anexo.model';\nimport { Capacitadora } from './capacitadora.model';\n\n\nexport class AnexoCapacitadora\n{\n public id : number;\n public id_anexo : number;\n public id_capacitadora : number;\n public data_exclusao: Date;\n\n public anexo : Anexo[];\n public capacitadora : Capacitadora;\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/anexo-capacitadora.model.ts","import { Anexo } from './anexo.model';\nimport { GerenciamentoCurso } from './gerenciamento-curso.model';\n\n\nexport class AnexoCurso\n{\n public id : number;\n public id_anexo : number;\n public id_curso : number;\n public data_exclusao: Date;\n\n //public anexo : Anexo[];\n public curso : GerenciamentoCurso;\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/anexo-curso.model.ts","import { PrestacaoConta } from './prestacao-conta.model';\n\nexport class AnexoPrestacaoConta {\n public id: number;\n public id_prestacao_conta: number;\n public nome_arquivo: string;\n public tamanho_arquivo: number;\n public tipo: string;\n public extensao: string;\n public nome_upload: string;\n public data_inclusao: Date;\n\n\n public prestacao_conta: PrestacaoConta;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/anexo-prestacao-conta.model.ts","export class AtividadeFuncaoExercida{\n public id: number;\n public id_profissional: number;\n public id_hipoteses: number;\n public id_curso: number;\n public data_exclusao: Date; \n public classe: string = \"AtividadeFuncaoExercidaDto\";\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/atividade-funcao-exercida.model.ts","\nexport class cabecalho {\n\n public header: string;\n public field: string;\n }\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/cabecalho-prestacao-conta.model.ts","import { Responsavel } from \"./responsavel.model\";\nimport { Capacitadora } from \"./capacitadora.model\";\n\nexport class CapacitadoraResponsavel {\n public id_responsavel: number;\n public id_capacitadora: number;\n\n public capacitadora:Capacitadora;\n public responsavel: Responsavel;\n\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/capacitadora-responsavel.model.ts","import { Combo } from './combo.model';\nimport { AnexoCapacitadora } from 'app/entity/anexo-capacitadora.model';\nimport { EnderecoCapacitadora } from 'app/entity/endereco-capacitadora.model';\nimport { ResumoHomologacaoCurso } from './resumo-homologacao.model';\nimport { HomologacaoCapacitadora } from 'app/entity/homologacao-capacitadora.model';\nimport { CapacitadoraResponsavel } from './capacitadora-responsavel.model';\nimport { EmailCapacitadora } from './email-capacitadora.model';\nimport { TelefoneCapacitadora } from './telefone-capacitadora.model';\n\nexport class Capacitadora\n{\n public id : number;\n public cnpj : string;\n public nome : string;\n public id_classificacao: number;\n public url : string;\n public observacao: string;\n public aceite : boolean;\n public id_situacao : number;\n public codigo : string;\n public id_lotacao: number;\n\n public classificacao : Combo;\n \n public anexo_capacitadora: AnexoCapacitadora[];\n public email_capacitadora: EmailCapacitadora[];\n public telefone_capacitadora:TelefoneCapacitadora[];\n public endereco_capacitadora: EnderecoCapacitadora[];\n public capacitadora_responsavel: CapacitadoraResponsavel[];\n public homologacao_capacitadora: HomologacaoCapacitadora[];\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/capacitadora.model.ts","import { Combo } from './combo.model';\nimport { GerenciamentoEvento } from './gerenciamento-evento.model';\n//import { EdicaoDiaSemana } from './edicao-dia-semana';\n\nexport class Edicao {\n public id: number;\n public titulo: string;\n public data_inicio: Date;\n public data_fim: Date;\n public id_pais: number;\n public id_uf: number;\n public id_cidade: number;\n public id_evento: number;\n public id_tipo_certificacao: number;\n public id_situacao: number;\n\n //public edicao_dia_semana: EdicaoDiaSemana;\n public evento: GerenciamentoEvento;\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/edicao-model.ts","\nexport class EnderecoCapacitadora\n{\n public id : number;\n public id_endereco: number;\n public id_capacitadora: number;\n public data_exclusao: Date;\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/endereco-capacitadora.model.ts","export enum Situacoes {\n 'Inativo' = 1,\n 'Ativo' = 2,\n 'Aguardando entrega de Documentação Física' = 3,\n 'Aguardando análise no CRC - Gestor' = 4,\n 'Em análise no CRC - Gestor' = 5,\n 'Aguardando análise no CRC - Comissão' = 6,\n 'Em análise no CRC - Comissão' = 7,\n 'Aguardando análise no CFC - Gestor' = 8,\n 'Em análise no CFC - Gestor' = 9,\n 'Aguardando análise no CFC - Comissão' = 10,\n 'Em análise no CFC - Comissão' = 11,\n 'Deferido' = 12,\n 'Devolvido para Adequação' = 13,\n 'Aberto para Recurso' = 14,\n 'Processo Finalizado' = 15,\n 'Iniciado' = 16,\n 'Em Análise' = 17,\n 'Autorizado' = 18,\n 'Cancelado' = 19,\n 'Agendada' = 20,\n 'Em Execução' = 21,\n 'Aguardando' = 22,\n 'Concluído' = 23,\n 'Indeferido' = 24,\n 'Rejeitado por Improcedência' = 25,\n 'Excluído pelo Usuário' = 26,\n 'Aguardando Câmara/Plenária - CRC - Deferido' = 27,\n 'Aguardando Câmara/Plenária - CFC - Deferido' = 28,\n 'Baixada por Decurso de Prazo' = 29,\n 'Aguardando Câmara/Plenária - CRC - Indeferido' = 30,\n 'Aguardando Câmara/Plenária - CFC - Indeferido' = 31,\n}\n\nexport enum MotivoJustificativa {\n 'Atestado Médico' = 1,\n 'Licença Maternidade' = 2,\n 'Licença Paternidade' = 3,\n 'Enfermidades' = 4,\n 'Acidente de Trabalho' = 5,\n 'Outras Situações' = 6\n}\n\nexport enum Ano {\n 'Ano de 2020' = 1,\n 'Ano de 2019' = 2,\n}\n\nexport enum FuncaoExercida {\n 'Auditor Independente' = 1,\n 'Profissionais de Grandes Empresas' = 2,\n 'Perito' = 3,\n 'Facultativo' = 4,\n 'Profissional Previc' = 5,\n 'ProRT' = 6,\n}\n\nexport enum HipoteseAuditorIndependente {\n 'Sócio' = 1,\n 'Responsável Técnico' = 2,\n 'Direção ou Gerencia Técnica' = 3,\n 'Auditor Previc' = 4,\n 'Auditor CNAI' = 5\n}\n\nexport enum HipoteseProfissionaisDeGrandesEmpresas {\n 'Responsável Técnico Previc' = 1,\n 'Responsável Técnico' = 2,\n 'Gerente/Chefia na Área Contábil' = 3\n}\n\nexport enum HipotesePerito {\n 'Perito Contábil' = 1\n}\n\nexport enum HipoteseFacultativo {\n 'Facultativo' = 1\n}\n\nexport enum HipoteseProfissionalPrevic {\n 'Previc' = 1\n}\n\nexport enum HipoteseProRt {\n 'ProRT' = 1\n}\n\nexport enum EnderecoTipo {\n Comercial = 1,\n Residencial = 2\n}\n\nexport enum TelefoneTipo {\n Residencial = 1,\n Comercial = 2,\n Celular = 3,\n Fax = 4\n}\n\nexport enum TipoPrestacaoConta {\n conhecimento = 1,\n docencia = 2,\n comissao_banca = 3,\n producao_intelectual = 4\n}\n\nexport enum Hipoteses {\n 'Hipóteses*' = 0,\n 'Hipóteses das alíneas (a), (b), (c), (d) e (e) do Item 4 da NBC PG 12 (R2)*' = 1,\n 'Hipóteses das alíneas (f) do Item 4 da NBC PG 12 (R2)*' = 2,\n 'Hipóteses das alíneas (g) do Item 4 da NBC PG 12 (R2)*' = 3,\n 'Realizei atividades de EPC mesmo não estando incuído em nenhuma das situações previstas no item 4 da NBC PG 12 (R2)*' = 4,\n}\nexport enum GrupoAtividade {\n Aquisição_de_conhecimento = 1,\n Docencia = 2,\n Atuação_como_participante = 3,\n Producao_Intelectual = 4\n}\n\nexport enum TipoPosGraduacao {\n Especialização = 1,\n MBA = 2,\n Mestrado = 3,\n Doutorado = 4,\n Graduação = 5\n}\n\nexport enum TipoMensagem {\n 'success' = 1,\n 'info' = 2,\n 'warn' = 3,\n 'error' = 4\n}\n\nexport enum CabecalhoMensagens {\n 'Mensagem de Confirmação' = 1,\n 'Mensagem de Sucesso' = 2,\n 'Mensagem de Aviso' = 3,\n 'Mensagem de Erro' = 4,\n 'Mensagem Informativa' = 5\n}\n\nexport enum Atividades {\n Capacitadora = 0,\n Docencia = 2,\n CursosNoExterior = 3,\n ProducaoIntelectual = 5,\n Comissao = 6,\n Curso = 8,\n Evento = 9,\n PosGraduacao = 10,\n OrientacaoEBanca = 11\n}\n\nexport enum Porte {\n 'Pequeno Porte' = 1,\n 'Médio Porte' = 2,\n 'Grande Porte' = 3,\n 'Porte' = 4\n}\n\nexport enum TipoDecisao {\n Deferir = 1,\n Indeferir = 2,\n}\n\nexport enum Lotacoes {\n CFC = 'CFC',\n CRC_AC = 'AC',\n CRC_AL = 'AL',\n CRC_AM = 'AM',\n CRC_AP = 'AP',\n CRC_BA = 'BA',\n CRC_CE = 'CE',\n CRC_DF = 'DF',\n CRC_ES = 'ES',\n CRC_GO = 'GO',\n CRC_MA = 'MA',\n CRC_MG = 'MG',\n CRC_MS = 'MS',\n CRC_MT = 'MT',\n CRC_PA = 'PA',\n CRC_PB = 'PB',\n CRC_PE = 'PE',\n CRC_PI = 'PI',\n CRC_PR = 'PR',\n CRC_RJ = 'RJ',\n CRC_RN = 'RN',\n CRC_RO = 'RO',\n CRC_RR = 'RR',\n CRC_RS = 'RS',\n CRC_SC = 'SC',\n CRC_SE = 'SE',\n CRC_SP = 'SP',\n CRC_TO = 'TO',\n}\n\nexport enum LotacoesAtividades {\n CFC = 'CFC',\n CRC_AC = 'CRC-AC',\n CRC_AL = 'CRC-AL',\n CRC_AM = 'CRC-AM',\n CRC_AP = 'CRC-AP',\n CRC_BA = 'CRC-BA',\n CRC_CE = 'CRC-CE',\n CRC_DF = 'CRC-DF',\n CRC_ES = 'CRC-ES',\n CRC_GO = 'CRC-GO',\n CRC_MA = 'CRC-MA',\n CRC_MG = 'CRC-MG',\n CRC_MS = 'CRC-MS',\n CRC_MT = 'CRC-MT',\n CRC_PA = 'CRC-PA',\n CRC_PB = 'CRC-PB',\n CRC_PE = 'CRC-PE',\n CRC_PI = 'CRC-PI',\n CRC_PR = 'CRC-PR',\n CRC_RJ = 'CRC-RJ',\n CRC_RN = 'CRC-RN',\n CRC_RO = 'CRC-RO',\n CRC_RR = 'CRC-RR',\n CRC_RS = 'CRC-RS',\n CRC_SC = 'CRC-SC',\n CRC_SE = 'CRC-SE',\n CRC_SP = 'CRC-SP',\n CRC_TO = 'CRC-TO',\n}\n\nexport enum LotacoesId {\n CFC = 1,\n CRC_AC = 2,\n CRC_AL = 3,\n CRC_AM = 4,\n CRC_AP = 5,\n CRC_BA = 6,\n CRC_CE = 7,\n CRC_DF = 8,\n CRC_ES = 9,\n CRC_GO = 10,\n CRC_MA = 11,\n CRC_MG = 12,\n CRC_MS = 13,\n CRC_MT = 14,\n CRC_PA = 15,\n CRC_PB = 16,\n CRC_PE = 17,\n CRC_PI = 18,\n CRC_PR = 19,\n CRC_RJ = 20,\n CRC_RN = 21,\n CRC_RO = 22,\n CRC_RR = 23,\n CRC_RS = 24,\n CRC_SC = 25,\n CRC_SE = 26,\n CRC_SP = 27,\n CRC_TO = 28\n}\n\nexport enum FiltroDeResultados {\n 'Todos' = 1,\n 'Apenas com Rascunho' = 2,\n 'Apenas Sem Rascunho' = 3\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/enumeraveis.ts","export class FuncaoExercidaPrestacaoConta{\n public id: number;\n public id_funcao_exercida: number;\n public id_hipoteses: number;\n public id_prestacao_conta: number;\n public data_exclusao: Date; \n public classe: string = \"FuncaoExercidaPrestacaoContaDto\";\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/funcao-exercida_prestacao_conta.model.ts","export class GerenciarAtividade {\n id: number;\n id_natureza: number;\n observacao: string\n titulo: string;\n cpf: string;\n data_fim: Date;\n codigo: string;\n id_situacao: number;\n id_lotacao: number;\n anexo_gerenciar_atividade: any[];\n\n /**\n *Utiliza do construtor para carregar os objetos da classe\n */\n constructor(cadastro: any, listaAnexo: any[]) {\n this.id = cadastro.id;\n this.id_natureza = cadastro.id_natureza;\n this.observacao = cadastro.observacao;\n this.titulo = cadastro.titulo;\n this.cpf = cadastro.cpf;\n this.data_fim = cadastro.data_fim;\n this.codigo = cadastro.codigo;\n this.id_situacao = cadastro.id_situacao;\n this.anexo_gerenciar_atividade = listaAnexo;\n this.id_lotacao = parseInt(localStorage.getItem('lotacao'));\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/gerenciamento-atividade.model.ts","import { GerenciarAtividade } from './gerenciamento-atividade.model';\n\nexport class GerenciamentoBanca extends GerenciarAtividade {\n id_instituicao: number\n id_capacitadora: number\n data_cadastro: Date;\n data_envio: Date\n id: number;\n\n /**\n *Utiliza do construtor para carregar os objetos da classe\n */\n constructor(cadastro: any, listaAnexo: any[]) {\n super(cadastro, listaAnexo);\n if (cadastro.id_instituicao != null) {\n this.id_instituicao = cadastro.id_instituicao;\n }\n if (cadastro.id_capacitadora != null) {\n this.id_capacitadora = cadastro.id_capacitadora;\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/gerenciamento-banca.model.ts","import { GerenciarAtividade } from './gerenciamento-atividade.model';\n\nexport class GerenciamentoComissao extends GerenciarAtividade {\n id_instituicao: number\n id_capacitadora: number\n carga_horaria: number\n data_cadastro: Date;\n data_envio: Date;\n\n /**\n *Utiliza do construtor para carregar os objetos da classe\n */\n constructor(cadastro: any, listaAnexo: any[]) {\n super(cadastro, listaAnexo);\n if (cadastro.id_instituicao != null) {\n this.id_instituicao = cadastro.id_instituicao;\n }\n if (cadastro.id_capacitadora != null) {\n this.id_capacitadora = cadastro.id_capacitadora;\n }\n this.carga_horaria = cadastro.carga_horaria;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/gerenciamento-comissao.model.ts","import { GerenciarAtividade } from './gerenciamento-atividade.model';\n\nexport class GerenciamentoCursoExterior extends GerenciarAtividade {\n instituicao: number\n carga_horaria: number\n id_modalidade: number\n id_area_tematica: number\n id_pais: number\n programacao: string\n data_inicio: Date\n data_cadastro: Date;\n data_envio: Date;\n id: number;\n\n\n /**\n *Utiliza do construtor para carregar os objetos da classe\n */\n constructor(cadastro: any, listaAnexo: any[]) {\n super(cadastro, listaAnexo);\n this.instituicao = cadastro.instituicao;\n this.carga_horaria = cadastro.carga_horaria;\n this.id_modalidade = cadastro.id_modalidade;\n this.id_area_tematica = cadastro.id_area_tematica;\n this.id_pais = cadastro.id_pais;\n this.programacao = cadastro.programacao;\n this.data_inicio = cadastro.data_inicio;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/gerenciamento-curso-exterior.model.ts","import { Combo } from './combo.model';\nimport { Natureza } from './natureza.model';\nimport { Modalidade } from './modalidade.model';\nimport { Abrangencia } from './abrangencia.model';\nimport { Turma } from './turma-model';\nimport { Conteudo } from './conteudo-model';\nimport { CursoAreaTematica } from './curso-area-tematica';\nimport { CursoCriterioAvaliacao } from './curso-criterio-avaliacao';\nimport { CursoPublicoAlvo } from './curso-publico-alvo';\nimport { CursoInstrutor } from './curso-instrutor';\nimport { HomologacaoCurso } from './homologacao-curso.model';\nimport { Capacitadora } from './capacitadora.model';\nimport { AnexoCurso } from './anexo-curso.model';\nimport { BibliografiaCurso } from './bibliografia-curso.model';\nimport { AtividadeFuncaoExercida } from './atividade-funcao-exercida.model';\n\nexport class GerenciamentoCurso {\n public id: number;\n public bibliografia: string;\n public codigo_curso_capacitadora: string;\n public id_tipo_atividade: number;\n public id_modalidade: number;\n public id_abrangencia: number;\n public frequencia_minima: number;\n public carga_horaria: number;\n public titulo_traduzido: string;\n public titulo_original: string;\n public id_capacitadora: number;\n public id_situacao: number;\n public codigo: string;\n public situacao: Combo;\n public tipo_atividade: Natureza;\n public modalidade: Modalidade;\n public abrangencia: Abrangencia;\n public conteudo: Conteudo[];\n public curso_area_tematica: CursoAreaTematica[];\n public curso_criterio_avaliacao: CursoCriterioAvaliacao[];\n public curso_publico_alvo: CursoPublicoAlvo[];\n public curso_instrutor: CursoInstrutor[];\n public turma: Turma[];\n public homologacao_curso: HomologacaoCurso[];\n public capacitadora: Capacitadora;\n public observacao: any;\n public anexo_curso: AnexoCurso[];\n public bibliografia_curso: BibliografiaCurso[];\n public data_cadastro: Date;\n public data_envio: Date;\n public data_validade: Date;\n public atividade_funcao_exercida: AtividadeFuncaoExercida[];\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/gerenciamento-curso.model.ts","import { GerenciarAtividade } from './gerenciamento-atividade.model';\n\nexport class GerenciamentoPosGraduacao extends GerenciarAtividade {\n id_instituicao: number\n carga_horaria: number\n id_area: number\n data_inicio: Date;\n data_cadastro: Date;\n data_envio: Date;\n tipo_pos_graduacao: number\n conteudo_pos_graduacao: any[]\n id_capacitadora: number\n /**\n *Utiliza do construtor para carregar os objetos da classe\n */\n constructor(cadastro: any, listaAnexo: any[], listaConteudo: any[]) {\n super(cadastro, listaAnexo);\n this.carga_horaria = cadastro.carga_horaria;\n this.id_area = cadastro.id_area;\n this.tipo_pos_graduacao = cadastro.tipo_pos_graduacao;\n this.conteudo_pos_graduacao = listaConteudo;\n this.data_inicio = cadastro.data_inicio;\n this.data_cadastro = cadastro.data_cadastro;\n this.data_envio = cadastro.data_envio;\n\n if (cadastro.id_instituicao != null) {\n this.id_instituicao = cadastro.id_instituicao;\n }\n if (cadastro.id_capacitadora != null) {\n this.id_capacitadora = cadastro.id_capacitadora;\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/gerenciamento-pos-graduacao.model.ts","import { GerenciarAtividade } from './gerenciamento-atividade.model';\n\nexport class GerenciamentoProducaoIntelectual extends GerenciarAtividade {\n fonte: string\n id_area_tematica: number\n data_cadastro: Date;\n data_envio: Date;\n\n /**\n *Utiliza do construtor para carregar os objetos da classe\n */\n constructor(cadastro: any, listaAnexo: any[]) {\n super(cadastro, listaAnexo);\n this.fonte = cadastro.fonte;\n this.id_area_tematica = cadastro.id_area_tematica;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/gerenciamento-producao-intelectual.model.ts","import { Homologacao } from \"./homologacao\";\nimport { PontuacaoHomologacaoEvento } from \"./pontuacao-homologacao-evento.model\";\nimport { Natureza } from \"./natureza.model\";\nimport { PontuacaoHomologacaoAtividade } from \"./pontuacao-atividade.model\";\n\nexport class HomologacaoAtividade extends Homologacao {\n\n public id_atividade_natureza?: number;\n\n public natureza: Natureza;\n public pontuacao_homologacao_atividade: PontuacaoHomologacaoAtividade[];\n public possui_autonomia: boolean;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/homologacao-atividade.model.ts","import { HomologacaoAtividade } from './homologacao-atividade.model';\nimport { GerenciamentoBanca } from './gerenciamento-banca.model';\n\nexport class HomologacaoBanca extends HomologacaoAtividade {\n\n public id_banca: number;\n\n banca:GerenciamentoBanca;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/homologacao-banca.model.ts","import { Homologacao } from './homologacao';\n\n\nexport class HomologacaoCapacitadora extends Homologacao {\n public id_capacitadora: number;\n contador: any;\n possui_autonomia: boolean;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/homologacao-capacitadora.model.ts","import { HomologacaoAtividade } from './homologacao-atividade.model';\nimport { GerenciamentoComissao } from './gerenciamento-comissao.model';\n\nexport class HomologacaoComissao extends HomologacaoAtividade {\n\n public id_comissao: number;\n\n comissao: GerenciamentoComissao;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/homologacao-comissao.model.ts","import { HomologacaoAtividade } from './homologacao-atividade.model';\nimport { GerenciamentoCursoExterior } from './gerenciamento-curso-exterior.model';\n\nexport class HomologacaoCursoExterior extends HomologacaoAtividade {\n\n public id_curso_exterior: number;\n public curso_exterior:GerenciamentoCursoExterior;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/homologacao-curso-exterior.model.ts","import { PontuacaoHomologacaoCurso } from './Pontuacao-homologacao-curso.model'\nimport { Homologacao } from './homologacao';\nimport { Combo } from './combo.model';\nimport { GerenciamentoCurso } from './gerenciamento-curso.model';\n\nexport class HomologacaoCurso extends Homologacao {\n public id_curso: number;\n public pontuacao_homologacao_curso: PontuacaoHomologacaoCurso[];\n public id_atividade_natureza?: number;\n public id_porte: number;\n public atividade: Combo;\n public possui_autonomia: boolean;\n\n public curso: GerenciamentoCurso;\n contador: any;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/homologacao-curso.model.ts","import { HomologacaoAtividade } from './homologacao-atividade.model';\n\nexport class HomologacaoDocencia extends HomologacaoAtividade {\n\n public id_docencia: number;\n\n public docencia:any;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/homologacao-docencia.model.ts","import { Homologacao } from './homologacao';\nimport { Combo } from './combo.model';\nimport { PontuacaoHomologacaoEvento } from './pontuacao-homologacao-evento.model';\nimport { GerenciamentoEvento } from './gerenciamento-evento.model';\nimport { HomologacaoConteudoEvento } from './homologacao-conteudo-evento';\n\nexport class HomologacaoEvento extends Homologacao {\n public id_evento: number;\n public id_atividade_natureza?: number;\n public id_porte: number;\n public possui_autonomia: boolean;\n\n public pontuacao_homologacao_evento: PontuacaoHomologacaoEvento[];\n public homologacao_conteudo_evento: HomologacaoConteudoEvento[];\n public evento: GerenciamentoEvento;\n contador: number;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/homologacao-evento.model.ts","import { HomologacaoAtividade } from './homologacao-atividade.model';\nimport { GerenciamentoPosGraduacao } from './gerenciamento-pos-graduacao.model';\n\nexport class HomologacaoPosGraduacao extends HomologacaoAtividade {\n\n public id_pos_graduacao: number;\n public pos_graduacao: GerenciamentoPosGraduacao;\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/homologacao-pos-graduacao.model.ts","import { HomologacaoAtividade } from './homologacao-atividade.model';\nimport { GerenciamentoProducaoIntelectual } from './gerenciamento-producao-intelectual.model';\n\nexport class HomologacaoProducaoIntelectual extends HomologacaoAtividade {\n\n public id_producao_intelectual: number;\n public producao_intelectual: GerenciamentoProducaoIntelectual;\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/homologacao-producao-intelectual.model.ts","import { Data } from '@angular/router/src/config';\nimport { ResumoHomologacaoCurso } from './resumo-homologacao.model'\n\nexport class Homologacao {\n \n public id: number;\n public id_situacao: number;\n \n public id_usuario_receptor?: number;\n public nome_perfil_receptor?: string;\n public nome_pendencia_receptor?:string\n public resumo_homologacao: ResumoHomologacaoCurso[];\n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/homologacao.ts","import { Combo } from \"./combo.model\";\nimport { Natureza } from \"./natureza.model\";\nimport { CursoInstrutor } from \"./curso-instrutor\";\nimport { EventoInstrutor } from \"./evento-instrutor\";\nimport { AnexoInstrutor } from \"./curriculo-instrutor.models\";\nimport { FormacaoAcademicaInstrutor } from \"./formacao-academica-instrutor.models\";\n\nexport class Instrutor {\n public id: number;\n public nome: string;\n public cpf_passaporte: string;\n public registro_profissional: string;\n public tipo_documento: number;\n public flg_termoLGPD: boolean;\n\n public anexo_instrutor: AnexoInstrutor[];\n public curso_instrutor: CursoInstrutor[];\n public evento_instrutor: EventoInstrutor[];\n public formacao_academica_instrutor: FormacaoAcademicaInstrutor[];\n \n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/instrutor.model.ts","import { Combo } from './combo.model';\nimport { Edicao } from './edicao-model';\nimport { ConteudoProgramaticoEvento } from './conteudo-programatico-evento-model';\n\nexport class JustificarEvento\n{\n public id : number;\n public justificativa : string;\n public id_edicao_evento : number;\n public id_conteudo_programatico_evento : number;\n\n public edicao:Edicao;\n public conteudo_programatico_evento:ConteudoProgramaticoEvento;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/justificar-evento.ts","import { Combo } from './combo.model';\nimport { Turma } from './turma-model';\nimport { Conteudo } from './conteudo-model';\n\nexport class Justificar \n{\n public id : number;\n public justificativa : string;\n public id_turma : number;\n public id_conteudo : number;\n\n public turma:Turma;\n public conteudo:Conteudo;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/justificar.ts","export class MenuEpc {\n public presetMenu: any[] = [\n { label: 'Página Inicial', icon: 'home', routerLink: ['sistema/modulos'] },\n {\n label: 'Capacitadora', icon: 'dashboard', items: [\n { label: 'Gerenciamento', icon: 'laptop_chromebook', routerLink: ['capacitadora/gerenciamento-capacitadora'] },\n { label: 'Homologação', icon: 'chat_bubble', routerLink: ['capacitadora/homologacao-capacitadora'] }\n ]\n },\n {\n label: 'Minhas Atividades', icon: 'dashboard', items: [\n { label: 'Curso', icon: 'playlist_add_check', routerLink: ['atividades/gerenciamento-curso'] },\n { label: 'Evento', icon: 'playlist_add_check', routerLink: ['atividades/gerenciamento-evento'] },\n { label: 'Curso Prestação de Contas', icon: 'account_balance', routerLink: ['atividades/curso-prestacao-conta'] },\n { label: 'Docência e Orientação', icon: 'playlist_add_check', routerLink: ['atividades/gerenciamento-docencia'] },\n { label: 'Participação em Bancas', icon: 'playlist_add_check', routerLink: ['atividades/gerenciamento-banca'] },\n { label: 'Comissão', icon: 'playlist_add_check', routerLink: ['atividades/gerenciamento-comissao'] },\n { label: 'Curso Exterior', icon: 'playlist_add_check', routerLink: ['atividades/gerenciamento-curso-exterior'] },\n { label: 'Produção Intelectual', icon: 'playlist_add_check', routerLink: ['atividades/gerenciamento-producao-intelectual'] },\n { label: 'Pós, Grad. e Extensão', icon: 'playlist_add_check', routerLink: ['atividades/gerenciamento-pos-graduacao'] },\n ]\n },\n {\n label: 'Homologação', icon: 'dashboard', items: [\n { label: 'Curso', icon: 'filter', routerLink: ['atividades/homologacao-curso'] },\n { label: 'Evento', icon: 'filter', routerLink: ['atividades/homologacao-evento'] },\n { label: 'Docência e Orientação', icon: 'filter', routerLink: ['atividades/homologacao-docencia'] },\n { label: 'Participação em Bancas', icon: 'filter', routerLink: ['atividades/homologacao-banca'] },\n { label: 'Comissão', icon: 'filter', routerLink: ['atividades/homologacao-comissao'] },\n { label: 'Curso Exterior', icon: 'filter', routerLink: ['atividades/homologacao-curso-exterior'] },\n { label: 'Produção Intelectual ', icon: 'filter', routerLink: ['atividades/homologacao-producao-intelectual'] },\n { label: 'Pós, Grad. e Extensão', icon: 'filter', routerLink: ['atividades/homologacao-pos-graduacao'] },\n { label: 'Câmara-Plenária', icon: 'class', routerLink: ['atividades/homologacao-camara-plenaria'] },\n ]\n },\n // {\n // label: 'Ausências Justificáveis', icon: 'dashboard', items: [\n // { label: 'Minhas Justificativas', icon: 'assignment', routerLink: ['justificativas/gerenciamento-justificativa'] }\n // ]\n // },\n {\n label: 'Cadastro', icon: 'dashboard', items: [\n { label: 'Abrangência', icon: 'group_add', routerLink: ['cadastro/abrangencia'] },\n { label: 'Área', icon: 'event_available', routerLink: ['cadastro/area'] },\n { label: 'Área Temática', icon: 'import_contacts', routerLink: ['cadastro/area-tematica'] },\n { label: 'Critério de Avaliação', icon: 'event_available', routerLink: ['cadastro/criterio-avaliacao'] },\n { label: 'Formação Acadêmica', icon: 'event_available', routerLink: ['cadastro/formacao-academica'] },\n { label: 'Instituição', icon: 'event_available', routerLink: ['cadastro/instituicao'] },\n { label: 'Instrutor', icon: 'event_available', routerLink: ['cadastro/instrutor'] },\n { label: 'Modalidade', icon: 'tune', routerLink: ['cadastro/modalidade'] },\n { label: 'Público Alvo', icon: 'business_center', routerLink: ['cadastro/publico-alvo'] },\n ]\n },\n {\n label: 'Parametrização', icon: 'dashboard', items: [\n { label: 'Natureza', icon: 'filter_1', routerLink: ['parametrizacao/parametrizacao-natureza'] },\n { label: 'Norma', icon: 'filter_1', routerLink: ['parametrizacao/norma'] },\n { label: 'Pontuação', icon: 'tune', routerLink: ['parametrizacao/parametrizacao-pontuacao'] },\n { label: 'Par. de Grupos de Ativ.', icon: 'event_available', routerLink: ['parametrizacao/regra-pt-grupo-atividade'] },\n { label: 'Prestação de Contas', icon: 'schedule', routerLink: ['parametrizacao/prazo-prestacao-conta'] }\n ]\n },\n {\n label: 'Configurações', icon: 'dashboard', items: [\n { label: 'Ger. de Autonomia', icon: 'account_balance', routerLink: ['configuracao/gerenciamento-autonomia'] },\n ]\n },\n {\n label: 'Prestação de Contas', icon: 'dashboard', items: [\n { label: 'Rel. Atividades', icon: 'account_balance', routerLink: ['prestacao/prestacao-conta'] },\n { label: 'Rel. Profissionais', icon: 'account_balance', routerLink: ['prestacao/prestacao-contas-gestor'] },\n { label: 'Rel. Profissionais 2017', icon: 'account_balance', routerLink: ['prestacao-conta-2017/prestacao-conta'] },\n { label: 'Rel. Atividades Físico', icon: 'account_balance', routerLink: ['prestacao/atividade-unificado'] }\n ]\n },\n {\n label: 'Relatório Gerencial', icon: 'dashboard', items: [\n { label: 'Rel. Prestação Conta', icon: 'account_balance', routerLink: ['relatorio/relatorio-epc'] },\n { label: 'Rel. Atividades Julgadas', icon: 'account_balance', routerLink: ['relatorio/relatorio-atividades-julgadas'] },\n { label: 'Rel. Atividades por Atas', icon: 'account_balance', routerLink: ['relatorio/relatorio-atividades-atas'] },\n { label: 'Rel. Prof. CNAI e CNPC', icon: 'account_balance', routerLink: ['relatorio/relatorio-profissionais-cnai-cnpc'] },\n\n { label: 'Rel. Part. por Curso', icon: 'account_balance', routerLink: ['relatorio/relatorio-profissionais-por-curso'] },\n { label: 'Rel. Turma por Curso', icon: 'account_balance', routerLink: ['relatorio/relatorio-turma-cadastrada-por-curso'] },\n { label: 'Rel. Curso por Capac.', icon: 'account_balance', routerLink: ['relatorio/relatorio-curso-credenciado-por-capacitadora'] },\n { label: 'Rel. Part. por Evento', icon: 'account_balance', routerLink: ['relatorio/relatorio-profissionais-por-evento'] },\n { label: 'Rel. Evento por Cap.', icon: 'account_balance', routerLink: ['relatorio/relatorio-evento-credenciado-por-capacitadora'] },\n { label: 'Rel. Edição de Evento', icon: 'account_balance', routerLink: ['relatorio/relatorio-edicao-de-evento'] },\n\n\n {label: 'Relatórios de Gestor', icon: 'dashboard', items: [\n { label: 'Ativ. Aguard. Análise', icon: 'account_balance', routerLink: ['relatorio/relatorio-analise-por-atividade'] },\n { label: 'Ativ. Em Análise', icon: 'account_balance', routerLink: ['relatorio/relatorio-em-analise-por-atividade'] },\n { label: 'Ativ. Julg. Membro', icon: 'account_balance', routerLink: ['relatorio/relatorio-atividades-julgadas-membro-comissao'] }\n ]\n }\n ]\n },\n ];\n \n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/menu.model.ts","import { Combo } from './combo.model';\nimport { Turma } from './turma-model';\n\nexport class Participantes \n{\n public id : number;\n public nome : string;\n public cpf : string;\n public id_turma : number;\n\n public turma : Turma;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/participantes.ts","import { Pontuacao } from './pontuacao.model'\nimport { RascunhoDeJulgamento } from './rascunho-de-julgamento.model';\n\nexport class PontuacaoRascunhoDeJulgamento {\n public id: number;\n public id_rascunho_de_julgamento: number;\n public id_pontuacao: number;\n public valor_pontuacao: number;\n public id_usuario: number;\n public data_exclusao: Date\n public perfil: string;\n public pontuacao: Pontuacao;\n public rascunho_de_julgamento: RascunhoDeJulgamento;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/pontuacao-rascunho-de-julgamento.model.ts","import { Combo } from './combo.model';\nimport { Profissionais } from './profissionais.model';\nimport { FuncaoExercidaHipoteses } from './funcao-exercida-hipoteses.model';\nimport { AnexoPrestacaoConta } from './anexo-prestacao-conta.model';\nimport { RelatorioAtividadesConhecimento } from './relatorio-atividades-conhecimento.model';\nimport { RelatorioAtividadesComissaoBanca } from 'app/entity/relatorio-atividades-comissao-banca.model';\nimport { RelatorioAtividadesDocencia } from 'app/entity/relatorio-atividades-docencia.model';\nimport { RelatorioAtividadesProducaoIntelectual } from 'app/entity/relatorio-atividades-producao-intelectual.model';\nimport { ResultadoPrestacaoConta } from './resultado-prestacao-conta.model';\nimport { FuncaoExercidaPrestacaoConta } from './funcao-exercida_prestacao_conta.model';\n\nexport class PrestacaoConta {\n public id: number;\n public id_situacao: number;\n public data_cadastro: Date;\n public cpf: string;\n public data_exclusao: Date;\n public ComboDto: string;\n public aceite: boolean;\n public codigo_controle: string;\n public nome_profissional: string;\n public registro: string; \n public lotacao: string;\n public nome_situacao: string ;\n public data_conclusao: Date;\n\n\n public atividade_prestacao_conta: any[];\n public anexo_profissional_prestacao_conta: any[];\n public endereco_profissional_prestacao_conta: any[];\n public funcao_exercida_prestacao_conta: FuncaoExercidaPrestacaoConta[];\n public telefone_profissional_prestacao_conta: any[];\n public email_profissional_prestacao_conta: any[];\n public resultado_prestacao_conta: ResultadoPrestacaoConta[];\n public exercicio: ResultadoPrestacaoConta[];\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/prestacao-conta.model.ts","import { Combo } from './combo.model';\nimport { PrestarConta } from './prestar-conta';\nimport { Instrutor } from './instrutor.model';\nimport { PrestarContaEvento } from './prestar-conta-evento';\n\nexport class PrestarContaEventoInstrutor \n{\n public id : number;\n public id_prestar_contas_evento : number;\n public id_instrutor : number;\n public carga_horaria : number;\n\n public prestar_contas_evento: PrestarContaEvento;\n public instrutor: Instrutor;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/prestar-conta-evento-instrutor.ts","import { Combo } from './combo.model';\nimport { PrestarContaInstrutor } from './prestar-conta-instrutor';\nimport { Edicao } from './edicao-model';\nimport { ConteudoProgramaticoEvento } from './conteudo-programatico-evento-model';\nimport { PrestarContaEventoInstrutor } from './prestar-conta-evento-instrutor';\n\nexport class PrestarContaEvento\n{\n public id : number;\n public id_edicao_evento : number;\n public id_conteudo_programatico_evento : number;\n\n public edicao_evento: Edicao;\n public conteudo_programatico_evento: ConteudoProgramaticoEvento;\n public prestacao_conta_evento_instrutor: PrestarContaEventoInstrutor[]\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/prestar-conta-evento.ts","import { Combo } from './combo.model';\nimport { PrestarConta } from './prestar-conta';\nimport { Instrutor } from './instrutor.model';\n\nexport class PrestarContaInstrutor \n{\n public id : number;\n public id_prestar_conta : number;\n public id_instrutor : number;\n public carga_horaria : number;\n\n public prestar_conta: PrestarConta;\n public instrutor: Instrutor;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/prestar-conta-instrutor.ts","import { Combo } from './combo.model';\nimport { PrestarContaInstrutor } from './prestar-conta-instrutor';\nimport { Turma } from './turma-model';\nimport { Conteudo } from './conteudo-model';\n\nexport class PrestarConta \n{\n public id : number;\n public id_turma : number;\n public id_conteudo : number;\n public prestacao_conta_instrutor: PrestarContaInstrutor[];\n\n public turma: Turma;\n public conteudo: Conteudo;\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/prestar-conta.ts","import { Decisao } from 'app/entity/decisao.model';\nimport { Homologacao } from 'app/entity/homologacao';\nimport { PontuacaoRascunhoDeJulgamento } from 'app/entity/pontuacao-rascunho-de-julgamento.model';\n\nexport class RascunhoDeJulgamento {\n public id: number;\n public id_homologacao: number;\n public id_decisao: number;\n public parecer: string;\n public data_julgamento: Date;\n public perfil: string;\n public decisao: Decisao;\n public homologacao: Homologacao;\n public pontuacao_rascunho_de_julgamento: PontuacaoRascunhoDeJulgamento[] = [];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/rascunho-de-julgamento.model.ts","import { GerenciamentoCurso } from './gerenciamento-curso.model';\nimport { AnexoRecurso } from './anexo-recurso.model';\nexport class RecursoFiltro {\n IdModel: number;\n Justificativa: string;\n AnexoRecurso: AnexoRecurso[];\n Interpor: boolean;\n CursoDto: GerenciamentoCurso;\n constructor() {\n this.AnexoRecurso = [];\n this.Justificativa = '';\n this.IdModel = 0;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/recurso-filtro.model.ts","export class ProgramaRelatorioCnaiCnpc {\n nome: string;\n\n constructor(nome: string) {\n this.nome = nome;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/relatorio-programas-cnai-cnpc.ts","import { Capacitadora } from './capacitadora.model';\n\n\nexport class Responsavel\n{\n public id : number;\n public cpf : string;\n public nome : string;\n public telefone : string;\n public email : string;\n public id_capacitadora: number;\n public data_cadastro: Date;\n public data_exclusao : Date;\n\n\n public capacitadora : Capacitadora;\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/responsavel.model.ts","export class ResultadoPrestacaoContaPontuacao{\n public id:number;\n public id_pontuacao:number;\n public valor_pontuacao:number;\n public resultado:string;\n public id_resultado_prestacao_conta:number;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/resultado-prestacao-conta-pontuacao.model.ts","import { ResultadoPrestacaoContaPontuacao } from \"./resultado-prestacao-conta-pontuacao.model\";\n\nexport class ResultadoPrestacaoConta {\n public id: number;\n public id_prestacao_conta: number;\n public id_funcao_exercida: number;\n public resultado_final: string;\n public classe: string = \"ResultadoPrestacaoContaDto\";\n\n public resultado_prestacao_conta_pontuacao: ResultadoPrestacaoContaPontuacao[];\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/resultado-prestacao-conta.model.ts","export class ResumoHomologacaoCurso {\n\n public observacao?: string;\n public id_usuario_emissor: number;\n public data_julgamento: Date;\n public id_homologacao: number;\n public id_situacao: number;\n public nome_perfil: string;\n public decisao?: boolean;\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/resumo-homologacao.model.ts","import { Combo } from './combo.model';\nimport { GerenciamentoCurso } from './gerenciamento-curso.model';\nimport { TurmaDiaSemana } from './turma-dia-semana';\n\nexport class Turma {\n public id: number;\n public turma_titulo: string;\n public data_inicio: Date;\n public data_fim: Date;\n public id_pais: number;\n public id_uf: number;\n public id_cidade: number;\n public id_curso: number;\n\n public turma_dia_semana: TurmaDiaSemana;\n public curso: GerenciamentoCurso;\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/entity/turma-model.ts","import { Component } from '@angular/core';\nimport { Location } from '@angular/common';\n\n@Component({\n selector: 'erro-403',\n template: `\n \n
\n
\n Você não tem permissão para acessar essa área. \n
\n
\n
\n \n
\n
`\n})\nexport class Erro403Component {\n constructor(public location: Location) { };\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/erros/403.component.ts","export * from './403.component';\n\n\n// WEBPACK FOOTER //\n// ./src/app/erros/index.ts","module.exports = \"\\n \\n
\\n
\\n \\n \\n {{ obj['titulo_conteudo_programatico'] }}\\n \\n \\n \\n \\n \\n {{ getStatus(obj['prestar_contas_evento']) }} \\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//////////////////\n// WEBPACK FOOTER\n// ./src/app/evento-prestacao-conta/crud/etapas/evento-prestacao-conta-etapa1.component.html\n// module id = ./src/app/evento-prestacao-conta/crud/etapas/evento-prestacao-conta-etapa1.component.html\n// module chunks = main","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { Validators, FormGroup } from '@angular/forms';\nimport { BaseStepComponent } from \"../../../base/base-step.component\";\nimport { PrestarContaEvento } from '../../../entity/prestar-conta-evento';\nimport { JustificarEvento } from '../../../entity/justificar-evento';\nimport { PrestarContaEventoInstrutor } from '../../../entity/prestar-conta-evento-instrutor';\nimport { AnexoPrestacaoConta } from '../../../entity/anexo-prestacao-conta.model';\nimport * as FileSaver from 'file-saver';\n@Component({\n selector: 'evento-prestacao-conta-etapa1',\n templateUrl: './evento-prestacao-conta-etapa1.component.html',\n})\nexport class CrudEventoPrestacaoContaEtapa1Component extends BaseStepComponent {\n modal_obj: any;\n @Input() listaConteudoProgramaticoEvento: any[] = [];\n @Input() listaInstrutorCargaHoraria: any[] = [];\n @Output() listaInstrutorCargaHorariaChange = new EventEmitter();\n\n @Input() listaEventoInstrutores: any[] = [];\n @Input() validateForm: any = false;\n @Output() validateFormChange = new EventEmitter();\n @Input() listaParticipantes: any[] = [];\n @Output() listaParticipantesChange: EventEmitter = new EventEmitter();\n @Input() edicaoSelecionada: number = 0;\n fileLote: any = null;\n instrucao: any[];\n @Output() stepObject: EventEmitter = new EventEmitter(true);\n\n displayIntrutorModal: boolean = false;\n displayPrestarContaModal: boolean = false;\n displayJustificarModal: boolean = false;\n emLote: boolean = false;\n anexo: AnexoPrestacaoConta = new AnexoPrestacaoConta;\n valor: any = {};\n\n prestar_conta: PrestarContaEvento = new PrestarContaEvento;\n justificar: JustificarEvento = new JustificarEvento;\n prestar_conta_instrutor: PrestarContaEventoInstrutor = new PrestarContaEventoInstrutor;\n\n form_prestacao_conta = null;\n form_justificar = null;\n\n init() {\n this.form_prestacao_conta = this.formBuilder.group({\n id_instrutor: [null, [Validators.required]],\n carga_horaria: [null, [Validators.required]]\n });\n this.form_justificar = this.formBuilder.group({\n id: [null],\n justificativa: [null]\n });\n this.cadastro.get('participantes.tipo_inclusao').valueChanges.subscribe(item => {\n if (item === \"2\") {\n this.emLote = false;\n }\n if (item === \"1\") {\n this.emLote = true;\n }\n });\n }\n\n getInstrutorNome(id: number): string {\n const instrutor = this.listaEventoInstrutores.find(item => item.id === id);\n return instrutor ? instrutor.nome : 'Instrutor não encontrado';\n }\n\n getStatus(value: any): string {\n if (value === null || value === undefined) {\n return 'Pendente';\n }\n\n if (typeof value === 'string' || Array.isArray(value)) {\n return value.length > 0 ? 'Concluído' : 'Pendente';\n }\n\n return 'Pendente';\n }\n\n AddListaInstrutor(form_prestacao_conta: FormGroup, event: any) {\n var valorCargaHorariaLista = 0\n this.listaInstrutorCargaHoraria.forEach(x => {\n valorCargaHorariaLista += x.carga_horaria;\n })\n\n var soma = valorCargaHorariaLista + form_prestacao_conta.get('carga_horaria').value;\n\n var valido = soma > this.modal_obj.evento.carga_horaria ? false : true;\n\n if (valido) {\n this.addToList(this.listaInstrutorCargaHoraria, this.listaInstrutorCargaHorariaChange, form_prestacao_conta, event, { id_instrutor: form_prestacao_conta.get('id_instrutor').value })\n } else {\n form_prestacao_conta.get('carga_horaria').setErrors({ error: 'Carga horária superior a do evento.' })\n }\n }\n\n salvarPrestacaoConta() {\n this.prestar_conta.id_edicao_evento = this.edicaoSelecionada;\n this.prestar_conta.edicao_evento = null;\n this.prestar_conta.conteudo_programatico_evento = null;\n this.prestar_conta.prestacao_conta_evento_instrutor = [];\n this.listaInstrutorCargaHoraria.forEach(item => {\n item.id = 0;\n item.instrutor = null;\n item.prestar_contas_evento = null;\n this.prestar_conta.prestacao_conta_evento_instrutor.push(item)\n })\n this.prestar_conta.id_edicao_evento = this.edicaoSelecionada;\n this.service.Adicionar('prestarContasEvento', this.prestar_conta).subscribe(sucess => {\n this.dysplayModal(1);\n super.showMsgSucess('Registro salvo com sucesso.');\n location.reload();\n },\n err => super.showMsgError(`Erro ao Gravar. ${err._body}`))\n }\n\n salvarJustificar() {\n this.justificar.id_edicao_evento = this.edicaoSelecionada;\n this.justificar.justificativa = this.form_justificar.get('justificativa').value;\n this.justificar.id = this.form_justificar.get('id').value;\n this.service.Adicionar('justificarEvento', this.justificar).subscribe(sucess => {\n this.dysplayModal(2);\n super.showMsgSucess('Registro salvo com sucesso.');\n location.reload();\n },\n err => super.showMsgError(`Erro ao Gravar. ${err._body}`))\n }\n\n dysplayModal(modal: number, obj: any = null) {\n if (modal === 1) {\n this.displayPrestarContaModal = !this.displayPrestarContaModal;\n if (obj != null) {\n this.modal_obj = obj;\n this.prestar_conta.id_conteudo_programatico_evento = obj.id;\n if (obj.prestar_contas_evento[0] != null) {\n this.prestar_conta = obj.prestar_contas_evento[0];\n this.listaInstrutorCargaHoraria = obj.prestar_contas_evento[0].prestacao_conta_evento_instrutor;\n }\n }\n }\n if (modal === 2) {\n this.displayJustificarModal = !this.displayJustificarModal;\n if (obj != null) {\n this.modal_obj = obj;\n this.justificar.id_conteudo_programatico_evento = obj.id;\n if (obj.justificar_evento != null) {\n\n this.form_justificar.patchValue(obj.justificar_evento[0]);\n }\n }\n }\n }\n\n dysplayAnexo(btnclick: number) {\n if (btnclick == 1) {\n this.displayIntrutorModal = true;\n this.instrucao = [];\n this.instrucao.push('1. Utilize o modelo correto: ');\n this.instrucao.push('\\tBaixe o modelo padrão clicando no botão \"Documento\" ao lado de \"Instrução\";');\n\n this.instrucao.push('2. Preencha os dados em uma única coluna: ');\n this.instrucao.push('\\tInsira o nome completo do participante, seguido de vírgula (,) e o CPF (11 números) no formato 000.000.000-00 ou 00000000000;');\n this.instrucao.push('\\tExemplo: João da Silva,000.000.000-00;');\n\n this.instrucao.push('3. Atenção ao preencher: ');\n this.instrucao.push('\\tComece na linha 2: A primeira linha é reservada para os títulos das colunas');\n this.instrucao.push('\\tNome: Não utilize caracteres especiais como: @, #, $, %, &, *, (, ), !, ?, +, =, etc');\n this.instrucao.push('\\tCPF: Preencha com todos os 11 números, utilizando um dos dois modelos citados acima');\n\n this.instrucao.push('4. Revise antes de enviar: ');\n this.instrucao.push('\\tVerifique atentamente todos os dados. Qualquer erro impedirá o processamento');\n \n this.instrucao.push('5. Salve o arquivo: ');\n this.instrucao.push('\\tSalve a planilha no formato CSV UTF-8');\n } else {\n this.service.ObterDocumento(`arquivo/documentoEvento`).subscribe(\n data => {\n FileSaver.saveAs(this.b64toFile(data, null, \"application/octet-stream\"), \"Participantes_Lote.csv\");\n this.showMsgSucess(`O arquivo Participantes_Lote.csv foi baixado automaticamente, verifique na pasta de downloads.`);\n }, err => this.showMsgError(`Houve um erro ao baixar o arquivo. ${err._body}`)\n )\n }\n }\n\n\n addList(event) {\n this.showMsg('warn', 'Mensagem de Alerta', 'Lembre-se de clicar no botão \"Salvar\" após a inclusão dos participantes.');\n const cpf = this.limpaCaracterEspecial(this.cadastro.get('participantes.cpf').value)\n this.cadastro.get('participantes.cpf').setValue(cpf)\n this.addToList(this.listaParticipantes, this.listaParticipantesChange,\n this.cadastro.get('participantes') as FormGroup, event, { cpf: cpf })\n }\n\n uploadArquivoLote(event) {\n for (const file of event.files) {\n if (file.size < 10000000) {\n const fileReader = new FileReader();\n fileReader.readAsDataURL(file);\n fileReader.onload = event => {\n this.valor = {\n filename: file.name,\n filetype: file.type,\n value: fileReader.result.split(',')[1],\n id_prestar_conta: this.edicaoSelecionada\n }\n this.service.UploadExcel('participantesEvento', this.valor).subscribe(data => {\n data.forEach(element => {\n var existe = this.listaParticipantes.find(x => x.cpf == this.limpaCaracterEspecial(element.cpf) ||\n x.cpf == element.cpf);\n if (existe == null)\n this.listaParticipantes.push(element);\n });\n this.listaParticipantes.sort((a, b) => a.nome.localeCompare(b.nome));\n this.listaParticipantes = [... this.listaParticipantes];\n this.listaParticipantesChange.emit(this.listaParticipantes);\n this.showMsg('warn', 'Mensagem de Alerta', 'Lembre-se de clicar no botão \"Salvar\" após a inclusão dos participantes.');\n },\n err => {\n this.showMsgError(`${err._body}`)\n });\n };\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/evento-prestacao-conta/crud/etapas/evento-prestacao-conta-etapa1.component.ts","module.exports = \"\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/evento-prestacao-conta/crud/etapas/evento-prestacao-conta-etapa2.component.html\n// module id = ./src/app/evento-prestacao-conta/crud/etapas/evento-prestacao-conta-etapa2.component.html\n// module chunks = main","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseStepComponent } from \"../../../base/base-step.component\";\n\n@Component({\n selector: 'evento-prestacao-conta-etapa2',\n templateUrl: './evento-prestacao-conta-etapa2.component.html',\n})\nexport class CrudEventoPrestacaoContaEtapa2Component extends BaseStepComponent {\n\n @Input() validateForm: any = false;\n @Output() validateFormChange = new EventEmitter();\n @Input() listaUf: SelectItem[] = [];\n @Input() listaDiasSemana: any[] = [];\n @Input() listaPais: SelectItem[] = [];\n @Input() listaMunicipios: SelectItem[] = [];\n\n @Output() stepObject: EventEmitter = new EventEmitter(true);\n listaCidades: SelectItem[] = [];\n requiredValidator: boolean = false;\n init() {\n this.cadastro.get('id_uf').valueChanges.subscribe(id_uf => {\n this.service.ListarTodos('cidade', { id_estado: id_uf }).subscribe(data => {\n this.listaCidades = data;\n })\n });\n this.cadastro.get('id_pais').valueChanges.subscribe(id => {\n this.requiredValidator = id === 31 ? true : false\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/evento-prestacao-conta/crud/etapas/evento-prestacao-conta-etapa2.component.ts","module.exports = \" \\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/evento-prestacao-conta/crud/etapas/evento-prestacao-conta-etapa3.component.html\n// module id = ./src/app/evento-prestacao-conta/crud/etapas/evento-prestacao-conta-etapa3.component.html\n// module chunks = main","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { DatatableClickEvent } from '@basis/angular-components';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport { SelectItem, FileUpload } from 'primeng/primeng';\nimport { BaseStepComponent } from \"../../../base/base-step.component\";\nimport { PrestarConta } from '../../../entity/prestar-conta';\nimport { Justificar } from '../../../entity/justificar';\nimport { PrestarContaInstrutor } from '../../../entity/prestar-conta-instrutor';\n \n@Component({\n selector: 'evento-prestacao-conta-etapa3',\n templateUrl: './evento-prestacao-conta-etapa3.component.html',\n})\nexport class CrudEventoPrestacaoContaEtapa3Component extends BaseStepComponent{\n @Input() validateForm: any = false;\n @Output() validateFormChange = new EventEmitter();\n @Input() listaDiasSemana:any[] = [];\n @Input() listaPais:any[] = [];\n @Input() listaUf:any[] = [];\n @Input() listaCidades:any[] = [];\n @Input() hoje: any;\n @Input() isHomologacao: boolean = false;\n requiredValidator: boolean = false;\n \n @Output() stepObject: EventEmitter = new EventEmitter(true);\n init() {\n\n this.cadastro.get('id_uf').valueChanges.subscribe(id_uf => {\n this.service.ListarTodos('cidade', { id_estado: id_uf }).subscribe(data => {\n this.listaCidades = data;\n })\n });\n this.cadastro.get('id_pais').valueChanges.subscribe(id => {\n this.requiredValidator = id === 31 ? true : false\n });\n\n \n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/evento-prestacao-conta/crud/etapas/evento-prestacao-conta-etapa3.component.ts","module.exports = \"\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/evento-prestacao-conta/crud/etapas/evento-prestacao-conta-etapa4.component.html\n// module id = ./src/app/evento-prestacao-conta/crud/etapas/evento-prestacao-conta-etapa4.component.html\n// module chunks = main","import { Component, OnInit, Input, Output } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { DatatableClickEvent } from '@basis/angular-components';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseStepComponent } from \"../../../base/base-step.component\";\n\n@Component({\n selector: 'evento-prestacao-conta-etapa4',\n templateUrl: './evento-prestacao-conta-etapa4.component.html',\n})\nexport class CrudEventoPrestacaoContaEtapa4Component extends BaseStepComponent {\n\n listaDiasSemana: any[] = [];\n listaPais: any[] = [];\n listaCidades: any[] = [];\n listaUf: any[] = [];\n\n init() {\n this.service.ListarTodos('uf').subscribe(data => {\n this.listaUf = data;\n });\n this.service.ListarTodos('combo/dia_semana').subscribe(data => {\n this.listaDiasSemana = data;\n });\n this.service.ListarTodos('pais').subscribe(data => {\n this.listaPais = data;\n });\n this.service.ListarTodos('cidade').subscribe(data => {\n this.listaCidades = data;\n }); \n \n }\n \n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/evento-prestacao-conta/crud/etapas/evento-prestacao-conta-etapa4.component.ts","module.exports = \"\\n \\n
\\n
\\n \\n \\n {{ obj['titulo_conteudo_programatico'] }}\\n \\n \\n \\n \\n \\n {{ getStatus(obj['prestar_contas_evento']) }} \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n \\n\\n\\n\\n \\n \\n
\\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/evento-prestacao-conta/crud/etapas/evento-prestacao-conta-etapa5.component.html\n// module id = ./src/app/evento-prestacao-conta/crud/etapas/evento-prestacao-conta-etapa5.component.html\n// module chunks = main","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\nimport { Validators, FormGroup } from \"@angular/forms\";\nimport { BaseStepComponent } from \"../../../base/base-step.component\";\nimport { PrestarContaEvento } from \"../../../entity/prestar-conta-evento\";\nimport { JustificarEvento } from \"../../../entity/justificar-evento\";\nimport { PrestarContaEventoInstrutor } from \"../../../entity/prestar-conta-evento-instrutor\";\nimport { AnexoPrestacaoConta } from \"../../../entity/anexo-prestacao-conta.model\";\nimport { ValidCpfORCnpj } from \"../../../util/custom.validators\";\nimport * as FileSaver from \"file-saver\";\nimport { Situacoes } from \"../../../entity/enumeraveis\";\nimport { Edicao } from \"../../../entity/edicao-model\";\n@Component({\n selector: \"evento-prestacao-conta-etapa5\",\n templateUrl: \"./evento-prestacao-conta-etapa5.component.html\",\n})\nexport class CrudEventoPrestacaoContaEtapa5Component extends BaseStepComponent {\n instrucao: any[];\n displayIntrutorModal: boolean;\n @Input() listaConteudoProgramaticoEvento: any[] = [];\n @Input() listaInstrutorCargaHoraria: any[] = [];\n @Output() listaInstrutorCargaHorariaChange = new EventEmitter();\n @Input() listaEventoInstrutores: any[] = [];\n @Input() validateForm: any = false;\n @Output() validateFormChange = new EventEmitter();\n @Input() listaParticipantes: any[] = [];\n @Output() listaParticipantesChange: EventEmitter =\n new EventEmitter();\n @Input() edicaoSelecionada: number = 0;\n fileLote: any = null;\n modal_obj: any;\n\n @Output() stepObject: EventEmitter = new EventEmitter(true);\n\n displayPrestarContaModal: boolean = false;\n displayJustificarModal: boolean = false;\n emLote: boolean = false;\n anexo: AnexoPrestacaoConta = new AnexoPrestacaoConta();\n valor: any = {};\n idConteudoProgramatico: number = 0;\n prestar_conta: PrestarContaEvento = new PrestarContaEvento();\n justificar: JustificarEvento = new JustificarEvento();\n prestar_conta_instrutor: PrestarContaEventoInstrutor =\n new PrestarContaEventoInstrutor();\n form_prestacao_conta = null;\n form_justificar = null;\n\n init() {\n this.form_prestacao_conta = this.formBuilder.group({\n prestar_conta: this.formBuilder.group({\n id_instrutor: [null, [Validators.required]],\n carga_horaria: [null, [Validators.required]],\n }),\n participantes: this.formBuilder.group({\n nome: [null, [Validators.maxLength(255), Validators.required]],\n cpf: [null, ValidCpfORCnpj],\n id_conteudo_programatico_evento: [this.idConteudoProgramatico],\n tipo_inclusao: [2],\n id_edicao_evento: [this.edicaoSelecionada],\n }),\n });\n this.form_justificar = this.formBuilder.group({\n id: [null],\n justificativa: [null, [Validators.maxLength(255)]],\n });\n\n this.form_prestacao_conta\n .get(\"participantes.tipo_inclusao\")\n .valueChanges.subscribe((item) => {\n if (item === \"2\") {\n this.emLote = false;\n }\n if (item === \"1\") {\n this.emLote = true;\n }\n });\n }\n\n getInstrutorNome(id: number): string {\n const instrutor = this.listaEventoInstrutores.find(item => item.id === id);\n return instrutor ? instrutor.nome : 'Instrutor não encontrado';\n }\n\n getStatus(value: any): string {\n if (value === null || value === undefined) {\n return 'Pendente';\n }\n\n if (typeof value === 'string' || Array.isArray(value)) {\n return value.length > 0 ? 'Concluído' : 'Pendente';\n }\n\n return 'Pendente';\n }\n\n AddListaInstrutor(form_prestacao_conta: FormGroup, event: any) {\n var valorCargaHorariaLista = 0;\n this.listaInstrutorCargaHoraria.forEach((x) => {\n valorCargaHorariaLista += x.carga_horaria;\n });\n\n var soma =\n valorCargaHorariaLista +\n form_prestacao_conta.get(\"prestar_conta.carga_horaria\").value;\n var valido = soma > this.modal_obj.evento.carga_horaria ? false : true;\n if (valido) {\n this.addToList(\n this.listaInstrutorCargaHoraria,\n this.listaInstrutorCargaHorariaChange,\n this.form_prestacao_conta.get(\"prestar_conta\"),\n event,\n {\n id_instrutor: form_prestacao_conta.get(\"prestar_conta.id_instrutor\")\n .value,\n }\n );\n } else {\n form_prestacao_conta\n .get(\"prestar_conta.carga_horaria\")\n .setErrors({ error: \"Carga horária superior a do evento.\" });\n }\n }\n\n dysplayAnexo(btnclick: number) {\n if (btnclick == 1) {\n this.displayIntrutorModal = true;\n this.instrucao = [];\n this.instrucao.push('1. Utilize o modelo correto: ');\n this.instrucao.push('\\tBaixe o modelo padrão clicando no botão \"Documento\" ao lado de \"Instrução\";');\n\n this.instrucao.push('2. Preencha os dados em uma única coluna: ');\n this.instrucao.push('\\tInsira o nome completo do participante, seguido de vírgula (,) e o CPF (11 números) no formato 000.000.000-00 ou 00000000000;');\n this.instrucao.push('\\tExemplo: João da Silva,000.000.000-00;');\n\n this.instrucao.push('3. Atenção ao preencher: ');\n this.instrucao.push('\\tComece na linha 2: A primeira linha é reservada para os títulos das colunas');\n this.instrucao.push('\\tNome: Não utilize caracteres especiais como: @, #, $, %, &, *, (, ), !, ?, +, =, etc');\n this.instrucao.push('\\tCPF: Preencha com todos os 11 números, utilizando um dos dois modelos citados acima');\n\n this.instrucao.push('4. Revise antes de enviar: ');\n this.instrucao.push('\\tVerifique atentamente todos os dados. Qualquer erro impedirá o processamento');\n \n this.instrucao.push('5. Salve o arquivo: ');\n this.instrucao.push('\\tSalve a planilha no formato CSV UTF-8');\n } else {\n this.service.ObterDocumento(`arquivo/documentoEvento`).subscribe(\n (data) => {\n FileSaver.saveAs(\n this.b64toFile(data, null, \"application/octet-stream\"),\n \"Participantes_Lote.csv\"\n );\n this.showMsgSucess(\n `O arquivo Participantes_Lote.csv foi baixado automaticamente, verifique na pasta de downloads.`\n );\n },\n (err) =>\n this.showMsgError(`Houve um erro ao baixar o arquivo. ${err._body}`)\n );\n }\n }\n salvarPrestacaoConta() {\n this.confirmacao.confirm({\n header: \"Mensagem de Confirmação\",\n message: `Atenção! Ao confirmar esta operação, a Prestação de Contas do Evento será\n ${\n this.acao == \"cadastrar\" ? \"salva\" : \"atualizada\"\n } na base de dados.\n Deseja realmente confirmar esta operação?`,\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.prestar_conta.id_edicao_evento = this.edicaoSelecionada;\n this.prestar_conta.edicao_evento = null;\n this.prestar_conta.conteudo_programatico_evento = null;\n this.prestar_conta.prestacao_conta_evento_instrutor = [];\n this.listaInstrutorCargaHoraria.forEach((item) => {\n item.id = 0;\n item.instrutor = null;\n item.prestar_contas_evento = null;\n this.prestar_conta.prestacao_conta_evento_instrutor.push(item);\n });\n\n this.listaParticipantes = this.listaParticipantes.map((x) => {\n x.cpf = this.limpaCaracterEspecial(x.cpf);\n x.id_edicao_evento = this.edicaoSelecionada;\n x.id_conteudo_programatico_evento = this.idConteudoProgramatico;\n x.conteudo_programatico_evento = null;\n x.edicao_evento = null;\n return x;\n });\n\n const adicionarPrestacao = () => {\n this.service\n .Adicionar(\"prestarContasEvento\", this.prestar_conta)\n .subscribe(\n () => {\n super.showMsgSucess(\"Registro salvo com sucesso\");\n this.observableUtilPanelDoc.setBlockedPanel(false);\n },\n (err) => {\n super.showMsgWarn(`${err._body}`);\n this.observableUtilPanelDoc.setBlockedPanel(false);\n }\n );\n };\n\n if (this.listaParticipantes.length > 0) {\n this.service\n .Adicionar(\n \"participantesIndividual/salvarLista\",\n this.listaParticipantes\n )\n .subscribe(\n () => {\n super.showMsgSucess(\"Participantes salvos com sucesso\");\n if (this.prestar_conta) adicionarPrestacao();\n },\n (err) => {\n super.showMsgError(`Erro ao Gravar. ${err._body}`);\n this.observableUtilPanelDoc.setBlockedPanel(false);\n }\n );\n } else {\n this.prestar_conta.id_edicao_evento = this.edicaoSelecionada;\n adicionarPrestacao()\n }\n\n this.prestar_conta.edicao_evento = Object.assign(new Edicao(), {\n id: this.edicaoSelecionada,\n id_situacao: Situacoes.Concluído,\n });\n },\n });\n }\n\n salvarJustificar() {\n this.justificar.id_edicao_evento = this.edicaoSelecionada;\n this.justificar.justificativa =\n this.form_justificar.get(\"justificativa\").value;\n this.justificar.id = this.form_justificar.get(\"id\").value;\n this.service.Adicionar(\"justificarEvento\", this.justificar).subscribe(\n (sucess) => {\n this.dysplayModal(2);\n super.showMsgSucess(\"Registro salvo com sucesso.\");\n location.reload();\n },\n (err) => {\n super.showMsgError(`Erro ao Gravar. ${err._body}`);\n\n this.observableUtilPanelDoc.setBlockedPanel(false);\n }\n );\n }\n\n dysplayModal(modal: number, obj: any = null) {\n if (modal === 1) {\n this.displayPrestarContaModal = !this.displayPrestarContaModal;\n if (obj != null) {\n this.modal_obj = obj;\n this.prestar_conta.id_conteudo_programatico_evento = this.modal_obj.id;\n this.idConteudoProgramatico = this.modal_obj.id;\n if (obj.participantes_individual != null)\n this.listaParticipantes = obj.participantes_individual.filter(\n (x) =>\n x.id_conteudo_programatico_evento == this.idConteudoProgramatico\n );\n if (obj.prestar_contas_evento[0] != null) {\n this.prestar_conta = obj.prestar_contas_evento[0];\n this.listaInstrutorCargaHoraria =\n obj.prestar_contas_evento[0].prestacao_conta_evento_instrutor;\n }\n }\n }\n if (modal === 2) {\n this.displayJustificarModal = !this.displayJustificarModal;\n if (obj != null) {\n this.modal_obj = obj;\n this.justificar.id_conteudo_programatico_evento = this.modal_obj.id;\n this.idConteudoProgramatico = this.modal_obj.id;\n if (obj.justificar_evento != null) {\n this.form_justificar.patchValue(obj.justificar_evento[0]);\n }\n }\n }\n }\n\n addList(event) {\n this.showMsg('warn', 'Mensagem de Alerta', 'Lembre-se de clicar no botão \"Salvar\" após a inclusão dos participantes.');\n const cpf = this.limpaCaracterEspecial(\n this.form_prestacao_conta.get(\"participantes.cpf\").value\n );\n this.form_prestacao_conta.get(\"participantes.cpf\").setValue(cpf);\n this.addToList(\n this.listaParticipantes,\n this.listaParticipantesChange,\n this.form_prestacao_conta.get(\"participantes\") as FormGroup,\n event,\n { cpf: cpf }\n );\n }\n\n uploadArquivoLote(event) {\n for (const file of event.files) {\n if (file.size < 10000000) {\n const fileReader = new FileReader();\n fileReader.readAsDataURL(file);\n fileReader.onload = (event) => {\n this.valor = {\n filename: file.name,\n filetype: file.type,\n value: fileReader.result.split(\",\")[1],\n id_prestar_conta: this.edicaoSelecionada,\n };\n this.service.UploadExcel(\"participantesEvento\", this.valor).subscribe(\n (data) => {\n data.forEach((element) => {\n var existe = this.listaParticipantes.find(\n (x) => x.cpf == this.limpaCaracterEspecial(element.cpf)\n );\n if (existe == null) this.listaParticipantes.push(element);\n });\n this.listaParticipantes.sort((a, b) => a.nome.localeCompare(b.nome));\n this.listaParticipantes = [...this.listaParticipantes];\n this.listaParticipantesChange.emit(this.listaParticipantes);\n this.showMsg('warn', 'Mensagem de Alerta', 'Lembre-se de clicar no botão \"Salvar\" após a inclusão dos participantes.');\n },\n (err) => {\n this.showMsgError(`${err._body}`);\n }\n );\n };\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/evento-prestacao-conta/crud/etapas/evento-prestacao-conta-etapa5.component.ts","module.exports = \" \\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
\\n \\n
\\n \\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/evento-prestacao-conta/crud/evento-prestacao-conta-crud.component.html\n// module id = ./src/app/evento-prestacao-conta/crud/evento-prestacao-conta-crud.component.html\n// module chunks = main","import { Component } from '@angular/core';\nimport { Validators } from '@angular/forms';\nimport { MenuItem } from 'primeng/primeng';\nimport { BaseCrudComponent } from \"../../base/base-crud.component\";\nimport { Edicao } from '../../entity/edicao-model';\nimport { Participantes } from '../../entity/participantes';\nimport { ValidarData, ValidCpfORCnpj } from '../../util/custom.validators';\nimport { Situacoes } from '../../entity/enumeraveis';\n\n@Component({\n selector: 'evento-prestacao-conta-crud',\n templateUrl: 'evento-prestacao-conta-crud.component.html'\n})\n\nexport class CrudEventoPrestacaoContaComponent extends BaseCrudComponent {\n controllerName = 'eventoPrestacaoConta';\n listaInstrutorCargaHoraria: any[] = [];\n validateForm: any = false;\n edicao: Edicao = new Edicao;\n isValid: boolean = false;\n private steps: any = null;\n etapas: MenuItem[] = [];\n listaDiasSemana: any[] = [];\n listaPais: any[] = [];\n listaCidades: any[] = [];\n listaUf: any[] = [];\n isPrestarConta: number = 0;\n listaConteudoProgramaticoEvento: any[] = [];\n listaEventoInstrutores: any[] = [];\n listaParticipantes: any[] = [];\n participantes: Participantes = new Participantes;\n edicaoSelecionada: number = 0;\n linkSelecionado: string;\n stepObject: any;\n hoje = new Date();\n turmaDataValida = new Date();\n isHomologacao: boolean = false;\n dataPrazo: Date;\n desativarBotaoSalvar: boolean = false;\n\n setStepObject(obj: any) {\n this.stepObject = obj;\n }\n\n init() {\n this.toggleLoading(true);\n this.hoje = new Date(this.hoje.setDate(new Date().getDate() + 5));\n this.turmaDataValida = new Date(this.turmaDataValida.setDate(new Date().getDate() + 5))\n\n this.cadastro = this.formBuilder.group({\n etapa1: this.formBuilder.group({\n participantes: this.formBuilder.group({\n nome: [null],\n cpf: [null, ValidCpfORCnpj],\n id_edicao: [null],\n tipo_inclusao: [2]\n })\n\n }),\n etapa2: this.formBuilder.group({\n id_tipo_certificacao: [null, [Validators.required]],\n titulo: [null, [Validators.required, Validators.maxLength(255)]],\n data_inicio: [null, [Validators.required]],\n data_fim: [null, [Validators.required]],\n id_pais: [null, [Validators.required]],\n id_uf: [null],\n id_cidade: [null],\n id_evento: [],\n id: [null]\n }),\n etapa3: this.formBuilder.group({\n titulo: [null, [Validators.required, Validators.maxLength(255)]],\n data_inicio: [null, [Validators.required]],\n data_fim: [null, [Validators.required]],\n id_pais: [null, [Validators.required]],\n id_uf: [null],\n id_cidade: [null],\n id_tipo_certificacao: [null, [Validators.required]]\n }),\n etapa4: this.formBuilder.group({\n titulo: [null],\n data_inicio: [null],\n data_fim: [null],\n dia_semana: [null],\n id_pais: [null],\n id_uf: [null],\n id_cidade: [null],\n participantes: [null],\n id_tipo_certificacao: [null]\n }),\n etapa5: this.formBuilder.group({\n id: [null],\n }),\n });\n this.service.ListarTodos('uf').subscribe(data => {\n this.listaUf = data;\n });\n this.service.ListarTodos('combo/dia_semana').subscribe(data => {\n this.listaDiasSemana = data;\n });\n this.service.ListarTodos('pais').subscribe(data => {\n this.listaPais = data;\n });\n this.service.ListarTodos('cidade').subscribe(data => {\n this.listaCidades = data;\n });\n\n this.cadastro.get('etapa2.data_fim').valueChanges.subscribe(x => {\n let inicio = new Date(this.cadastro.get('etapa2.data_inicio').value);\n let fim = new Date(this.cadastro.get('etapa2.data_fim').value);\n if (!ValidarData(inicio, fim)) {\n this.cadastro.get('etapa2.data_fim').setErrors({ error: 'A data fim não pode ser menor que a data de início da turma.' });\n super.showMsg('warn', 'Turma', 'A data fim não pode ser menor que a data de início da turma.');\n return;\n }\n });\n\n var listaLink = location.href.split(\"/\")\n var etapaSelecionada = listaLink[6];\n this.edicaoSelecionada = +listaLink[7]\n this.linkSelecionado = etapaSelecionada;\n\n switch (etapaSelecionada) {\n case \"prestar-conta\":\n this.etapas = [\n { label: 'Prestar Conta' }\n ];\n this.etapa = 0;\n break;\n case \"prestar-conta-homologacao\":\n this.etapas = [\n { label: 'Prestar Conta' }\n ];\n this.etapa = 0;\n break;\n case \"editar\":\n this.etapas = [\n { label: 'Editar Edicao' }\n ];\n this.etapa = 1;\n break;\n case \"editar-homologacao\":\n this.etapas = [\n { label: 'Editar Edicao' }\n ];\n this.etapa = 1;\n break;\n case \"incluir-edicao\":\n this.etapas = [\n { label: 'Incluir Edicao' }\n ];\n this.etapa = 2;\n break;\n case \"incluir-edicao-homologacao\":\n this.etapas = [\n { label: 'Incluir Edicao' }\n ];\n this.etapa = 2;\n break;\n case \"edicao-visualizar\":\n this.etapas = [\n { label: 'Visualizar Edicao' }\n ];\n this.etapa = 3;\n break;\n case \"edicao-visualizar-homologacao\":\n this.etapas = [\n { label: 'Visualizar Edicao' }\n ];\n this.etapa = 3;\n break;\n case \"profissionais-pendentes\":\n this.etapas = [\n { label: 'Profissionais Pendentes' }\n ];\n this.etapa = 3;\n break;\n case \"prestar-conta-individual\":\n this.etapas = [\n { label: 'Prestar Conta' }\n ];\n this.etapa = 4;\n break;\n case \"prestar-conta-individual-homologacao\":\n this.etapas = [\n { label: 'Prestar Conta' }\n ];\n this.etapa = 4;\n break;\n }\n\n this.observableUser.getValue.subscribe(data => {\n if (data && data != \"\") {\n if (data.obj.lotacaoDTO.find(y => y.id == localStorage.getItem('lotacao')).sigla == 'CFC'\n && data.obj.lotacaoDTO.find(y => y.id == localStorage.getItem('lotacao'))\n .perfilDTO.filter(x => x.nome == 'Gestor CFC')\n .length > 0) {\n this.isHomologacao = true;\n }\n else {\n this.isHomologacao = false;\n }\n }\n });\n }\n private toggleLoading(loading: boolean): void {\n this.observableUtilPanelDoc.setBlockedPanel(loading);\n }\n \n afterLoad() {\n if (this.etapa === 1) {\n this.cadastro.get('etapa2.id').setValue(this.obj.id);\n if (this.obj.id_uf !== null) {\n this.cadastro.get('etapa2.id_uf').setValue(this.obj.id_uf);\n }\n if (this.obj.id_cidade !== null) {\n this.cadastro.get('etapa2.id_cidade').setValue(this.obj.id_cidade);\n }\n\n this.cadastro.get('etapa2.id_pais').setValue(this.obj.id_pais);\n this.cadastro.get('etapa2.id_evento').setValue(this.obj.id_evento);\n this.cadastro.get('etapa2.titulo').setValue(this.obj.titulo);\n this.cadastro.get('etapa2.data_inicio').setValue(this.obj.data_inicio);\n this.cadastro.get('etapa2.data_fim').setValue(this.obj.data_fim);\n this.cadastro.get('etapa2.id_tipo_certificacao').setValue(this.obj.id_tipo_certificacao);\n }\n if (this.etapa === 0) {\n this.verificaCapacitadoraPodePrestarConta();\n this.listaConteudoProgramaticoEvento = this.obj[0].evento.conteudo_programatico_evento.map(item => {\n if (this.obj[0].justificar_evento.length > 0) {\n item.justificar_evento = this.obj[0].justificar_evento.filter(valor => item.id == valor.id_conteudo_programatico_evento);\n }\n if (this.obj[0].prestar_contas_evento.length > 0) {\n item.prestar_contas_evento = this.obj[0].prestar_contas_evento.filter(valor => item.id == valor.id_conteudo_programatico_evento);\n }\n item.evento = this.obj[0].evento;\n item.id_situacao = this.obj[0].id_situacao;\n return item;\n });\n\n this.listaEventoInstrutores = this.obj[0].evento.evento_instrutor.map(item => {\n return item.instrutor;\n });\n\n this.listaParticipantes = this.obj[0].participantes_evento;\n \n }\n if (this.etapa === 3) {\n this.cadastro.get('etapa4.titulo').setValue(this.obj[0].titulo);\n this.cadastro.get('etapa4.data_inicio').setValue(this.obj[0].data_inicio);\n this.cadastro.get('etapa4.data_fim').setValue(this.obj[0].data_fim);\n this.cadastro.get('etapa4.id_pais').setValue(this.obj[0].id_pais);\n this.cadastro.get('etapa4.id_uf').setValue(this.obj[0].id_uf);\n this.cadastro.get('etapa4.id_cidade').setValue(this.obj[0].id_cidade);\n this.cadastro.get('etapa4.participantes').setValue(this.obj[0].participantes_evento);\n this.cadastro.get('etapa4.id_tipo_certificacao').setValue(this.obj[0].id_tipo_certificacao);\n }\n if (this.etapa === 4) {\n this.listaConteudoProgramaticoEvento = this.obj[0].evento.conteudo_programatico_evento.map(item => {\n if (this.obj[0].justificar_evento.length > 0) { item.justificar_evento = this.obj[0].justificar_evento.filter(valor => item.id == valor.id_conteudo_programatico_evento); }\n if (this.obj[0].prestar_contas_evento.length > 0) { item.prestar_contas_evento = this.obj[0].prestar_contas_evento.filter(valor => item.id == valor.id_conteudo_programatico_evento); }\n item.evento = this.obj[0].evento;\n item.id_situacao = this.obj[0].id_situacao;\n item.participantes_individual = this.obj[0].participantes_individual;\n return item;\n });\n this.listaEventoInstrutores = this.obj[0].evento.evento_instrutor.map(item => {\n return item.instrutor;\n });\n this.listaParticipantes = this.obj[0].participantes_evento;\n this.desativarBotaoSalvar = true;\n }\n this.toggleLoading(false);\n }\n\n verificaCapacitadoraPodePrestarConta() {\n let permitePrazo: any;\n this.service\n .Obter(\"edicaoEvento/verificarPrazoPorId/\", this.obj[0].id)\n .subscribe((item) => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n permitePrazo = item;\n });\n const dataFim = new Date(this.obj[0].data_fim);\n const anoEdicao = dataFim.getFullYear();\n\n this.service.obterPrazoPrestacao(anoEdicao).subscribe((prazo: string) => {\n this.dataPrazo = new Date(prazo);\n if (this.ehCapacitadora && new Date(new Date().setHours(0, 0, 0, 0)) > this.dataPrazo){\n return this.showMsgWarn(`A data limite para prestar contas das edições de ${anoEdicao} é ${this.dataPrazo.toLocaleDateString()}`);\n }\n else if (this.ehCapacitadora && permitePrazo.prazoCapacitadoraAcabou) {\n this.showMsgWarn(`A data limite para prestar contas das edições de ${anoEdicao} é ${this.dataPrazo.toLocaleDateString()}`);\n return this.voltar(null, this.etapa);\n }\n })\n\n }\n\n voltar(event: any, etapa: number) {\n if (etapa === 2) {\n if (this.linkSelecionado === 'incluir-edicao-homologacao') {\n this.router.navigate(['/atividades/homologacao-evento'], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['/atividades/gerenciamento-evento'], { relativeTo: this.activatedRoute });\n }\n }\n else {\n var hmg = this.linkSelecionado.split('-');\n var individual = hmg[2] === 'individual';\n if (individual) {\n if (hmg.length === 4) {\n this.router.navigate(['/atividades/evento-prestacao-conta/listar-edicao-homologacao', this.obj[0].id_evento], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['/atividades/evento-prestacao-conta/listar-edicao', this.obj[0].id_evento], { relativeTo: this.activatedRoute });\n }\n } else {\n if ((hmg.length === 3)) {\n this.router.navigate(['/atividades/evento-prestacao-conta/listar-edicao-homologacao', this.obj[0].id_evento], { relativeTo: this.activatedRoute });\n } else if (hmg[1] == 'homologacao'){\n this.router.navigate(['/atividades/evento-prestacao-conta/listar-edicao-homologacao', this.obj.id_evento], { relativeTo: this.activatedRoute }); \n }\n else {\n this.router.navigate(['/atividades/evento-prestacao-conta/listar-edicao', this.obj.id_evento], { relativeTo: this.activatedRoute });\n \n }\n }\n }\n }\n\n validarData(): boolean {\n\n let inicio = new Date(this.cadastro.get('etapa3.data_inicio').value);\n let final = new Date(this.cadastro.get('etapa3.data_fim').value);\n\n if (final < inicio)\n return false;\n else\n return true;\n }\n finalizar(event: any, etapa: number) {\n let id_situacao = 0;\n switch (etapa) {\n case 0:\n this.listaParticipantes = this.listaParticipantes.map(item => {\n item.id_edicao_evento = this.edicaoSelecionada;\n item.id = item.id || 0;\n item.edicao_evento = null;\n item.cpf = this.limpaCaracterEspecial(item.cpf);\n return item;\n });\n break;\n case 1:\n if (this.cadastro.get('etapa2').valid) {\n let inicio = new Date(this.cadastro.get('etapa2.data_inicio').value);\n let fim = new Date(this.cadastro.get('etapa2.data_fim').value);\n if (!ValidarData(inicio, fim)) {\n this.cadastro.get('etapa2.data_fim').setErrors({ error: 'A data fim não pode ser menor que a data de início da turma.' });\n super.showMsg('warn', 'Turma', 'A data fim não pode ser menor que a data de início da turma.');\n return;\n }\n this.edicao.id = this.cadastro.get('etapa2.id').value;\n this.edicao.id_uf = this.cadastro.get('etapa2.id_uf').value;\n this.edicao.id_pais = this.cadastro.get('etapa2.id_pais').value;\n this.edicao.id_cidade = this.cadastro.get('etapa2.id_cidade').value;\n this.edicao.id_evento = this.cadastro.get('etapa2.id_evento').value;\n this.edicao.titulo = this.cadastro.get('etapa2.titulo').value;\n this.edicao.data_inicio = this.cadastro.get('etapa2.data_inicio').value;\n this.edicao.data_fim = this.cadastro.get('etapa2.data_fim').value;\n this.edicao.id_tipo_certificacao = this.cadastro.get('etapa2.id_tipo_certificacao').value;\n }\n else {\n this.touchAll(this.cadastro);\n return;\n }\n break;\n case 2:\n if (this.cadastro.get('etapa3').valid) {\n let inicio = new Date(this.cadastro.get('etapa3.data_inicio').value);\n // if (inicio < this.hoje && !this.isHomologacao) {\n // super.showMsg('warn', 'Edicao', 'A data de início preenchida deve ser de, pelo menos, 5 dias após a data atual.');\n // return;\n // }\n if (!this.validarData()) {\n super.showMsg('warn', 'Edicao', 'A data fim não pode ser menor que a data de início do evento.');\n return;\n }\n this.edicao.id = null;\n this.edicao.id_uf = this.cadastro.get('etapa3.id_uf').value;\n this.edicao.id_pais = this.cadastro.get('etapa3.id_pais').value;\n this.edicao.id_cidade = this.cadastro.get('etapa3.id_cidade').value;\n this.edicao.id_evento = this.edicaoSelecionada\n this.edicao.titulo = this.cadastro.get('etapa3.titulo').value;\n this.edicao.data_inicio = this.cadastro.get('etapa3.data_inicio').value;\n this.edicao.data_fim = this.cadastro.get('etapa3.data_fim').value;\n this.edicao.id_tipo_certificacao = this.cadastro.get('etapa3.id_tipo_certificacao').value;\n this.edicao.id_situacao = Situacoes.Agendada;\n }\n else {\n this.touchAll(this.cadastro);\n return;\n }\n break;\n }\n this.confirmacao.confirm({\n header: 'Mensagem de Confirmação',\n message: `Atenção! Ao confirmar esta operação, a Prestação de Contas do Evento será\n ${this.acao == 'cadastrar' ? 'salva' : 'atualizada'} na base de dados.\n Deseja realmente confirmar esta operação?`,\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n switch (etapa) {\n case 0:\n id_situacao = Situacoes.Concluído;\n this.service.Atualizar('edicaoEvento', { id: this.edicaoSelecionada, id_situacao }, { parcial: \"id_situacao\" }).subscribe();\n\n this.service.Adicionar('participantesEvento/salvarLista', this.listaParticipantes).subscribe(sucess => {\n this.showMsgSucess('Registro salvo com sucesso.');\n this.observableUtilPanelDoc.setBlockedPanel(false);\n if (this.linkSelecionado === 'prestar-conta-homologacao') {\n this.router.navigate(['/atividades/evento-prestacao-conta/listar-edicao-homologacao', this.obj[0].id_evento], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['/atividades/evento-prestacao-conta/listar-edicao', this.obj[0].id_evento], { relativeTo: this.activatedRoute });\n }\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n super.showMsgWarn(`Erro ao atualizar. ${err._body}`)\n }\n );\n break;\n case 1:\n this.service.Atualizar('edicaoEvento', this.edicao).subscribe(sucess => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n if (this.linkSelecionado === 'editar-homologacao') {\n this.router.navigate(['/atividades/evento-prestacao-conta/listar-edicao-homologacao', this.obj.id_evento], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['/atividades/evento-prestacao-conta/listar-edicao', this.obj.id_evento], { relativeTo: this.activatedRoute });\n }\n super.showMsgSucess('Registro salvo com sucesso.');\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`Erro ao gravar. ${err._body}`)\n })\n\n break;\n case 2:\n\n this.service.Adicionar(\"edicaoEvento/verificarPrazo/\", this.edicao).subscribe(\n item => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n if (item.prazoProfissionalAcabou && !this.ehGestorEpc) {\n if (!item.profissionalPrazoExtra) {\n this.showMsgWarn(`O prazo para envio das atividades do exercício de ${item.exercicio} está finalizado.`);\n return;\n }\n }\n this.service.Adicionar('edicaoEvento', this.edicao).subscribe(sucess => {\n if (this.linkSelecionado === 'incluir-edicao-homologacao') {\n this.router.navigate(['/atividades/homologacao-evento'], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['/atividades/gerenciamento-evento'], { relativeTo: this.activatedRoute });\n }\n super.showMsgSucess('Registro salvo com sucesso.');\n this.observableUtilPanelDoc.setBlockedPanel(false);\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`Erro ao gravar. ${err._body}`)\n })\n }, err => {\n super.showMsg('error', 'Mensagem de Erro', `Houve um erro ao verificar o prazo do registro. ${err._body}`)\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n break;\n case 4:\n id_situacao = Situacoes.Concluído;\n this.service.Atualizar('edicaoEvento', { id: this.edicaoSelecionada, id_situacao }, { parcial: \"id_situacao\" }).subscribe(sucess => {\n if (this.linkSelecionado === 'prestar-conta-individual-homologacao') {\n this.router.navigate(['/atividades/evento-prestacao-conta/listar-edicao-homologacao', this.obj[0].id_evento], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['/atividades/evento-prestacao-conta/listar-edicao', this.obj[0].id_evento], { relativeTo: this.activatedRoute });\n }\n super.showMsgSucess('Registro salvo com sucesso.');\n this.observableUtilPanelDoc.setBlockedPanel(false);\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`Erro ao gravar. ${err._body}`)\n })\n }\n }\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/evento-prestacao-conta/crud/evento-prestacao-conta-crud.component.ts","module.exports = \"\\n \\n \\n \\n \\n \\n\\n\\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n Edição agendada \\n Em Execução \\n \\n Aguardando cadastro de Participantes e instrutor\\n \\n Concluído \\n \\n \\n \\n \\n \\n \\n \\n\\n
\\n \\n
\\n
\\n \\n\\n\\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/evento-prestacao-conta/evento-prestacao-conta.component.html\n// module id = ./src/app/evento-prestacao-conta/evento-prestacao-conta.component.html\n// module chunks = main","import { Component } from '@angular/core';\nimport { SelectItem } from 'primeng/primeng';\nimport { Abrangencia } from '../entity/abrangencia.model';\nimport { BaseListComponent } from \"../base/base-list.component\";\n \n@Component({\n selector: 'evento-prestacao-conta',\n templateUrl: './evento-prestacao-conta.component.html',\n})\nexport class EventoPrestacaoContaComponent extends BaseListComponent {\n controllerName = 'edicaoEvento';\n filtro = this.formBuilder.group({\n query:[null],\n id_evento:[null]\n });\n dataDia:Date = new Date();\n\n evento: any = null;\n listaEdicao: any[] = [];\n idEvento:number = null;\n linkSelecionado:string;\n namePrestarConta:string;\n nameEditar:string;\n nameVisualizar:string;\n algo:any;\n query: string;\n \n init(){\n\n if (sessionStorage.getItem(\"msg\") != null) {\n this.showMsgSucess(sessionStorage.getItem(\"msg\"))\n sessionStorage.removeItem(\"msg\");\n }\n\n this.listagem.pDatatableComponent.sortOrder = 2;\n var listaLink = location.href.split(\"/\")\n this.linkSelecionado = listaLink[6]\n this.idEvento = +listaLink[7];\n\n this.filtro.get('id_evento').setValue(this.idEvento);\n if(this.linkSelecionado === 'listar-edicao'){\n this.namePrestarConta = 'edicao_prestar_conta';\n this.nameEditar = \"edicao_editar\";\n this.nameVisualizar = 'edicao_visualizar';\n }else{\n this.namePrestarConta = 'edicao_prestar_conta_homologacao';\n this.nameEditar = \"edicao_editar_homologacao\";\n this.nameVisualizar = 'edicao_visualizar_homologacao';\n }\n \n if(sessionStorage.getItem('turma_edicao') == this.router.url.split('/')[2]){\n this.query = sessionStorage.getItem('filtro_turma_edicao');\n this.algo = this.query.split('&')\n .map(str => {\n let [key, value] = str.split('=');\n return {[key]: decodeURI(value)};\n })\n .reduce((prev, curr) => Object.assign(prev, curr));\n Object.keys(this.algo).forEach(key => {\n this.algo[key] = this.algo[key].split('%2C').length > 1 ? this.algo[key].split('%2C') : this.algo[key];\n if(!Array.isArray(this.algo[key])){\n this.algo[key] = this.algo[key].split('+').length > 1 ? this.concatStringFiltro(this.algo[key].split('+')) : this.algo[key];\n }\n this.algo[key] = this.algo[key] == \"null\" ? null : this.algo[key];\n });\n this.filtro.patchValue(this.algo);\n this.carregarEstadoPaginacao();\n }else if(sessionStorage.getItem('funcionalidade') != 'gerenciamento-evento' && sessionStorage.getItem('funcionalidade') != 'homologacao-evento'){\n sessionStorage.removeItem('funcionalidade');\n sessionStorage.removeItem('filtro');\n sessionStorage.removeItem('pagina');\n }\n\n }\n voltar(event: any){\n if(this.linkSelecionado === 'listar-edicao'){\n this.router.navigate(['/atividades/gerenciamento-evento'], { relativeTo: this.activatedRoute });\n }else{\n this.router.navigate(['/atividades/homologacao-evento'], { relativeTo: this.activatedRoute });\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/evento-prestacao-conta/evento-prestacao-conta.component.ts","export * from './evento-prestacao-conta.component';\nexport * from './crud/evento-prestacao-conta-crud.component';\nexport * from './crud/etapas/evento-prestacao-conta-etapa1.component';\nexport * from './crud/etapas/evento-prestacao-conta-etapa2.component';\nexport * from './crud/etapas/evento-prestacao-conta-etapa3.component';\nexport * from './crud/etapas/evento-prestacao-conta-etapa4.component';\nexport * from './crud/etapas/evento-prestacao-conta-etapa5.component';\n\n\n// WEBPACK FOOTER //\n// ./src/app/evento-prestacao-conta/index.ts","module.exports = \"\\n \\n \\n\\n \\n
\\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/field-set-capacitadora/field-set-capacitadora.component.html\n// module id = ./src/app/field-set-capacitadora/field-set-capacitadora.component.html\n// module chunks = main","import { Component, OnInit, Input } from '@angular/core';\nimport { Capacitadora } from '../entity/capacitadora.model';\n\n@Component({\n selector: 'field-set-capacitadora',\n templateUrl: './field-set-capacitadora.component.html'\n})\nexport class FieldSetCapacitadoraComponent implements OnInit {\n\n @Input() capacitadora: Capacitadora;\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/field-set-capacitadora/field-set-capacitadora.component.ts","module.exports = \"\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/formacao-academica/crud/etapas/formacao-academica-etapa1.component.html\n// module id = ./src/app/formacao-academica/crud/etapas/formacao-academica-etapa1.component.html\n// module chunks = main","import { Component, OnInit, Input, Output } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { DatatableClickEvent } from '@basis/angular-components';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseStepComponent } from \"../../../base/base-step.component\";\n\n@Component({\n selector: 'formacao-academica-etapa1',\n templateUrl: './formacao-academica-etapa1.component.html',\n})\nexport class CrudFormacaoAcademicaEtapa1Component extends BaseStepComponent {\n\n init() {\n \n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/formacao-academica/crud/etapas/formacao-academica-etapa1.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/formacao-academica/crud/etapas/formacao-academica-etapa2.component.html\n// module id = ./src/app/formacao-academica/crud/etapas/formacao-academica-etapa2.component.html\n// module chunks = main","import { Component, OnInit, Input, Output } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { DatatableClickEvent } from '@basis/angular-components';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseStepComponent } from \"../../../base/base-step.component\";\nimport { Situacoes } from \"../../../entity/enumeraveis\";\n\n@Component({\n selector: 'formacao-academica-etapa2',\n templateUrl: './formacao-academica-etapa2.component.html',\n})\nexport class CrudFormacaoAcademicaEtapa2Component extends BaseStepComponent {\n\n Situacoes = Situacoes;\n\n init() {}\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/formacao-academica/crud/etapas/formacao-academica-etapa2.component.ts","module.exports = \" \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n
\\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/formacao-academica/crud/formacao-academica-crud.component.html\n// module id = ./src/app/formacao-academica/crud/formacao-academica-crud.component.html\n// module chunks = main","import { Component } from '@angular/core';\nimport { Validators } from '@angular/forms';\n\nimport { BaseCrudComponent } from \"../../base/base-crud.component\";\n\n@Component({\n selector: 'formacao-academica-crud',\n templateUrl: 'formacao-academica-crud.component.html'\n})\n\nexport class CrudFormacaoAcademicaComponent extends BaseCrudComponent {\n controllerName = 'formacao-academica';\n init() {\n this.cadastro = this.formBuilder.group({\n nome: [null, [Validators.required, Validators.maxLength(100)]],\n id_situacao: [2],\n id: [null],\n data_inclusao: [new Date]\n });\n\n }\n\n finalizar(event: any) {\n this.doFinalAction(this.cadastro.value, this.controllerName);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/formacao-academica/crud/formacao-academica-crud.component.ts","module.exports = \"\\n \\n \\n \\n \\n \\n\\n\\n \\n \\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/formacao-academica/formacao-academica.component.html\n// module id = ./src/app/formacao-academica/formacao-academica.component.html\n// module chunks = main","import { Component } from '@angular/core';\nimport { SelectItem } from 'primeng/primeng';\nimport { FormacaoAcademica } from '../entity/formacao-academica.model';\nimport { BaseListComponent } from \"../base/base-list.component\";\n\n@Component({\n selector: 'formacao-academica',\n templateUrl: './formacao-academica.component.html',\n})\nexport class FormacaoAcademicaComponent extends BaseListComponent {\n controllerName = 'formacao-academica';\n filtro = this.formBuilder.group({\n query:[null]\n });\n\n init(){\n this.listagem.pDatatableComponent.sortOrder = 2;\n this.carregarEstado();\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/formacao-academica/formacao-academica.component.ts","export * from './formacao-academica.component';\nexport * from './crud/formacao-academica-crud.component';\nexport * from './crud/etapas/formacao-academica-etapa1.component';\nexport * from './crud/etapas/formacao-academica-etapa2.component';\n\n\n// WEBPACK FOOTER //\n// ./src/app/formacao-academica/index.ts","module.exports = \" \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n\\n \\n \\n
\\n \\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-banca/crud/crud.component.html\n// module id = ./src/app/gerenciamento-banca/crud/crud.component.html\n// module chunks = main","import { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Component } from '@angular/core';\nimport { BaseCrudComponent } from '../../base';\nimport { Validators } from '@angular/forms';\nimport { GerenciamentoBanca } from '../../entity/gerenciamento-banca.model';\nimport { SelectItem } from 'primeng/primeng';\nimport { dataFimLimite } from 'app/util/custom.validators';\n@Component({\n selector: 'gerenciamento-banca-crud',\n templateUrl: './crud.component.html'\n})\nexport class GerenciarBancaCrudComponent extends BaseCrudComponent {\n controllerName = \"gerenciamento-banca\"\n gerenciamentoBanca: GerenciamentoBanca;\n controladorGerenciamento = false;\n listaCapacitadora: any[] = [];\n cadastro = this.formBuilder.group({\n id_instituicao: [null, [Validators.required]],\n id: [null],\n id_capacitadora: [null],\n radio_instituicao_capacitadora: [1],\n id_natureza: [null, [Validators.required]],\n observacao: [null, [Validators.maxLength(4000)]],\n titulo: [null, [Validators.required, Validators.maxLength(200)]],\n cpf: [null],\n data_fim: [null, [Validators.required]],\n codigo: [null],\n id_situacao: [null],\n anexo_gerenciar_atividade: this.formBuilder.group({\n id: [null]\n })\n });\n recursoFiltro: RecursoFiltro = new RecursoFiltro();\n listaAnexos: any[] = [];\n listaDadosInstituicao: SelectItem[];\n listaTipoAtividade: SelectItem[];\n listaPntCFC: any[];\n listaPntCRC: any[];\n listaResumo: any[];\n listaRelatores: SelectItem[] = [];\n stepObject: any;\n mostrarCodigo: boolean = false;\n validateForm = false;\n setStepObject(obj: any) {\n this.stepObject = obj;\n }\n init() {\n this.cadastro.get('id_natureza').disable();\n if (this.acao == 'editar') {\n this.cadastro.get('data_fim').disable();\n }\n this.service.ListarTodosCapacitadoraCombo().subscribe(data => {\n this.listaCapacitadora = data;\n });\n this.service.ListarTodos('instituicao').subscribe(data => {\n this.listaDadosInstituicao = data;\n });\n }\n afterInit() {\n this.cadastro.get('data_fim').valueChanges.subscribe(x => {\n\n this.verificarPrestacaoForaDoPrazo(x, this.cadastro);\n\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.ListarTodos('natureza', { query: \"Orientação e Banca\", data: this.cadastro.get('data_fim').value }).subscribe(data => {\n this.listaTipoAtividade = data;\n this.cadastro.get('id_natureza').enable();\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n });\n this.cadastro.get('radio_instituicao_capacitadora').valueChanges.subscribe(valor => {\n if (valor == 1) {\n this.cadastro.get('id_instituicao').setValidators([Validators.required]);\n this.cadastro.get('id_instituicao').updateValueAndValidity();\n this.cadastro.get('id_capacitadora').clearValidators();\n this.cadastro.get('id_capacitadora').setValue(null);\n this.cadastro.get('id_capacitadora').updateValueAndValidity();\n } else {\n this.cadastro.get('id_capacitadora').setValidators([Validators.required]);\n this.cadastro.get('id_capacitadora').updateValueAndValidity();\n this.cadastro.get('id_instituicao').clearValidators();\n this.cadastro.get('id_instituicao').setValue(null)\n this.cadastro.get('id_instituicao').updateValueAndValidity();\n }\n })\n }\n afterLoad() {\n this.mostrarCodigo = true;\n this.gerenciamentoBanca = this.obj;\n if (this.gerenciamentoBanca.id_instituicao != null) {\n this.cadastro.get(\"radio_instituicao_capacitadora\").setValue(1);\n } else {\n this.cadastro.get(\"radio_instituicao_capacitadora\").setValue(2);\n }\n if (this.obj.anexo_gerenciar_atividade != null) {\n this.obj.anexo_gerenciar_atividade.forEach(x => {\n x.show = true;\n this.listaAnexos.push(x);\n });\n }\n this.obj.homologacao_banca.map(item => {\n this.service.ListarRelatores('listaRelatoresHomologacao', { query: item.id }).subscribe(\n data => {\n this.listaRelatores = data;\n }\n );\n this.service.ListarTodos(\"resumoHomologacao\", { query: item.id }).subscribe(\n data => {\n this.listaResumo = data;\n }\n );\n this.service.ListarPontuacaoHomologacao(\"homologacao-banca\", item.id, \"Comissão CFC\").subscribe(retorno => {\n this.listaPntCFC = retorno;\n });\n this.service.ListarPontuacaoHomologacao(\"homologacao-banca\", item.id, \"Comissão CRC\").subscribe(retorno => {\n this.listaPntCRC = retorno;\n });\n });\n }\n carregarObj(event: any) {\n this.gerenciamentoBanca = new GerenciamentoBanca(this.cadastro.value, this.listaAnexos);\n }\n finalizar(event: any) {\n this.gerenciamentoBanca.id_lotacao = parseInt(localStorage.getItem('lotacao'));\n if (this.obj != null) {\n this.gerenciamentoBanca.data_cadastro = this.obj.data_cadastro;\n }\n this.doFinalAction(this.gerenciamentoBanca);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-banca/crud/crud.component.ts","module.exports = \"\\n\\n \\n \\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-banca/crud/etapa1/etapa1.component.html\n// module id = ./src/app/gerenciamento-banca/crud/etapa1/etapa1.component.html\n// module chunks = main","import { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { BaseStepComponent } from '../../../base';\nimport { SelectItem } from 'primeng/primeng';\n\n\n@Component({\n selector: 'gerenciamento-banca-etapa1',\n templateUrl: './etapa1.component.html'\n})\nexport class GerenciarBancaEtapa1Component extends BaseStepComponent {\n\n @Input(\"Anexos\") listaAnexos: any[];\n @Input() listaDadosInstituicao: SelectItem[];\n @Input() listaTipoAtividade: SelectItem[];\n @Input() listaResumo: any[];\n @Input() listaRelatores: any[];\n @Input() validateForm: any = false;\n @Input() mostrarCodigo: boolean;\n @Output() listaAnexoChange = new EventEmitter();\n @Output() carregarObj = new EventEmitter();\n @Output() stepObject: EventEmitter = new EventEmitter(true);\n @Output() validateFormChange = new EventEmitter();\n @Input() cpf: string;\n @Input() justificativa;\n @Input() recursoFiltro: RecursoFiltro;\n userInteracted = false;\n\n @Input() listaCapacitadora: any[] = [];\n init() {\n this.listaAnexoChange.emit(this.listaAnexos);\n this.stepObject.emit(this);\n this.emitValidation(true);\n }\n emitValidation(isInit = false) {\n if (isInit) {\n this.validateForm = [];\n } else {\n let countListaArquivos = this.listaAnexos.length;\n if (this.cadastro.valid && countListaArquivos > 0) {\n this.isValid = true;\n this.carregarObj.emit(this.cadastro);\n }\n else {\n this.isValid = false;\n this.validateForm = [this.cadastro];\n if (countListaArquivos == 0) {\n this.showMsgWarn(`O anexo de arquivos é obrigatório. Todos os arquivos deverão ser anexados de uma só vez.
`);\n }\n else if (!this.cadastro.valid) {\n this.cadastro.markAsTouched();\n }\n }\n }\n setTimeout(() => this.validateFormChange.emit(this.validateForm), 0);\n this.isValidChange.emit(this.isValid);\n }\n\n onCalendarInteraction() {\n this.userInteracted = true;\n }\n onDataFimChange(event: any) {\n if (this.userInteracted) {\n this.cadastro.get('id_natureza').setValue(null);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-banca/crud/etapa1/etapa1.component.ts","module.exports = \"\\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
\\n\\n
\\n \\n
\\n
\\n\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n\\n\\n \\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-banca/crud/etapa2/etapa2.component.html\n// module id = ./src/app/gerenciamento-banca/crud/etapa2/etapa2.component.html\n// module chunks = main","import { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Component, Input } from '@angular/core';\nimport { BaseStepComponent } from '../../../base';\nimport { SelectItem } from 'primeng/primeng';\nimport { Recurso } from 'app/entity/Recurso.model';\n@Component({\n // tslint:disable-next-line: component-selector\n selector: 'gerenciamento-banca-etapa2',\n templateUrl: './etapa2.component.html'\n})\nexport class GerenciarBancaEtapa2Component extends BaseStepComponent {\n @Input() gerenciamentoBanca: any\n @Input() acao: string;\n @Input() listaResumo: any[];\n @Input() listaRelatores: any[];\n @Input() listaDadosInstituicao: SelectItem[];\n @Input() listaTipoAtividade: SelectItem[];\n @Input() listaPntCFC: any[] = [];\n @Input() listaPntCRC: any[] = [];\n @Input() etapaHomologacao = 3;\n @Input() mostrarCodigo: boolean;\n @Input() controladorGerenciamento = true;\n @Input() listaCapacitadora: any[] = [];\n @Input() id: number;\n @Input() recursoFiltro: RecursoFiltro\n @Input() recurso_banca: Recurso[] = [];\n listaRecurso: any;\n @Input() decisaoComissaoCrc: any;\n @Input() habilitaCamposPontuacao: boolean;\n @Input() disabledCheckbox: boolean;\n @Input() etapa: number;\n @Input() isHomologacao: boolean;\n\n init() {\n if (this.listaDadosInstituicao === undefined) {\n this.service.ListarTodos('instituicao').subscribe(data => {\n this.listaDadosInstituicao = data;\n });\n }\n if (this.listaTipoAtividade == undefined) {\n this.service.ListarTodos('natureza', { query: \"Orientação e Banca\" }).subscribe(data => {\n this.listaTipoAtividade = data;\n });\n }\n if (this.id !== undefined) {\n this.service.Obter('gerenciamento-banca/recursoList', this.id).subscribe(item => {\n this.recurso_banca = item;\n });\n this.recursoFiltro.IdModel = this.id;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-banca/crud/etapa2/etapa2.component.ts","module.exports = \"\\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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-banca/gerenciamento-banca.component.html\n// module id = ./src/app/gerenciamento-banca/gerenciamento-banca.component.html\n// module chunks = main","import { Component } from '@angular/core';\nimport { BaseListComponent } from '../base';\n\n@Component({\n // tslint:disable-next-line: component-selector\n selector: 'gerenciamento-banca',\n templateUrl: './gerenciamento-banca.component.html'\n})\nexport class GerenciarBancaComponent extends BaseListComponent {\n\n controllerName = 'gerenciamento-banca';\n filtro = this.formBuilder.group({\n query: [null]\n });\n showNotificacao = false;\n\n init() {\n this.listagem.pDatatableComponent.sortOrder = 2;\n this.service.ObterTodos(`${this.controllerName}/obterSituacoesBanca`).subscribe(\n data => {\n if (data) {\n this.showNotificacao = true;\n } else {\n this.showNotificacao = false;\n }\n }\n );\n this.carregarEstado();\n }\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-banca/gerenciamento-banca.component.ts","export * from './gerenciamento-banca.component'\nexport * from './crud/crud.component'\nexport * from './crud/etapa1/etapa1.component'\nexport * from './crud/etapa2/etapa2.component'\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-banca/index.ts","module.exports = \"\\n\\n \\n \\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-capacitadora/crud/etapas/gerenciamento-capacitadora-etapa1.component.html\n// module id = ./src/app/gerenciamento-capacitadora/crud/etapas/gerenciamento-capacitadora-etapa1.component.html\n// module chunks = main","import { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseStepComponent } from '../../../base/base-step.component';\nimport { EnderecoTipo, TelefoneTipo } from '../../../entity/enumeraveis';\nimport { FormGroup } from '@angular/forms';\n\n@Component({\n // tslint:disable-next-line: component-selector\n selector: 'gerenciamento-capacitadora-etapa1',\n templateUrl: './gerenciamento-capacitadora-etapa1.component.html',\n})\nexport class CrudGerenciamentoCapacitadoraEtapa1Component extends BaseStepComponent {\n cpf: any;\n telefoneTipo = TelefoneTipo;\n enderecoTipo = EnderecoTipo;\n @Input() codigo: string;\n @Input() dataCadastro: Date;\n @Input() dataEnvio: Date;\n @Input() classificacaoOptions: SelectItem[] = [];\n @Input() ufOptions: any[] = [];\n @Input() listaResumo: any[] = [];\n @Input() listaRelatores: any[];\n @Input() listaTipoEndereco: SelectItem[];\n @Input() listaTipoLogradouro: SelectItem[];\n @Input() listaCidade: SelectItem[];\n @Input() listaTipoTelefone: any[] = [];\n\n @Input() listaEndereco: any[] = [];\n @Output() listaEnderecoChange = new EventEmitter();\n\n @Input() listaEmail: any[] = [];\n @Output() listaEmailChange = new EventEmitter();\n\n @Input() listaTelefone: any[] = [];\n @Output() listaTelefoneChange = new EventEmitter();\n\n @Input() listaResponsaveis: any[] = [];\n @Output() listaResponsaveisChange = new EventEmitter();\n\n @Input() uploadedFiles: any[];\n @Input() storagedListFiles: any[];\n @Output() uploadedFilesChange = new EventEmitter();\n @Output() controladorFilialChange = new EventEmitter();\n uploadedFilesTemp: any[] = [];\n\n @Input() validateForm: any = false;\n @Input() isBuscou: boolean;\n @Input() controladorFilial: boolean;\n @Input() controladorRegistro: boolean;\n @Output() validateFormChange = new EventEmitter();\n @Output() stepObject: EventEmitter = new EventEmitter(true);\n @Output() buscaRegistro = new EventEmitter();\n @Output() limparRegistro = new EventEmitter();\n @Input() listaCidadeFiltro: SelectItem[] = [];\n @Input() isValidBairro = false;\n @Input() isValidCidade = true;\n\n @Input() disableButton = true;\n\n @Input() flg_principal = false;\n\n @Input() recurso: RecursoFiltro;\n\n buscaBack(event: any) {\n this.buscaRegistro.emit(event);\n }\n limpar(event: any) {\n this.limparRegistro.emit(event);\n }\n\n init() {\n // Empresa\n this.cadastro.get('capacitadora.nome').disable();\n this.cadastro.get('capacitadora.id_classificacao').disable();\n this.cadastro.get('capacitadora.url').disable();\n this.cadastro.get('capacitadora.observacao').disable();\n\n // Endereço\n this.cadastro.get('endereco_capacitadora.num_cep').disable();\n this.cadastro.get('endereco_capacitadora.tipo_endereco').disable();\n this.cadastro.get('endereco_capacitadora.id_tipo_logradouro').disable();\n this.cadastro.get('endereco_capacitadora.logradouro').disable();\n this.cadastro.get('endereco_capacitadora.numero').disable();\n this.cadastro.get('endereco_capacitadora.complemento').disable();\n this.cadastro.get('endereco_capacitadora.bairro').disable();\n this.cadastro.get('endereco_capacitadora.id_uf').disable();\n this.cadastro.get('endereco_capacitadora.id_cidade').disable();\n this.cadastro.get('endereco_capacitadora.caixa_postal').disable();\n this.cadastro.get('endereco_capacitadora.flg_principal').disable();\n\n // Telefone\n this.cadastro.get('telefones.tipo_telefone').disable();\n this.cadastro.get('telefones.num_telefone').disable();\n\n // Email\n this.cadastro.get('emails.e_mail').disable();\n\n // Responsáveis\n this.cadastro.get('responsavel.cpf').disable();\n this.cadastro.get('responsavel.nome').disable();\n this.cadastro.get('responsavel.telefone').disable();\n this.cadastro.get('responsavel.email').disable();\n \n if (this.uploadedFiles.length > 0) {\n this.uploadedFilesTemp = [];\n this.uploadedFiles.forEach(i => {\n i.show = true;\n this.uploadedFilesTemp.push(i);\n });\n this.uploadedFiles = [];\n this.uploadedFiles = this.uploadedFilesTemp;\n }\n this.uploadedFilesChange.emit(this.uploadedFiles);\n this.stepObject.emit(this);\n this.emitValidation(true);\n }\n\n removeElementList(value: any) {\n this.uploadedFiles.forEach((item, index) => {\n if (item.nome_arquivo === value.file.name && item.id < 1) {\n super.removeFromList(this.uploadedFiles, this.uploadedFilesChange, index, 'anexos');\n }\n });\n }\n adicionarResponsavel(event: any) {\n if (this.cadastro.get('responsavel').valid) {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.cpf = this.limpaCaracterEspecial(this.cadastro.get('responsavel.cpf').value);\n this.service.Obter(\"capacitadora/pesquisarPorCPF\", this.cpf).subscribe(retorno => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.addToList(this.listaResponsaveis, this.listaResponsaveisChange, this.cadastro.get('responsavel') as FormGroup, event, { cpf: this.cadastro.get('responsavel.cpf').value }, { contador: retorno })\n });\n }\n else{\n this.touchAll(this.cadastro.get('responsavel') as FormGroup);\n }\n }\n\n emitValidation(isInit = false) {\n if (isInit) {\n this.validateForm = [];\n } else {\n if (this.acao != 'alterar-responsavel') {\n let countListaArquivos = this.uploadedFiles.filter(item => item.tipo == 1).length;\n if (this.cadastro.get('capacitadora').valid && this.controladorFilial &&\n this.listaResponsaveis.length > 0 && countListaArquivos > 0 && this.listaEmail.length > 0 &&\n this.listaEndereco.length > 0 && this.listaTelefone.length > 0) {\n this.isValid = true;\n } else {\n this.isValid = false;\n this.validateForm = [this.cadastro.get('capacitadora')];\n if (!this.controladorFilial) {\n this.showMsg('warn', 'Responsáveis', 'É necessário informar a sede da capacitadora.');\n }\n else if (this.listaResponsaveis.length == 0) {\n this.showMsg('warn', 'Responsáveis', 'É necessário informar ao menos um responsável');\n }\n else if (countListaArquivos == 0) {\n this.showMsg('warn', 'Mensagem de Aviso', `O anexo de arquivos é obrigatório. Todos os comprovantes deverão ser anexados de uma só vez.
`);\n }\n else if (this.listaEmail.length == 0) {\n this.showMsg('warn', 'Responsáveis', 'É necessário informar ao menos um Email');\n }\n else if (this.listaTelefone.length == 0) {\n this.showMsg('warn', 'Responsáveis', 'É necessário informar ao menos um Telefone');\n }\n else if (this.listaEndereco.length == 0) {\n this.showMsg('warn', 'Responsáveis', 'É necessário informar ao menos um Endereço');\n }\n }\n }\n else if (this.acao == 'alterar-responsavel') {\n if (this.listaResponsaveis.length > 0) {\n this.isValid = true;\n } else {\n this.isValid = false;\n if (this.listaResponsaveis.length == 0) {\n this.showMsg('warn', 'Responsáveis', 'É necessário informar ao menos um responsável');\n }\n }\n }\n }\n this.controladorFilialChange.emit(this.controladorFilial);\n setTimeout(() => this.validateFormChange.emit(this.validateForm), 0);\n this.isValidChange.emit(this.isValid);\n this.observableUtilPanelDoc.setBlockedPanel(false);\n }\n\n adicionarListaEndereco(event: any) {\n let filial = this.cadastro.get(\"endereco_capacitadora.flg_principal\").value;\n if (filial == 1)\n this.cadastro.get(\"endereco_capacitadora.flg_principal\").setValue(true);\n else\n this.cadastro.get(\"endereco_capacitadora.flg_principal\").setValue(false);\n\n this.isValidCidade = false;\n let retorno = this.addToList(this.listaEndereco, this.listaEnderecoChange, this.cadastro.get('endereco_capacitadora') as FormGroup, event);\n\n if (retorno != false) {\n this.cadastro.get(\"endereco_capacitadora.flg_principal\").patchValue(\"0\");\n if (filial == 1) {\n this.controladorFilial = true;\n this.cadastro.get(\"endereco_capacitadora.flg_principal\").setValue(true);\n }\n else {\n this.cadastro.get(\"endereco_capacitadora.flg_principal\").setValue(false);\n }\n }\n }\n\n removeListaEndereco(index) {\n this.confirmacao.confirm({\n header: 'Mensagem de Confirmação',\n message: `Atenção! Deseja mesmo remover esse item da lista de endereço?`,\n accept: () => {\n var item = this.listaEndereco.splice(index, 1);\n this.listaEndereco = [...this.listaEndereco];\n this.listaEnderecoChange.emit(this.listaEndereco)\n if (this.listaEndereco.length == 0)\n this.showMsgWarn(`É necessária a inclusão de ao menos 1 endereço.`);\n if (item[0].flg_principal == true) {\n this.controladorFilial = false;\n }\n }\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-capacitadora/crud/etapas/gerenciamento-capacitadora-etapa1.component.ts","module.exports = \"\\n\\n\\n \\n \\n
\\n\\n\\n \\n
\\n\\n \\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-capacitadora/crud/etapas/gerenciamento-capacitadora-etapa2.component.html\n// module id = ./src/app/gerenciamento-capacitadora/crud/etapas/gerenciamento-capacitadora-etapa2.component.html\n// module chunks = main","import { RecursoCapacitadora } from './../../../entity/recurso-capacitadora.model';\nimport { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Anexo } from './../../../entity/anexo.model';\nimport { Recurso } from './../../../entity/Recurso.model';\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { SelectItem } from 'primeng/primeng';\nimport { TelefoneTipo, EnderecoTipo } from \"../../../entity/enumeraveis\";\nimport { BaseStepComponent } from 'app/base';\n\n@Component({\n selector: 'gerenciamento-capacitadora-etapa2',\n templateUrl: './gerenciamento-capacitadora-etapa2.component.html',\n})\nexport class CrudGerenciamentoCapacitadoraEtapa2Component extends BaseStepComponent {\n @Input() classificacaoOptions: SelectItem[] = [];\n @Input() ufOptions: any[] = [];\n @Input() codigo: string;\n @Input() dataCadastro: Date;\n @Input() dataEnvio: Date;\n @Input() listaTipoLogradouro: SelectItem[];\n @Input() listaCidade: SelectItem[];\n @Input() controladorFilial: boolean;\n telefoneTipo = TelefoneTipo;\n enderecoTipo = EnderecoTipo;\n @Input() listaResponsaveis: any[] = [];\n @Input() listaEndereco: any[] = [];\n @Input() listaEmail: any[] = [];\n @Input() listaTelefone: any[] = [];\n @Input() listaResumo: any[] = [];\n @Input() listaRelatores: any[];\n @Input() uploadedFiles: any[];\n @Input() storagedListFiles: any[];\n @Output() uploadedFilesChange = new EventEmitter();\n @Output() controladorFilialChange = new EventEmitter();\n uploadedFilesTemp: any[] = [];\n\n @Input() justificativa: string;\n @Input() listaAnexoRecurso: Anexo[] = [];\n @Input() recurso: RecursoFiltro;\n\n @Input() uploadedFilesJustificativa: any[] = [];\n @Output() uploadedFilesJusChange = new EventEmitter();\n uploadedFilesJusTemp: any[] = [];\n @Input() id: number;\n @Input() cnpj: string;\n recurso_capacitadora: RecursoCapacitadora[] = [];\n\n init() {\n if (this.uploadedFiles.length > 0) {\n this.uploadedFilesTemp = [];\n this.uploadedFiles.forEach(i => {\n i.show = true;\n this.uploadedFilesTemp.push(i);\n });\n this.uploadedFiles = [];\n this.uploadedFiles = this.uploadedFilesTemp;\n }\n\n this.uploadedFilesChange.emit(this.uploadedFiles);\n this.uploadedFilesJusChange.emit(this.uploadedFilesJustificativa);\n this.controladorFilialChange.emit(this.controladorFilial);\n if (this.id !== undefined) {\n this.service.Obter('capacitadora/recursoList', this.id).subscribe(item => {\n this.recurso_capacitadora = item;\n });\n this.recurso.IdModel = this.id;\n }\n }\n\n selecionaArquivo(event) {\n\n for (const file of event.files) {\n if (file.name.match(/.pdf/) || file.name.match(/.jpg/) || file.name.match(/.png/)) {\n this.IncluirArquivo(file, this.uploadedFilesJustificativa, this.uploadedFilesJusChange)\n }\n }\n\n if (this.uploadedFilesJustificativa.length) {\n this.uploadedFilesJusTemp = this.uploadedFilesJustificativa;\n }\n }\n\n removeElementList(value: any) {\n this.uploadedFilesJustificativa.forEach((item, index) => {\n if (item.nome_arquivo === value.file.name && item.id < 1) {\n super.removeFromList(this.uploadedFilesJustificativa, this.uploadedFilesJusChange, index, 'anexos');\n }\n });\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-capacitadora/crud/etapas/gerenciamento-capacitadora-etapa2.component.ts","module.exports = \"\\n \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n\\n \\n \\n
\\n \\n \\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-capacitadora/crud/gerenciamento-capacitadora-crud.component.html\n// module id = ./src/app/gerenciamento-capacitadora/crud/gerenciamento-capacitadora-crud.component.html\n// module chunks = main","import { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Anexo } from './../../entity/anexo.model';\nimport { Component, EventEmitter, Output } from '@angular/core';\nimport { Validators } from '@angular/forms';\nimport { SelectItem } from 'primeng/primeng';\nimport { Capacitadora } from '../../entity/capacitadora.model';\nimport { Responsavel } from '../../entity/responsavel.model';\nimport { AnexoCapacitadora } from '../../entity/anexo-capacitadora.model';\nimport { EnderecoCapacitadora } from '../../entity/endereco-capacitadora.model';\nimport { HomologacaoCapacitadora } from '../../entity/homologacao-capacitadora.model';\nimport { BaseCrudComponent } from '../../base/base-crud.component';\nimport { requiredMaxLength, comparerStringRepeated, ValidCpfORCnpj } from 'app/util/custom.validators';\nimport { CapacitadoraResponsavel } from '../../entity/capacitadora-responsavel.model';\nimport { EnderecoTipo, TelefoneTipo } from '../../entity/enumeraveis';\n\n@Component({\n // tslint:disable-next-line: component-selector\n selector: 'gerenciamento-capacitadora-crud',\n templateUrl: 'gerenciamento-capacitadora-crud.component.html'\n})\n\nexport class CrudGerenciamentoCapacitadoraComponent extends BaseCrudComponent {\n controllerName = 'capacitadora';\n classificacaoOptions: SelectItem[] = [];\n ufOptions: SelectItem[] = [];\n codigoCapacitadora: string;\n dataCadastro: Date;\n dataEnvio: Date;\n listaTelefone: any[] = [];\n\n listaResponsaveis: any[] = [];\n listaEmail: any[] = [];\n\n listaTipoTelefone: any[] = [];\n listaEndereco: any[] = [];\n\n listaTipoEndereco: SelectItem[] = [];\n listaTipoLogradouro: SelectItem[] = [];\n listaCidade: SelectItem[] = [];\n listaResumo: any[] = [];\n listaRelatores: SelectItem[] = [];\n uploadedFiles: any[] = [];\n storagedListFiles: any[] = [];\n isValidCidade: boolean;\n\n capacitadora: Capacitadora = new Capacitadora;\n anexo_capacitadora: AnexoCapacitadora = new AnexoCapacitadora;\n endereco_capacitadora: EnderecoCapacitadora = new EnderecoCapacitadora;\n responsavel: Responsavel = new Responsavel;\n homologacao_capacitadora: HomologacaoCapacitadora = new HomologacaoCapacitadora;\n\n validateForm: any = false;\n isValid = false;\n stepObject: any;\n cnpj: any;\n isBuscou: boolean;\n controladorFilial: boolean;\n controladorRegistro: boolean;\n isValidCidaden = true;\n\n disableButton = true;\n\n justificativa: string;\n listaAnexoRecurso: Anexo[] = [];\n recurso: RecursoFiltro = new RecursoFiltro();\n\n\n @Output() listaEnderecoChange = new EventEmitter();\n\n cadastro = this.formBuilder.group({\n capacitadora: this.formBuilder.group({\n id: [null],\n cnpj: [null, [Validators.required, ValidCpfORCnpj]],\n nome: [null, [Validators.required, requiredMaxLength(100, true)]],\n id_classificacao: [null, Validators.required],\n url: [null, Validators.required],\n observacao: [null, [Validators.maxLength(4000)]],\n id_situacao: [16],\n data_cadastro: [null],\n data_envio: [null],\n codigo: [null]\n }),\n // recurso: this.formBuilder.group({\n // justificativa: [null],\n // }),\n endereco_capacitadora: this.formBuilder.group({\n data_inclusao: [null],\n tipo_endereco: [null, Validators.required],\n numero: [null, [Validators.required, Validators.min(1), requiredMaxLength(10, true)]],\n bairro: [null, [Validators.required, requiredMaxLength(100, true)]],\n num_cep: [null, [Validators.required, Validators.min(8), comparerStringRepeated]],\n logradouro: [null, Validators.required],\n complemento: [null],\n caixa_postal: [null],\n endereco_postal: [null],\n id_tipo_logradouro: [null, Validators.required],\n id_uf: [null, Validators.required],\n id_cidade: [null, [Validators.required]],\n id_capacitadora: [null],\n flg_principal: [0]\n }),\n emails: this.formBuilder.group({\n e_mail: [null, [Validators.required, Validators.email, requiredMaxLength(100, true)]],\n flg_principal: [null]\n }),\n responsavel: this.formBuilder.group({\n cpf: [null, [Validators.required, ValidCpfORCnpj]],\n nome: [null, [Validators.required, Validators.maxLength(100)]],\n telefone: [null, Validators.required],\n email: [null, [Validators.required, Validators.email, requiredMaxLength(100, true)]],\n }),\n telefones: this.formBuilder.group({\n num_telefone: [null, [Validators.required]],\n tipo_telefone: [null, Validators.required],\n flg_principal: [null],\n }),\n anexo_capacitadora: this.formBuilder.group({\n id: [null]\n }),\n termo_aceite: this.formBuilder.group({\n aceite: [false, [Validators.required]]\n }),\n });\n\n setStepObject(obj: any) {\n this.stepObject = obj;\n }\n init() {\n\n if (this.acao !== 'cadastrar') {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n }\n\n this.service.ListarTodos('cidade').subscribe(data => {\n this.listaCidade = data;\n })\n this.service.ListarTodos('combo/classificacao').subscribe(\n data => this.classificacaoOptions = data\n );\n this.service.ListarTodos('uf').subscribe(\n data => this.ufOptions = data\n );\n this.service.ListarTodos('combo/tipo_logradouro').subscribe(\n data => this.listaTipoLogradouro = data\n );\n this.loadListAsEnum(this.listaTipoEndereco, EnderecoTipo);\n this.loadListAsEnum(this.listaTipoTelefone, TelefoneTipo);\n\n super.afterLoad();\n super.init();\n\n this.carregarEndereco();\n\n this.cadastro.get('endereco_capacitadora.id_uf').valueChanges.subscribe(x => {\n if (x != null) {\n this.service.ListarTodos('cidade', { id_estado: x }).subscribe(data => {\n this.listaCidade = data;\n })\n }\n });\n }\n carregarEndereco() {\n this.cadastro.get('endereco_capacitadora.num_cep').valueChanges.subscribe(x => {\n const cep = this.limpaCaracterEspecial(x);\n // tslint:disable-next-line: triple-equals\n if (cep.length == 8) {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.ObterCep('cep/buscaCep', cep).subscribe(endereco => {\n if (endereco != null) {\n this.cadastro.get('endereco_capacitadora.id_uf').setValue(endereco.id_uf);\n this.cadastro.get('endereco_capacitadora.logradouro').setValue(endereco.logradouro);\n this.cadastro.get('endereco_capacitadora.complemento').setValue(endereco.complemento);\n this.cadastro.get('endereco_capacitadora.bairro').setValue(endereco.bairro);\n this.cadastro.get('endereco_capacitadora.id_cidade').setValue(endereco.id_cidade);\n } else {\n this.cadastro.get('endereco_capacitadora.id_uf').setValue(null);\n this.cadastro.get('endereco_capacitadora.logradouro').setValue(null);\n this.cadastro.get('endereco_capacitadora.complemento').setValue(null);\n this.cadastro.get('endereco_capacitadora.bairro').setValue(null);\n this.cadastro.get('endereco_capacitadora.id_cidade').setValue(null);\n this.listaCidade = [];\n this.showMsgWarn(`CEP não cadastrado na Base de dados dos Correios.`);\n }\n this.observableUtilPanelDoc.setBlockedPanel(false);\n\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`${err._body}`)\n });\n }\n });\n }\n\n afterLoad() {\n if (this.acao !== 'cadastrar') {\n // preenche form\n if (this.obj.anexo_capacitadora != null) {\n this.obj.anexo_capacitadora.forEach(x => {\n x.show = true;\n this.uploadedFiles.push(x);\n });\n this.codigoCapacitadora = this.obj.codigo;\n this.dataCadastro = this.obj.data_cadastro;\n this.dataEnvio = this.obj.data_envio;\n }\n this.cadastro.get('capacitadora').patchValue(this.obj);\n this.cadastro.get('capacitadora.data_cadastro').patchValue(this.obj.data_cadastro);\n this.cadastro.get('capacitadora.data_envio').patchValue(this.obj.data_envio);\n this.cadastro.get('termo_aceite.aceite').patchValue(this.obj.aceite);\n this.listaEmail = this.obj.email_capacitadora;\n this.listaEndereco = this.obj.endereco_capacitadora.map(item => {\n if (item.flg_principal === true) {\n this.controladorFilial = true;\n }\n if (item.cidade != null) {\n item.id_uf = item.cidade.id_uf;\n }\n return item;\n });\n this.listaTelefone = this.obj.telefone_capacitadora;\n this.listaResponsaveis = this.obj.capacitadora_responsavel.map(item => {\n return item.responsavel;\n });\n\n\n this.disableButton = false;\n\n // Empresa\n this.cadastro.get('capacitadora.nome').enable();\n this.cadastro.get('capacitadora.cnpj').disable();\n this.cadastro.get('capacitadora.id_classificacao').enable();\n this.cadastro.get('capacitadora.url').enable();\n this.cadastro.get('capacitadora.observacao').enable();\n\n // Endereço\n this.cadastro.get('endereco_capacitadora.num_cep').enable();\n this.cadastro.get('endereco_capacitadora.tipo_endereco').enable();\n this.cadastro.get('endereco_capacitadora.id_tipo_logradouro').enable();\n this.cadastro.get('endereco_capacitadora.logradouro').enable();\n this.cadastro.get('endereco_capacitadora.numero').enable();\n this.cadastro.get('endereco_capacitadora.complemento').enable();\n this.cadastro.get('endereco_capacitadora.bairro').enable();\n this.cadastro.get('endereco_capacitadora.id_uf').enable();\n this.cadastro.get('endereco_capacitadora.id_cidade').enable();\n this.cadastro.get('endereco_capacitadora.caixa_postal').enable();\n this.cadastro.get('endereco_capacitadora.flg_principal').enable();\n\n // Telefone\n this.cadastro.get('telefones.tipo_telefone').enable();\n this.cadastro.get('telefones.num_telefone').enable();\n\n // Email\n this.cadastro.get('emails.e_mail').enable();\n\n // Responsáveis\n this.cadastro.get('responsavel.cpf').enable();\n this.cadastro.get('responsavel.nome').enable();\n this.cadastro.get('responsavel.telefone').enable();\n this.cadastro.get('responsavel.email').enable();\n\n // Termo de Aceite\n this.cadastro.get('termo_aceite.aceite').enable();\n\n this.obj.homologacao_capacitadora.map(item => {\n this.service.ListarRelatores('listaRelatoresHomologacao', { query: item.id }).subscribe(\n data => {\n this.listaRelatores = data;\n }\n );\n this.service.ListarTodos('resumoHomologacao', { query: item.id }).subscribe(\n data => {\n this.listaResumo = data;\n this.observableUtilPanelDoc.setBlockedPanel(false);\n }\n );\n });\n }\n\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.cnpj = this.cadastro.get('capacitadora.cnpj').value\n }\n finalizar() {\n const listaLink = location.href.split('/')\n const caminho = listaLink[6];\n\n this.capacitadora = this.cadastro.get('capacitadora').value;\n this.capacitadora.id = this.cadastro.get('capacitadora.id').value;\n this.capacitadora.nome = this.cadastro.get('capacitadora.nome').value;\n this.capacitadora.id_classificacao = this.cadastro.get('capacitadora.id_classificacao').value;\n this.capacitadora.homologacao_capacitadora = [];\n this.capacitadora.cnpj = this.limpaCaracterEspecial(this.cadastro.get('capacitadora.cnpj').value);\n\n this.capacitadora.endereco_capacitadora = [];\n this.capacitadora.endereco_capacitadora = this.listaEndereco.map(item => {\n item.num_cep = this.limpaCaracterEspecial(item.num_cep);\n\n // tslint:disable-next-line: triple-equals\n if (item.flg_principal == undefined) {\n // tslint:disable-next-line: triple-equals\n this.isBuscou == true ? item.flg_principal = false : item.flg_principal = true;\n }\n // tslint:disable-next-line: triple-equals\n if (item.data_inclusao == undefined) {\n item.data_inclusao = new Date();\n }\n item.cidade = null;\n return item;\n });\n this.capacitadora.email_capacitadora = [];\n this.capacitadora.email_capacitadora = this.listaEmail.map(item => {\n // tslint:disable-next-line: triple-equals\n if (item.flg_principal == undefined) {\n // tslint:disable-next-line: triple-equals\n this.isBuscou == true ? item.flg_principal = false : item.flg_principal = true;\n }\n return item;\n });\n this.capacitadora.telefone_capacitadora = [];\n this.capacitadora.telefone_capacitadora = this.listaTelefone.map(item => {\n // tslint:disable-next-line: triple-equals\n if (item.flg_principal == undefined) {\n // tslint:disable-next-line: triple-equals\n this.isBuscou == true ? item.flg_principal = false : item.flg_principal = true;\n }\n return item;\n });\n\n this.capacitadora.capacitadora_responsavel = this.listaResponsaveis.map(item => {\n const capacitadora_responsavel: CapacitadoraResponsavel = new CapacitadoraResponsavel;\n item.telefone = this.limpaCaracterEspecial(item.telefone);\n item.cpf = this.limpaCaracterEspecial(item.cpf);\n item.data_cadastro = new Date();\n item.num_telefone = this.limpaCaracterEspecial(item.num_telefone);\n capacitadora_responsavel.responsavel = item;\n capacitadora_responsavel.id_capacitadora = this.capacitadora.id;\n return capacitadora_responsavel;\n });\n this.capacitadora.anexo_capacitadora = [];\n this.uploadedFiles.forEach(item => {\n this.capacitadora.anexo_capacitadora.push(item);\n });\n this.capacitadora.aceite = this.cadastro.get('termo_aceite.aceite').value;\n // tslint:disable-next-line: radix\n this.capacitadora.id_lotacao = parseInt(localStorage.getItem('lotacao'));\n // Adicionado data atual na data_inclusao/data_cadastro\n // tslint:disable-next-line: triple-equals\n if (this.acao == 'alterar-responsavel') {\n if (this.listaResponsaveis.length <= 0) {\n this.showMsgError(`É necessário adicionar ao menos um responsavel.`);\n } else {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Atualizar(this.controllerName, this.capacitadora).subscribe(() => {\n if (caminho === 'alterar-responsavel-homologacao') {\n this.router.navigate(['/capacitadora/homologacao-capacitadora'], { relativeTo: this.activatedRoute });\n } else {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n }\n this.observableUtilPanelDoc.setBlockedPanel(false);\n super.showMsg('success', 'Mensagem de Sucesso', 'Responsável atualizado com sucesso.');\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`${err._body}`)\n });\n }\n return;\n }\n this.confirmacao.confirm({\n header: 'Mensagem de Confirmação',\n // tslint:disable-next-line: max-line-length\n message: `Atenção! Ao confirmar esta operação, a Solicitação de Credenciamento será ${this.acao === 'cadastrar' ? 'salva' : 'atualizada'} na base de dados.\n Deseja realmente confirmar esta operação?`,\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n if (this.acao === 'cadastrar') {\n this.service.Adicionar(this.controllerName, this.capacitadora).subscribe(() => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.router.navigate(['../'], { relativeTo: this.activatedRoute });\n this.showMsgSucess('Registro salvo com sucesso.');\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`${err._body}`);\n });\n } else {\n this.service.Atualizar(this.controllerName, this.capacitadora).subscribe(() => {\n this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgSucess('Registro atualizado com sucesso.');\n },\n err => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.showMsgError(`${err._body}`);\n });\n }\n }\n });\n }\n\n buscaRegistro() {\n\n this.cnpj = this.limpaCaracterEspecial(this.cadastro.get('capacitadora.cnpj').value);\n this.cadastro.get('capacitadora.nome').reset();\n if (this.cadastro.get('capacitadora.cnpj').valid) {\n this.isValidCidade = true;\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Obter('capacitadora/pesquisarPorCnpj', this.cnpj).subscribe(data => {\n this.cadastro.get('capacitadora.nome').setValue(data.razao_social);\n this.listaTelefone = data.telefone.map(item => {\n item.num_telefone = item.num_ddd + item.num_telefone\n return item;\n });\n this.listaEmail = data.email;\n this.listaEndereco = data.endereco.map(item => {\n if (item.cidade != null) {\n item.id_uf = item.cidade.id_uf;\n }\n return item;\n });\n\n this.disableButton = false;\n\n // Empresa\n this.cadastro.get('capacitadora.nome').disable();\n this.cadastro.get('capacitadora.cnpj').disable();\n this.cadastro.get('capacitadora.id_classificacao').enable();\n this.cadastro.get('capacitadora.url').enable();\n this.cadastro.get('capacitadora.observacao').enable();\n\n // Endereço\n this.cadastro.get('endereco_capacitadora.num_cep').enable();\n this.cadastro.get('endereco_capacitadora.tipo_endereco').enable();\n this.cadastro.get('endereco_capacitadora.id_tipo_logradouro').enable();\n this.cadastro.get('endereco_capacitadora.logradouro').enable();\n this.cadastro.get('endereco_capacitadora.numero').enable();\n this.cadastro.get('endereco_capacitadora.complemento').enable();\n this.cadastro.get('endereco_capacitadora.bairro').enable();\n this.cadastro.get('endereco_capacitadora.id_uf').enable();\n this.cadastro.get('endereco_capacitadora.id_cidade').enable();\n this.cadastro.get('endereco_capacitadora.caixa_postal').enable();\n this.cadastro.get('endereco_capacitadora.flg_principal').enable();\n\n // Telefone\n this.cadastro.get('telefones.tipo_telefone').enable();\n this.cadastro.get('telefones.num_telefone').enable();\n\n // Email\n this.cadastro.get('emails.e_mail').enable();\n\n // Responsáveis\n this.cadastro.get('responsavel.cpf').enable();\n this.cadastro.get('responsavel.nome').enable();\n this.cadastro.get('responsavel.telefone').enable();\n this.cadastro.get('responsavel.email').enable();\n\n // Termo de Aceite\n this.cadastro.get('termo_aceite.aceite').enable();\n\n this.isBuscou = true;\n this.controladorFilial = true;\n this.controladorRegistro = true;\n\n this.observableUtilPanelDoc.setBlockedPanel(false);\n },\n err => {\n this.isBuscou = false;\n if (err._body === 'CNPJ já cadastrado.') {\n this.cadastro.get('capacitadora.cnpj').setValue('');\n this.cadastro.markAsPristine();\n }\n if (err._body === 'CNPJ não encontrado na base de dados do registro. Por favor, preencher o formulário.') {\n\n // Habilita botões de adicionar\n this.disableButton = false;\n\n // Empresa\n this.cadastro.get('capacitadora.nome').enable();\n this.cadastro.get('capacitadora.id_classificacao').enable();\n this.cadastro.get('capacitadora.url').enable();\n this.cadastro.get('capacitadora.observacao').enable();\n\n // Endereço\n this.cadastro.get('endereco_capacitadora.num_cep').enable();\n this.cadastro.get('endereco_capacitadora.tipo_endereco').enable();\n this.cadastro.get('endereco_capacitadora.id_tipo_logradouro').enable();\n this.cadastro.get('endereco_capacitadora.logradouro').enable();\n this.cadastro.get('endereco_capacitadora.numero').enable();\n this.cadastro.get('endereco_capacitadora.complemento').enable();\n this.cadastro.get('endereco_capacitadora.bairro').enable();\n this.cadastro.get('endereco_capacitadora.id_uf').enable();\n this.cadastro.get('endereco_capacitadora.id_cidade').enable();\n this.cadastro.get('endereco_capacitadora.caixa_postal').enable();\n this.cadastro.get('endereco_capacitadora.flg_principal').enable();\n\n // Telefone\n this.cadastro.get('telefones.tipo_telefone').enable();\n this.cadastro.get('telefones.num_telefone').enable();\n\n // Email\n this.cadastro.get('emails.e_mail').enable();\n\n // Responsáveis\n this.cadastro.get('responsavel.cpf').enable();\n this.cadastro.get('responsavel.nome').enable();\n this.cadastro.get('responsavel.telefone').enable();\n this.cadastro.get('responsavel.email').enable();\n\n // Termo de Aceite\n this.cadastro.get('termo_aceite.aceite').enable();\n }\n super.showMsg('Busca', 'Mensagem de alerta', `${err._body}`)\n this.observableUtilPanelDoc.setBlockedPanel(false);\n })\n } else {\n super.showMsg('Busca', 'Mensagem de alerta', 'Digite um CNPJ válido');\n }\n }\n limparRegistro() {\n this.cadastro.get('capacitadora.cnpj').reset();\n this.cadastro.get('capacitadora.nome').reset();\n\n // Desabilita botões de adicionar\n this.disableButton = true;\n\n // Empresa\n this.cadastro.get('capacitadora.cnpj').enable();\n this.cadastro.get('capacitadora.nome').disable();\n this.cadastro.get('capacitadora.id_classificacao').disable();\n this.cadastro.get('capacitadora.url').disable();\n this.cadastro.get('capacitadora.observacao').disable();\n\n // Endereço\n this.cadastro.get('endereco_capacitadora.num_cep').disable();\n this.cadastro.get('endereco_capacitadora.tipo_endereco').disable();\n this.cadastro.get('endereco_capacitadora.id_tipo_logradouro').disable();\n this.cadastro.get('endereco_capacitadora.logradouro').disable();\n this.cadastro.get('endereco_capacitadora.numero').disable();\n this.cadastro.get('endereco_capacitadora.complemento').disable();\n this.cadastro.get('endereco_capacitadora.bairro').disable();\n this.cadastro.get('endereco_capacitadora.id_uf').disable();\n this.cadastro.get('endereco_capacitadora.id_cidade').disable();\n this.cadastro.get('endereco_capacitadora.caixa_postal').disable();\n this.cadastro.get('endereco_capacitadora.flg_principal').disable();\n\n // Telefone\n this.cadastro.get('telefones.tipo_telefone').disable();\n this.cadastro.get('telefones.num_telefone').disable();\n\n // Email\n this.cadastro.get('emails.e_mail').disable();\n\n // Responsáveis\n this.cadastro.get('responsavel.cpf').disable();\n this.cadastro.get('responsavel.nome').disable();\n this.cadastro.get('responsavel.telefone').disable();\n this.cadastro.get('responsavel.email').disable();\n\n // Termo de Aceite\n this.cadastro.get('termo_aceite.aceite').disable();\n\n this.listaTelefone = [];\n this.listaEmail = [];\n this.listaEndereco = [];\n this.isBuscou = false;\n this.controladorFilial = false;\n this.controladorRegistro = false;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-capacitadora/crud/gerenciamento-capacitadora-crud.component.ts","module.exports = \"\\n \\n \\n \\n \\n \\n\\n\\n \\n \\n
\\n \\n \\n {{obj['codigo'] }}\\n \\n \\n \\n \\n {{obj['cnpj'] | cnpjMask }}\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n\\n\\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-capacitadora/gerenciamento-capacitadora.component.html\n// module id = ./src/app/gerenciamento-capacitadora/gerenciamento-capacitadora.component.html\n// module chunks = main","import { Component } from '@angular/core';\nimport { BaseListComponent } from \"../base/base-list.component\";\n\n@Component({\n selector: 'gerenciamento-capacitadora',\n templateUrl: './gerenciamento-capacitadora.component.html',\n})\nexport class GerenciamentoCapacitadoraComponent extends BaseListComponent {\n controllerName = 'capacitadora';\n filtro = this.formBuilder.group({\n query: [null]\n });\n\n init() {\n this.listagem.pDatatableComponent.sortOrder = 2;\n this.carregarEstado();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-capacitadora/gerenciamento-capacitadora.component.ts","export * from './gerenciamento-capacitadora.component';\nexport * from './crud/gerenciamento-capacitadora-crud.component';\nexport * from './crud/etapas/gerenciamento-capacitadora-etapa1.component';\nexport * from './crud/etapas/gerenciamento-capacitadora-etapa2.component';\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-capacitadora/index.ts","module.exports = \" \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n\\n \\n \\n
\\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-comissao/crud/comissao-crud.component.html\n// module id = ./src/app/gerenciamento-comissao/crud/comissao-crud.component.html\n// module chunks = main","import { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Component } from '@angular/core';\nimport { BaseCrudComponent } from '../../base';\nimport { GerenciamentoComissao } from '../../entity/gerenciamento-comissao.model';\nimport { Validators } from '@angular/forms';\nimport { SelectItem } from 'primeng/primeng';\nimport { dataFimLimite } from 'app/util/custom.validators';\n\n@Component({\n // tslint:disable-next-line: component-selector\n selector: 'gerenciamento-comissao-crud',\n templateUrl: './comissao-crud.component.html'\n})\nexport class GerenciamentoComissaoCrudComponent extends BaseCrudComponent {\n controllerName = 'gerenciamento-comissao'\n gerenciamentoComissao: GerenciamentoComissao;\n controladorGerenciamento = false;\n cadastro = this.formBuilder.group({\n id_instituicao: [null, [Validators.required]],\n id_capacitadora: [null],\n radio_instituicao_capacitadora: [1],\n carga_horaria: [null, [Validators.required, Validators.min(1)]],\n id: [null],\n id_natureza: [null, [Validators.required]],\n observacao: [null, [Validators.maxLength(4000)]],\n titulo: [null, [Validators.required, Validators.maxLength(100)]],\n cpf: [null],\n data_fim: [null, [Validators.required]],\n codigo: [null],\n id_situacao: [null],\n anexo_gerenciar_atividade: this.formBuilder.group({\n id: [null]\n }),\n });\n\n recursoFiltro: RecursoFiltro = new RecursoFiltro();\n\n listaCapacitadora: any[] = [];\n listaAnexos: any[] = [];\n listaDadosInstituicao: SelectItem[] = [];\n listaTipoAtividade: SelectItem[] = [];\n listaPntCFC: any[];\n listaPntCRC: any[];\n listaResumo: any[];\n listaRelatores: SelectItem[] = [];\n stepObject: any;\n mostrarCodigo: boolean = false;\n\n validateForm= false;\n\n setStepObject(obj: any) {\n this.stepObject = obj;\n }\n init() {\n this.service.ListarTodos('instituicao').subscribe(data => {\n this.listaDadosInstituicao = data;\n });\n this.service.ListarTodosCapacitadoraCombo().subscribe(data => {\n this.listaCapacitadora = data;\n });\n this.cadastro.get('id_natureza').disable();\n if (this.acao == 'editar') {\n this.cadastro.get('data_fim').disable();\n }\n }\n\n afterInit() {\n this.cadastro.get('data_fim').valueChanges.subscribe(x => {\n\n this.verificarPrestacaoForaDoPrazo(x, this.cadastro);\n \n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.ListarTodos('natureza', { query: 'Comissão', data: this.cadastro.get('data_fim').value }).subscribe(data => {\n this.listaTipoAtividade = data;\n this.cadastro.get('id_natureza').enable();\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n });\n this.cadastro.get('radio_instituicao_capacitadora').valueChanges.subscribe(valor => {\n if (valor == 1) {\n this.cadastro.get('id_instituicao').setValidators([Validators.required]);\n this.cadastro.get('id_instituicao').updateValueAndValidity();\n this.cadastro.get('id_capacitadora').clearValidators();\n this.cadastro.get('id_capacitadora').setValue(null);\n this.cadastro.get('id_capacitadora').updateValueAndValidity();\n } else {\n this.cadastro.get('id_capacitadora').setValidators([Validators.required]);\n this.cadastro.get('id_capacitadora').updateValueAndValidity();\n this.cadastro.get('id_instituicao').clearValidators();\n this.cadastro.get('id_instituicao').setValue(null)\n this.cadastro.get('id_instituicao').updateValueAndValidity();\n }\n })\n }\n\n afterLoad() {\n this.mostrarCodigo = true;\n this.gerenciamentoComissao = this.obj;\n if (this.gerenciamentoComissao.id_instituicao != null) {\n this.cadastro.get('radio_instituicao_capacitadora').setValue(1);\n } else {\n this.cadastro.get('radio_instituicao_capacitadora').setValue(2);\n }\n if (this.obj.anexo_gerenciar_atividade != null) {\n this.obj.anexo_gerenciar_atividade.forEach(x => {\n x.show = true;\n this.listaAnexos.push(x);\n });\n }\n this.obj.homologacao_comissao.map(item => {\n this.service.ListarRelatores('listaRelatoresHomologacao', { query: item.id }).subscribe(\n relatores => {\n this.listaRelatores = relatores;\n }\n );\n this.service.ListarTodos('resumoHomologacao', { query: item.id }).subscribe(\n data => {\n this.listaResumo = data;\n }\n );\n this.service.ListarPontuacaoHomologacao('homologacao-comissao', item.id, 'Comissão CFC').subscribe(retorno => {\n this.listaPntCFC = retorno;\n });\n this.service.ListarPontuacaoHomologacao('homologacao-comissao', item.id, 'Comissão CRC').subscribe(retorno => {\n this.listaPntCRC = retorno;\n });\n });\n }\n carregarObj(event: any) {\n this.gerenciamentoComissao = new GerenciamentoComissao(this.cadastro.value, this.listaAnexos);\n }\n finalizar(event: any) {\n this.gerenciamentoComissao.id_lotacao = parseInt(localStorage.getItem('lotacao'));\n if (this.obj != null) {\n this.gerenciamentoComissao.data_cadastro = this.obj.data_cadastro;\n }\n this.doFinalAction(this.gerenciamentoComissao);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-comissao/crud/comissao-crud.component.ts","module.exports = \"\\n\\n\\n \\n \\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-comissao/crud/etapa1/etapa1.component.html\n// module id = ./src/app/gerenciamento-comissao/crud/etapa1/etapa1.component.html\n// module chunks = main","import { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { BaseStepComponent } from '../../../base';\nimport { SelectItem } from 'primeng/primeng';\n\n@Component({\n selector: 'gerenciamanento-comissao-etapa1',\n templateUrl: './etapa1.component.html'\n})\nexport class GerenciamentoComissaoEtapa1Component extends BaseStepComponent {\n @Input(\"Anexos\") listaAnexos: any[];\n @Input() listaDadosInstituicao: SelectItem[];\n @Input() listaTipoAtividade: SelectItem[] = [];\n @Input() listaResumo: any[];\n @Input() listaRelatores: any[];\n @Input() validateForm: any = false;\n @Input() mostrarCodigo: boolean;\n @Output() listaAnexoChange = new EventEmitter();\n @Output() carregarObj = new EventEmitter();\n @Output() stepObject: EventEmitter = new EventEmitter(true);\n @Output() validateFormChange = new EventEmitter();\n @Input() cpf: string;\n @Input() listaCapacitadora: any[] = [];\n @Input() justificativa: any;\n @Input() recursoFiltro: RecursoFiltro;\n userInteracted = false;\n\n init() {\n this.listaAnexoChange.emit(this.listaAnexos);\n this.stepObject.emit(this);\n this.emitValidation(true);\n if (this.listaDadosInstituicao == undefined) {\n this.service.ListarTodos('instituicao').subscribe(data => {\n this.listaDadosInstituicao = data;\n });\n }\n if (this.listaTipoAtividade == undefined) {\n this.service.ListarTodos('natureza', { query: \"Comissão\" }).subscribe(data => {\n this.listaTipoAtividade = data;\n });\n }\n }\n emitValidation(isInit = false) {\n if (isInit) {\n this.validateForm = [];\n } else {\n let countListaArquivos = this.listaAnexos.length;\n if (this.cadastro.valid && countListaArquivos > 0) {\n this.isValid = true;\n this.carregarObj.emit(this.cadastro);\n }\n else {\n this.isValid = false;\n this.validateForm = [this.cadastro];\n if (countListaArquivos == 0) {\n this.showMsgWarn(`O anexo de arquivos é obrigatório. Todos os arquivos deverão ser anexados de uma só vez.
`);\n }\n else if (!this.cadastro.valid) {\n this.cadastro.markAsTouched();\n }\n }\n }\n setTimeout(() => this.validateFormChange.emit(this.validateForm), 0);\n this.isValidChange.emit(this.isValid);\n }\n\n onCalendarInteraction() {\n this.userInteracted = true;\n }\n onDataFimChange(event: any) {\n if (this.userInteracted) {\n this.cadastro.get('id_natureza').setValue(null);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-comissao/crud/etapa1/etapa1.component.ts","module.exports = \"\\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\\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// WEBPACK FOOTER\n// ./src/app/gerenciamento-comissao/crud/etapa2/etapa2.component.html\n// module id = ./src/app/gerenciamento-comissao/crud/etapa2/etapa2.component.html\n// module chunks = main","import { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Component, Input } from '@angular/core';\nimport { BaseStepComponent } from '../../../base';\nimport { SelectItem } from 'primeng/primeng';\nimport { Recurso } from 'app/entity/Recurso.model';\n\n@Component({\n selector: 'gerenciamanento-comissao-etapa2',\n templateUrl: './etapa2.component.html'\n})\nexport class GerenciamentoComissaoEtapa2Component extends BaseStepComponent {\n @Input() gerenciamentoComissao: any;\n @Input() acao: string;\n @Input() listaResumo: any[];\n @Input() listaRelatores: any[];\n @Input() listaDadosInstituicao: SelectItem[];\n @Input() listaTipoAtividade: SelectItem[] = [];\n @Input() listaPntCFC: any[] = [];\n @Input() listaPntCRC: any[] = [];\n @Input() etapaHomologacao: number = 3;\n @Input() controladorGerenciamento = true;\n @Input() mostrarCodigo: boolean;\n @Input() listaCapacitadora: any[] = [];\n @Input() recurso: Recurso[] = [];\n @Input() id: number;\n @Input() recursoFiltro: RecursoFiltro\n @Input() decisaoComissaoCrc: any;\n @Input() habilitaCamposPontuacao: boolean;\n @Input() disabledCheckbox: boolean;\n @Input() etapa: number;\n @Input() isHomologacao: boolean;\n\n init() {\n this.service.ListarTodos('natureza', { query: 'Comissão' })\n .subscribe(data => {\n this.listaTipoAtividade = data;\n }, err => {\n console.error(\"Erro ao obter natureza\", err);\n });\n if (this.listaDadosInstituicao == undefined) {\n this.service.ListarTodos('instituicao').subscribe(data => {\n this.listaDadosInstituicao = data;\n });\n }\n if (this.listaTipoAtividade == undefined) {\n this.service.ListarTodos('natureza', { query: 'Comissão' })\n .subscribe(data => {\n this.listaTipoAtividade = data;\n }, err => {\n console.error(\"Erro ao obter natureza\", err);\n });\n }\n else if(this.listaTipoAtividade.length > 0){\n this.service.ListarTodos('natureza', { query: 'Comissão' })\n .subscribe(data => {\n this.listaTipoAtividade = data;\n }, err => {\n console.error(\"Erro ao obter natureza\", err);\n });\n }\n if (this.id !== undefined) {\n this.service.Obter('gerenciamento-comissao/recursoList', this.id).subscribe(item => {\n this.recurso = item;\n });\n \n this.recursoFiltro.IdModel = this.id;\n }\n }\n afterLoad(){\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-comissao/crud/etapa2/etapa2.component.ts","module.exports = \"
\\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\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-comissao/gerenciamento-comissao.component.html\n// module id = ./src/app/gerenciamento-comissao/gerenciamento-comissao.component.html\n// module chunks = main","import { Component } from '@angular/core';\nimport { BaseListComponent } from '../base';\n\n@Component({\n selector: 'gerenciamento-comissao',\n templateUrl: './gerenciamento-comissao.component.html'\n})\nexport class GerenciamentoComissaoComponent extends BaseListComponent {\n\n controllerName = \"gerenciamento-comissao\";\n filtro = this.formBuilder.group({\n query: [null]\n });\n showNotificacao: boolean = false;\n\n init(){\n this.listagem.pDatatableComponent.sortOrder = 2;\n this.service.ObterTodos(`${this.controllerName}/obterSituacoesComissao`).subscribe(\n data => {\n if (data) {\n this.showNotificacao = true;\n }\n else {\n this.showNotificacao = false;\n }\n });\n\n this.carregarEstado();\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-comissao/gerenciamento-comissao.component.ts","export * from './gerenciamento-comissao.component'\nexport * from './crud/comissao-crud.component'\nexport * from './crud/etapa1/etapa1.component'\nexport * from './crud/etapa2/etapa2.component'\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-comissao/index.ts","module.exports = \"
\\n
\\n \\n \\n \\n \\n \\n
\\n \\n \\n\\n \\n \\n
\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-curso-exterior/crud/crud.component.html\n// module id = ./src/app/gerenciamento-curso-exterior/crud/crud.component.html\n// module chunks = main","import { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Component } from '@angular/core';\nimport { BaseCrudComponent } from '../../base';\nimport { Validators } from '@angular/forms';\nimport { GerenciamentoCursoExterior } from '../../entity/gerenciamento-curso-exterior.model';\nimport { dataFimLimite } from 'app/util/custom.validators';\nimport { SelectItem } from 'primeng/primeng';\n\n@Component({\n selector: 'gerenciamento-curso-exterior-crud',\n templateUrl: './crud.component.html'\n})\nexport class GerenciamentoCursoExteriorCrudComponent extends BaseCrudComponent {\n hoje: Date = new Date();\n controllerName = 'gerenciamentoCursoExterior';\n gerenciamentoCursoExterior: GerenciamentoCursoExterior;\n listaTipoAtividade: any[] = [];\n listaModalidade: any[] = [];\n listaAreaTematica: any[] = [];\n listaPais: any[] = [];\n cpf: string;\n listaAnexo: any[] = [];\n isValid: boolean = false;\n validateForm: any;\n stepObject: any;\n listaResumo: any[];\n listaRelatores: SelectItem[] = [];\n listaPntCFC: any[];\n listaPntCRC: any[];\n mostrarCodigo: boolean = false;\n controladorGerenciamento = false;\n recursoFiltro: RecursoFiltro = new RecursoFiltro();\n\n setStepObject(obj: any) {\n this.stepObject = obj;\n }\n init() {\n this.cadastro = this.formBuilder.group({\n instituicao: [null, [Validators.required, Validators.maxLength(100)]],\n id_natureza: [null, [Validators.required]],\n titulo: [null, [Validators.required, Validators.maxLength(100)]],\n data_inicio: [null, [Validators.required]],\n data_fim: [null, [Validators.required]],\n carga_horaria: [null, [Validators.required, Validators.min(0)]],\n id_modalidade: [null, [Validators.required]],\n id_area_tematica: [null, [Validators.required]],\n id_pais: [null, [Validators.required]],\n programacao: [null, [Validators.maxLength(4000)]],\n observacao: [null, [Validators.maxLength(4000)]],\n id_situacao: [2],\n codigo: [null],\n cpf: [null],\n id: [null]\n });\n this.service.ListarTodos('modalidade').subscribe(data => {\n this.listaModalidade = data;\n });\n this.service.ListarTodos('areaTematica').subscribe(data => {\n this.listaAreaTematica = data;\n });\n this.service.ListarTodos('pais').subscribe(data => {\n this.listaPais = data;\n });\n\n this.cadastro.get('id_natureza').disable();\n if (this.acao == 'editar') {\n this.cadastro.get('data_fim').disable();\n }\n }\n carregarObj(event: any) {\n this.gerenciamentoCursoExterior = new GerenciamentoCursoExterior(this.cadastro.value, this.listaAnexo);\n }\n\n afterInit() {\n this.cadastro.get('data_fim').valueChanges.subscribe(x => {\n\n this.verificarPrestacaoForaDoPrazo(x, this.cadastro);\n\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.ListarTodos('natureza', { query: \"Cursos no Exterior\", data: this.cadastro.get('data_fim').value }).subscribe(data => {\n this.listaTipoAtividade = data;\n this.cadastro.get('id_natureza').enable();\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n });\n }\n\n afterLoad() {\n this.mostrarCodigo = true;\n this.gerenciamentoCursoExterior = this.obj;\n if (this.obj.anexo_gerenciar_atividade != null) {\n this.obj.anexo_gerenciar_atividade.forEach(x => {\n x.show = true;\n this.listaAnexo.push(x);\n });\n }\n this.obj.homologacao_curso_exterior.map(item => {\n this.service.ListarRelatores('listaRelatoresHomologacao', { query: item.id }).subscribe(\n data => {\n this.listaRelatores = data;\n }\n );\n this.service.ListarTodos(\"resumoHomologacao\", { query: item.id }).subscribe(\n data => {\n this.listaResumo = data;\n }\n );\n this.service.ListarPontuacaoHomologacao(\"homologacao-curso-exterior\", item.id, \"Comissão CFC\").subscribe(retorno => {\n this.listaPntCFC = retorno;\n });\n this.service.ListarPontuacaoHomologacao(\"homologacao-curso-exterior\", item.id, \"Comissão CRC\").subscribe(retorno => {\n this.listaPntCRC = retorno;\n });\n });\n }\n\n finalizar(event: any) {\n this.gerenciamentoCursoExterior.id_lotacao = parseInt(localStorage.getItem('lotacao'));\n if (this.obj != null) {\n this.gerenciamentoCursoExterior.data_cadastro = this.obj.data_cadastro;\n }\n this.doFinalAction(this.gerenciamentoCursoExterior);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-curso-exterior/crud/crud.component.ts","module.exports = \"\\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-curso-exterior/crud/etapa1/etapa1.component.html\n// module id = ./src/app/gerenciamento-curso-exterior/crud/etapa1/etapa1.component.html\n// module chunks = main","import { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { BaseStepComponent } from '../../../base';\nimport { ValidarData, dataFimLimite } from 'app/util/custom.validators';\n\n@Component({\n // tslint:disable-next-line: component-selector\n selector: 'gerenciamanento-curso-exterior-etapa1',\n templateUrl: './etapa1.component.html'\n})\nexport class GerenciamentoCursoExteriorEtapa1Component extends BaseStepComponent {\n\n @Input() mostrarCodigo: boolean;\n @Input() listaTipoAtividade: any[] = [];\n @Input() listaResumo: any[] = [];\n @Input() listaRelatores: any[];\n @Input() listaModalidade: any[] = [];\n @Input() listaAreaTematica: any[] = [];\n @Input() listaPais: any[] = [];\n @Output() carregarObj = new EventEmitter
();\n @Input() listaAnexo: any[] = [];\n @Input() isValid = false;\n @Output() isValidChange: EventEmitter = new EventEmitter();\n @Output() stepObject: EventEmitter = new EventEmitter(true);\n @Input() validateForm: any = false;\n @Output() validateFormChange = new EventEmitter();\n @Input() cpf: string;\n @Input() recursoFiltro: RecursoFiltro;\n userInteracted = false;\n \n init() {\n this.stepObject.emit(this);\n this.emitValidation(true);\n }\n emitValidation(isInit = false) {\n if (isInit) {\n this.validateForm = [];\n } else {\n const inicio = new Date(this.cadastro.get('data_inicio').value);\n const fim = new Date(this.cadastro.get('data_fim').value);\n if (!ValidarData(inicio, fim)) {\n this.cadastro.get('data_fim').setErrors({ error: 'A data fim não pode ser menor que a data de início.' });\n super.showMsg('warn', 'Curso no Exterior', 'A data fim não pode ser menor que a data de início.');\n return;\n }\n else if (!dataFimLimite(fim)) {\n const exercicio: number = new Date().getFullYear();\n this.cadastro.get('data_fim').setErrors({ error: `A data fim não pode ser maior que o último dia do exercício vigente: 31/12/${exercicio}.` });\n super.showMsg('warn', 'Data Fim', `A data fim não pode ser maior que o último dia do exercício vigente: 31/12/${exercicio}.`);\n return;\n }\n const countListaArquivos = this.listaAnexo.length;\n if (this.cadastro.valid && countListaArquivos > 0) {\n this.isValid = true;\n this.carregarObj.emit(this.cadastro);\n } else {\n this.isValid = false;\n this.validateForm = [this.cadastro];\n if (countListaArquivos === 0) {\n // tslint:disable-next-line: max-line-length\n super.showMsg('warn', 'Mensagem de Aviso', `O anexo de arquivos é obrigatório. Todos os arquivos deverão ser anexados de uma só vez.
`);\n } else if (!this.cadastro.valid) {\n this.cadastro.markAsTouched();\n }\n }\n }\n setTimeout(() => this.validateFormChange.emit(this.validateForm), 0);\n this.isValidChange.emit(this.isValid);\n }\n\n onCalendarInteraction() {\n this.userInteracted = true;\n }\n onDataFimChange(event: any) {\n if (this.userInteracted) {\n this.cadastro.get('id_natureza').setValue(null);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-curso-exterior/crud/etapa1/etapa1.component.ts","module.exports = \"\\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 \\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\\n\\n \\n
\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-curso-exterior/crud/etapa2/etapa2.component.html\n// module id = ./src/app/gerenciamento-curso-exterior/crud/etapa2/etapa2.component.html\n// module chunks = main","import { RecursoFiltro } from './../../../entity/recurso-filtro.model';\nimport { Recurso } from './../../../entity/Recurso.model';\nimport { Component, OnInit, Input } from '@angular/core';\nimport { BaseStepComponent } from '../../../base';\n\n@Component({\n selector: 'gerenciamanento-curso-exterior-etapa2',\n templateUrl: './etapa2.component.html'\n})\nexport class GerenciamentoCursoExteriorEtapa2Component extends BaseStepComponent {\n @Input() gerenciamentoCursoExterior: any;\n @Input() acao: string;\n @Input() listaResumo: any[];\n @Input() listaRelatores: any[];\n @Input() listaTipoAtividade: any[] = [];\n @Input() listaModalidade: any[] = [];\n @Input() listaAreaTematica: any[] = [];\n @Input() listaPais: any[] = [];\n @Input() listaPntCFC: any[] = [];\n @Input() listaPntCRC: any[] = [];\n @Input() etapaHomologacao = 3;\n @Input() mostrarCodigo: boolean;\n @Input() controladorGerenciamento = true;\n @Input() recurso: Recurso[] = [];\n @Input() id: number;\n @Input() recursoFiltro: RecursoFiltro;\n @Input() decisaoComissaoCrc: any;\n @Input() habilitaCamposPontuacao: boolean;\n @Input() disabledCheckbox: boolean;\n @Input() etapa: number;\n @Input() isHomologacao: boolean;\n\n init() {\n if (this.listaModalidade.length == 0) {\n this.service.ListarTodos('modalidade').subscribe(data => {\n this.listaModalidade = data;\n });\n }\n if (this.listaAreaTematica.length == 0) {\n this.service.ListarTodos('areaTematica').subscribe(data => {\n this.listaAreaTematica = data;\n });\n }\n if (this.listaPais.length == 0) {\n this.service.ListarTodos('pais').subscribe(data => {\n this.listaPais = data;\n });\n }\n if (this.id !== undefined) {\n this.service.Obter('gerenciamentoCursoExterior/recursoList', this.id).subscribe(item => {\n this.recurso = item;\n });\n this.recursoFiltro.IdModel = this.id;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-curso-exterior/crud/etapa2/etapa2.component.ts","module.exports = \"\\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 \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-curso-exterior/gerenciamento-curso-exterior.component.html\n// module id = ./src/app/gerenciamento-curso-exterior/gerenciamento-curso-exterior.component.html\n// module chunks = main","import { Component } from '@angular/core';\nimport { BaseListComponent } from '../base';\n\n@Component({\n selector: 'gerenciamento-curso-exterior',\n templateUrl: './gerenciamento-curso-exterior.component.html'\n})\nexport class GerenciamentoCursoExteriorComponent extends BaseListComponent {\n controllerName = 'gerenciamentoCursoExterior'\n filtro = this.formBuilder.group({\n query: [null]\n });\n showNotificacao: boolean = false;\n\n init(){\n \n this.service.ObterTodos(`${this.controllerName}/obterSituacoesCursoExterior`).subscribe(\n data => {\n if (data) {\n this.showNotificacao = true;\n }\n else {\n this.showNotificacao = false;\n }\n });\n this.listagem.pDatatableComponent.sortOrder = 2;\n this.carregarEstado();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-curso-exterior/gerenciamento-curso-exterior.component.ts","export * from './gerenciamento-curso-exterior.component'\nexport * from './crud/crud.component'\nexport * from './crud/etapa1/etapa1.component'\nexport * from './crud/etapa2/etapa2.component'\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-curso-exterior/index.ts","module.exports = \"\\n\\n\\n\\n \\n \\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-curso/crud/etapas/gerenciamento-curso-etapa1.component.html\n// module id = ./src/app/gerenciamento-curso/crud/etapas/gerenciamento-curso-etapa1.component.html\n// module chunks = main","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { DatatableClickEvent } from '@basis/angular-components';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseStepComponent } from '../../../base/base-step.component';\nimport { isNullOrUndefined } from 'util';\nimport { AbrirRecursoComponent } from 'app/Componentes/abrir-recurso/abrir-recurso.component';\nimport { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { GerenciamentoCurso } from 'app/entity/gerenciamento-curso.model';\n\n\n@Component({\n selector: 'gerenciamento-curso-etapa1',\n templateUrl: './gerenciamento-curso-etapa1.component.html',\n})\nexport class CrudGerenciamentoCursoEtapa1Component extends BaseStepComponent {\n\n @Input() listaResumo: any[] = [];\n @Input() listaRelatores: any[];\n @Input() listaConteudo: any[] = [];\n @Output() listaConteudoChange = new EventEmitter();\n @Input() listaCapacitadora: SelectItem[] = [];\n @Input() listaAbrangencia: SelectItem[] = [];\n @Input() listaModalidade: SelectItem[] = [];\n @Input() listaTipoAtividade: SelectItem[] = [];\n @Input() listaAreaTematica: SelectItem[] = [];\n @Input() listaPublicoAlvo: SelectItem[] = [];\n @Input() listaCriterioAvaliacao: SelectItem[] = [];\n @Input() validateForm: any = false;\n @Output() validateFormChange = new EventEmitter();\n @Input() codigo: string;\n @Input() listaBibliografia: any[] = [];\n @Output() listaBibliografiaChange = new EventEmitter();\n\n @Input() storagedListFiles: any[];\n @Output() uploadedFilesChange = new EventEmitter();\n @Input() uploadedFiles: any[];\n uploadedFilesRecurso: any[] = [];\n @Input() recurso: RecursoFiltro;\n\n uploadedFilesTemp: any[] = [];\n dataHoje: Date;\n dataMinima : Date;\n @Output() stepObject: EventEmitter = new EventEmitter(true);\n\n exibirAvisoReplica:boolean = this.service.deveExibirAvisoReplica();\n\n dadosReplicadosCurso: GerenciamentoCurso;\n\n\n ngOnInit() {\n const replicado = this.activatedRoute.snapshot.queryParams['replicado'];\n \n if (replicado !== 'true') {\n this.service.limparCursoReplicado();\n this.exibirAvisoReplica = false;\n }else{\n this.exibirAvisoReplica = true;\n }\n\n this.dadosReplicadosCurso = this.service.obterCursoReplicado();\n \n this.init();\n }\n\n init() { \n if (this.uploadedFiles.length > 0) {\n this.uploadedFilesTemp = [];\n this.uploadedFiles.forEach(i => {\n i.show = true;\n this.uploadedFilesTemp.push(i);\n });\n this.uploadedFiles = [];\n this.uploadedFiles = this.uploadedFilesTemp;\n }\n \n this.dataHoje = new Date();\n \n this.uploadedFilesChange.emit(this.uploadedFiles);\n \n this.stepObject.emit(this);\n this.emitValidation(true);\n\n this.carregarDadosCopiados(this.dadosReplicadosCurso)\n \n\n }\n\n selecionaArquivo(event: any, val: number) {\n for (const file of event.files) {\n if (file.name.match(/.pdf/) || file.name.match(/.jpg/) || file.name.match(/.png/)) {\n this.IncluirArquivo(file, this.uploadedFiles,\n this.uploadedFilesChange, { idCurso: this.cadastro.get('curso.id').value, tipo: val })\n }\n }\n }\n\n removeElementList(value: any, tipo: number) {\n this.uploadedFiles.forEach((item, index) => {\n if (item.nome_arquivo === value.file.name && item.id < 1) {\n super.removeFromList(this.uploadedFiles,\n this.uploadedFilesChange, index, 'anexos');\n\n }\n });\n }\n\n addToListBibliografia(list: any, listEmit: EventEmitter, form: any, event: any, validationObj: any = null, customData: any = null) {\n if (form.controls.bibliografia.value == null || isNullOrUndefined(form.controls.bibliografia.value)) {\n this.showMsgWarn('Campo bibliografia vazio.');\n return;\n }\n if (validationObj != null && this.validateListExists(list, validationObj)) { return false; }\n if (form.valid) {\n list.push(Object.assign({}, form.value, customData));\n list = [...list];\n listEmit.emit(list);\n\n form.reset();\n this.touchAll(form, 'markAsPristine');\n } else {\n this.touchAll(form);\n return false;\n }\n }\n\n setArquivos(ev) {\n if (ev) {\n this.uploadedFiles = ev.value;\n }\n }\n\n emitValidation(isInit = false) {\n if (isInit) {\n this.validateForm = [];\n } else {\n const countListaArquivos = this.uploadedFiles.filter(item => item.tipo == 1).length;\n if (this.cadastro.get('curso').valid && this.listaConteudo.length > 0 &&\n this.cadastro.controls.curso.get('bibliografia_curso').valid && this.listaBibliografia.length > 0 &&\n this.cadastro.get('observacao').valid) {\n this.isValid = true;\n } else {\n this.isValid = false;\n this.validateForm = [this.cadastro.get('curso'), this.cadastro.get('observacao')];\n if (this.listaConteudo.length == 0) {\n this.validateForm = [this.cadastro.get('curso'), this.cadastro.get('conteudo')];\n this.showMsgWarn('É necessária a inclusão de ao menos um Conteúdo');\n } else if (this.cadastro.get('observacao').get('observacao').value == false) {\n this.showMsgWarn('É necessário informar uma observação!
')\n } else if (this.listaBibliografia.length == 0) {\n this.showMsgWarn('Informe ao menos uma bibliografia');\n } else {\n this.showMsgWarn('É necessário o prenchimento dos campos obrigatórios ');\n }\n }\n }\n setTimeout(() => this.validateFormChange.emit(this.validateForm), 0);\n this.isValidChange.emit(this.isValid);\n }\n\n\n carregarDadosCopiados(dadosReplicadosCurso: GerenciamentoCurso) {\n const idPublicoAlvo = this.extrairPropriedade(dadosReplicadosCurso.curso_publico_alvo, 'id_publico_alvo');\n const idAreaTematica = this.extrairPropriedade(dadosReplicadosCurso.curso_area_tematica, 'id_area_tematica');\n const idCriterioAvalicao = this.extrairPropriedade(dadosReplicadosCurso.curso_criterio_avaliacao, 'id_criterio_avaliacao')\n \n const camposCurso = {\n 'curso.id_capacitadora': dadosReplicadosCurso.id_capacitadora,\n 'curso.titulo_original': dadosReplicadosCurso.titulo_original,\n 'curso.titulo_traduzido': dadosReplicadosCurso.titulo_traduzido,\n 'curso.carga_horaria': dadosReplicadosCurso.carga_horaria,\n 'curso.frequencia_minima': dadosReplicadosCurso.frequencia_minima,\n 'curso.id_abrangencia': dadosReplicadosCurso.id_abrangencia,\n 'curso.id_modalidade': dadosReplicadosCurso.id_modalidade,\n 'curso.codigo_curso_capacitadora': dadosReplicadosCurso.codigo_curso_capacitadora,\n 'curso.id_tipo_atividade': dadosReplicadosCurso.id_tipo_atividade,\n 'curso.curso_area_tematica.list': idAreaTematica,\n 'curso.curso_publico_alvo.list': idPublicoAlvo,\n 'curso.curso_criterio_avaliacao.list': idCriterioAvalicao,\n 'curso.conteudo': dadosReplicadosCurso.conteudo, \n 'curso.bibliografia_curso': dadosReplicadosCurso.bibliografia_curso \n };\n\n this.listaConteudo = dadosReplicadosCurso.conteudo\n this.listaBibliografia = dadosReplicadosCurso.bibliografia_curso\n\n this.listaConteudoChange.emit(this.listaConteudo);\n this.listaBibliografiaChange.emit(this.listaBibliografia);\n\n\n this.atualizarCamposCadastro(camposCurso);\n }\n\n extrairPropriedade(lista: any[], propriedade: string): any[] {\n if (!lista || !Array.isArray(lista)) {\n return [];\n }\n return lista.map(function (item) {\n return item[propriedade];\n });\n }\n\n atualizarCamposCadastro(campos: { [key: string]: any }) {\n setTimeout(() => { \n Object.keys(campos).forEach(campo => {\n const formControl = this.cadastro.get(campo);\n if (formControl) {\n formControl.setValue(campos[campo] || '');\n formControl.markAsTouched(); \n formControl.markAsDirty();\n formControl.updateValueAndValidity();\n } else {\n console.log(`Campo não encontrado no formulário: ${campo}`);\n }\n });\n this.cadastro.updateValueAndValidity();\n });\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-curso/crud/etapas/gerenciamento-curso-etapa1.component.ts","module.exports = \"\\n\\n \\n \\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-curso/crud/etapas/gerenciamento-curso-etapa2.component.html\n// module id = ./src/app/gerenciamento-curso/crud/etapas/gerenciamento-curso-etapa2.component.html\n// module chunks = main","import { Component, Input, Output, EventEmitter } from \"@angular/core\";\nimport { SelectItem } from \"primeng/primeng\";\nimport { BaseStepComponent } from \"../../../base/base-step.component\";\nimport { ValidarData } from '../../../util/custom.validators';\n\n@Component({\n selector: 'gerenciamento-curso-etapa2',\n templateUrl: './gerenciamento-curso-etapa2.component.html',\n})\nexport class CrudGerenciamentoCursoEtapa2Component extends BaseStepComponent {\n @Input() listaResumo: any[] = [];\n @Input() listaRelatores: any[];\n @Input() listaTurma: any[] = [];\n @Output() listaTurmaChange = new EventEmitter();\n @Input() validateForm: any = false;\n @Output() validateFormChange = new EventEmitter();\n @Input() listaUf: SelectItem[] = [];\n @Output() stepObject: EventEmitter = new EventEmitter(true);\n @Input() listaDiasSemana: any[] = [];\n @Input() listaPais: SelectItem[] = [];\n @Input() listaMunicipios: SelectItem[] = [];\n requiredValidator: boolean = false;\n @Input() hoje = new Date();\n listaCidades: SelectItem[] = [];\n @Input() isGestorCFC: any;\n\n \n readonly BRASIL = 31;\n dataMinima = new Date();\n isEditing: boolean = false;\n\n init() {\n this.dataMinima.setDate(this.dataMinima.getDate() + 5);\n\n this.stepObject.emit(this);\n\n this.emitValidation(true);\n\n this.cadastro.get('id_uf').valueChanges.subscribe(id_uf => {\n this.service.ListarTodos('cidade', { id_estado: id_uf }).subscribe(data => {\n this.listaCidades = data;\n })\n });\n this.cadastro.get('id_pais').valueChanges.subscribe(id => {\n this.requiredValidator = id === 31 ? true : false\n });\n\n this.cadastro.get('turma_titulo').valueChanges.subscribe(nome => {\n if (this.cadastro.get('turma_titulo') && nome) {\n const turma = nome.replace(/\\s{2,}/g, ' ');\n this.cadastro.get('turma_titulo').setValue(turma.trim());\n }\n });\n\n if (this.acao === 'abrir-recurso') {\n this.cadastro.enable();\n } \n\n if (this.gestorCfc) {\n this.hoje = new Date();\n this.cadastro.get('data_inicio').setValue('');\n this.cadastro.get('data_fim').setValue('');\n }\n\n\n this.observableUser.getValue.subscribe(data => {\n if (data && data != \"\") {\n if (data.obj.lotacaoDTO.find(y => y.id == localStorage.getItem('lotacao')).sigla == 'CFC' \n && data.obj.lotacaoDTO.find(y => y.id == localStorage.getItem('lotacao'))\n .perfilDTO.filter(x => x.nome == 'Gestor CFC')\n .length > 0) {\n this.isGestorCFC = true;\n this.hoje = new Date();\n }\n else {\n this.isGestorCFC = false;\n }\n }\n });\n }\n\n emitValidation(isInit = false) {\n if (isInit) {\n this.validateForm = [];\n } else {\n if (this.listaTurma.length > 0) {\n this.isValid = true;\n } else {\n this.isValid = false;\n this.validateForm = [this.cadastro];\n super.showMsg('warn', 'Turma', 'É necessário informar ao menos uma Turma');\n }\n }\n setTimeout(() => this.validateFormChange.emit(this.validateForm), 0);\n this.isValidChange.emit(this.isValid);\n }\n\n salvarListaTurma(event) {\n let inicio = new Date(this.cadastro.get('data_inicio').value);\n let final = new Date(this.cadastro.get('data_fim').value);\n \n this.isEditing = false;\n this.cadastro.get('data_inicio').enable();\n this.cadastro.get('data_fim').enable();\n if (!ValidarData(inicio, final)) {\n super.showMsg('warn', 'Turma', 'A data fim não pode ser menor que a data de início da turma.');\n return;\n }\n\n const retorno = this.addToList(this.listaTurma, this.listaTurmaChange,\n this.cadastro, event, { turma_titulo: this.cadastro.get('turma_titulo').value });\n if (retorno != false) {\n this.listaTurma = this.listaTurma.map(item => {\n if (item.id === null) {\n if (item.turma_dia_semana.list != undefined) {\n item.turma_dia_semana = item.turma_dia_semana.list.map(item => {\n var valor = { id: null, id_turma: null, id_dia_semana: item }\n return valor;\n\n })\n }\n return item;\n }\n });\n }\n \n }\n\n\n editarEdicao(index: number) {\n const itemEdicao = this.listaTurma[index];\n const dataInicio = new Date(itemEdicao['data_inicio']);\n const dataFim = new Date(itemEdicao['data_fim']);\n\n if (!this.areValidDates(dataInicio, dataFim)) {\n this.showWarningMessage('Datas inválidas fornecidas.');\n return;\n }\n\n this.isEditing = true;\n this.cadastro.get('data_inicio').disable();\n this.cadastro.get('data_fim').disable();\n\n this.processEditEdicao(index, itemEdicao, dataInicio, dataFim);\n }\n\n processEditEdicao(index: number, itemEdicao: any, dataInicio: Date, dataFim: Date) {\n this.setDateHoursToZero(dataInicio, dataFim);\n\n if (dataFim < dataInicio) {\n this.showWarningMessage('A data fim não pode ser menor que a data de início do evento.');\n return;\n }\n\n this.listaTurma.splice(index, 1);\n this.listaTurma = [...this.listaTurma];\n this.updateForm(itemEdicao);\n this.listaTurmaChange.emit(this.listaTurma);\n }\n\n setDateHoursToZero(...dates: Date[]) {\n dates.forEach(date => date.setHours(0, 0, 0, 0));\n }\n\n areValidDates(...dates: any[]): boolean {\n return dates.every(this.isValidDate);\n }\n\n isValidDate(date: any): boolean {\n return !isNaN(Date.parse(date));\n }\n\n updateForm(item: any) {\n const idDiaSemanaList = item.turma_dia_semana.map(\n item => item.id_dia_semana\n );\n this.cadastro.patchValue({\n turma_dia_semana: {\n list: idDiaSemanaList\n },\n data_inicio: new Date(item.data_inicio),\n data_fim: new Date(item.data_fim),\n id_pais: item.id_pais,\n turma_titulo: item.turma_titulo,\n }, {emitEvent: false});\n\n this.cadastro.get('id_pais').updateValueAndValidity();\n\n if (item.id_pais === this.BRASIL) {\n this.cadastro.patchValue({\n id_uf: item.id_uf,\n id_cidade: item.id_cidade\n }, {emitEvent: false});\n this.cadastro.get('id_uf').updateValueAndValidity();\n this.cadastro.get('id_cidade').updateValueAndValidity();\n }\n }\n\n showWarningMessage(message: string) {\n super.showMsg('warn', 'Edição', message);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-curso/crud/etapas/gerenciamento-curso-etapa2.component.ts","module.exports = \"\\n\\n\\n \\n \\n
\\n\\n \\n \\n\\n \\n \\n\\n \\n \\n
\\n\\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-curso/crud/etapas/gerenciamento-curso-etapa3.component.html\n// module id = ./src/app/gerenciamento-curso/crud/etapas/gerenciamento-curso-etapa3.component.html\n// module chunks = main","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { DatatableClickEvent } from '@basis/angular-components';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseStepComponent } from \"../../../base/base-step.component\";\nimport { ValidCpfORCnpj } from 'app/util/custom.validators';\nimport { Instrutor } from 'app/entity/instrutor.model';\nimport { AnexoInstrutor } from 'app/entity/curriculo-instrutor.models';\nimport { Situacoes } from 'app/entity/enumeraveis';\n\n@Component({\n selector: 'gerenciamento-curso-etapa3',\n templateUrl: './gerenciamento-curso-etapa3.component.html',\n})\nexport class CrudGerenciamentoCursoEtapa3Component extends BaseStepComponent {\n\n displayDialog: boolean = false;\n\n @Input() listaInstrutores: any[] = [];\n @Input() listaResumo: any[] = [];\n @Input() listaRelatores: any[];\n @Input() validateForm: any = false;\n @Output() validateFormChange = new EventEmitter();\n @Output() emitResponse = new EventEmitter();\n\n\n @Output() listaFormacaoInstrutorChange = new EventEmitter();\n\n instrutor: Instrutor = new Instrutor();\n listaFormacaoAcademico: SelectItem[] = [];\n listaFormacaoAcademicoCompleto: SelectItem[] = [];\n listaCursos: SelectItem[] = [];\n listaCursosCompleto: SelectItem[] = [];\n uploadedFiles: any[] = [];\n listaFormacaoInstrutor: any[] = [];\n countListaArquivos: any[] = [];\n anexo_instrutor: AnexoInstrutor;\n isValid: boolean = false;\n stepObject: any;\n isCPF: boolean = true;\n isBuscou: boolean = false;\n @Output() uploadedFilesChange = new EventEmitter();\n cpf: any;\n cadastrarInstrutor = this.formBuilder.group({\n instrutor: this.formBuilder.group({\n nome: [null, [Validators.required, Validators.maxLength(100)]],\n cpf: [null, [Validators.required, ValidCpfORCnpj, Validators.maxLength(20)]],\n passaporte: [null, [Validators.maxLength(100)]],\n id: [null],\n registro_profissional: [null],\n tipo_documento: [1, [Validators.required]],\n }),\n formacao_instrutor: this.formBuilder.group({\n id_area: [null, [Validators.required]],\n id_formacao_academica: [null, [Validators.required]],\n curso: [null, [Validators.required, Validators.maxLength(255)]],\n id_instrutor: [null],\n }),\n anexo_instrutor: this.formBuilder.group({\n id_anexo: [null, [Validators.required]],\n id_instrutor: [null, [Validators.required]],\n id: [null]\n })\n });\n setStepObject(obj: any) {\n this.stepObject = obj;\n }\n\n init() {\n setTimeout(() => this.validateFormChange.emit(false), 0);\n\n // CARREGAR LISTA CURSO/AREA\n this.service.ListarTodos('cursoAcademico').subscribe(data => {\n this.listaCursosCompleto = data;\n this.listaCursos = data.filter(a => a.id_situacao == Situacoes.Ativo);\n })\n // CARREGAR LISTA DE FORMAÇÃO ACADEMICA\n this.service.ListarTodos('formacao-academica').subscribe(data => {\n this.listaFormacaoAcademicoCompleto = data;\n this.listaFormacaoAcademico = data.filter(a => a.id_situacao == Situacoes.Ativo);\n });\n }\n\n finalizar(event: any) { \n this.isValid = false;\n this.validateForm = [this.cadastrarInstrutor.get('instrutor')];\n if (this.listaFormacaoInstrutor.length == 0) {\n this.showMsgWarn(`É obrigatório ao menos uma formação acadêmica.
`);\n return\n }\n if (this.uploadedFiles.length == 0) {\n this.showMsgWarn(`O anexo de arquivos é obrigatório. Todos os comprovantes deverão ser anexados de uma só vez.
`);\n return\n }\n\n this.instrutor.anexo_instrutor = [];\n if (this.cadastrarInstrutor.get('instrutor.tipo_documento').value == 1)\n this.instrutor.cpf_passaporte = this.limpaCaracterEspecial(this.cadastrarInstrutor.value.instrutor.cpf);\n else\n this.instrutor.cpf_passaporte = this.limpaCaracterEspecial(this.cadastrarInstrutor.value.instrutor.passaporte);\n\n this.instrutor.registro_profissional = this.cadastrarInstrutor.value.instrutor.registro_profissional;\n this.instrutor.nome = this.cadastrarInstrutor.get('instrutor.nome').value;\n this.instrutor.id = this.cadastrarInstrutor.value.instrutor.id;\n this.instrutor.tipo_documento = this.cadastrarInstrutor.get('instrutor.tipo_documento').value;\n\n this.instrutor.anexo_instrutor = [];\n this.stepObject.uploadedFiles.forEach(item => {\n this.instrutor.anexo_instrutor.push(item);\n });\n\n this.instrutor.formacao_academica_instrutor = this.stepObject.listaFormacaoInstrutor.map(item => {\n item.id_instrutor = this.instrutor.id;\n return item;\n });\n this.confirmacao.confirm({\n header: 'Mensagem de Confirmação',\n message: `Atenção! Ao confirmar esta operação, você estará cadastrando um novo instrutor. Deseja realmente confirmar esta operação?`,\n accept: () => {\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Adicionar(`instrutor`, this.instrutor).subscribe(data => {\n super.showMsgSucess(\"Sucesso ao salvar instrutor.\");\n },\n\n err => {\n super.showMsgError(`Erro ao tentar salvar novo instrutor. ${err._body}`)\n }, () => {\n this.observableUtilPanelDoc.setBlockedPanel(false);\n this.service.ListarInstrutores('instrutor').subscribe(data => {\n this.listaInstrutores = data;\n });\n this.displayDialog = false;\n }\n );\n }\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-curso/crud/etapas/gerenciamento-curso-etapa3.component.ts","module.exports = \"\\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//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-curso/crud/etapas/gerenciamento-curso-etapa4.component.html\n// module id = ./src/app/gerenciamento-curso/crud/etapas/gerenciamento-curso-etapa4.component.html\n// module chunks = main","import { RecursoCurso } from './../../../entity/recurso-curso.model';\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseStepComponent } from '../../../base/base-step.component';\nimport { GerenciamentoCurso } from 'app/entity/gerenciamento-curso.model';\nimport { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { cabecalho } from 'app/entity/cabecalho-prestacao-conta.model';\nimport { Capacitadora } from 'app/entity/capacitadora.model';\n \n@Component({\n // tslint:disable-next-line: component-selector\n selector: 'gerenciamento-curso-etapa4',\n templateUrl: './gerenciamento-curso-etapa4.component.html',\n})\nexport class CrudGerenciamentoCursoEtapa4Component extends BaseStepComponent {\n\n @Input() cabecalhoSomatorio: cabecalho[];\n\n @Input() listaResumo: any[] = [];\n @Input() listaRelatores: any[];\n @Input() listaCapacitadora: SelectItem[] = [];\n @Input() listaAbrangencia: SelectItem[] = [];\n @Input() listaModalidade: SelectItem[] = [];\n @Input() listaTipoAtividade: SelectItem[] = [];\n @Input() listaAreaTematica: SelectItem[] = [];\n @Input() listaPublicoAlvo: SelectItem[] = [];\n @Input() listaCriterioAvaliacao: SelectItem[] = [];\n @Input() listaDiasSemana: any[] = [];\n @Input() listaPais: SelectItem[] = [];\n @Input() listaMunicipios: SelectItem[] = [];\n @Input() listaUf: SelectItem[] = [];\n @Input() listaInstrutores: any[] = [];\n @Input() listaTurma: any[] = [];\n @Input() listaConteudo: any[] = [];\n @Input() listaBibliografia: any[] = [];\n\n @Input() uploadedFiles: any[] = [];\n @Input() storagedListFiles: any[];\n @Output() uploadedFilesChange = new EventEmitter();\n uploadedFilesTemp: any[] = [];\n\n displayInstrutorModal = false;\n modal_obj: any = null;\n displayConteudoModal = false;\n @Input() capacitadora: any;\n @Input() listaPntCFC: any[];\n @Input() listaPntCRC: any[];\n @Input() etapa: any;\n @Input() id: number;\n @Input() codigo: string;\n controlador = false;\n\n @Input() listaCursos: SelectItem[] = []\n @Input() listaFormacaoAcademico: any[] = [];\n @Input() listaFormacaoInstrutor: any[] = [];\n @Input() uploadedFilesInstrutor: any[] = [];\n @Input() recurso_curso: RecursoCurso[] = [];\n @Input() recurso: RecursoFiltro;\n instrutor: any;\n gerenciamentoCurso: GerenciamentoCurso = new GerenciamentoCurso;\n\n @Output() cabecalhoSomatorioChange: EventEmitter = new EventEmitter();\n\n init() {\n this.service.ListarInstrutores('instrutor').subscribe(data => {\n this.listaInstrutores = data;\n });\n if (this.id !== undefined) {\n this.service.Obter('gerenciamentoCurso/recursoList', this.id).subscribe(item => {\n this.recurso_curso = item;\n });\n this.recurso.IdModel = this.id;\n this.recurso.CursoDto = this.finalizaCurso();\n }\n }\n\n emitCabecalho() {\n this.cabecalhoSomatorioChange.emit(this.cabecalhoSomatorio);\n }\n\n showDialog(obj, modal) {\n\n this.uploadedFilesInstrutor = [];\n if (modal === 1) {\n this.displayInstrutorModal = true;\n this.modal_obj = obj;\n this.instrutor = this.listaInstrutores.find(x => x.id === this.modal_obj);\n let anexos = this.instrutor.anexo_instrutor;\n anexos == !null ? anexos.forEach(x => {\n this.uploadedFilesInstrutor.push(x);\n }) : undefined;\n\n this.listaFormacaoInstrutor = this.instrutor.formacao_academica_instrutor;\n }\n\n if (modal === 2) {\n this.displayConteudoModal = true;\n this.modal_obj = obj;\n }\n }\n finalizaCurso(): GerenciamentoCurso {\n // curso\n this.gerenciamentoCurso.id = this.cadastro.get('etapa1.curso.id').value;\n this.gerenciamentoCurso.titulo_original = this.cadastro.get('etapa1.curso.titulo_original').value;\n this.gerenciamentoCurso.titulo_traduzido = this.cadastro.get('etapa1.curso.titulo_traduzido').value;\n this.gerenciamentoCurso.carga_horaria = this.cadastro.get('etapa1.curso.carga_horaria').value;\n this.gerenciamentoCurso.frequencia_minima = this.cadastro.get('etapa1.curso.frequencia_minima').value;\n this.gerenciamentoCurso.id_abrangencia = this.cadastro.get('etapa1.curso.id_abrangencia').value;\n this.gerenciamentoCurso.id_modalidade = this.cadastro.get('etapa1.curso.id_modalidade').value;\n this.gerenciamentoCurso.id_tipo_atividade = this.cadastro.get('etapa1.curso.id_tipo_atividade').value;\n this.gerenciamentoCurso.codigo_curso_capacitadora = this.cadastro.get('etapa1.curso.codigo_curso_capacitadora').value;\n // this.gerenciamentoCurso.bibliografia = this.cadastro.get('etapa1.curso.bibliografia').value;\n this.gerenciamentoCurso.id_capacitadora = this.cadastro.get('etapa1.curso.id_capacitadora').value;\n this.gerenciamentoCurso.id_situacao = this.cadastro.get('etapa1.curso.id_situacao').value;\n this.gerenciamentoCurso.codigo = this.cadastro.get('etapa1.curso.codigo').value;\n this.gerenciamentoCurso.observacao = this.cadastro.get('etapa1.observacao.observacao').value;\n this.gerenciamentoCurso.data_cadastro = this.cadastro.get('etapa1.curso.data_cadastro').value;\n\n // Conteudo\n this.gerenciamentoCurso.conteudo = this.listaConteudo.map(item => {\n item.id_curso = this.gerenciamentoCurso.id;\n item.curso = null;\n return item;\n });\n\n // Anexo\n this.gerenciamentoCurso.anexo_curso = [];\n this.uploadedFiles.forEach(item => {\n this.gerenciamentoCurso.anexo_curso.push(item);\n });\n\n // Turma\n this.gerenciamentoCurso.turma = this.listaTurma.map(item => {\n item.id_curso = this.gerenciamentoCurso.id;\n item.curso = null;\n // tslint:disable-next-line: no-shadowed-variable\n item.turma_dia_semana = item.turma_dia_semana.map(item => {\n item.id = null;\n item.dia_semana = null;\n return item;\n });\n return item;\n });\n // Instrutor\n\n let gerenciamentoCurso = this.cadastro.get('etapa3.curso_instrutor.list').value;\n if (gerenciamentoCurso || gerenciamentoCurso != null) {\n\n this.gerenciamentoCurso.curso_instrutor = gerenciamentoCurso.map(item => {\n const valor = { id_instrutor: item, id_curso: this.gerenciamentoCurso.id };\n return valor;\n });\n }\n // urso-Criteiro Avaliação\n // tslint:disable-next-line: max-line-length\n let gerenciamentoCursoCriterio = this.cadastro.get('etapa1.curso.curso_criterio_avaliacao.list').value;\n\n if (gerenciamentoCursoCriterio || gerenciamentoCursoCriterio != null) {\n this.gerenciamentoCurso.curso_criterio_avaliacao = gerenciamentoCursoCriterio.map(item => {\n const valor = { id_criterio_avaliacao: item, id_curso: this.gerenciamentoCurso.id };\n return valor;\n });\n }\n\n // Curso-Publico Alvo\n let gerenciamentoCursoPublicoAlvo = this.cadastro.get('etapa1.curso.curso_publico_alvo.list').value;\n if (gerenciamentoCursoPublicoAlvo || gerenciamentoCursoPublicoAlvo != null) {\n this.gerenciamentoCurso.curso_publico_alvo = gerenciamentoCursoPublicoAlvo.map(item => {\n const valor = { id_publico_alvo: item, id_curso: this.gerenciamentoCurso.id };\n return valor;\n });\n }\n\n // Curso-Area Tematica\n let gerenciamentoCursoAreaTematica = this.cadastro.get('etapa1.curso.curso_area_tematica.list').value\n if (gerenciamentoCursoAreaTematica || gerenciamentoCursoAreaTematica != null) {\n this.gerenciamentoCurso.curso_area_tematica = gerenciamentoCursoAreaTematica.map(item => {\n const valor = { id_area_tematica: item, id_curso: this.gerenciamentoCurso.id };\n return valor;\n });\n }\n if (this.acao === 'cadastrar') {\n this.gerenciamentoCurso.id_situacao = 16;\n }\n\n // Bibliografia Curso\n this.gerenciamentoCurso.bibliografia_curso = this.listaBibliografia.map(item => {\n item.id_curso = this.gerenciamentoCurso.id;\n return item;\n });\n\n return this.gerenciamentoCurso;\n }\n\n replicarCurso() {\n const cursoReplica: GerenciamentoCurso = this.finalizaCurso();\n \n this.service.definirCursoReplicado(cursoReplica);\n\n this.service.definirExibirAvisoReplica(true);\n \n this.navegarParaCadastro();\n }\n \n navegarParaCadastro() {\n this.router.navigate(\n ['atividades', 'gerenciamento-curso', 'cadastrar'],\n { queryParams: { replicado: true } }\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-curso/crud/etapas/gerenciamento-curso-etapa4.component.ts","module.exports = \" \\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\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-curso/crud/gerenciamento-curso-crud.component.html\n// module id = ./src/app/gerenciamento-curso/crud/gerenciamento-curso-crud.component.html\n// module chunks = main","import { Component, EventEmitter } from '@angular/core';\nimport { Validators } from '@angular/forms';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseCrudComponent } from 'app/base';\nimport { MenuItem } from 'primeng/components/common/menuitem';\nimport { GerenciamentoCurso } from 'app/entity/gerenciamento-curso.model';\nimport { requiredMinLength, requiredMaxLength } from 'app/util/custom.validators';\nimport { HomologacaoCurso } from '../../entity/homologacao-curso.model';\nimport { AnexoCurso } from 'app/entity/anexo-curso.model';\nimport { isNullOrUndefined } from 'util';\nimport { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { cabecalho } from 'app/entity/cabecalho-prestacao-conta.model';\n\n@Component({\n // tslint:disable-next-line: component-selector\n selector: 'gerenciamento-curso-crud',\n templateUrl: 'gerenciamento-curso-crud.component.html'\n})\n\nexport class CrudGerenciamentoCursoComponent extends BaseCrudComponent {\n listaResumo: any[];\n listaRelatores: SelectItem[] = [];\n controllerName = 'gerenciamentoCurso';\n id: number;\n\n codigoCurso: string;\n\n cabecalhoSomatorio: cabecalho[] = [];\n\n listaCapacitadora: SelectItem[] = [];\n listaAbrangencia: SelectItem[] = [];\n listaModalidade: SelectItem[] = [];\n listaTipoAtividade: SelectItem[] = [];\n listaAreaTematica: SelectItem[] = [];\n listaPublicoAlvo: SelectItem[] = [];\n listaCriterioAvaliacao: SelectItem[] = [];\n listaConteudo: any[] = [];\n listaTurma: any[] = [];\n listaUf: any[] = [];\n listaDiasSemana: SelectItem[] = [];\n listaPais: SelectItem[] = [];\n listaMunicipios: SelectItem[] = [];\n listaInstrutores: any[] = [];\n listaBibliografia: any[] = [];\n idHomologacao: number;\n validateForm: any = false;\n\n isValid = false;\n\n uploadedFiles: any[] = [];\n anexo_curso: AnexoCurso = new AnexoCurso;\n\n\n gerenciamentoCurso: GerenciamentoCurso = new GerenciamentoCurso;\n homologacaoCurso: HomologacaoCurso = new HomologacaoCurso;\n\n stepObject: any;\n capacitadora: any;\n listaPntCFC: any[];\n listaPntCRC: any[];\n\n hoje = new Date();\n\n // GERENCIAMENTO_CURSO_ETAPA_4\n listaCursos: SelectItem[] = []\n listaFormacaoAcademico: any[] = [];\n listaFormacaoInstrutor: any[] = [];\n uploadedFilesInstrutor: any[] = [];\n\n storagedListFiles: any[];\n uploadedFilesChange = new EventEmitter();\n uploadedFilesTemp: any[] = [];\n\n displayDialog: boolean;\n\n recurso: RecursoFiltro = new RecursoFiltro();\n\n etapas: MenuItem[] = [\n { label: 'Curso' },\n { label: 'Turma' },\n { label: 'Instrutor' },\n { label: 'Resumo' }\n ];\n cadastro = this.formBuilder.group({\n etapa1: this.formBuilder.group({\n \n conteudo: this.formBuilder.group({\n descricao: [null, [Validators.required, Validators.maxLength(4000), requiredMinLength(1),]],\n titulo: [null, [Validators.required, Validators.maxLength(255), requiredMinLength(1),]],\n id: [null]\n }),\n observacao: this.formBuilder.group({\n observacao: [null, [Validators.maxLength(4000)]],\n }),\n anexo_curso: this.formBuilder.group({\n id: [null]\n }),\n curso: this.formBuilder.group({\n bibliografia_curso: this.formBuilder.group({\n id: [null],\n bibliografia: [null, [Validators.maxLength(4000)]],\n }),\n codigo_curso_capacitadora: [null, Validators.maxLength(100)],\n curso_criterio_avaliacao: this.formBuilder.group({\n id_criterio_avaliacao: [null],\n id_curso: [null],\n id: [null],\n list: [null, [Validators.required]],\n }),\n curso_publico_alvo: this.formBuilder.group({\n id_publico_alvo: [null],\n id_curso: [null],\n id: [null],\n list: [null, [Validators.required]]\n }),\n curso_area_tematica: this.formBuilder.group({\n id_area_tematica: [null],\n id_curso: [null],\n id: [null],\n list: [null, [Validators.required]]\n }),\n id_tipo_atividade: [null, [Validators.required]],\n id_modalidade: [null, [Validators.required]],\n id_abrangencia: [null, [Validators.required]],\n frequencia_minima: [null, [Validators.required, Validators.min(0), requiredMaxLength(10, true)]],\n carga_horaria: [null, [Validators.required, Validators.min(0), requiredMaxLength(10, true)]],\n titulo_traduzido: [null, [requiredMaxLength(255, true)]],\n titulo_original: [null, [Validators.required, requiredMinLength(1), requiredMaxLength(255, true)],],\n id_capacitadora: [null, [Validators.required]],\n id: [null],\n codigo: [null],\n id_situacao: [null],\n codigo_capacitadora: [null],\n data_cadastro: [null],\n data_envio: [null],\n data_validade: [null]\n }),\n }),\n\n etapa2: this.formBuilder.group({\n turma_titulo: [null, [Validators.required, Validators.maxLength(150), requiredMinLength(1)]],\n data_inicio: [this.hoje, [Validators.required]],\n data_fim: [this.hoje, [Validators.required]],\n turma_dia_semana: this.formBuilder.group({\n id_dia_semana: [null],\n id_turma: [null],\n id: [null],\n list: [null, [Validators.required]]\n }),\n id_pais: [null, [Validators.required]],\n id_uf: [null],\n id_cidade: [null],\n id: [null]\n\n }),\n\n etapa3: this.formBuilder.group({\n curso_instrutor: this.formBuilder.group({\n id: [null],\n id_curso: [null],\n id_instrutor: [null],\n list: [null, [Validators.required]]\n })\n }),\n\n etapa4: this.formBuilder.group({}),\n });\n\n setStepObject(obj: any) {\n this.stepObject = obj;\n }\n init() {\n\n // modificar ao final a route para capacitadora\n this.service.ListarTodos('capacitadora', { query: 'deferido' }).subscribe(data => {\n this.listaCapacitadora = data;\n });\n this.service.ListarTodos('abrangencia', { query: 'ativo' }).subscribe(data => {\n this.listaAbrangencia = data;\n });\n this.service.ListarTodos('modalidade', { query: 'ativo' }).subscribe(data => {\n this.listaModalidade = data;\n });\n this.service.ListarTodos('natureza', { query: 'curso' }).subscribe(data => {\n this.listaTipoAtividade = data;\n });\n this.service.ListarTodos('areaTematica', { query: 'ativo' }).subscribe(data => {\n this.listaAreaTematica = data;\n });\n this.service.ListarTodos('publicoAlvo', { query: 'ativo' }).subscribe(data => {\n this.listaPublicoAlvo = data;\n })\n this.service.ListarTodos('criterioAvaliacao', { query: 'ativo' }).subscribe(data => {\n this.listaCriterioAvaliacao = data;\n })\n this.service.ListarTodos('uf').subscribe(data => {\n this.listaUf = data;\n })\n this.service.ListarTodos('combo/dia_semana').subscribe(data => {\n this.listaDiasSemana = data;\n })\n this.service.ListarTodos('pais').subscribe(data => {\n this.listaPais = data;\n })\n this.service.ListarTodos('cidade').subscribe(data => {\n this.listaMunicipios = data;\n })\n this.service.ListarInstrutores('instrutor').subscribe(data => {\n this.listaInstrutores = data;\n })\n this.hoje = new Date(this.hoje.setDate(new Date().getDate() + 5));\n }\n\n afterLoad() {\n if (this.acao !== 'cadastrar') {\n if (this.acao === 'visualizar') {\n super.init();\n }\n }\n\n if (this.obj.anexo_curso != null) {\n this.obj.anexo_curso.forEach(x => {\n x.show = true;\n this.uploadedFiles.push(x);\n });\n }\n\n const listPublico = this.obj.curso_publico_alvo.map(item => {\n return item.id_publico_alvo;\n })\n const listCriterio = this.obj.curso_criterio_avaliacao.map(item => {\n return item.id_criterio_avaliacao;\n })\n const listArea = this.obj.curso_area_tematica.map(item => {\n return item.id_area_tematica;\n })\n const listInst = this.obj.curso_instrutor.map(item => {\n return item.id_instrutor;\n })\n\n // VisualizarObservaçõesCurso\n this.cadastro.get('etapa1.observacao.observacao').patchValue(this.obj.observacao);\n\n this.codigoCurso = this.obj.codigo;\n\n const lst = [];\n if (!isNullOrUndefined(this.obj.bibliografia)) {\n lst.push({\n id: null,\n bibliografia: this.obj.bibliografia,\n id_curso: this.obj.id,\n });\n this.obj.bibliografia_curso.push(...lst);\n }\n this.listaBibliografia = this.obj.bibliografia_curso\n\n this.obj.homologacao_curso.map(item => {\n this.homologacaoCurso = item;\n this.service.ListarRelatores('listaRelatoresHomologacao', { query: item.id }).subscribe(\n data => {\n this.listaRelatores = data;\n }\n );\n this.service.ListarTodos('resumoHomologacao', { query: item.id }).subscribe(\n data => {\n this.listaResumo = data;\n }\n );\n this.service.ListarPontuacaoHomologacao('homologacaoCurso', item.id, 'Comissão CFC').subscribe(retorno => {\n this.listaPntCFC = retorno;\n });\n this.service.ListarPontuacaoHomologacao('homologacaoCurso', item.id, 'Comissão CRC').subscribe(retorno => {\n this.listaPntCRC = retorno;\n });\n });\n // listaCriterioAvaliacao\n this.cadastro.get('etapa1.curso.curso_criterio_avaliacao.list').patchValue(listCriterio);\n // listaPublicoAlvo\n this.cadastro.get('etapa1.curso.curso_publico_alvo.list').patchValue(listPublico);\n // listaAreaTematica\n this.cadastro.get('etapa1.curso.curso_area_tematica.list').patchValue(listArea);\n // listaConteudo\n this.listaConteudo = this.obj.conteudo;\n // listaTurma\n this.service.ListarTodos('Turma', { id_curso: this.obj.id }).subscribe(\n data => {\n this.listaTurma = data;\n }\n );\n // listaInstrutor\n this.cadastro.get('etapa3.curso_instrutor.list').patchValue(listInst);\n // Curso\n this.cadastro.get('etapa1.curso').patchValue(this.obj);\n\n this.cadastro.get('etapa1.curso.codigo_capacitadora').patchValue(this.obj.capacitadora.codigo);\n\n this.capacitadora = this.obj.capacitadora;\n }\n\n\n recarregarListaInstrutores() {\n this.displayDialog = false;\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.listaInstrutores = [];\n this.service.ListarInstrutores('instrutor').subscribe(data => {\n this.listaInstrutores = data;\n });\n this.observableUtilPanelDoc.setBlockedPanel(false);\n }\n\n finalizar() {\n // curso\n this.gerenciamentoCurso.id = this.cadastro.get('etapa1.curso.id').value;\n this.gerenciamentoCurso.titulo_original = this.cadastro.get('etapa1.curso.titulo_original').value;\n this.gerenciamentoCurso.titulo_traduzido = this.cadastro.get('etapa1.curso.titulo_traduzido').value;\n this.gerenciamentoCurso.carga_horaria = this.cadastro.get('etapa1.curso.carga_horaria').value;\n this.gerenciamentoCurso.frequencia_minima = this.cadastro.get('etapa1.curso.frequencia_minima').value;\n this.gerenciamentoCurso.id_abrangencia = this.cadastro.get('etapa1.curso.id_abrangencia').value;\n this.gerenciamentoCurso.id_modalidade = this.cadastro.get('etapa1.curso.id_modalidade').value;\n this.gerenciamentoCurso.id_tipo_atividade = this.cadastro.get('etapa1.curso.id_tipo_atividade').value;\n this.gerenciamentoCurso.codigo_curso_capacitadora = this.cadastro.get('etapa1.curso.codigo_curso_capacitadora').value;\n // this.gerenciamentoCurso.bibliografia = this.cadastro.get('etapa1.curso.bibliografia').value;\n this.gerenciamentoCurso.id_capacitadora = this.cadastro.get('etapa1.curso.id_capacitadora').value;\n this.gerenciamentoCurso.id_situacao = this.cadastro.get('etapa1.curso.id_situacao').value;\n this.gerenciamentoCurso.codigo = this.cadastro.get('etapa1.curso.codigo').value;\n this.gerenciamentoCurso.observacao = this.cadastro.get('etapa1.observacao.observacao').value;\n this.gerenciamentoCurso.data_cadastro = this.cadastro.get('etapa1.curso.data_cadastro').value;\n var datavalidade = new Date();\n var ano = datavalidade.getFullYear() + 1;\n datavalidade.setFullYear(ano, 11, 31);\n this.gerenciamentoCurso.data_validade = datavalidade;\n\n\n // Conteudo\n this.gerenciamentoCurso.conteudo = this.listaConteudo.map(item => {\n item.id_curso = this.gerenciamentoCurso.id;\n item.curso = null;\n return item;\n });\n\n // Anexo\n this.gerenciamentoCurso.anexo_curso = [];\n this.uploadedFiles.forEach(item => {\n this.gerenciamentoCurso.anexo_curso.push(item);\n });\n\n // Turma\n this.gerenciamentoCurso.turma = this.listaTurma.map(item => {\n item.id_curso = this.gerenciamentoCurso.id;\n item.curso = null;\n // tslint:disable-next-line: no-shadowed-variable\n item.turma_dia_semana = item.turma_dia_semana.map(item => {\n item.id = null;\n item.dia_semana = null;\n return item;\n });\n return item;\n });\n // Instrutor\n this.gerenciamentoCurso.curso_instrutor = this.cadastro.get('etapa3.curso_instrutor.list').value.map(item => {\n const valor = { id_instrutor: item, id_curso: this.gerenciamentoCurso.id };\n return valor;\n });\n // Curso-Criteiro Avaliação\n // tslint:disable-next-line: max-line-length\n this.gerenciamentoCurso.curso_criterio_avaliacao = this.cadastro.get('etapa1.curso.curso_criterio_avaliacao.list').value.map(item => {\n const valor = { id_criterio_avaliacao: item, id_curso: this.gerenciamentoCurso.id };\n return valor;\n });\n // Curso-Publico Alvo\n this.gerenciamentoCurso.curso_publico_alvo = this.cadastro.get('etapa1.curso.curso_publico_alvo.list').value.map(item => {\n const valor = { id_publico_alvo: item, id_curso: this.gerenciamentoCurso.id };\n return valor;\n });\n // Curso-Area Tematica\n this.gerenciamentoCurso.curso_area_tematica = this.cadastro.get('etapa1.curso.curso_area_tematica.list').value.map(item => {\n const valor = { id_area_tematica: item, id_curso: this.gerenciamentoCurso.id };\n return valor;\n });\n if (this.acao === 'cadastrar') {\n this.gerenciamentoCurso.id_situacao = 16;\n }\n\n // Bibliografia Curso\n this.gerenciamentoCurso.bibliografia_curso = this.listaBibliografia.map(item => {\n item.id_curso = this.gerenciamentoCurso.id;\n return item;\n });\n\n this.doFinalAction(this.gerenciamentoCurso, this.controllerName);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-curso/crud/gerenciamento-curso-crud.component.ts","module.exports = \"\\n \\n \\n \\n \\n \\n\\n\\n \\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n {{calcularValidadeCurso(obj['data_cadastro'],obj['data_validade'])}}\\n
\\n -
\\n \\n \\n Ações
\\n \\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n\\n\\n \\n\\n\\n \\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-curso/gerenciamento-curso.component.html\n// module id = ./src/app/gerenciamento-curso/gerenciamento-curso.component.html\n// module chunks = main","import { Component } from '@angular/core';\nimport { SelectItem } from 'primeng/primeng';\nimport { GerenciamentoCurso } from '../entity/gerenciamento-curso.model';\nimport { BaseListComponent } from \"../base/base-list.component\";\nimport { MenuItem } from 'primeng/components/common/menuitem';\n\n@Component({\n selector: 'gerenciamento-curso',\n templateUrl: './gerenciamento-curso.component.html',\n})\nexport class GerenciamentoCursoComponent extends BaseListComponent {\n controllerName = 'gerenciamentoCurso';\n filtro = this.formBuilder.group({\n query:[null]\n });\n\n init(){\n this.listagem.pDatatableComponent.sortOrder = 2;\n this.carregarEstado();\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-curso/gerenciamento-curso.component.ts","export * from './gerenciamento-curso.component';\nexport * from './crud/gerenciamento-curso-crud.component';\nexport * from './crud/etapas/gerenciamento-curso-etapa1.component';\nexport * from './crud/etapas/gerenciamento-curso-etapa2.component';\nexport * from './crud/etapas/gerenciamento-curso-etapa3.component';\nexport * from './crud/etapas/gerenciamento-curso-etapa4.component';\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-curso/index.ts","module.exports = \" \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n\\n \\n \\n
\\n \\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-pos-graduacao/crud/crud.component.html\n// module id = ./src/app/gerenciamento-pos-graduacao/crud/crud.component.html\n// module chunks = main","import { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Component } from '@angular/core';\nimport { BaseCrudComponent } from '../../base';\nimport { GerenciamentoPosGraduacao } from '../../entity/gerenciamento-pos-graduacao.model';\nimport { Validators } from '@angular/forms';\nimport { SelectItem } from 'primeng/primeng';\nimport { TipoPosGraduacao } from '../../entity/enumeraveis';\nimport { dataFimLimite } from 'app/util/custom.validators';\n\n@Component({\n selector: 'gerenciamento-pos-graduacao-crud',\n templateUrl: './crud.component.html'\n})\nexport class GerenciamentoPosGraduacaoCrudComponent extends BaseCrudComponent {\n\n recursoFiltro: RecursoFiltro = new RecursoFiltro();\n controllerName = 'gerenciamento-pos-graduacao'\n gerenciamentoPosGraduacao: GerenciamentoPosGraduacao;\n controladorGerenciamento = false;\n listaCapacitadora: any[] = [];\n cadastro = this.formBuilder.group({\n pos_graduacao: this.formBuilder.group({\n id_instituicao: [null, [Validators.required]],\n id: [null],\n id_natureza: [null, [Validators.required]],\n observacao: [null, [Validators.maxLength(4000)]],\n titulo: [null, [Validators.required, Validators.maxLength(100)]],\n cpf: [null],\n data_fim: [null, [Validators.required]],\n codigo: [null],\n data_inicio: [null, [Validators.required]],\n carga_horaria: [null, [Validators.required]],\n id_area: [null, [Validators.required]],\n id_situacao: [null],\n tipo_pos_graduacao: [null, [Validators.required]],\n id_capacitadora: [null],\n radio_instituicao_capacitadora: [1],\n }),\n anexo_gerenciar_atividade: this.formBuilder.group({\n id: [null]\n }),\n conteudo: this.formBuilder.group({\n titulo: [null, [Validators.required, Validators.maxLength(100)]],\n descricao: [null, [Validators.required, Validators.maxLength(4000)]]\n }),\n funcao_hipotese: this.formBuilder.group({\n id_funcao_exercida: [null],\n id_hipoteses: [null],\n id: [null],\n }),\n funcao_exercida_hipoteses: [[]],\n });\n\n listaAnexos: any[] = [];\n listaDadosInstituicao: SelectItem[] = [];\n listaTipoAtividade: SelectItem[] = [];\n listaPntCFC: any[] = [];\n listaPntCRC: any[] = [];\n listaResumo: any[] = [];\n listaRelatores: SelectItem[] = [];\n listaConteudo: any[] = [];\n listaTipoPosGraduacao: any[] = [];\n listaArea: any[] = [];\n mostrarCodigo = false;\n stepObject: any;\n profissionalPodePrestarConta = true;\n validateForm = false;\n setStepObject(obj: any) {\n this.stepObject = obj;\n }\n\n init() {\n this.service.ListarTodos('instituicao').subscribe(data => {\n this.listaDadosInstituicao = data;\n });\n this.service.ListarTodosCapacitadoraCombo().subscribe(data => {\n this.listaCapacitadora = data;\n });\n\n this.service.ListarTodos('cursoAcademico').subscribe(data => {\n this.listaArea = data\n });\n this.loadListAsEnum(this.listaTipoPosGraduacao, TipoPosGraduacao);\n\n this.cadastro.get('pos_graduacao.id_natureza').disable();\n if (this.acao === 'editar') {\n this.cadastro.get('pos_graduacao.data_fim').disable();\n }\n }\n\n afterInit() {\n this.cadastro.get('pos_graduacao.data_fim').valueChanges.subscribe(x => {\n let fim = new Date(this.cadastro.get('pos_graduacao.data_fim').value);\n this.service.temPendencia(x.getFullYear()).subscribe(pendencia => {\n\n this.service.obterPrazoPrestacaoProfissional(x.getFullYear()).subscribe((prazo: string) => {\n var foraDoPrazo: boolean = false;\n\n foraDoPrazo = this.ehProfissional && this.DataSemHora(new Date()) > this.DataSemHora(prazo);\n\n this.profissionalPodePrestarConta = true;\n\n let id_situacao = this.cadastro.get('pos_graduacao.id_situacao').value\n if (x && foraDoPrazo && !pendencia && (id_situacao != 13 && id_situacao != 14)) {\n const anoPrestacao = x.getFullYear();\n this.exibirPrestacaoForaDoPrazo(anoPrestacao);\n this.profissionalPodePrestarConta = false;\n this.cadastro.get('pos_graduacao.data_fim').setErrors({ error: `Prestação do ano ${anoPrestacao} já encerrada` });\n }\n else if (!dataFimLimite(fim)) {\n const exercicio: number = new Date().getFullYear();\n this.cadastro.get('pos_graduacao.data_fim').setErrors({ error: `A data fim não pode ser maior que o último dia do exercício vigente: 31/12/${exercicio}.` });\n super.showMsg('warn', 'Data Fim', `A data fim não pode ser maior que o último dia do exercício vigente: 31/12/${exercicio}.`);\n return;\n }\n\n });\n });\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.ListarTodos('natureza', { query: \"Pós Graduação\", data: this.cadastro.get('pos_graduacao.data_fim').value }).subscribe(data => {\n this.listaTipoAtividade = data;\n this.cadastro.get('pos_graduacao.id_natureza').enable();\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n });\n this.cadastro.get('pos_graduacao.radio_instituicao_capacitadora').valueChanges.subscribe(valor => {\n // tslint:disable-next-line: triple-equals\n if (valor == 1) {\n this.cadastro.get('pos_graduacao.id_instituicao').setValidators([Validators.required]);\n this.cadastro.get('pos_graduacao.id_instituicao').updateValueAndValidity();\n this.cadastro.get('pos_graduacao.id_capacitadora').clearValidators();\n this.cadastro.get('pos_graduacao.id_capacitadora').setValue(null);\n this.cadastro.get('pos_graduacao.id_capacitadora').updateValueAndValidity();\n } else {\n this.cadastro.get('pos_graduacao.id_capacitadora').setValidators([Validators.required]);\n this.cadastro.get('pos_graduacao.id_capacitadora').updateValueAndValidity();\n this.cadastro.get('pos_graduacao.id_instituicao').clearValidators();\n this.cadastro.get('pos_graduacao.id_instituicao').setValue(null)\n this.cadastro.get('pos_graduacao.id_instituicao').updateValueAndValidity();\n }\n })\n\n if (this.acao == \"editar\") {\n //Buscar Funcoes Exercidas pelo usuário logado\n this.service\n .ListarTodosGenerics(this.controllerName + \"/atividadeFuncaoExercida\")\n .subscribe((data) => {\n if (data) {\n this.cadastro.get(\"funcao_exercida_hipoteses\").setValue(data)\n }\n });\n }\n }\n\n afterLoad() {\n this.mostrarCodigo = true;\n this.cadastro.get('pos_graduacao').patchValue(this.obj);\n this.gerenciamentoPosGraduacao = this.obj;\n if (this.obj.anexo_gerenciar_atividade != null) {\n this.obj.anexo_gerenciar_atividade.forEach(x => {\n x.show = true;\n this.listaAnexos.push(x);\n });\n }\n this.listaConteudo = this.obj.conteudo_pos_graduacao;\n if (this.gerenciamentoPosGraduacao.id_instituicao != null) {\n this.cadastro.get('pos_graduacao.radio_instituicao_capacitadora').setValue(1);\n } else {\n this.cadastro.get('pos_graduacao.radio_instituicao_capacitadora').setValue(2);\n }\n\n this.obj.homologacao_pos_graduacao.map(item => {\n this.service.ListarTodos('resumoHomologacao', { query: item.id }).subscribe(\n data => {\n this.listaResumo = data;\n }\n );\n if(this.acao !== 'cadastrar') {\n this.service.ListarRelatores('listaRelatoresHomologacao', { query: item.id }).subscribe(\n data => {\n this.listaRelatores = data;\n }\n );\n }\n this.service.ListarPontuacaoHomologacao('homologacao-pos-graduacao', item.id, 'Comissão CFC').subscribe(retorno => {\n this.listaPntCFC = retorno;\n });\n this.service.ListarPontuacaoHomologacao('homologacao-pos-graduacao', item.id, 'Comissão CRC').subscribe(retorno => {\n this.listaPntCRC = retorno;\n });\n });\n }\n carregarObj() {\n this.gerenciamentoPosGraduacao = new GerenciamentoPosGraduacao(this.cadastro.get('pos_graduacao').value, this.listaAnexos, this.listaConteudo);\n }\n finalizar() {\n this.gerenciamentoPosGraduacao.id_lotacao = parseInt(localStorage.getItem('lotacao'));\n if (this.obj != null) {\n this.gerenciamentoPosGraduacao.data_cadastro = this.obj.data_cadastro;\n }\n this.doFinalAction(this.gerenciamentoPosGraduacao, this.controllerName);\n }\n\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-pos-graduacao/crud/crud.component.ts","module.exports = \"\\n\\n\\n \\n \\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-pos-graduacao/crud/etapa1/etapa1.component.html\n// module id = ./src/app/gerenciamento-pos-graduacao/crud/etapa1/etapa1.component.html\n// module chunks = main","import { RecursoFiltro } from \"app/entity/recurso-filtro.model\";\nimport { Component, Input, Output, EventEmitter } from \"@angular/core\";\nimport { BaseStepComponent } from \"../../../base\";\nimport { SelectItem } from \"primeng/primeng\";\nimport { ValidarData, dataFimLimite } from \"app/util/custom.validators\";\nimport { FuncaoExercidaHipoteses } from \"app/entity/funcao-exercida-hipoteses.model\";\n\n@Component({\n // tslint:disable-next-line: component-selector\n selector: \"gerenciamento-pos-graduacao-etapa1\",\n templateUrl: \"./etapa1.component.html\",\n})\nexport class GerenciamentoPosGraduacaoEtapa1Component extends BaseStepComponent {\n tipoDeAtividade = [\n { id: 1, tipo: \"Graduação\" },\n { id: 2, tipo: \"Pós-graduação\" },\n ];\n\n tipoAtividade: number;\n descricaoVisivel: boolean;\n descricaoSelecionada: string;\n funcaoExercidaLista: FuncaoExercidaHipoteses[] = [];\n\n mostrarDescricao(descricao: string) {\n this.descricaoSelecionada = descricao;\n this.descricaoVisivel = true;\n }\n\n validarTipoDeAtividade() {\n this.tipoAtividade = this.cadastro.get(\n \"pos_graduacao.tipo_atividade\"\n ).value;\n }\n\n @Input() mostrarCodigo: boolean;\n // tslint:disable-next-line: no-input-rename\n @Input(\"Anexos\") listaAnexos: any[];\n @Input() listaDadosInstituicao: SelectItem[];\n @Input() listaTipoAtividade: SelectItem[];\n @Input() listaResumo: any[];\n @Input() listaRelatores: any[];\n @Input() validateForm: any = false;\n @Input() listaTipoPosGraduacao: SelectItem[];\n @Input() listaConteudo: SelectItem[];\n @Input() listaArea: SelectItem[];\n\n @Output() listaAnexoChange = new EventEmitter();\n @Output() listaConteudoChange = new EventEmitter();\n @Output() carregarObj = new EventEmitter();\n @Output() stepObject: EventEmitter = new EventEmitter(true);\n @Output() validateFormChange = new EventEmitter();\n @Input() listaCapacitadora: any[] = [];\n @Input() cpf: string;\n @Input() justificativa: string;\n @Input() recursoFiltro: RecursoFiltro;\n userInteracted = false;\n\n init() {\n this.listaAnexoChange.emit(this.listaAnexos);\n this.stepObject.emit(this);\n this.emitValidation(true);\n }\n emitValidation(isInit = false) {\n this.cadastro.value.funcao_exercida_hipoteses = this.funcaoExercidaLista;\n if (this.cadastro.value.funcao_exercida_hipoteses == null) {\n this.cadastro.value.funcao_exercida_hipoteses = this.funcaoExercidaLista;\n }\n\n if (isInit) {\n this.validateForm = [];\n } else {\n const countListaArquivos = this.listaAnexos.length;\n const countListaConteudo = this.listaConteudo.length;\n const inicio = new Date(\n this.cadastro.get(\"pos_graduacao.data_inicio\").value\n );\n const fim = new Date(this.cadastro.get(\"pos_graduacao.data_fim\").value);\n if (!ValidarData(inicio, fim)) {\n super.showMsg(\n \"warn\",\n \"Pós-Graduação\",\n \"A data fim não pode ser menor que a data de início.\"\n );\n return;\n } else if (\n this.cadastro.get(\"pos_graduacao\").valid &&\n countListaArquivos > 0 &&\n countListaConteudo > 0 &&\n dataFimLimite(fim)\n ) {\n this.isValid = true;\n this.carregarObj.emit(this.cadastro);\n } else if (!dataFimLimite(fim)) {\n const exercicio: number = new Date().getFullYear();\n this.cadastro.get(\"pos_graduacao.data_fim\").setErrors({\n error: `A data fim não pode ser maior que o último dia do exercício vigente: 31/12/${exercicio}.`,\n });\n super.showMsg(\n \"warn\",\n \"Data Fim\",\n `A data fim não pode ser maior que o último dia do exercício vigente: 31/12/${exercicio}.`\n );\n return;\n } else {\n this.isValid = false;\n this.validateForm = [this.cadastro.get(\"pos_graduacao\")];\n if (countListaArquivos === 0) {\n // tslint:disable-next-line: max-line-length\n this.showMsgWarn(\n `O anexo de arquivos é obrigatório. Todos os arquivos deverão ser anexados de uma só vez.
`\n );\n } else if (countListaConteudo == 0) {\n this.showMsgWarn(`É necessario ao menos um conteúdo.
`);\n } else if (!this.cadastro.valid) {\n this.cadastro.markAsTouched();\n this.showMsg(\n \"warn\",\n \"Campos inválidos\",\n \"Verifique o preenchimento do formulário.\"\n );\n }\n }\n }\n setTimeout(() => this.validateFormChange.emit(this.validateForm), 0);\n this.isValidChange.emit(this.isValid);\n }\n\n onCalendarInteraction() {\n this.userInteracted = true;\n }\n onDataFimChange(event: any) {\n if (this.userInteracted) {\n this.cadastro.get('pos_graduacao.id_natureza').setValue(null);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-pos-graduacao/crud/etapa1/etapa1.component.ts","module.exports = \"\\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\\n \\n \\n
\\n \\n \\n {{ obj['titulo'] }}\\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 \\n
\\n\\n \\n\\n \\n \\n
\\n \\n \\n \\n
\\n\\n \\n \\n
\\n\\n \\n \\n \\n Conteúdo: \\n \\n {{ modal_obj?.titulo }} \\n
\\n \\n \\n Descrição: \\n \\n {{ modal_obj?.descricao }} \\n
\\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-pos-graduacao/crud/etapa2/etapa2.component.html\n// module id = ./src/app/gerenciamento-pos-graduacao/crud/etapa2/etapa2.component.html\n// module chunks = main","import { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Recurso } from './../../../entity/Recurso.model';\nimport { Component, Input } from '@angular/core';\nimport { BaseStepComponent } from '../../../base';\nimport { SelectItem } from 'primeng/primeng';\nimport { TipoPosGraduacao } from 'app/entity/enumeraveis';\n\n@Component({\n selector: 'gerenciamanento-pos-graduacao-etapa2',\n templateUrl: './etapa2.component.html'\n})\nexport class GerenciamentoPosGraduacaoEtapa2Component extends BaseStepComponent {\n\n @Input() gerenciamentoPosGraduacao: any;\n @Input() acao: string;\n @Input() listaResumo: any[];\n @Input() listaRelatores: any[];\n @Input() listaDadosInstituicao: SelectItem[];\n @Input() listaTipoAtividade: SelectItem[];\n @Input() mostrarCodigo: boolean;\n @Input() listaTipoPosGraduacao: SelectItem[];\n @Input() listaArea: SelectItem[];\n @Input() listaPntCFC: any[] = [];\n @Input() listaPntCRC: any[] = [];\n @Input() etapaHomologacao = 3;\n @Input() controladorGerenciamento = true;\n @Input() mostrarVisualizacao = true;\n @Input() listaCapacitadora: any[] = [];\n @Input() id: number;\n @Input() recurso: Recurso[] = [];\n @Input() recursoFiltro: RecursoFiltro;\n @Input() decisaoComissaoCrc: any;\n @Input() habilitaCamposPontuacao: boolean;\n @Input() disabledCheckbox: boolean;\n @Input() etapa: number;\n @Input() isHomologacao: boolean;\n\n tipoPosGraduacao = TipoPosGraduacao;\n displayConteudoModal = false;\n modal_obj: any;\n\n init() {\n this.toggleLoading(true);\n\n this.loadData('instituicao', 'listaDadosInstituicao');\n this.loadData('cursoAcademico', 'listaArea');\n this.loadData('natureza', 'listaTipoAtividade', { query: 'Pós Graduação' });\n\n if (this.id !== undefined) {\n this.loadRecursoData(this.id);\n }\n\n this.toggleLoading(false);\n }\n\n private loadData(endpoint: string, listProperty: string, params?: any) {\n if (this[listProperty] == undefined) {\n this.service.ListarTodos(endpoint, params).subscribe(data => {\n this[listProperty] = data;\n });\n }\n }\n\n private loadRecursoData(id: number) {\n this.service.Obter('gerenciamento-pos-graduacao/recursoList', id).subscribe(item => {\n this.recurso = item;\n });\n this.recursoFiltro.IdModel = id;\n }\n\n showDialog(obj: any) {\n this.displayConteudoModal = true;\n this.modal_obj = obj;\n }\n\n private toggleLoading(loading: boolean): void {\n this.observableUtilPanelDoc.setBlockedPanel(loading);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-pos-graduacao/crud/etapa2/etapa2.component.ts","module.exports = \"\\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 \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-pos-graduacao/gerenciamento-pos-graduacao.component.html\n// module id = ./src/app/gerenciamento-pos-graduacao/gerenciamento-pos-graduacao.component.html\n// module chunks = main","import { Component } from '@angular/core';\nimport { BaseListComponent } from '../base';\n\n@Component({\n selector: 'gerenciamento-pos-graduacao',\n templateUrl: './gerenciamento-pos-graduacao.component.html'\n})\nexport class GerenciamentoPosGraduacaoComponent extends BaseListComponent {\n\n controllerName = \"gerenciamento-pos-graduacao\";\n filtro = this.formBuilder.group({\n query: [null]\n });\n showNotificacao: boolean = false;\n\n init(){\n this.listagem.pDatatableComponent.sortOrder = 2;\n this.service.ObterTodos(`${this.controllerName}/obterSituacoesPosGraduacao`).subscribe(\n data => {\n if (data) {\n this.showNotificacao = true;\n }\n else {\n this.showNotificacao = false;\n }\n });\n this.carregarEstado();\n }\n \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-pos-graduacao/gerenciamento-pos-graduacao.component.ts","export * from './gerenciamento-pos-graduacao.component'\nexport * from './crud/crud.component'\nexport * from './crud/etapa1/etapa1.component'\nexport * from './crud/etapa2/etapa2.component'\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-pos-graduacao/index.ts","module.exports = \" \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n\\n \\n \\n
\\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-producao-intelectual/crud/crud.component.html\n// module id = ./src/app/gerenciamento-producao-intelectual/crud/crud.component.html\n// module chunks = main","import { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Component } from '@angular/core';\nimport { BaseCrudComponent } from '../../base';\nimport { Validators } from '@angular/forms';\nimport { GerenciamentoProducaoIntelectual } from '../../entity/gerenciamento-producao-intelectual.model';\nimport { dataFimLimite } from 'app/util/custom.validators';\nimport { SelectItem } from 'primeng/primeng';\n\n@Component({\n selector: 'gerenciamento-producao-intelectual-crud',\n templateUrl: './crud.component.html'\n})\nexport class GerenciamentoProducaoIntelectualCrudComponent extends BaseCrudComponent {\n hoje: Date = new Date();\n controllerName = 'gerenciamentoProducaoIntelectual';\n gerenciamentoProducaoIntelectual: GerenciamentoProducaoIntelectual;\n listaTipoAtividade: any[] = [];\n listaModalidade: any[] = [];\n listaAreaTematica: any[] = [];\n listaPais: any[] = [];\n listaAnexo: any[] = [];\n isValid: boolean = false;\n validateForm: any;\n stepObject: any;\n listaResumo: any[];\n listaRelatores: SelectItem[] = [];\n listaPntCFC: any[];\n listaPntCRC: any[];\n mostrarCodigo: boolean = false;\n controladorGerenciamento = false;\n recursoFiltro: RecursoFiltro = new RecursoFiltro();\n setStepObject(obj: any) {\n this.stepObject = obj;\n }\n\n init() {\n this.cadastro = this.formBuilder.group({\n id_natureza: [null, [Validators.required]],\n titulo: [null, [Validators.required, Validators.maxLength(100)]],\n data_fim: [null, [Validators.required]],\n id_area_tematica: [null, [Validators.required]],\n fonte: [null, [Validators.required]],\n observacao: [null, [, Validators.maxLength(4000)]],\n id_situacao: [2],\n codigo: [null],\n cpf: [null],\n id: [null]\n });\n this.service.ListarTodos('areaTematica').subscribe(data => {\n this.listaAreaTematica = data;\n });\n this.cadastro.get('id_natureza').disable();\n if (this.acao == 'editar') {\n this.cadastro.get('data_fim').disable();\n }\n }\n\n afterInit() {\n this.cadastro.get('data_fim').valueChanges.subscribe(x => {\n let fim = new Date(this.cadastro.get('data_fim').value);\n this.observableUtilPanelDoc.setBlockedPanel(true);\n\n this.verificarPrestacaoForaDoPrazo(x, this.cadastro);\n\n this.service.ListarTodos('natureza', { query: \"Produção Intelectual\", data: this.cadastro.get('data_fim').value }).subscribe(data => {\n this.listaTipoAtividade = data;\n this.cadastro.get('id_natureza').enable();\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n });\n }\n\n carregarObj(event: any) {\n this.gerenciamentoProducaoIntelectual = new GerenciamentoProducaoIntelectual(this.cadastro.value, this.listaAnexo);\n }\n afterLoad() {\n this.mostrarCodigo = true;\n this.gerenciamentoProducaoIntelectual = this.obj;\n if (this.obj.anexo_gerenciar_atividade != null) {\n this.obj.anexo_gerenciar_atividade.forEach(x => {\n x.show = true;\n this.listaAnexo.push(x);\n });\n }\n this.obj.homologacao_producao_intelectual.map(item => {\n if(this.acao !== 'cadastrar') {\n this.service.ListarRelatores('listaRelatoresHomologacao', { query: item.id }).subscribe(\n data => {\n this.listaRelatores = data;\n }\n );\n }\n this.service.ListarTodos(\"resumoHomologacao\", { query: item.id }).subscribe(\n data => {\n this.listaResumo = data;\n }\n );\n this.service.ListarPontuacaoHomologacao(\"homologacao-producao-intelectual\", item.id, \"Comissão CFC\").subscribe(retorno => {\n this.listaPntCFC = retorno;\n });\n this.service.ListarPontuacaoHomologacao(\"homologacao-producao-intelectual\", item.id, \"Comissão CRC\").subscribe(retorno => {\n this.listaPntCRC = retorno;\n });\n });\n }\n\n finalizar(event: any) {\n this.gerenciamentoProducaoIntelectual.id_lotacao = parseInt(localStorage.getItem('lotacao'));\n if (this.obj != null) {\n this.gerenciamentoProducaoIntelectual.data_cadastro = this.obj.data_cadastro;\n }\n this.doFinalAction(this.gerenciamentoProducaoIntelectual);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-producao-intelectual/crud/crud.component.ts","module.exports = \"\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-producao-intelectual/crud/etapa1/etapa1.component.html\n// module id = ./src/app/gerenciamento-producao-intelectual/crud/etapa1/etapa1.component.html\n// module chunks = main","import { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { BaseStepComponent } from '../../../base';\n\n@Component({\n // tslint:disable-next-line: component-selector\n selector: 'gerenciamento-producao-intelectual-etapa1',\n templateUrl: './etapa1.component.html'\n})\nexport class GerenciamentoProducaoIntelectualEtapa1Component extends BaseStepComponent {\n\n @Input() mostrarCodigo: boolean;\n @Input() listaTipoAtividade: any[] = [];\n @Input() listaResumo: any[] = [];\n @Input() listaRelatores: any[];\n @Input() listaAreaTematica: any[] = [];\n @Output() carregarObj = new EventEmitter();\n @Input() listaAnexo: any[] = [];\n @Input() isValid = false;\n @Output() isValidChange: EventEmitter = new EventEmitter();\n @Output() stepObject: EventEmitter = new EventEmitter(true);\n @Input() validateForm: any = false;\n @Output() validateFormChange = new EventEmitter();\n @Input() cpf: string;\n @Input() recursoFiltro: RecursoFiltro;\n userInteracted = false;\n\n init() {\n this.stepObject.emit(this);\n this.emitValidation(true);\n }\n emitValidation(isInit = false) {\n if (isInit) {\n this.validateForm = [];\n } else {\n const countListaArquivos = this.listaAnexo.length;\n if (this.cadastro.valid && countListaArquivos > 0) {\n this.isValid = true;\n this.carregarObj.emit(this.cadastro);\n } else {\n this.isValid = false;\n this.validateForm = [this.cadastro];\n if (countListaArquivos == 0) {\n // tslint:disable-next-line: max-line-length\n super.showMsg('warn', 'Mensagem de Aviso', `O anexo de arquivos é obrigatório. Todos os arquivos deverão ser anexados de uma só vez.
`);\n } else if (!this.cadastro.valid) {\n this.cadastro.markAsTouched();\n }\n }\n }\n setTimeout(() => this.validateFormChange.emit(this.validateForm), 0);\n this.isValidChange.emit(this.isValid);\n\n }\n onCalendarInteraction() {\n this.userInteracted = true;\n }\n onDataFimChange(event: any) {\n if (this.userInteracted) {\n this.cadastro.get('id_natureza').setValue(null);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-producao-intelectual/crud/etapa1/etapa1.component.ts","module.exports = \"\\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 \\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\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-producao-intelectual/crud/etapa2/etapa2.component.html\n// module id = ./src/app/gerenciamento-producao-intelectual/crud/etapa2/etapa2.component.html\n// module chunks = main","import { SelectItem } from 'primeng/primeng';\nimport { RecursoFiltro } from 'app/entity/recurso-filtro.model';\nimport { Component, OnInit, Input } from '@angular/core';\nimport { BaseStepComponent } from '../../../base';\nimport { Recurso } from 'app/entity/Recurso.model';\n\n@Component({\n selector: 'gerenciamento-producao-intelectual-etapa2',\n templateUrl: './etapa2.component.html'\n})\nexport class GerenciamentoProducaoIntelectualEtapa2Component extends BaseStepComponent {\n @Input() gerenciamentoProducaoIntelectual: any\n @Input() acao: string;\n @Input() listaResumo: any[];\n @Input() listaRelatores: any[];\n @Input() listaTipoAtividade: SelectItem[] = [];\n @Input() listaAreaTematica: any[] = [];\n @Input() listaPntCFC: any[] = [];\n @Input() listaPntCRC: any[] = [];\n @Input() etapaHomologacao: number = 3;\n @Input() controladorGerenciamento = true;\n @Input() recurso: Recurso[] = [];\n @Input() id: number;\n @Input() recursoFiltro: RecursoFiltro;\n @Input() decisaoComissaoCrc: any;\n @Input() habilitaCamposPontuacao: boolean;\n @Input() disabledCheckbox: boolean;\n @Input() etapa: number;\n @Input() isHomologacao: boolean;\n\n init() {\n if (this.listaAreaTematica == undefined) {\n this.service.ListarTodos('areaTematica').subscribe(data => {\n this.listaAreaTematica = data;\n });\n }\n if (this.listaTipoAtividade == undefined) {\n this.service.ListarTodos('natureza', { query: 'Produção Intelectual' }).subscribe(data => {\n this.listaTipoAtividade = data;\n });\n }\n if (this.id !== undefined) {\n this.service.Obter('gerenciamentoProducaoIntelectual/recursoList', this.id).subscribe(item => {\n this.recurso = item;\n });\n this.recursoFiltro.IdModel = this.id;\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-producao-intelectual/crud/etapa2/etapa2.component.ts","module.exports = \"\\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\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/gerenciamento-producao-intelectual/gerenciamento-producao-intelectual.component.html\n// module id = ./src/app/gerenciamento-producao-intelectual/gerenciamento-producao-intelectual.component.html\n// module chunks = main","import { Component, OnInit } from '@angular/core';\nimport { BaseListComponent } from '../base';\n\n@Component({\n selector: 'gerenciamento-producao-intelectual',\n templateUrl: './gerenciamento-producao-intelectual.component.html'\n})\nexport class GerenciamentoProducaoIntelectualComponent extends BaseListComponent {\n controllerName = 'gerenciamentoProducaoIntelectual'\n filtro = this.formBuilder.group({\n query:[null]\n });\n showNotificacao: boolean = false;\n\n init(){\n \n this.service.ObterTodos(`${this.controllerName}/obterSituacoesProducaoIntelectual`).subscribe(\n data => {\n if (data) {\n this.showNotificacao = true;\n }\n else {\n this.showNotificacao = false;\n }\n });\n this.listagem.pDatatableComponent.sortOrder = 2;\n this.carregarEstado();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-producao-intelectual/gerenciamento-producao-intelectual.component.ts","export * from './gerenciamento-producao-intelectual.component'\nexport * from './crud/crud.component'\nexport * from './crud/etapa1/etapa1.component'\nexport * from './crud/etapa2/etapa2.component'\n\n\n// WEBPACK FOOTER //\n// ./src/app/gerenciamento-producao-intelectual/index.ts","module.exports = \"\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/instrutor/crud/etapas/instrutor-etapa1.component.html\n// module id = ./src/app/instrutor/crud/etapas/instrutor-etapa1.component.html\n// module chunks = main","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseStepComponent } from \"../../../base/base-step.component\";\nimport { Helpers } from '../../../util/helpers';\n\n@Component({\n selector: 'instrutor-etapa1',\n templateUrl: './instrutor-etapa1.component.html',\n})\nexport class CrudInstrutorEtapa1Component extends BaseStepComponent {\n cpf: any;\n uploadedFilesTemp: any[];\n\n @Input() listaFormacaoAcademico: any[] = [];\n @Input() listaCursos: SelectItem[] = [];\n @Input() uploadedFiles: any[] = [];\n @Input() listaFormacaoInstrutor: any[] = [];\n @Input() isCPF: boolean;\n\n @Input() validateForm: any = false;\n @Output() validateFormChange = new EventEmitter();\n @Output() stepObject: EventEmitter = new EventEmitter(true);\n registroEpcMask: any;\n isBuscou: boolean = false;\n\n @Output() listaFormacaoInstrutorChange = new EventEmitter();\n @Output() uploadedFilesChange = new EventEmitter();\n init() {\n\n this.registroEpcMask = { mask: Helpers.registroMask, keepCharPositions: true };\n if (this.uploadedFiles.length > 0) {\n this.uploadedFilesTemp = [];\n this.uploadedFiles.forEach(i => {\n i.show = true;\n this.uploadedFilesTemp.push(i);\n });\n this.uploadedFiles = [];\n this.uploadedFiles = this.uploadedFilesTemp;\n }\n this.uploadedFilesChange.emit(this.uploadedFiles);\n\n this.stepObject.emit(this);\n this.emitValidation(true);\n\n }\n selecionaArquivo(event) {\n for (const file of event.files) {\n if (file.name.match(/.pdf/) || file.name.match(/.jpg/) || file.name.match(/.png/)) {\n this.IncluirArquivo(file, this.uploadedFiles, this.uploadedFilesChange, { id_instrutor: 0, tipo: 1 })\n }\n }\n }\n buscaBack(event: any) {\n this.cpf = this.limpaCaracterEspecial(this.cadastro.get('instrutor.cpf').value);\n this.cadastro.get('instrutor.registro_profissional').reset();\n this.cadastro.get('instrutor.nome').reset();\n if (this.cpf.length == 11) {\n this.service.Obter(\"instrutor/pesquisarPorCpf\", this.cpf).subscribe(data => {\n this.cadastro.get('instrutor.nome').setValue(data.nome);\n this.cadastro.get('instrutor.nome').disable();\n this.cadastro.get('instrutor.registro_profissional').setValue(data.numero_registro);\n this.isBuscou = true;\n }, err => super.showMsg('Busca', 'Mensagem de alerta', `${err._body}`))\n }\n }\n limpar(event: any) {\n this.cadastro.get('instrutor.cpf').reset();\n this.cadastro.get('instrutor.registro_profissional').reset();\n this.cadastro.get('instrutor.nome').reset();\n this.cadastro.get('instrutor.nome').enable();\n this.isBuscou = false;\n }\n\n removeElementList(value: any) {\n this.uploadedFiles.forEach((item, index) => {\n if (item.nome_arquivo === value.file.name && item.id < 1) {\n super.removeFromList(this.uploadedFiles, this.uploadedFilesChange, index, 'anexos');\n }\n })\n }\n\n emitValidation(isInit = false) {\n if (isInit) {\n this.validateForm = [];\n } else {\n if (this.cadastro.get('instrutor').valid && this.uploadedFiles.length > 0 && this.listaFormacaoInstrutor.length > 0) {\n this.isValid = true;\n }\n else {\n this.isValid = false;\n this.validateForm = [this.cadastro.get('instrutor')];\n if (this.uploadedFiles.length == 0) {\n this.showMsgWarn(`O anexo de arquivos é obrigatório. Todos os comprovantes deverão ser anexados de uma só vez.
`);\n }\n if (this.listaFormacaoInstrutor.length == 0) {\n this.showMsgWarn(`É obrigatório ao menos uma formação acadêmica.
`);\n }\n\n }\n\n }\n\n setTimeout(() => this.validateFormChange.emit(this.validateForm), 0);\n this.isValidChange.emit(this.isValid);\n }\n\n salvarListaTurma(event) {\n this.addToList(this.listaFormacaoInstrutor, this.listaFormacaoInstrutorChange,\n this.cadastro, event,\n { formacao_instrutor: this.cadastro.get('formacao_instrutor').value });\n this.listaFormacaoInstrutor = this.listaFormacaoInstrutor.map(item => {\n if (item.id === null) {\n return item;\n }\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/instrutor/crud/etapas/instrutor-etapa1.component.ts","module.exports = \"\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/instrutor/crud/etapas/instrutor-etapa2.component.html\n// module id = ./src/app/instrutor/crud/etapas/instrutor-etapa2.component.html\n// module chunks = main","import { Component, Input } from '@angular/core';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseStepComponent } from \"../../../base/base-step.component\";\n\n@Component({\n selector: 'instrutor-etapa2',\n templateUrl: './instrutor-etapa2.component.html',\n})\nexport class CrudInstrutorEtapa2Component extends BaseStepComponent {\n\n @Input() listaCursos: SelectItem[] = []\n @Input() uploadedFiles: any[] = [];\n @Input() listaFormacaoAcademico: any[] = [];\n @Input() listaFormacaoInstrutor: any [] = [];\n\n\n init() {\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/instrutor/crud/etapas/instrutor-etapa2.component.ts","module.exports = \" \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n\\n \\n \\n
\\n \\n\\n\\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/instrutor/crud/instrutor-crud.component.html\n// module id = ./src/app/instrutor/crud/instrutor-crud.component.html\n// module chunks = main","import { Component } from '@angular/core';\nimport { Validators } from '@angular/forms';\nimport { SelectItem } from 'primeng/primeng';\nimport { Instrutor } from \"../../entity/instrutor.model\";\nimport { BaseCrudComponent } from 'app/base';\nimport { AnexoInstrutor } from '../../entity/curriculo-instrutor.models';\nimport { ValidCpfORCnpj } from '../../util/custom.validators';\nimport { Situacoes } from '../../entity/enumeraveis';\n\n@Component({\n selector: 'instrutor-crud',\n templateUrl: 'instrutor-crud.component.html'\n})\n\nexport class CrudInstrutorComponent extends BaseCrudComponent {\n controllerName = 'instrutor';\n instrutor: Instrutor = new Instrutor();\n listaFormacaoAcademico: SelectItem[] = [];\n listaFormacaoAcademicoCompleto: SelectItem[] = [];\n listaCursos: SelectItem[] = [];\n listaCursosCompleto: SelectItem[] = [];\n uploadedFiles: any[] = [];\n listaFormacaoInstrutor: any[] = [];\n countListaArquivos: any[] = [];\n anexo_instrutor: AnexoInstrutor;\n validateForm: any = false;\n isValid: boolean = false;\n stepObject: any;\n isCPF: boolean = true;\n modalTermoAceiteLGPD: boolean = false;\n\n setStepObject(obj: any) {\n this.stepObject = obj;\n }\n\n init() {\n this.cadastro = this.formBuilder.group({\n instrutor: this.formBuilder.group({\n nome: [null, [Validators.required, Validators.maxLength(100)]],\n cpf: [null, [Validators.required, ValidCpfORCnpj, Validators.maxLength(20)]],\n passaporte: [null, [Validators.maxLength(100)]],\n id: [null],\n registro_profissional: [null],\n tipo_documento: [1, [Validators.required]],\n flg_termoLGPD: [null]\n }),\n formacao_instrutor: this.formBuilder.group({\n id_area: [null, [Validators.required]],\n id_formacao_academica: [null, [Validators.required]],\n curso: [null, [Validators.required, Validators.maxLength(255)]],\n id_instrutor: [null],\n }),\n anexo_instrutor: this.formBuilder.group({\n id_anexo: [null, [Validators.required]],\n id_instrutor: [null, [Validators.required]],\n id: [null]\n\n })\n });\n this.service.ListarTodos('cursoAcademico').subscribe(data => {\n this.listaCursosCompleto = data;\n this.listaCursos = data.filter(a => a.id_situacao == Situacoes.Ativo);\n })\n this.service.ListarTodos('formacao-academica').subscribe(data => {\n this.listaFormacaoAcademicoCompleto = data;\n this.listaFormacaoAcademico = data.filter(a => a.id_situacao == Situacoes.Ativo);\n });\n\n this.cadastro.get('instrutor.tipo_documento').valueChanges.subscribe(\n data => {\n if (data == 1) {\n this.cadastro.get('instrutor.cpf').setValidators([Validators.required, ValidCpfORCnpj, Validators.maxLength(20)]);\n this.cadastro.get('instrutor.passaporte').setValidators(null);\n this.isCPF = true;\n this.cadastro.get('instrutor.passaporte').reset();\n }\n else {\n this.cadastro.get('instrutor.passaporte').setValidators([Validators.required, Validators.maxLength(100)]);\n this.cadastro.get('instrutor.cpf').setValidators(null);\n this.cadastro.get('instrutor.cpf').reset();\n this.isCPF = false;\n }\n }\n );\n }\n\n afterLoad() {\n console.log(this.obj);\n this.cadastro.get('instrutor').patchValue(this.obj);\n if (this.obj.tipo_documento == 1)\n this.cadastro.get('instrutor.cpf').setValue(this.obj.cpf_passaporte);\n else\n this.cadastro.get('instrutor.passaporte').setValue(this.obj.cpf_passaporte);\n\n this.cadastro.get('formacao_instrutor').patchValue(this.obj.formacao_academica_instrutor);\n this.listaFormacaoInstrutor = this.obj.formacao_academica_instrutor;\n if (this.obj.anexo_instrutor != null) {\n this.obj.anexo_instrutor.forEach(x => {\n x.show = true;\n this.uploadedFiles.push(x);\n });\n }\n }\n finalizar(event: any) {\n this.instrutor.anexo_instrutor = [];\n if (this.cadastro.get('instrutor.tipo_documento').value == 1)\n this.instrutor.cpf_passaporte = this.limpaCaracterEspecial(this.cadastro.value.instrutor.cpf);\n else\n this.instrutor.cpf_passaporte = this.limpaCaracterEspecial(this.cadastro.value.instrutor.passaporte);\n this.instrutor.registro_profissional = this.cadastro.value.instrutor.registro_profissional;\n this.instrutor.nome = this.cadastro.get('instrutor.nome').value;\n if (this.cadastro.value.instrutor.id == null) {\n this.instrutor.id = 0;\n } else {\n this.instrutor.id = this.cadastro.value.instrutor.id;\n }\n this.instrutor.tipo_documento = this.cadastro.get('instrutor.tipo_documento').value;\n this.instrutor.flg_termoLGPD = this.cadastro.get('instrutor.flg_termoLGPD').value;\n\n this.instrutor.anexo_instrutor = [];\n this.uploadedFiles.forEach(item => {\n this.instrutor.anexo_instrutor.push(item);\n });\n this.instrutor.formacao_academica_instrutor = this.listaFormacaoInstrutor.map(item => {\n item.id_instrutor = this.instrutor.id;\n return item;\n });\n \n if (!this.instrutor.flg_termoLGPD){\n this.modalTermoAceiteLGPD = true; \n }\n else{\n this.doFinalAction(this.instrutor);\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/instrutor/crud/instrutor-crud.component.ts"," export * from './instrutor.component';\n export * from './crud/instrutor-crud.component';\n export * from './crud/etapas/instrutor-etapa1.component';\n export * from './crud/etapas/instrutor-etapa2.component';\n\n\n// WEBPACK FOOTER //\n// ./src/app/instrutor/index.ts","module.exports = \"\\n \\n \\n \\n \\n \\n\\n\\n \\n \\n
\\n \\n \\n \\n \\n {{obj[col.field] | cpfMask }}\\n
\\n \\n {{obj[col.field] | uppercase }}\\n \\n \\n \\n \\n
\\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/instrutor/instrutor.component.html\n// module id = ./src/app/instrutor/instrutor.component.html\n// module chunks = main","import { Component } from '@angular/core';\nimport { SelectItem } from 'primeng/primeng';\nimport { Instrutor } from '../entity/instrutor.model';\nimport { BaseListComponent } from \"../base/base-list.component\";\n\n@Component({\n selector: 'instrutor',\n templateUrl: './instrutor.component.html',\n})\nexport class InstrutorComponent extends BaseListComponent {\n controllerName = 'instrutor';\n filtro = this.formBuilder.group({\n query:[null]\n });\n query: string;\n algo:any;\n\n init(){\n this.listagem.pDatatableComponent.sortOrder = 2;\n this.carregarEstado();\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/instrutor/instrutor.component.ts","module.exports = \" \\n\\n \\n \\n \\n \\n \\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/modulos/crud/modulos-crud.component.html\n// module id = ./src/app/modulos/crud/modulos-crud.component.html\n// module chunks = main","module.exports = \".dados {\\n width: 100%;\\n height: 100%;\\n display: -webkit-box;\\n display: -ms-flexbox;\\n display: flex;\\n -webkit-box-align: center;\\n -ms-flex-align: center;\\n align-items: center;\\n -webkit-box-pack: center;\\n -ms-flex-pack: center;\\n justify-content: center; }\\n\\n.spinner {\\n -webkit-animation: rotator 1.4s linear infinite;\\n animation: rotator 1.4s linear infinite;\\n width: 130px;\\n height: 130px; }\\n\\n@-webkit-keyframes rotator {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg); }\\n 100% {\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg); } }\\n\\n@keyframes rotator {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg); }\\n 100% {\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg); } }\\n\\n.path {\\n stroke-dasharray: 187;\\n stroke-dashoffset: 0;\\n -webkit-transform-origin: center;\\n transform-origin: center;\\n -webkit-animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite;\\n animation: dash 1.4s ease-in-out infinite, colors 5.6s ease-in-out infinite; }\\n\\n@-webkit-keyframes colors {\\n 0% {\\n stroke: #b78c1c; }\\n 25% {\\n stroke: #0e3e67; }\\n 50% {\\n stroke: #b78c1c; }\\n 75% {\\n stroke: #0e3e67; }\\n 100% {\\n stroke: #b78c1c; } }\\n\\n@keyframes colors {\\n 0% {\\n stroke: #b78c1c; }\\n 25% {\\n stroke: #0e3e67; }\\n 50% {\\n stroke: #b78c1c; }\\n 75% {\\n stroke: #0e3e67; }\\n 100% {\\n stroke: #b78c1c; } }\\n\\n@-webkit-keyframes dash {\\n 0% {\\n stroke-dashoffset: 187; }\\n 50% {\\n stroke-dashoffset: 46.75;\\n -webkit-transform: rotate(135deg);\\n transform: rotate(135deg); }\\n 100% {\\n stroke-dashoffset: 187;\\n -webkit-transform: rotate(450deg);\\n transform: rotate(450deg); } }\\n\\n@keyframes dash {\\n 0% {\\n stroke-dashoffset: 187; }\\n 50% {\\n stroke-dashoffset: 46.75;\\n -webkit-transform: rotate(135deg);\\n transform: rotate(135deg); }\\n 100% {\\n stroke-dashoffset: 187;\\n -webkit-transform: rotate(450deg);\\n transform: rotate(450deg); } }\\n\\n::ng-deep .ui-dialog {\\n width: 650px; }\\n\\n@media only screen and (max-width: 768px) {\\n ::ng-deep .ui-dialog {\\n width: 90%; }\\n ::ng-deep .ui-dialog img {\\n width: 100%; } }\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/modulos/crud/modulos-crud.component.scss\n// module id = ./src/app/modulos/crud/modulos-crud.component.scss\n// module chunks = main","import { AfterContentChecked, Component, OnInit } from '@angular/core';\nimport { EventEmitterService } from 'app/util/emitter-service/emitter-service';\nimport { EVENT_MSGS_UPDATE } from 'app/util/emitter-service/nome-evento';\nimport { bObservableUsuario, ObservableLotacao } from 'app/util/observable-util';\nimport { Message } from 'primeng/primeng';\n\nimport { environment } from '../../../environments/environment';\nimport { PadraoService } from '../../service/padrao.service';\n\n@Component({\n selector: 'modulos-crud',\n templateUrl: 'modulos-crud.component.html',\n styleUrls: ['./modulos-crud.component.scss']\n})\nexport class ModulosComponent implements OnInit, AfterContentChecked {\n\n contentCheck: number = 0;\n blockedPanel: boolean = true;\n sistemas: Array = [];\n msgs: Message[] = [];\n count: number = 0;\n\n constructor(\n public service: PadraoService,\n private usuarioSessao: bObservableUsuario,\n private lotacaoService: ObservableLotacao) {\n\n if (localStorage.getItem('token') != null) {\n\n this.usuarioSessao.getValue.subscribe(data => {\n if (data) {\n let usuario = data.obj\n let listaLotacao = usuario.lotacaoDTO\n if (listaLotacao == undefined) {\n window.location.href = `${environment.apiEndpoint}/api/Autenticar/login`\n } else {\n //const uniqueSet: Array = [];\n listaLotacao.find(x => x.id == localStorage.getItem('lotacao')).perfilDTO.forEach(e => {\n this.sistemas.push(e.sistemaDTO.id);\n });\n const uniqueSet = new Set(this.sistemas);\n this.sistemas = [];\n uniqueSet.forEach(element => {\n this.service.Obter('api/autenticar/obterSistemas', element).subscribe(obj => {\n if (obj) {\n this.sistemas.push(obj);\n }\n });\n });\n }\n }\n })\n }\n }\n\n ngOnInit() {\n if (sessionStorage.getItem('msg') !== null) {\n this.showMsg('success', 'Mensagem de Sucesso', sessionStorage.getItem('msg'))\n }\n sessionStorage.removeItem('msg');\n }\n\n ngAfterContentChecked() {\n if (this.contentCheck++ > 10) {\n this.blockedPanel = false;\n }\n }\n\n showMsg(severity: string, summary: string, detail: string) {\n this.msgs = [];\n this.msgs.push({ severity: severity, summary: summary, detail: detail });\n EventEmitterService.get(EVENT_MSGS_UPDATE).emit(this.msgs);\n }\n clickSistem(link: string) {\n window.location.href = link\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/modulos/crud/modulos-crud.component.ts","export * from './crud/modulos-crud.component';\n\n\n// WEBPACK FOOTER //\n// ./src/app/modulos/index.ts","module.exports = \" \\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\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/prestacao-conta/crud/crud-prestacao-conta.component.html\n// module id = ./src/app/prestacao-conta/crud/crud-prestacao-conta.component.html\n// module chunks = main","import { Component } from '@angular/core';\nimport { BasePrestacaoContaComponent } from 'app/base';\nimport { Validators } from '@angular/forms';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseCrudComponent } from 'app/base';\nimport { MenuItem } from 'primeng/components/common/menuitem';\nimport { GrupoAtividade } from '../../entity/enumeraveis';\nimport { PrestacaoConta } from 'app/entity/prestacao-conta.model';\nimport * as FileSaver from 'file-saver';\nimport { cabecalho } from '../../entity/cabecalho-prestacao-conta.model';\nimport { gridSomatorio } from 'app/entity/grid-Somatorio-prestacao-conta.mode';\nimport { ResultadoPrestacaoConta } from '../../entity/resultado-prestacao-conta.model';\nimport { ResultadoPrestacaoContaPontuacao } from 'app/entity/resultado-prestacao-conta-pontuacao.model';\nimport { FuncaoExercidaPrestacaoConta } from '../../entity/funcao-exercida_prestacao_conta.model';\n\n\n@Component({\n selector: 'crud-prestacao-conta.component',\n templateUrl: 'crud-prestacao-conta.component.html'\n})\n\nexport class CrudPrestacaoContaComponent extends BasePrestacaoContaComponent {\n objView: any;\n validateForm: any = false;\n\n isValid: boolean = false;\n stepObject: any;\n todasHipoteses: any[];\n cabecalhoSomatorio: cabecalho[] = [];\n ano: number = 0;\n\n listaPontuacao: any[] = [];\n listaPontuacaoTotal: gridSomatorio[] = [];\n listaResutadoFinal: gridSomatorio[] = [];\n\n profissional: any;\n\n setStepObject(obj: any) {\n this.stepObject = obj;\n }\n etapas: MenuItem[] = [\n { label: 'Dados Pessoais' },\n { label: 'Atividades' },\n { label: 'Resumo' }\n ];\n cadastro = this.formBuilder.group({\n etapa1: this.formBuilder.group({\n funcao_hipotese: this.formBuilder.group({\n id_funcao_exercida: [null, [Validators.required]],\n id_hipoteses: [null, [Validators.required]],\n }),\n id: [null],\n id_situacao: [16, [Validators.required]],\n id_profissionais: [null],\n data_cadastro: [null]\n }),\n etapa3: this.formBuilder.group({\n aceite: [false, [Validators.required]]\n })\n });\n\n hipoteses: SelectItem[] = [];\n hipotesesLabel: string = '';\n\n init() {\n this.service.ListarTodos('hipoteses').subscribe(data => this.todasHipoteses = data);\n this.service.ListarTodos('combo/funcaoExercida').subscribe(data => this.funcaoExercida = data.filter(x => x.data_exclusao == null));\n this.cadastro.get('etapa1.funcao_hipotese.id_hipoteses').disable({ onlySelf: true, emitEvent: true });\n this.cadastro.get('etapa1.funcao_hipotese.id_funcao_exercida').valueChanges.subscribe(data => {\n if (data !== undefined && data !== null && data !== \"\") {\n this.service.ListarTodos('hipoteses', { id_funcao_exercida: data }).subscribe(data => this.hipoteses = data);\n this.cadastro.get('etapa1.funcao_hipotese.id_hipoteses').setValue(null);\n this.cadastro.get('etapa1.funcao_hipotese.id_hipoteses').enable();\n }\n });\n this.cabecalhoSomatorio.push({ header: \"Função Exercida\", field: \"id_funcao_exercida\" });\n this.activatedRoute.params.subscribe(params => {\n let id = params['id'];\n this.service.ListarTodosGenerics(\"pontuacao/listarPorExercicio\", { id: id }).subscribe(retorno => {\n retorno.forEach(item => {\n let items = new cabecalho;\n items.header = item.sigla;\n items.field = item.id;\n let contem = this.cabecalhoSomatorio.find(x => x.field == items.field);\n if (contem == undefined) {\n this.cabecalhoSomatorio.push(items);\n }\n });\n });\n\n this.service.ObterTodos('prestacaoConta/buscarTelefonesPrestacao', { idPrestacao: id }).subscribe(x => {\n this.listaTelefones = x;\n })\n\n this.service.ObterTodos('prestacaoConta/buscarEnderecosPrestacao', { idPrestacao: id }).subscribe(x => {\n this.listaEnderecos = x;\n })\n\n this.service.ObterTodos('prestacaoConta/buscarEmailsPrestacao', { idPrestacao: id }).subscribe(x => {\n this.listaEmails = x;\n })\n });\n }\n afterLoad() {\n if (this.obj != undefined) {\n\n //this.verificarAptoPrestarConta();\n\n this.observableUtilPanelDoc.setBlockedPanel(true);\n this.service.Obter(this.controllerName + \"/pesquisarPorCpf\", this.obj.cpf).subscribe(retorno => {\n this.profissional = retorno;\n this.observableUtilPanelDoc.setBlockedPanel(false);\n });\n this.idEditar = this.obj.id;\n this.ano = this.obj.exercicio;\n this.listaFuncao = this.obj.funcao_exercida_prestacao_conta;\n\n // Carrega dados da Aba Atividades\n this.service.ServicoPrestacaoConta(this.controllerName + \"/listarPrestacaoConta\", this.idEditar, null, this.listaFuncao).subscribe(retorno => {\n this.listaDocencia = retorno.pontuacaoTodasAtividadeDoProfissional.filter(x => x.id_grupo_atividade == GrupoAtividade.Docencia);\n this.listaSomatorioDocencia = retorno.somatorioDocencia;\n this.listaAquisicaoConhecimento = retorno.pontuacaoTodasAtividadeDoProfissional.filter(x => x.id_grupo_atividade == GrupoAtividade.Aquisição_de_conhecimento);\n this.listaSomatorioAquisicaoConhecimento = retorno.somatorioAquisicaoConhecimento;\n\n this.listaAtuacaoComoParticipante = retorno.pontuacaoTodasAtividadeDoProfissional.filter(x => x.id_grupo_atividade == GrupoAtividade.Atuação_como_participante);\n this.listaSomatorioAtuacaoComoParticipante = retorno.somatorioAtuacaoComoParticipante;\n\n this.listaProducaoIntelectual = retorno.pontuacaoTodasAtividadeDoProfissional.filter(x => x.id_grupo_atividade == GrupoAtividade.Producao_Intelectual);\n this.listaSomatorioProducaoIntelectual = retorno.somatorioProducaoIntelectual;\n this.listaSomatorioTotal = retorno.somatorioTotal;\n });\n }\n }\n\n//Comentado pois é uma regra que provavelmente vai voltar\n // verificarAptoPrestarConta() {\n // if (this.acao === 'editar' && this.ehProfissional &&\n // (this.obj.exercicio == 2019 || this.obj.exercicio == 2020) &&\n // this.DataSemHora(new Date()) > this.DataSemHora(new Date(2021, 3, 31))) {\n // this.showMsgWarn(`A data limite para prestar contas do ano de ${this.obj.exercicio} é 31/03/2021`);\n // this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n // }\n // else if (this.acao === 'editar' && this.ehProfissional &&\n // (this.obj.exercicio != 2019 && this.obj.exercicio != 2020) &&\n // this.DataSemHora(new Date()) > this.DataSemHora(new Date(this.obj.anoExercicio + 1, 1, 31))) {\n // this.showMsgWarn(`A data limite para prestar contas do ano de ${this.obj.exercicio} é 31/01/${this.obj.exercicio + 1}`);\n // this.router.navigate(['../../'], { relativeTo: this.activatedRoute });\n // }\n // }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/prestacao-conta/crud/crud-prestacao-conta.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/prestacao-conta/crud/etapas/prestacao-conta-etapa1.component.html\n// module id = ./src/app/prestacao-conta/crud/etapas/prestacao-conta-etapa1.component.html\n// module chunks = main","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { SelectItem } from 'primeng/primeng';\nimport { BaseStepComponent } from 'app/base';\nimport { TelefoneTipo, Hipoteses, EnderecoTipo } from '../../../entity/enumeraveis';\n\n@Component({\n selector: 'prestacao-conta-etapa1',\n templateUrl: './prestacao-conta-etapa1.component.html',\n})\nexport class CrudPrestacaoContaEtapa1Component extends BaseStepComponent {\n @Input() listaTelefones: any[] = [];\n @Input() listaEmails: any[] = [];\n @Input() listaEnderecos: any[] = [];\n @Input() funcaoExercida: SelectItem[] = [];\n @Input() listaFuncao: any[] = [];\n @Input() hipoteses: SelectItem[] = [];\n @Input() hipotesesLabel: string;\n @Input() validateForm: any = false;\n @Input() todasHipoteses: any[];\n @Input() profissional: any;\n @Output() validateFormChange = new EventEmitter();\n @Output() listaTelefonesChange = new EventEmitter();\n @Output() stepObject: EventEmitter = new EventEmitter(true);\n @Output() listaFuncaoChange = new EventEmitter(true);\n @Output() hipotesesLabelChange = new EventEmitter();\n labelEndereco = \"Endereços secundários\";\n labelTelefone = \"Telefones secundários\";\n labelEmail = \"Emails secundários\";\n hipotesesEnum = Hipoteses;\n telefoneTipo = TelefoneTipo;\n listaTipoLogradouro: any[];\n enderecoTipo = EnderecoTipo;\n listaUF: any[];\n\n init() {\n this.stepObject.emit(this);\n this.service.ListarTodos('combo/tipo_logradouro').subscribe(\n data => this.listaTipoLogradouro = data\n );\n this.emitValidation(true);\n\n this.hipotesesLabel = this.hipotesesEnum[0];\n\n this.cadastro.get(\"funcao_hipotese.id_funcao_exercida\").valueChanges.subscribe(data => {\n this.hipotesesLabel = this.hipotesesEnum[data];\n this.hipotesesLabelChange.emit(this.hipotesesLabel);\n });\n }\n\n emitValidation(isInit = false) {\n if (isInit) {\n this.validateForm = [];\n }\n else {\n if (this.listaFuncao.length > 0) {\n this.isValid = true;\n } else {\n this.isValid = false;\n this.validateForm = [this.cadastro.get(\"funcao_hipotese\")];\n this.showMsg('warn', 'Prestação de conta', 'É necessário informar ao menos uma Função Exercida.');\n }\n }\n setTimeout(() => this.validateFormChange.emit(this.validateForm), 0);\n this.isValidChange.emit(this.isValid);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/prestacao-conta/crud/etapas/prestacao-conta-etapa1.component.ts","module.exports = \"\\n\\n \\n\\n\\n \\n\\n\\n \\n\\n\\n \\n\\n\\n \\n \\n \"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/prestacao-conta/crud/etapas/prestacao-conta-etapa2.component.html\n// module id = ./src/app/prestacao-conta/crud/etapas/prestacao-conta-etapa2.component.html\n// module chunks = main","import { Component, Output, EventEmitter, Input } from '@angular/core';\nimport { BaseStepComponent } from 'app/base';\nimport { cabecalho } from 'app/entity/cabecalho-prestacao-conta.model';\nimport { gridSomatorio } from 'app/entity/grid-Somatorio-prestacao-conta.mode';\nimport { GrupoAtividade } from 'app/entity/enumeraveis';\n\n@Component({\n selector: 'prestacao-conta-etapa2',\n templateUrl: './prestacao-conta-etapa2.component.html',\n})\nexport class CrudPrestacaoContaEtapa2Component extends BaseStepComponent {\n grupoAtividade = GrupoAtividade;\n\n @Input() listaAquisicaoConhecimento: any[] = [];\n @Input() listaSomatorioAquisicaoConhecimento: gridSomatorio[] = [];\n\n @Input() listaDocencia: any[] = [];\n @Input() listaSomatorioDocencia: gridSomatorio[] = [];\n\n @Input() listaAtuacaoComoParticipante: any = [];\n @Input() listaSomatorioAtuacaoComoParticipante: gridSomatorio[] = [];\n\n @Input() listaProducaoIntelectual: any = [];\n @Input() listaSomatorioProducaoIntelectual: gridSomatorio[] = [];\n\n @Input() listaPontuacaoTotal: gridSomatorio[];\n @Input() listaResutadoFinal: gridSomatorio[];\n\n @Input() cabecalhoSomatorio: cabecalho[];\n labelD = \"Docência\";\n labelAC = \"Aquisição de Conhecimento\";\n labelAP = \"Atuação como Participantes (Comissão Técnicas e Profissionais)\";\n labelPI = \"Produção Intelectual (Livros, Artigos)\"; \n\n @Output() valoresDataTablePontuacaoTotalChange: EventEmitter = new EventEmitter(true);\n @Output() valoresDataTableResultadosChange: EventEmitter = new EventEmitter(true);\n @Output() valoresSomatorioDocenciaChange: EventEmitter = new EventEmitter(true);\n @Output() valoresSomatorioACChange: EventEmitter = new EventEmitter(true);\n\n @Input() listaFuncao: any[];\n @Input() funcaoExercida: any[];\n\n @Input() listaSomatorioTotal: any[];\n @Output() cabecalhoSomatorioChange: EventEmitter = new EventEmitter